《系统设计》课程学习笔记—数据库和DBMS

117 阅读3分钟

什么是数据库?

数据库是结构化信息或数据的有组织的集合,通常以电子方式存储在计算机系统中。数据库通常由数据库管理系统(DBMS)控制。数据和DBMS以及与它们相关联的应用程序一起被称为数据库系统,通常简称为数据库。

什么是DBMS?

数据库通常需要称为数据库管理系统(DBMS)的综合数据库软件程序。DBMS充当数据库与其最终用户或程序之间的接口,允许用户检索、更新和管理信息的组织和优化方式。DBMS使对数据库的监督和控制更加方便,支持各种管理操作,如性能监视、调优以及备份和恢复。

组件

以下是不同数据库中一般都存在的一些常见组件:

模式

模式的作用是定义数据结构的形状,并指定哪些类型的数据可以放在哪里。模式可以在整个数据库中严格强制,也可以在数据库的一部分上松散强制,或者它们可能根本不存在。

每个表都包含不同的列,就像电子表格一样。一个表可以有两列,也可以有上百或更多列,这取决于表中所放信息的类型。

列包含一组特定类型的数据值,数据库的每一行一个值。列可以包含文本值、数字、枚举、时间戳等。

表中的数据按行记录。表中可能有数千或数百万具有任何特定信息的行。

类型

database-types.png

以下是不同类型的数据库:

  • SQL
  • NoSQL
    • 文档
    • 键值
    • 时间序列
    • 宽表
    • 多模型

SQL 和 NoSQL 数据库是广泛的主题,将在SQL数据库和NoSQL数据库中分别讨论,了解SQL数据库和NoSQL数据库的对比。

挑战

数据库规模较大时面临的一些常见挑战:

  • 吸收数据量的显著增长:来自传感器、连接机器和许多其他来源的数据爆炸增长。
  • 确保数据安全:如今,数据泄露到处都在发生,确保数据安全且易于用户访问比以往任何时候都更加重要。
  • 跟上需求:公司需要实时访问其数据,以支持及时决策并利用新机会。
  • 管理和维护数据库和基础设施:随着数据库变得越来越复杂,数据量越来越大,公司面临着聘用更多人才来管理其数据库的代价。
  • 消除对可扩展性的限制:企业要想生存,就必须不断增长,其数据管理也必须随之增长。但很难预测该公司需要多少容量,特别是使用内部数据库。
  • 确保数据驻留、数据主权或延迟要求:一些组织有更适合在本地运行的使用场景。在这些情况下,工程系统需要为运行数据库而预先配置和优化。