纪录片】中国数据库前世今生
在数字化潮流席卷全球的今天,数据库作为IT技术领域的“活化石”,已成为数字经济时代不可或缺的基础设施。那么,中国的数据库技术发展经历了怎样的历程?我们是如何在信息技术的洪流中逐步建立起自己的数据管理帝国的呢?腾讯云将邀请亲历数据库技术在中国从落地生根到蓬勃发展的技术专家们,与大家共同回顾中国数据库发展史上的重要时刻。 《中国数据库前世今生》纪录片共分为五期,从1980年代数据库在中国的起步,1990年代多家竞争的混沌,2000年代数据库的分型和国产数据库的开端,2010年代大数据席卷市场,到2020年代国产数据库的“百团大战”......每一期将深入探讨一个时代的数据库演变历程,以及这些大趋势下鲜为人知的小故事。2024年6月20日起,每双周四更新1期。点此前往查看>>《中国数据库前世今生》
数据是以结构化格式收集和组织的信息。它可以是数字、基于文本或图像,用于分析模式和趋势、做出决策和制定策略。数据是一组通常以特定方式组织的值。在大多数情况下,数据被收集到表中,每行代表不同的数据点,每列代表单独的数据类别。数据可以回答问题、解决问题或提供信息。有时,数据用于做出预测或发现趋势。数据库中的数据可以分为两大类:静态和动态。
静态数据是不经常更改的数据,例如国家/地区或产品列表。
动态数据是经常变化的数据,例如客户列表或订单列表。
了解数据库
数据库是计算机可以访问的数据的集合。数据的组织方式使其易于查找和使用。
- 数据库用于存储各种格式的数据,包括文本、图像和数字。它们可以用于以结构化方式存储数据,例如客户数据库,或以非结构化方式存储数据,例如文档数据库。
- 数据库可用于多种目的,例如存储网站数据、跟踪客户信息或管理库存。
- 数据库通常由数据库管理系统(DBMS)控制。在数据库中,你必须认识数据处理。数据处理就是数据的收集、组织、分析和呈现。它涉及总结数据以产生有意义的信息的各种活动。数据处理系统的范围可以从简单到复杂,具体取决于需要处理的数据的类型和数量。
DBMS
什么是数据库管理系统?
数据库管理系统 (DBMS) 允许用户存储、检索和操作数据库中的数据。 DBMS 通常提供使用户能够创建、更新和删除数据库中的数据的工具。此外,DBMS 可以提供用于管理数据库的工具,例如创建和删除表和索引以及管理用户对数据库的访问。它还包括数据安全性、数据完整性和数据恢复功能。
DBMS系统架构:
由于数据库管理系统并不总是由用户或应用程序直接访问,因此我们可以根据用户连接到数据库的方式,借助各种架构对其进行维护。这些架构遵循基于层的分类,即根据 DBMS 结构中存在的层数对 DBMS 架构进行分类。
系统架构示意图
因此,n层DBMS架构将整个DBMS划分为相关但n个独立的层或级别,即单层架构将DBMS划分为单层,两层DBMS架构将DBMS划分为两层,三层划分为三层,依此类推。当架构中的层数增加时,抽象级别也会增加,从而导致 DBMS 结构的安全性和复杂性增加。所有这些层都是独立的,即在特定层中执行的任何修改都不会影响架构中存在的另一层。
最常见的 DBMS 架构:单层架构、两层架构、三层架构
单层架构
在1层架构中,数据库直接可供用户使用,用户可以直接坐在DBMS上并使用它,即客户端、服务器和数据库都位于同一台机器上。例如:为了学习 SQL,我们在本地系统上设置了 SQL 服务器和数据库。这使我们能够直接与关系数据库交互并执行操作。业界不会使用这种架构,他们逻辑上会选择 2 层和 3 层架构。
单层架构的优点: 简单的架构: 1 层架构是最简单的架构,因为只需要一台机器来维护它。 成本效益:实施一层架构不需要额外的硬件,这使得它具有成本效益。 易于实施: 1层架构易于部署,因此主要用于小型项目。
双层架构:
2 层架构类似于基本的客户端-服务器模型。客户端的应用程序直接与服务器端的数据库进行通信。 ODBC 和 JDBC 等 API 用于此交互。服务器端负责提供查询处理和事务管理功能。在客户端,运行用户界面和应用程序。客户端的应用程序与服务器端建立连接以与DBMS进行通信。
这种类型的优点是维护和理解更容易,并且与现有系统兼容。然而,当用户数量较多时,该模型的性能较差。
双层架构优点:
- 易于存取: 2 层架构可以轻松存取资料库,从而实现快速检索。
- 可扩展:我们可以透过新增客户端或升级硬体来轻松扩展资料库。
- 成本低: 2层架构比3层架构、多层架构便宜。
- 易于部署: 2 层架构比3 层架构更容易部署。
- 简单: 2 层架构很容易理解,也很简单,因为只有两个元件。
三层架构
在3 层架构中,客户端和服务器之间还有另一层。客户端不直接与服务器通信。相反,它与应用程序服务器交互,应用程序服务器进一步与数据库系统通信,然后进行查询处理和事务管理。这个中间层充当服务器和客户端之间交换部分处理数据的媒介。这种类型的架构适用于大型 Web 应用程序。
三层架构的优点
- 增强的可扩展性:由于应用服务器的分布式部署,可扩展性得到增强。现在,客户端和服务器之间不需要建立单独的连接。
- 数据完整性:三层架构维护数据完整性。由于客户端和服务器之间有一个中间层,因此可以避免/消除数据损坏。
- 安全性:三层架构提高了安全性。这种模型可以防止客户端与服务器直接交互,从而减少对未经授权数据的访问。
三层架构的缺点
- 更复杂:与 2 层架构相比,3 层架构更复杂。3 层架构中的通信点也增加了一倍。
- 难以互动:由于中间层的存在,这种互动变得难以发生。
Types of DBMS 数据库管理系统的类型
DBMS 有四种主要类型:关系型、面向对象型、基于图型和 NoSQL。
- 关系 DBMS 是最常见的,使用表格结构来存储数据。
- 面向对象的 DBMS 使用面向对象的模型来存储数据,而基于图的 DBMS 使用图结构来存储数据。
- NoSQL DBMS 是一种较新的 DBMS 类型,它使用非表格结构来存储数据。
还有一些其他类型的 DBMS 也相当重要,其中有:
- 层数据库管理系统
- 网络数据库管理系统
- 云数据库管理系统
- 内存数据库管理系统
- 分布式数据库管理系统
- 多值数据库管理系统
- XML数据库管理系统
RDBMS
数据库管理系统的好处
一般来说,RDBMS 代表“关系数据库管理系统”。关系数据库管理系统 (RDBMS) 是使用关系技术存储和检索数据的数据库管理系统 (DBMS)。而且它基于关系模型,将数据组织成表中的行和列。
RDBMS 使用SQL结构化查询语言)来操作数据库中的数据。 SQL 是大多数 RDBMS 使用的标准语言,SQL 可以在数据库中插入、更新、删除和查询数据。自 20 世纪 80 年代以来,RDBMS 一直是最流行的 DBMS 类型。如今,RDBMS 是使用最广泛的数据库系统,因为它们提供了强大而灵活的方式来存储、检索和管理数据。
RDBMS架构:
对应解释:
- 所有数据、有关数据的数据(元数据)和日志都存储在二级存储设备 (SSD) 中,例如磁盘和磁带。用于执行企业日常任务的程序称为应用程序。这些程序为企业的日常运营提供功能。它们用 Java、C 等高级语言 (HLL) 编写,与 SQL 一起用于与数据库通信。
- RDBMS 有一个编译器,它将 SQL 命令转换为低级语言,进行处理并将其存储到辅助存储设备中。
- 数据库管理员 (DBA) 的工作是使用命令处理器设置数据库结构。DDL 代表数据定义语言,DBA 使用它来创建或删除表、添加列等。DBA 还使用其他命令来设置约束和访问控制。
- 应用程序员使用编译器编译应用程序并创建可执行文件(编译的应用程序),然后将数据存储在辅助存储设备上。
- 数据分析师的工作是使用查询编译器和查询优化器(使用关系属性执行查询)来操作数据库中的数据。
- RDBMS 运行时系统执行已编译的查询和应用程序,并与事务管理器和缓冲区管理器交互。
- 缓冲区管理器(Buffer Manager)将数据库的数据暂时存放在主内存中,并使用分页算法,以便更快地执行操作并管理磁盘空间。
- 事务管理器处理的原则是完全执行任务或根本不执行任务(原子性属性)。例如,假设一个名叫 Geeks 的人想给他的妹妹汇款。他汇款后系统在汇款过程中崩溃。无论如何都不应该发生他已经汇款而他的妹妹尚未收到的情况。这由事务管理器处理。事务管理器要么将钱退还给 Geeks,要么将钱转给他的妹妹。
- 日志是一种记录所有交易信息的系统,以便每当系统出现故障(磁盘故障、系统因断电等而关闭)时,可以撤消部分交易。
- 恢复管理器负责控制系统,以便系统在发生故障后达到稳定状态。恢复管理器会考虑日志文件,撤消部分事务,并在数据库中反映完整的事务。
关系型数据库管理系统的优点
关系数据库管理系统(RDBMS)是用于存储和检索数据的强大工具。 RDBMS 用于各种基于 Web 的应用程序、财务系统和客户关系管理系统(CRM) 系统。 RDBMS 还非常适合管理大量数据。与其他数据库管理系统相比,RDBMS 具有多种优势。
- 结构化查询语言 (SQL):RDBMS 最强大的优势是使用 SQL 来存储、检索、操作和管理数据。 SQL 是一种功能强大的语言,使用户能够高效、有效地与数据库进行交互。
- 原子性:RDBMS的这一特性保证了系统中的所有事务都以原子的方式完成。这意味着所有事务操作要么成功完成,要么什么都不完成,从而确保数据的完整性和一致性。
- 可靠性:RDBMS 提供了用于存储、更新和检索数据的可靠系统。它还保证了数据安全,因为它维护每笔交易的审计跟踪,这有助于检测系统中的任何异常情况。
- 可扩展性:RDBMS 具有高度可扩展性,可以轻松扩展以适应更大的数据集。这种可扩展性可以支持更多的用户和数据。
- 灵活性:RDBMS 提供高度的灵活性,允许用户轻松添加、删除和更新数据。