分布式数据库

分布式CAP原则

CAP定理是NOSQL数据库的基石,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性)这三者只能满足其中两个,不能全部满足,这个结论是实践的总结,但是理论上,如果网络很好的情况下,三个特性可以同时满足。现实中的分布式系统因为网络的原因,很有可能会出现延迟或丢包等问题,因此必须要实现分区容忍性,一致性和可用性之间只能二选一。 对于传统的数据库来说,需要强一致性;而NoSQL系统一般注重性能和扩展性,而非强一致性。

可以有三种组合:

分布式的一致性

数据分片

当数据量过于庞大,单机难以支撑时,会面临扩展瓶颈,那么就需要将数据进行拆分,分散在多个数据库实例上。

数据分片是指将数据全局划分为相关的逻辑片段,有水平切分、垂直切分、混合切分三种类型。

混合切分

数据分片的基本原则

垂直分片后将数据组合起来需要执行连接运算,比水平分片后的数据组合要困难一些。

分布式查询处理及优化

分布式数据库需要考虑查询问题,其需要做的就是把一个分布式数据库上的高层次查询映射为本地数据库上的操作,最后通过网络通信,将操作结果汇聚起来。

相对于集中式数据库,分布式数据库还要考虑额外的几个问题:

对水平分片的优化

对垂直分片的优化

基于半连接算法的查询优化

简单来说,就是在连接之前,先消除无用数据,减少网路通信中传输的数据量。

基于直接连接算法的查询优化

分布式数据库产品分成几大类:

  1. 物联网方向:时序数据库产品,满足IoT数据的收集、存储和统计。时序数据库产品也是现在对内存数据库产品冲击最大的。例如:InfluxDB、Kudu、kdb、OpenTSDB;
  2. 交易关系方向:替代传统交易关系型数据库产品Oracle/DB2等满足不了海量吞吐、海量并发、海量交易、海量存储的在线交易业务场景。例如:蚂蚁金服Oceanbase、腾讯TDSQL、热璞HotDB、中兴GoldenDB、开源MyCAT、开源Cobar。
  3. 分析关系方向:解决结构化数据存储和数据分析的业务场景,例如:Greenplum、Vertical、Gbase8a等。不过这块收到KV分析型产品巨大的冲击;
  4. KV分析方向:Hadoop、Spark是当下的基石,国内国外较多公司都是在其基础上再做二次研发,尤其是实现兼容SQL标准语法,已迎合业务场景和研发人员。
  5. KV文档方向:解决在线文档类型的非结构化数据存储和数据处理,例如:MongoDB、巨衫SequoiaDB,不过也都在拼命地在兼容SQL标准语法。
  6. HTAP:交易分析混合型分布式数据库产品,例如:国内TiDB、国外Spanner/F1

有影响的国产分布式数据库,目前看(2022年1月)主要是下面这两家

国产分布式数据库:PingCAP 的 TiDB

为用户提供一站式 OLTP、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。

TiDB 架构图TIDB 采用分层架构,有三种角色:

TiDB 的衍生项目:

国产分布式数据库:OceanBase

OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发、运维、DBA、广告、应用研发等部门共同完成。

>> Home

51ak

2022/01/03

Categories: 分布式 Tags: 原创

《数据库工作笔记》公众号
扫描上面的二维码,关注我的《数据库工作笔记》公众号