目 录
5.2.2 GaussDB(for openGauss)... 10
现在我们来简单介绍一下数据库的世界。
我们准备介绍关系数据库、非关系型数据库、分布式及NewSQL数据库这三大类,并分别列举部分常见数据库进行简单介绍,让大家对数据库有一个大体直观的印象。
其中的图大多来自于官方文档和网络,虽然很多图不知道具体来源,但是依然感谢共享的网络世界。
现在让我们一起步入数据库的海洋。
数据库(database)是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织存储的。
数据库产生于距今六十多年前,随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。
3.2.1 Oracle数据库
甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989年正式进入中国市场。2013年,甲骨文已超越
IBM,成为继
Microsoft 后全球第二大软件公司。目前Oracle关系数据库产品的市场占有率很高。
11g堪称经典版本,其架构图如下展示(图片来自于ORACLE官网):

3.2.2 MySQL 数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 公司旗下产品。
MariaDB数据库管理系统是MySQL数据库的一个分支,主要由开源社区维护,采用GPL授权许可。开发这个MariaDB的原因之一是:甲骨文公司收购了MySQL后,有MySQL闭源的潜在风险,因此MySQL开源社区采用分支的方式来避开这个风险。
Microsoft SQL
Server是微软公司开发的大型关系数据库系统。SQL Server与Winodws操作系统紧密集成。下图为SQL SERVER 2019大数据集群架构(图片来自于SQL SERVER官网)
新版本已经有Linux版本了,感兴趣的同学可以去研究研究。

PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL
3.2.6 DB2数据库
DB2是IBM出品的关系型数据库管理系统,分别在不同的操作系统平台上服务。
Informix是IBM公司出品的关系数据库管理系统(RDBMS)产品。
3.2.8 Sybase数据库
Sybase数据库已经逐步的淡出了普通运维的视线。
非关系型数据库也被成为NoSQL数据库,NOSQL的本意是“Not Only SQL”,指的是非关系型数据库,而不是“No SQL”的意思。因此,NoSQL的产生并不是要彻底地否定非关系型数据库,而是作为传统关系型数据库的一个有效补充。NoSQL数据库在特定的场景下可以发挥出难以想象的高效率和高性能。
传统的关系型数据库IO瓶颈、性能瓶颈都难以有效突破,于是出现了大批针对特定场景,以高性能和使用便利为目的功能特异化的数据库产品。NOSQL(非关系型)类的数据就是在这样的情景下诞生并得到了非常迅速的发展。
Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。Redis提供数据结构,如字符串、哈希、列表、集合、带范围查询、位图、超对数、地理空间索引和流的排序集。Redis具有内置的复制、Lua脚本、LRU驱逐、事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis
Cluster的自动分区提供高可用性。
MongoDB是为易于开发和扩展而设计的文档数据库,MongoDB中的记录是一个文档,它是由字段和值对组成的数据结构。MongoDB文档类似于JSON对象。字段的值可能包括其他文档、数组和文档数组。
如下图为MongoDB在Kubernetes上面的架构图(图片来自于官网)

Apache
Cassandra是一个开源的、分布式的NoSQL数据库。它提出了一个最终具有一致语义的分区宽列存储模型。
Apache
Cassandra最初是在Facebook上设计的,使用分阶段事件驱动架构(SEDA)来实现Amazon的Dynamo分布式存储和复制技术和谷歌的Bigtable数据和存储引擎模型的结合。
HBase–Hadoop Database,是一个可在PC Server 上搭建起大规模结构化存储集群的数据库。
HBase 是 Google Bigtable 的开源实现,类似 Google Bigtable 利用 GFS 作为其文件存储系统,HBase利用 Hadoop HDFS 作为其文件存储系统 ;Google运行 MapReduce 来处理 Bigtable 中的海量数量,HBase同样利用 Hadoop
MapReduce 来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。
如下为HBase依赖的底层HDFS文件系统的架构图(图片来自于官网)

5 分布式及NewSQL数据库介绍
5.1 分布式及NewSQL数据库背景
分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。
NewSQL 是对各种新的既支持OLTP又支持轻量级OLAP数据库的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和通用SQL等特性,即NoSQL+SQL=NewSQL,最终实现的是一个扩展无限、支持分布式事务、有通用计算能力的新型数据库
OceanBase是由蚂蚁集团完全自主研发的企业级分布式关系数据库,始创于2010年。如下为OceanBase架构图和存储引擎架构(图片来自于官网)。


5.2.2 GaussDB(for openGauss)
GaussDB(for
openGauss)是华为公司打造的企业级分布式关系型数据库,该产品具备事务混合负载能力,支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+扩展能力,PB级海量存储等企业级数据库特性。同时华为开源openGauss单机主备社区版本。
下图为GaussDB(for
openGauss)架构图(图片来自于官方文档)

TDSQL MySQL版(TDSQL for MySQL)是部署在腾讯云上的一种支持自动水平拆分、Shared Nothing 架构的分布式数据库。TDSQL MySQL版 即业务获取的是完整的逻辑库表,而后端会将库表均匀的拆分到多个物理分片节点。
TDSQL MySQL版默认部署主备架构,提供容灾、备份、恢复、监控、迁移等全套解决方案。
下图为TDSQL强同步复制(MAR)架构图(图片来自于官网)

TiDB 是PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。因此TiDB是近几年很火的分布式数据库之一。
TiDB 集群主要包括三个核心组件:
TiDB Server, PD Server 和 TiKV Server。
下图为TiDB的整体架构图(图片来自于官网)

VoltDB可以以多种部署风格部署,本地部署、集成了Kubernetes的云(虚拟化和容器化) ,如下图为VOLTDB的架构图(图片来自于官网)

大规模分布式并行数据库集群系统GBase 8a MPP Cluster的主要市场是商业分析和商业智能市场。产品主要应用在政府、党委、安全敏感部门、国防、统计、审计、银监、证监等领域,以及电信、金融、电力等拥有海量业务数据的行业。

基于以上的描述,数据库我们暂时就介绍到这里,相信我们对数据库已经有一个大体直观的了解和认识了。数据库大致分为关系型数据库、非关系型数据库、分布式及NewSQL数据库等。
使用数据库的好处:
一是能够结构化存储大量信息;
二是可以在结构化存储的基础上快速的查询和检索我们需要的数据;
三是可以保证数据的安全性;
四是可以实现数据共享。
每一种数据库都是需求的产生,都有其适应的场景,虽然市场占有率不同,但是都值得我们好好学习研究。让我们一起在数据库的海洋中尽情遨游。
SQL SERVER官网:https://docs.microsoft.com/zh-cn/sql/big-data-cluster/big-data-cluster-overview?view=sql-server-ver15
MySQL官网:https://www.mysql.com/cloud/
MariaDB官网:https://mariadb.org/documentation/
PostgreSQL官网:https://www.postgresql.org/docs
HDFS Architecture :https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html
PingCAP官网:https://pingcap.com/zh/
Redis官网:https://redis.io/
MongoDB官网:https://docs.mongodb.com/manual/introduction/
OceanBase官网:https://www.oceanbase.com/docs/oceanbase-database/oceanbase-database/V3.2.1/what-is-oceanbase
GaussDB官网:https://support.huaweicloud.com/function-opengauss/index.html
TDSQL官网:https://cloud.tencent.com/document/product/557/7700
GBase官网:http://www.gbase8a.com/




