扫一扫
关注公众号
一、常见的分布式存储系统
分布式数据库,通过表格来存储结构化数据,方便查找。常用的分布式数据库有 MySQL Sharding、Microsoft SQL Azure、Google Spanner、Alibaba OceanBase 等。
分布式键值系统,通过键值对来存储半结构化数据。常用的分布式键值系统有 Redis、Memcache 等,可用作缓存系统。
分布式存储系统,通过文件、块、对象等来存储非结构化数据。常见的分布式存储系统有 Ceph、GFS、HDFS、Swift 等。
二、与传统单机关系型存储系统的区别
1、数据量
传统单机关系型数据库单表1亿数据量我们认为比较高了,需要拆分,分布式数据库OceanBase能支持上千亿上百TB级别的数据跨行跨表事务处理,传统单机关系型是完全不能抗衡的。
2、数据的存储格式
传统单机关系型数据库:存储的是结构化的表数据。分布式数据库:支持结构化的表数据、半结构化数据、非结构化数据。
3、数据的索引
传统单机关系型数据库:B树、B+树、hash、倒排索引;比如Mysql目前主流使用都是Innodb的 B+树索引。分布式数据库:hash、一致性hash环、数据范围分类(切片)。因为数据的格式变化得更加丰富,数据的索引也变化了
4、数据分片和数据复制
传统单机关系型数据库:可以主从复制(主提供写,从提供读);可以数据拆分。拆分后一个节点故障后不能提供服务。分布式数据库:可以将数据拆分成很多个节点,每个节点都有多个数据副本。
5、CAP理论
传统单机关系型数据库:支持CA,不支持P。分布式数据库:支持P,CA之间根据业务场景取舍。
6、使用效率:关联查询、事务处理、排序处理
传统单机关系型数据库:三个维度都支持得很好,很成熟。分布式数据库:关联查询复杂度提高了、事务数据复杂度提高了,排序的复杂度提高了。