在没有出现数据库之前,数据存储在文本中,这种数据存储方式不管是管理还是查询,效率都是极其低下的,数据之间没有关联性。到了1970年,IBM研究员 E.F.Codd 发表了论文”A Relational Model of Data for Large Shared Data Banks”,该论文中第一次提出了关系模型的概念,为关系型数据库奠定了基础,才有了后面涌现的如IBM的DB2、甲骨文的Oracle等优秀的关系型数据库。一直到上世纪90年代,数据库都是以关系型数据库为主。但随着数据量的增长,关系型数据库已无法满足更多的应用场景,数据库领域便随之出现了非关系型数据库。
数据库分类
数据库用于数据存储和访问,不同类型的数据库将满足不同场景的需求。如果您的数据库没有事务要求,并且读写高度并发,则可以选择非关系数据库。如果您的数据库主要存储历史数据,访问频率较低,您可以选择压缩比高、读优化的数据库。如果您的数据库同时具有交易和复杂分析,则可以选择具有混合存储引擎的数据库。
[En]
Databases are used for data storage and access, and different types of databases will meet the needs of different scenarios. If your database has no transaction requirements and is highly concurrent in reading and writing, you can choose a non-relational database. If your database mainly stores historical data and is accessed less frequently, you can choose a database with high compression ratio and read optimization. If your database has both trading and complex analytics, you can choose a database with a hybrid storage engine.
数据库按照数据模型来划分,可分为关系型数据库和非关系型数据库。关系型数据库的数据是高度组织化和结构化的,可以使用结构化查询语言进行复杂的查询。非关系型数据库的数据是非结构化的,没有声明性查询语言,代表着不仅仅是SQL。关系型数据库注重事务的强一致性,而非关系型数据库注重可扩展性。数据库市场使用广泛的关系型数据库有 Oracle 、 MySQL 、 SQL Server ,数据库市场使用广泛的非关系型数据库有 Redis 、MongoDB 。
数据库按照数据分布来划分,可分为集中式数据库和分布式数据库。集中式数据库是一个或者多个数据库实例管理一份数据,每个数据库实例都可以看到全部数据,属于 Shared-Everything 架构。分布式数据库是每个数据库实例管理自己的数据,全量数据是所有数据库实例管理的数据的总和,属于 Shared-Nothing 架构。
数据库按照数据处理来划分,可分为 OLTP 数据库、OLAP 数据库以及 HTAP 数据库,StoneDB 就是一款一体化实时 HTAP 数据库,后面几个课程会给大家深入介绍。OLTP 数据库适用于交易类系统,特征是大并发的小型事务处理,单次处理的数据量小。OLAP 数据库适用于分析类系统,特征是并发小,系统吞吐量高,单次处理的数据量大。HTAP 数据库是一种新型的架构,指的是混合事务和分析处理过程,出现 HTAP 的目的是打破 OLTP 和 OLAP 之间的壁垒。
数据库瓶颈
经过50多年的发展,传统数据库无论是数据库本身的稳定性,还是数据库厂商的技术支持,都已经非常成熟。官网上数据库厂商提供的丰富学习资料,让用户轻松学习该数据库。然而,随着时代的发展,特别是互联网技术的出现,数据库中的数据量呈指数级增长,传统数据库不仅在并发和存储方面存在瓶颈,而且可扩展性有限。
[En]
After more than 50 years of development, the traditional database has become very mature, whether it is the stability of the database itself or the technical support of database manufacturers. The rich learning materials provided by database manufacturers on the official website make it easy for users to learn this database. However, with the development of the times, especially the emergence of Internet technology, the amount of data in the database is growing exponentially, so the traditional database not only has bottlenecks in concurrency and storage, but also has limited scalability.
当传统的关系数据库不能满足业务场景的需求时,比如海量数据的高并发存储,就有了分布式数据库。分布式数据库由多个服务器组成,不仅提供更多的连接访问,还提供更多的存储容量,并且在可扩展性方面是线性的。分布式数据库解决了传统数据库的瓶颈,但分布式数据库并不完美。
[En]
When the traditional relational database can not meet the needs of business scenarios, such as mass data storage with high concurrency, there is a distributed database. Distributed database is composed of multiple servers, which not only provides more connection access, but also provides more storage capacity, and is linear in terms of scalability. Distributed database solves the bottleneck of traditional database, but distributed database is not perfect.
在事务一致性方面,传统数据库很容易保证 ACID ,而分布式数据库由多个数据库实例组成,分布在一个网络环境中,为了保证事务的一致性,引入了两阶段提交、三阶段提交、补偿事务。分布式事务在管理开销也是较大的,比如对悲观锁的支持,虽然一致性读无需持有锁,但查询也可能会被阻塞。
在基于成本的执行计划方面,由于数据分布在不同的节点,再加上分布式算法的复杂度,SQL 是否能保证有一个稳定的执行计划。
在数据一致性方面,当分布式数据库存储在多个副本中时,数据一致性问题变得更加复杂。假设服务器在更新副本时出现故障,在这种情况下,如何确保故障恢复后服务器上的副本与其他副本一致。
[En]
In terms of data consistency, when distributed databases are stored in multiple copies, the problem of data consistency becomes more complex. Suppose the server fails while updating a copy, in which case how to ensure that the replica on the server is consistent with the other replicas after the failure is restored.
国产数据库
多年来国外数据库厂商处于绝对的主导地位,随着近几年IT国产化战略的提出,国内涌现出了多个数据库厂商,形成了百家争鸣。有发展多年的关系型数据库,如达梦、人大金仓、南大通用等;有势头猛进的分布式交易型数据库,如 TiDB 、 OceanBase 等;也有稳扎稳打的分布式分析型数据库 GaussDB 。
(国产数据库)
StoneDB 作为自主设计、研发的国内首款基于 MySQL 内核打造的开源 HTAP 数据库,在同一个数据库实例中采用行列混合存储的方案,解决了 TP 和 AP 的问题,同时可实现与 MySQL 的无缝切换。由于100%兼容 MySQL ,让运维变的更简单,用户的体验感也更佳。
下节课我们将带大家深入了解 StoneDB 的系统架构和功能特点,请持续关注。关于StoneDB的任何问题,都可以加我V咨询:StoneDB_2022 。
Original: https://www.cnblogs.com/yangwilly/p/16595807.html
Author: 来来士
Title: 【StoneDB Class】入门第一课:数据库知识科普
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/505000/
转载文章受原作者版权保护。转载请注明原作者出处!