如何向数据库集群快速导入千万条数据
一、数据导入的方式 向MySQL数据库导入数据,通常有两种办法,第一种是利用SOURCE命令,第二种是使用LOAD DATA命令。 SOURCE命令是通过执行SQL文件中的INSERT语句来实现数据的导入。正常情况下,如果我们向单节点的MySQL,用INSERT语句批量写入数据,在普通的PC机上,写入10万条数据,大概需要7~8分钟时间。按照这个速度推算,写入1千万条数据大概需要10个小时以上。如果在集群条件下,这个速度会更慢。 MySQL的集群分为PXC和Replication集群。其中Replication集群是异步传输的,它只保证事物在当前节点成功写入,数据是否能同步到其他节点,Replication集群并不能给我们打包票。所以Replication集群经常出现A节点写入数据,但是在B节点读取不到数据的情况。每年Apple秋季发布会之后,很多人会到Apple官网抢购iPhone手机,然而每年都有顾客会遇到付款之后,订单依旧是未支付的状态。这就是典型的Replication集群的效果,数据出现了不一致。如果采用PXC集群,因为数据是同步传输,所以我们在A节点写入数据,提交事务的时候,PXC必须保证所有MySQL节点都成功写入这条数据,才算事务提交成功,所以不会出现A节点写入数据,在B节点上读取不到数据的情况。因此PXC更加适合保存重要的数据,例如交易记录、学籍信息、考试成绩