了解不同类型的数据库管理系统

日期: 2025-12-21 作者:Craig S. Mullins翻译:邹铮 来源:TechTarget中国 英文

数据是企业的命脉,数据库管理系统是大多数操作系统和分析应用程序的心脏DBMS是主要平台,用于处理、存储和管理数据,并向应用程序和最终用户提供数据。但现在有很多不同类型的DBMS技术,每种技术都有自己的优势和劣势。

最常见的类型是关系数据库管理系统(RDBMS)。40多年前,在低成本服务器变得足够强大使该技术广泛普及且变得相对实惠后,RDBMS成为数据管理的常见选择。关系数据库使用SQL编程语言,并基于支持事务一致性和可靠性的数据模型,这使得它们非常适合业务应用程序中常见的传统结构化数据。

但关系模型的缺点(特别是其不灵活和成本)在网络时代的早期变得更加明显,并随着2005年开始的大数据技术的出现,其缺点更加明显。现在,IT部门可以考虑其他DBMS产品选项作为主流RDBMS的替代品,这取决于正在运行的特定应用程序。

DBMS技术的类型

DBMS的评估和选择过程中,企业有很多考虑因素。选择DBMS技术可能会决定你的IT系统和应用程序的成败。由于数据库复杂且难以浏览,因此IT和数据管理团队必须充分了解不同类型的DBMS,以及何时以及为什么使用它们。这既适用于本地DBMS平台,也适用于企业越来越多地使用的云数据库。

为了帮助这一点,下面让我们仔细看看这些可用选项。

1. RDBMS

直到最近,RDBMS是大多数应用程序唯一值得考虑的产品类别。大数据趋势,以及AI、物联网和实时数据流等技术的发展,推动新型DBMS的开发,这些DBMS在某些用例中可与关系软件竞争。然而,在收入和安装基础方面,RDBMS仍然是无可争议的市场领导者。

基于集合理论的数学,并在20世纪70年代末首次为商业发布而开发,关系数据库为大多数应用程序提供数据管理、访问和保护,具有合理的性能,无论是操作性质还是分析性质。

20世纪90年代中期以来,关系软件一直是主要的运营DBMS,大部分时间由行业巨头的产品领导:甲骨文数据库、微软SQL服务器和IBM Db2,加上SAP HANA作为最近的补充。开源运动催生了其他主要竞争对手,包括MySQLPostgreSQL。随着越来越多的数据库工作负载转移到云端,AWS和谷歌云也成为RDBMS市场的重要成员,部分原因是他们提供基于云的MySQLPostgreSQLMariaDB版本,这是三种流行的开源DBMS

关系系统也成为数据仓库组织在20世纪90年代开始部署的DBMS平台,以支持BI和企业报告应用程序。在云中,甲骨文、微软、IBMSAPTeradata等传统数据仓库供应商也同样加入了RDBMS技术,例如AWSAmazon Redshift、谷歌的BigQuerySnowflake,尽管这些产品使用列式存储来优化分析查询性能。

RDBMS具有适应性、稳定性和可靠性。多年来在大型和小型企业中使用,其成熟度得到加强。支持ACID属性(原子性、一致性、隔离性和耐用性)是关系数据库最引人注目的特征之一。ACID合规性保证所有交易都正确完成,或者如果交易失败,数据库将恢复到之前的状态——这是确保数据始终一致的关键功能。

鉴于RDBMS的全面性,为什么其他类型的数据库系统更受欢迎呢?网络规模级的数据处理、大数据需求以及AI和机器学习应用程序,给传统关系数据库带来挑战。虽然它们可以在这些领域使用,但在这种动态环境中,提供更灵活的数据库模式、不那么严格的一致性模型和更低的处理开销的替代方案可能更有利。此外,RDBMS技术的稳定性和可靠性是有代价的:它们并不便宜。

2. NoSQL DBMS

NoSQL系统在2000年代中期开始出现。起初,NoSQL被理解为字面意思,但通常代表不仅仅是SQL”,因为很多NoSQL供应商采用了该编程语言的某些方面。然而,虽然基于SQLRDBMS需要严格定义的模式,但NoSQL数据库为用户提供了更大的灵活性,支持所有不同实体不需要包含相同数据元素的模式。对于可能随着时间的推移而演变的松散定义或多样化的数据结构,NoSQL DBMS是比RDBMS更实用的解决方案。

NoSQL和关系DBMS之间的另一个区别是如何提供数据一致性。大多数NoSQL DBMS产品支持最终一致性,其中数据可能并不总是在分布式数据库的节点上保持一致,但当数据没有主动更新时,数据会保持一致。RDBMS平台通常还提供不同级别的锁定、一致性和隔离,可用于实现最终一致性,有些NoSQL供应商增加了完全的ACID合规性。然而,一般来说,NoSQL系统提供更宽松的一致性形式,这可以加快处理速度。

由于这些属性,NoSQL解决了RDBMS技术在处理非结构化和半结构化数据以及各种数据集和大量稀疏数据时遇到的部分问题。当数据库中的每个元素都没有填充,并且那里的值之间有很多时,数据被归类为稀疏。例如,想一想包含很多零和只有少数实际值的矩阵。

但是,虽然某些类型的数据和用例可以从NoSQL软件中受益,但使用它的代价是消除交易完整性、灵活的索引和易于查询。让事情更加复杂的是,NoSQL本身包括多种类型的DBMS平台。以下是四个主要产品类别:

  • 键值存储,其中包含一对唯一键和相关值。这方面的示例包括AerospikeAmazon DynamoDBmemcachedRedisRiak
  • 文档数据库,它将数据存储在以JSONXML等格式编码的文档样结构中。示例包括Couchbase ServerCouchDBMarkLogic ServerMongoDB
  • 宽列存储,在包含大量列的表中保存数据,旨在在分布式集群中存储和检索大量稀疏的半结构化数据。示例包括AccumuloGoogle BigtableCassandraHBaseScyllaDB
  • 图形数据库,以图形形式存储数据,以突出显示不同数据元素之间的联系。例子包括Amazon NeptuneArangoDBMemgraphNeo4jTigerGraph

每种类型的NoSQL DBMS都最适合特定的用例,并且有各自的优点和缺点需要考虑。

3. 内存DBMS

DBMS技术还包括内存DBMSIMDBMS),有时被称为主存DBMSIMDBMS主要将数据存储在内存中,而不是使用基于磁盘的存储。这使得最终用户可以更直接地访问数据库中的数据。

内存数据库的主要用例是提高需要快速数据吞吐量的应用程序的性能。由于数据保留在内存中,通过消除机械磁盘移动、搜索时间和将数据传输到缓冲区,I/O延迟大大减少。IMDBMS产品还可以减少处理开销,因为它们运行的内部算法通常执行更简单,与基于磁盘的系统相比,CPU指令更少。

内存内数据库并不是完全不同的产品类别。SAP HANA是内存内RDBMSOracle TimesTen内存内数据库、Volt Active DataSingleStore等技术也是,而AerospikememcachedRedis属于内存内NoSQL DBMS。此外,甲骨文、微软和IBM都为其旗舰RDBMS平台添加了内存中处理功能。

4. 多模型DBMS

另一个技术类别是多模型DBMS,它支持多种类型的数据模型。很多NoSQL产品也可以这样,例如,整合文档和键值存储。其中一些(例如微软的Azure Cosmos DBProgress SoftwareMarkLogic Server)最初是作为多模型产品而开发,而多模型功能作为产品升级被添加到其他产品中。同样,有些RDBMS平台也已发展为支持NoSQL数据模型,例如将文档和图形存储添加到其核心关系引擎中。

5. SQL DBMS

NewSQL数据库是有点非正式的DBMS类别。它们是RDBMS平台,旨在通过支持具有符合ACID功能的分布式数据库来弥合与NoSQL系统的差距,用于水平扩展、实时处理和其他大容量数据需求。这些产品使用SQL作为数据的标准接口。示例包括CockroachDBGoogle’s SpannerNuoDBVolt Active DataYugabyteDB。此类技术的部分供应商现在避免将NewSQL作为标签,并将其产品描述为分布式SQL DBMS

6. 列式DBMS

列式DBMSSQL数据库系统,专门针对数据仓库部署,它经过优化,可一次读取包含很多行的列,以加快查询速度。与传统RDBMS不同(使用面向行的存储),列式DBMS按列存储数据。这样做有利于按列值汇总数据的复杂分析查询。另一方面,对于交易处理或涉及数据修改的应用程序来说,它的效率不高。

SAP IQ开发于20世纪90年代,以前被称为Sybase IQ,这属于关系列存储DBMS。虽然传统的列式技术不像本地数据仓库中的关系数据库那样广泛使用,但在上述云数据仓库平台中,列式存储的部署已经扩展范围。此外,有些RDBMS产品(例如IBM Db2Microsoft SQL Server)提供行存储或列存储选项,以支持操作和分析应用程序。具有这种能力的产品有时被称为跨分析数据库或混合交易和分析处理数据库,后者通常简称HTAP

7. 云端DBMS

正如该术语字面意思,云端DBMS在云计算环境中运行。与在数据中心本地安装和管理的本地数据库系统不同,云端DBMS由云服务提供商托管。

与内存数据库类似,云数据库不是完全不同的产品类别——它们包括上面列出的所有DBMS技术。数据库部署显然正在向云端迁移,大多数本地DBMS现在提供基于云的选项或分支。在其他情况下,供应商专门为云端开发了DBMS产品。

云端DBMS产品在功能、部署模式和定价结构方面各不相同,但它们通常有些共同特点,包括内置的高可用性功能和弹性可扩展性,使用户能够根据不断变化的工作负载和资源需求轻松扩展或缩小系统。与本地DBMS相比,企业还可以在云端快速部署新数据库或关闭不再需要的数据库,从而提供更大的灵活性。

灵活的部署选项是云端DBMS产品的另一个标志,它通常允许用户在完全管理和自我管理的服务之间进行选择。在前者中,DBMS提供商为客户处理基础设施配置、维护和常规数据库管理任务,尽管用户组织的数据库管理员通常仍然参与监督和管理系统。用户还可以选择在公共、私有或混合云中部署数据库,并使用即用即付、基于订阅或其他定价模式。

8. 矢量数据库

矢量数据库是自21世纪初以来的利基技术,随着企业越来越多地处理非结构化信息并拥抱AI,它正在成为现代数据架构的重要组成部分。

与依赖结构化模式和精确匹配的传统数据库系统不同,向量数据库存储由机器学习模型生成的高维数值嵌入。这些嵌入捕获语义意义,能够基于上下文进行相似性搜索,而不是确切值。这使其非常适合AI驱动的应用,从推荐引擎到自然语言接口。

从数据管理的角度来看,向量数据库引入新的考虑因素,同时呼应熟悉的主题。性能调整转向优化近似近邻(ANN)搜索算法、分层可导航小世界图(HNSW)或倒置文件索引(IVF)等索引结构,以及平衡召回与延迟。

部署矢量数据库系统有多种选择。领先的专业矢量数据库系统包括MilvusPineconeWeaviate。当然,有些领先的关系(SQL)和NoSQL数据库系统开始提供向量支持,允许你将语义/基于矢量的搜索与现有的DBMS相结合。例如:

  1. PostgreSQL(配置pgvector)添加原生向量数据类型和向量相似性运算符。它支持ANN搜索,使用HNSWIVF等索引类型。
  2. Google CloudCloud SQL for MySQL支持矢量嵌入,让你使用GoogleScaNN库进行ANN搜索,存储矢量并创建矢量索引。
  3. MongoDB Atlas提供内置矢量搜索功能,允许开发人员存储嵌入,以及记录数据。
  4. 传统的关系领导者(Microsoft SQL ServerOracleIBM Db2)都提供原生向量数据类型,并支持向量索引。

当选择正确的用例时,矢量数据库效果最好:语义检索、多模态搜索和受益于上下文理解的AI应用程序。但它也需要规则,包括版本模型、记录嵌入生成逻辑、跟踪血统以及随着向量在数量和维度上的增长而确保可扩展性。归根结底,成功利用矢量数据库的企业不是将其视为新奇事物,而是将其视为数据生态系统的战略组成部分。

其他类型的DBMS

除上述常见DBMS外,还有其他DBMS类别,包括以下内容:

  1. 时间序列数据库,收集持续生成的数据,并按顺序存储,以便分析数据如何随着时间的推移而变化。
  2. 搜索数据库,这是专门的数据存储,旨在支持企业搜索应用程序,以及应用程序监控和其他用途。
  3. XML DBMS,旨在支持XML数据。然而,大多数RDBMS平台现在提供XML支持,NoSQL文档数据库也是如此。
  4. 事件存储数据库系统,旨在以事件的形式存储数据。事件存储不是只捕获数据的当前状态,而是可以通过将每次修改存储为单独的事件,以记录到目前为止所做的更改的所有历史记录。
  5. 面向对象的DBMS工具,在20世纪90年代最流行,它将数据表示为对象,旨在与面向对象的编程语言配合使用。还有混合了这两种方法的混合对象关系数据库。
  6. 关系前DBMS产品,这包括为在主机上运行而开发的分层和网络数据库系统。IBM信息管理系统(通常称为IMS)和现在由Broadcom拥有的IDMS是当前仍然可用的技术。

选择DBMS的其他注意事项

当你查看不同类型的数据库管理系统技术,然后考虑计划购买特定DBMS产品时,最应该优先考虑的是服务器硬件平台和操作系统支持。当今主要的计算环境是LinuxWindows Unix和大型机。并非每个DBMS都支持这些平台。

另一个考虑因素是DBMS供应商的技术支持。软件维护和支持很重要,而且可能涉及高昂的持续费用。很多DBMS技术都是开源的,尤其是NoSQL技术。开源方法可提高灵活性,并降低初始成本。然而,除非你购买商业订阅,否则开源软件缺乏支持。当你考虑相关的管理和支持成本时,总拥有成本最终可能会更高。

你还可以选择通过在云端运行DBMS来减少部署和管理的痛苦。如上所述,你可以在私有云或公共云中部署自我管理系统,或使用云提供商或其他数据库供应商提供的托管数据库服务。后一种方法也称为数据库即服务(DBaaS),即用户不必自己安装、配置和管理DBMS技术。你也可以选择类似的数据仓库即服务(DWaaS)产品。此外,有些DBaaSDWaaS技术现在可以安装在本地数据中心,并由供应商远程管理。

如果你的企业正在考虑购买DBMS,请记录你的具体需求,确定哪种DBMS技术适合你,然后评估该类别中的领先产品。为此,你将需要有关不同类型的DBMS软件及其优化的用例的更多详细信息。事实上,你还需要评估很多变量,以确保你在购买数据库管理系统时做出明智的决定。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Craig S. Mullins
Craig S. Mullins

数据管理策略研究人员,拥有超过30年的数据库系统经验

翻译

邹铮
邹铮

相关推荐