分布式数据库总结
数据分片
什么是数据分片
分片就是把数据存放在多个数据库中,属于水平切分。
为什么要数据分片
当要存储的数据量大,写操作压力大时,可以使用数据分片。通过数据分片可提供海量数据的存储能力。
做数据分片之前,要先做业务分库,即把不同的业务数据分到不同的库中。
数据分片的实现方式有:
硬编码,即在代码中直接做数据的数据库读写路由;
查表,即通过查表确定哪个数据存放到哪个数据库中;
分布式数据中间件
分布式中间件的要点有:
数据路由算法
扩容算法(要做数据迁移)
先用主从复制做数据迁移,以确保数据一致性;
数据迁移完成后,再切换数据路由,按扩容后的数据库来路由。
常用的分布式数据库中间件有:
Corba
Amoeba
MyCat
ShardingJDBC
。。。
评论