分布式系统之存储系统

641 阅读2分钟



一、常见的分布式存储系统

分布式数据库,通过表格来存储结构化数据,方便查找。常用的分布式数据库有MySQLSharding、MicrosoftSQLAzure、GoogleSpanner、AlibabaOceanBase等。

分布式键值系统,通过键值对来存储半结构化数据。常用的分布式键值系统有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、使用效率:关联查询、事务处理、排序处理

传统单机关系型数据库:三个维度都支持得很好,很成熟。分布式数据库:关联查询复杂度提高了、事务数据复杂度提高了,排序的复杂度提高了。


BLOG地址www.liangsonghua.com

关注微信公众号:松花皮蛋的黑板报,获取更多精彩!

公众号介绍:分享在京东工作的技术感悟,还有JAVA技术和业内最佳实践,大部分都是务实的、能看懂的、可复现的