公众号|松花皮蛋的黑板报|分布式系统之存储
松花皮蛋的黑板报
  • 分享在京东工作的技术感悟,还有JAVA技术和业内最佳实践,大部分都是务实的、能看懂的、可复现的

扫一扫
关注公众号

分布式系统之存储

博客首页文章列表 松花皮蛋me 2020-03-10 13:38

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


分布式数据库,通过表格来存储结构化数据,方便查找。常用的分布式数据库有 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、使用效率:关联查询、事务处理、排序处理


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