DB2 :关系型数据库管理系统

更新时间:2023-09-20 14:28

DB2是Database 2的简称,它是美国IBM公司推出的一套关系型数据库管理系统。它不仅是一个强大的数据引擎,能够让数据库管理员、企业架构师和开发人员对任何数据进行运行、存储和查询,还能够支持各种关键的应用程序,从而提升整个组织的决策和创新能力。

IBM研究员Edgar Frank Codd(E. F. Codd)在1970年首次提出了关系模型的概念,为关系数据库的发展奠定了理论基础。1983年,IBM发布了DB2 for MVS,这是DB2的首个版本。DB2具有跨平台和多语言的特性,主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。该系统也采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 DB2还拥有一个非常完备的查询优化器,支持多任务并行查询。另外,DB2也具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。同时,DB2还实现了XML(XML)和关系数据间的无缝交互,而无需考虑数据的格式、平台或位置。

DB2的主要产品版本包括Db2 Advanced Edition、Db2 Standard Edition和Db2 Community Edition。它可以在LinuxunixWindows、IBM i、z/OS等多种操作系统上运行,并支持Java、C#PythonPHPRubyPerl等多种编程语言。截止至2023年11月,DB2的最新版本是11.5.9,适用于Db2 for LUW和Db2 on Cloud。DB2在金融业、制造业、运输业和电子商务零售等多个行业都得到广泛应用。

发展历程

发展背景

在数据库出现之前,数据主要通过文件系统保存。但随着1960年代计算机的普及和对数据共享需求的增加,文件系统的局限性促使了数据库管理系统(DBMS)的诞生,以实现数据的统一管理和分享。

数据库类型包括网状数据库、层次数据库和关系数据库。网状数据库最早由通用电气的Charles Bachman(查尔斯·巴克曼)于1961年开发,名为集成数据存储(IDS)。IDS只能在通用电气的主机上运行,且所有数据表都需手动编码。由于网状数据库能够自然地表示层次和非层次的结构,所以在关系数据库普及前,它比层次数据库使用得更广泛。

层次数据库则是在网状数据库之后出现的,最知名的层次数据库系统是IBM公司于1969年开发的信息管理系统(IMS),这是IBM公司的第一代数据库,也被称为DB1。这是第一个层次型数据库管理系统。

早期发展

在1970年,IBM研究员E. F. Codd首次提出了关系模型的概念,这篇论文奠定了关系数据库的理论基础。紧接着,1973年IBM确立了System R项目,目的是实现Codd的理论并建立一个关系数据库管理系统(DBMS)。到了1974年,IBM研究人员Don Chamberlin(唐·钱伯林)和Ray Boyce(雷·博伊斯)发表了关于“EQUEL:结构化英语查询语言”的论文,为SQL标准的定义奠定了基础。

在1975年,Chamberlin和Morton Astrahan(莫顿·阿斯特拉罕)详细阐述了作为System R一部分的第一个SQL实现。随后的1976年,IBM System团队发表了关于他们的关系数据库原型的论文,并且Jim Gray(吉姆·格雷)定义了数据库事务和结合度的概念,为数据库并发理论奠定了基础。

1979年是DB2发展中的另一个里程碑,IBM的Pat Selinger(帕特·塞林格)详细阐述了行业的第一个关系查询优化器,为DB2数据库优化器的发展奠定了基础。1982年,IBM发布了SQL/DS,这是第一个商业用途的关系数据库,它的SQL接口基于System R,后来成为DB2数据库的前身。

1983年,IBM在其MVS大型机平台上发布了DB2,这是IBM公司的第二代数据库。此外,还提供了一种全新的数据库语言——SQL。1987年,IBM发布了OS/2扩展版数据库管理器,这最终演变成了面向Linux、Unix和Windows的DB2的代码。1988年,IBM发布了DB2 Version 2,这是一个重要版本,因为它支持了任务关键型事务处理工作负载,证明了联机事务处理(OLTP)的可行性,这对当时的商业计算至关重要。

演进

自1993年以来,IBM公司对DB2经历了一系列重要的版本更新。DB2 Version 3在那一年推出,通过优化缓冲池和并行处理功能,大幅提升了性能和可扩展性。接着,DB2 Version 4于1995年引入了索引、数据共享和存储过程等新特性,使数据库功能更加强大。两年后,DB2 Version 5不仅是DB2 for OS/390的首个版本,也标志着DB2的一个转折点,它引入了语句缓存和重新优化等特性,改进了在线管理和查询优化。到了1999年,DB2 Version 6引入了通用数据库(Universal Database)的概念,并对产品命名进行了调整。

进入21世纪,IBM公司在2001年收购了INFORMIX,并将其数据库特性整合进DB2中,并于同年推出了DB2 Version 7,该版本提供了Unicode支持和新的SQL功能,扩展了数据库的查询能力。2004年的DB2 Version 8进一步提升了数据库的灵活性、安全性和查询性能。DB2 9 for z/OS于2007年发布,带来了在线管理和数据类型的改进。2009年的DB2 9.7(Cobra)增加了对Oracle数据库的兼容性,并使DB2能够作为MySQL的存储引擎,为IBM i平台及其他平台的用户提供了通过MySQL接口访问DB2数据库的能力。2012年,DB2 10.1(伽利略·伽利莱)引入了细粒度权限管理和多温度数据管理功能。这些更新和改进都使DB2数据库的功能和性能得到了显著的提升。

现状

IBM在2017年将DB2和dashDB统一命名为DB2,整合了其数据库产品线。紧接着,2018年推出的DB2 11.1不仅增强了数据库效率和大型数据库支持,还对blu加速技术进行了改进。到了2019年的DB2 11.5集成了AI功能,提升查询性能并支持AI应用开发,进一步推动了数据库技术的创新。2022年,IBM被全球著名分析师机构高德纳咨询公司 Peer Insights的“客户之声”评选为2022年度云数据库管理系统的客户选择供应商。这一荣誉反映了IBM在云数据库管理领域的卓越表现和客户满意度。截止至2023年11月,最新版本DB2 11.5.9发布,这个版本改进了CF性能、自动表维护、远程存储功能和高可用性,优化了事务性工作负载处理能力。

版本介绍

产品版本

其他版本

Db2 Warehouse

Db2 warehouse是一款面向分析的列式数据库,它支持混合事务和分析处理(HTAP),可以在本地或云端部署,其基于Db2的核心技术,但是增加了一些专门针对数据仓库的功能,如并行处理、内存优化、压缩、分区等。

Db2 Big SQL

Db2 Big SQL是一款SQL引擎,它可以让用户使用标准的SQL语言查询和分析多种类型的数据源,如HadoophiveHBase、Spark等。它利用Db2的优化器和运行时,提供了高性能、高可用性、高安全性和高兼容性的SQL分析能力。

Db2 on Cloud

Db2 on Cloud是一款DBaaS(数据库即服务)产品,它提供了一个完全托管的Db2数据库实例,用户无需安装或配置任何软件,只需通过网页或API访问数据库。它支持多种规模和性能的数据库,可以根据用户的需求自动扩展或缩小。

Db2 Developer Community Edition

Db2 Developer Community Edition是一款针对开发者的Db2版本,它包含了Db2的所有高级功能,如高可用性灾难恢复(HADR)、纯缩放(PureScale)、blu加速(BLU Acceleration)等,以及一些附加的工具和驱动程序,如Data Studio、IBM Data Server Driver等。它适用于开发和测试环境,不适用于生产环境。

Db2 Express-C Edition

Db2 Express-C Edition是一款免费的Db2版本,它提供了Db2的基本功能,如SQL查询、备份恢复、安全性等,但是有一些限制,如最多支持2个虚拟处理器核心、最多支持16GB内存、不提供技术支持等。它适用于小型应用或学习目的。

主要特点

支持多种操作系统和编程语言

DB2可以运行在多种操作系统平台上,包括LinuxunixWindows、IBM i、z/OS等。DB2也支持多种编程语言,包括Java、C#PythonPHPRubyPerl等。DB2还提供了多种开发工具和接口,如Eclipse、Visual Studio、ODBC、Java数据库连接、OLE DB、ADO.NET等。

高性能、可扩展性和可靠性

DB2支持混合事务和分析工作负载,为数据库管理员(DBA)、企业架构师和开发人员提供了保持应用程序运行、存储和查询任何内容并简化开发的单一平台。DB2利用内存计算、数据压缩、并行处理、分区、索引等技术,提高了数据的访问速度和处理能力。DB2还提供了高可用性灾难恢复的解决方案,如DB2 pureScale、HADR、备份和恢复等,保证了数据的安全性和可靠性。

数据治理和安全性

DB2提供专业知识和创新,加密、屏蔽和保护混合场景、本地部署和云环境中的数据。DB2利用内置的安全功能,如角色、权限、审计、标签、策略等,实现了数据的访问控制和合规性。DB2还利用数据掩码、数据加密、数据红action等技术,实现了数据的隐私保护和安全传输。

多种部署模式

可以将DB2部署为IBM Cloud上全受管式且有SLA支持的服务,或者在云受管的Red Hat OpenShift或AWS、Microsoft Microsoft Azure的Kubernetes服务上部署。DB2也可以部署在本地或私有云的传统或容器化的环境中。DB2还提供了多种云服务,如DB2 Warehouse、DB2 on Cloud、DB2 Hosted等,满足不同的业务需求和场景。

产品组件及功能

DB2 Engine

DB2 Engine是整个数据库系统的核心,提供了DB2的基本功能。它的主要职责有:管理和控制数据的存取,生成程序包(数据库对象,用于存储存取计划),管理事务,保证数据的完整性和安全性,以及提供应用程序的并发控制。数据库引擎(DB2 Engine)的设计质量,影响着数据库系统的稳定性和效率。

DB2 客户机

DB2客户机是一个应用程序,可以在此应用程序中针对DB2服务器运行命令和SQL,连接到远程DB2服务器并访问其数据库。DB2提供以下客户机:

DB2 Connect

DB2 Connect提供了从Windows、Linux和UNIX开放平台连接大型机和中型机的能力。借助DB2 Connect,任何支持的DB2分布式平台上的应用程序都能高效地访问这些数据,就如同操作本地数据服务器一样。此外,DB2 Connect还可以与各种现有的或自定义开发的数据库应用程序配合使用。

DB2 Advanced Recovery Feature

DB2 Advanced Recovery Feature是一个结合了三个Db2工具的功能,用于实现高级的数据库备份、恢复和数据提取。这三个工具分别是Db2 Merge Backup、Db2 Recovery Expert和InfoSphere Optim High Performance Unload。它们可以帮助提高数据的可用性,降低风险,加快重要的管理任务。

DB2 performance management

DB2 Performance Management是一个用于监控和优化Db2数据库性能的解决方案。它可以帮助分析和诊断数据库的性能问题,提供优化建议,提升数据库的效率和稳定性。

DB2 Administration Tool

DB2 Administration tool是一个用于管理和维护Db2数据库的图形界面工具,它可以帮助执行常见的数据库任务,如创建对象、监控性能、备份和恢复数据等。

常用命令

支持平台

DB2 for Linux, UNIX and Windows (DB2 for LUW)

这是DB2的跨平台版本,适用于Linuxunix和Windows操作系统。它支持多种编程语言和开发工具,提供高性能、可扩展性和可靠性,支持混合事务和分析工作负载,提供数据治理和安全性,支持多种部署模式。

DB2 for i

这是IBM的集成操作系统,适用于IBM 功率 Systems平台,提供高效的数据管理和分析功能。它利用IBM i的优势,如简化管理、高可用性、灵活扩展、安全性等,支持多种数据类型和访问方法,支持SQL和NoSQL数据源,支持数据仓库和机器学习

DB2 for z/OS

这是IBM的主要机操作系统,适用于大规模的事务处理和分析工作负载。它利用IBM Z的优势,如高性能、高可用性、高安全性、高弹性等,支持多种数据类型和访问方法,支持SQL和NoSQL数据源,支持数据仓库和机器学习。

应用领域

金融业

DB2为金融机构提供了高性能、高可用性、高安全性和高弹性的数据管理解决方案,支持大规模的事务处理和分析工作负载,帮助提高客户满意度、降低运营成本、增加收入和利润。例如,印度国家银行利用DB2、IBM Cognos Analytics和IBM SPSS 统计学等技术,为其1.4亿客户提供了更个性化、更智能的服务,开发了包括无卡抗甲状腺微粒体抗体取款在内的创新产品。

制造业

DB2为制造商提供了灵活、可扩展、可靠的数据管理解决方案,支持多种数据类型和访问方法,帮助优化生产流程、提高产品质量、降低维护成本、增强竞争力。例如,德国知名照明公司Siteco利用DB2和IBM WebSphere等技术,实现了对其全球分布的生产设备的实时监控和分析,提高了生产效率和能源效率

运输业

DB2可以为运输业提供高效、可靠、安全的数据管理和分析服务,帮助运输业提高运营效率、降低成本、优化资源、增强竞争力。例如,得克萨斯州的威盛大都会运输公司(VIA Metropolitan Transit)是美国最大的运输服务提供商之一,该公司使用DB2作为其核心的数据平台,管理其所有的业务数据,包括车辆、货物、路线、订单、客户、费用等。利用DB2的数据仓库和商业智能功能,对数据进行深入的挖掘和分析,从而优化其运输策略、提高客户满意度、增加收入和利润。

零售电商

DB2为零售商和电商提供了高效、可靠、安全的数据管理解决方案,支持海量的数据存储和查询,帮助提升顾客体验、增加销售额、降低库存和物流成本、提高市场份额。例如,德国知名运动品牌彪马利用DB2 pureScale等技术,建立了一个高性能、高可用性、高可扩展性的数据库环境,支持其全球的电子商务平台,应对日益增长的交易量和用户数。

学校

DB2为学校提供了简单、易用、低成本的数据管理解决方案,支持教育和研究的数据需求,帮助提高教学质量、促进学生学习、支持创新项目、增强合作机会。例如,美国大学开罗分校利用DB2 Express-C等技术,为其教师和学生提供了一个免费的数据库平台,支持各种课程和研究项目的数据管理和分析。

竞争产品

根据知名的信息技术研究和分析公司高德纳高德纳咨询公司)的报告,2002年全球数据库市场的新许可证收入从前一年的71亿美元下降到66亿美元,降幅为7%。IBM仍以36%的市场份额领先,甲骨文公司(Oracle)以34%的市场份额紧随其后,微软(Microsoft)则以18%的市场份额排名第三。甲骨文在整个市场上的新许可证收入下降了20%,而IBM和微软则飙升了近17%。

IBM DB2在数据仓库领域面临着天睿资讯系统有限公司Oracle数据库的激烈竞争,而在小型数据库市场,它则要与微软的SQL Server和MySQL争夺客户。2024年,根据针对企业用户的软件评测平台G2的数据,IBM Db2的主要竞争对手或替代品甲骨文公司的Database、亚马逊网站公司的RDS、思爱普的HANA Cloud等。

Oracle Database

Oracle Database是由甲骨文公司开发和维护的全球领先的关系数据库管理系统,它支持多模型和多语言的数据处理。它可以处理多种数据类型,如结构化、半结构化和非结构化数据,以及支持分布式处理、高级分析和机器学习等功能。它还可以在云端或本地部署,实现数据库的云上整合,从而帮助客户降低IT成本并提高服务质量。

Amazon Relational Database Service (RDS)

Amazon Relational Database Service (RDS)是亚马逊提供的一种云端托管服务,它可以让用户在云中轻松地创建、管理和扩展关系数据库。它支持多种流行的数据库引擎,如MySQLPostgreSQLMariaDBOracle数据库SQL Server等,以满足不同的数据需求。

SAP HANA Cloud

SAP HANA Cloud是SAP业务技术平台的云原生数据基础,它可以实时地存储、处理和分析海量的数据,达到pb级的规模。它通过集成的多层存储,将多种数据类型融合到单个系统中,同时优化数据的管理和访问。

Teradata Vantage

Teradata Vantage是一种基于云的数据分析平台,它支持多种数据源、多种分析工具、多种数据类型和多种部署选项等,可以灵活地适应复杂的数据场景。它可以简化数据仓库环境的管理,提供高效和可靠的数据分析服务。

Microsoft SQL Server

Microsoft SQL Server是微软开发的一种关系数据库管理系统,它可以在Windows、Linux和Docker容器上运行,或者作为Microsoft Azure虚拟机运行。它具有强大的性能、安全性和可靠性,以及与Azure的无缝连接。它还支持多种开发工具和语言,如SQL Server Management Studio、Azure Data Studio、SQL Server Data Tools、SQL、Python、SAS等,方便用户进行数据开发和管理。

MySQL

MySQL是一种开源的数据库服务,支持事务、分析和机器学习等功能。它由甲骨文公司开发、分发和支持,可以在多种平台上运行,如Windows、Linux、Mac OS X等。它具有高性能、易用性和灵活性的特点,可以与多种应用、硬件和设备集成,如WordPressPHP、Java、C#等。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: