分布式数据库详解(定义特点及6种分布式数据库)

分布式数据库详解(定义特点及6种分布式数据库)-mikechen

分布式数据库定义

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

 

分布式数据库特点

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

分布式数据库详解(定义特点及6种分布式数据库)-mikechen

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
  • 谷歌F1;
  • CockroachDB;
  • 国内TiDB;

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

以上就是对分布式数据库的介绍,希望对你了解分布式数据库有所帮助!

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法