深入解析六大分布式数据库:终极图文指南

发表时间: 2024-03-25 12:04

大家好,我是mikechen。

分布式数据库是非常重要的分布式系统,大型网站以及各大厂都会广泛应用,本篇就全面来给大家详解分布式数据库@mikechen

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

分布式数据库

分布式数据库,从名字上可以拆解为:分布式+数据库,由多个独立实体组成,并且彼此通过网络进行互联的数据库,这就是分布式数据库。


分布式数据库特点

分布式数据库,主要包含如下4大特征:

1.分布透明性

分布式数据库的第一大特征就是:分布透明性,有了分布透明性,用户的应用程序书写起来就如同数据没有分布一样。

用户不必关心数据的逻辑分区,不必关心数据物理位置分布的细节,也不必关心重复副本,以及冗余数据的一致性等问题。

这些问题都会由分布式数据库来解决,所以分布式透明性就成了分布式数据库的第一大特征。

2.集中节点结合

为了保证数据库的安全性、完整性,对共享数据库的控制是集中的,数据库是用户共享的资源在集中式数据库中的。

3.复制透明性

在分布式数据库系统中,可以把一个场地的数据,复制到其他场地存放,用户不用关心数据库在网络中各个节点的复制情况。

被复制的数据的更新,都由系统自动完成,应用程序可以使用复制到本地的数据在本地完成分布式操作。

4.易于扩展性

在大多数网络环境中,单个数据库服务器最终会不满足使用,如果服务器软件支持透明的水平扩展,那么就可以增加多个服务器,来进一步分布数据和分担处理任务。


分布式数据库发展历程

简单总结一下,分布式数据库发展大概经历了三个阶段:

第一代是:分布式存储系统

也称为 NoSQL,2013 年之前比较流行,基本思路是牺牲 SQL,牺牲事务、一致性和企业级功能,只支持简单的 KV 操作从而做到可扩展。

第二代:是分布式数据库

以 Google Spanner 系统为代表,支持可扩展的 SQL,在第一代 NoSQL 系统的基础之上引入了 SQL 和分布式事务,保证强一致性,但是不太注重 SQL 兼容性和性价比。

第三代:是透明扩展的企业级数据库

也就是我说的"下一代企业级分布式数据库",以 OceanBase、TiDB 为代表,分布式架构对业务透明,支持完备的兼容 MySQL 和 Oracle 的企业级功能,支持 HTAP 混合负载。


分布式数据库有哪些

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

1.物联网方向

时序数据库产品,满足IoT数据的收集、存储和统计,常见的有:InfluxDB、Kudu、kdb、OpenTSDB等。

2.交易关系方向

替代传统交易关系型数据库产品Oracle,DB2等满足不了海量吞吐、海量并发、海量交易、海量存储的在线交易业务场景。

例如:

  • 蚂蚁金服Oceanbase;

  • 腾讯TDSQL;

  • 热璞HotDB;
  • 中兴GoldenDB等;


3.分析关系方向

解决结构化数据存储和数据分析的业务场景,不过这块收到KV分析型产品巨大的冲击。

常见的有:

  • Greenplum;
  • Vertical;
  • Gbase8a等;


4.KV分析方向

Hadoop、Spark是当下的基石,国内国外较多公司都是在其基础上再做二次研发,尤其是实现兼容SQL标准语法。

5.KV文档方向

解决在线文档类型的非结构化数据存储、数据处理,都在努力兼容SQL标准语法。

常见的有:

  • MongoDB;
  • 巨衫SequoiaDB等;


6.HTAP方向

随着分布式数据库的发展,我们又迎来了新的一次融合,那就是 OLTP 与 OLAP 将再一次合并为 HTAP(融合交易分析处理)数据库。

常见的分布式数据库有:

  • 谷歌Spanner


  • CockroachDB;

  • 国内TiDB;

谷歌Spanner可以说是NewSQL数据库的鼻祖,后来的好多数据库,比如:TiDB、CockroachDB都是借鉴了Spanner的思想。

以上

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。