DB2
关系型数据库管理系统
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#等。
参考资料
IBM Db2.IBM.2024-03-04
DB2 11.5.9 Release Date? | Db2.community.ibm.2024-03-04
Db2 for developers.IBM.2024-03-04
..2024-03-04
Introduction to DB2 UDB.informit.2024-03-04
IBM DB2数据库系统.清华大学经济管理学院.2024-03-29
IBM Documentation.IBM.2024-03-04
State Bank of India.IBM.2024-03-04
Faster upgrades.IBM.2024-03-04
AI conversations.IBM.2024-03-04
history of system r.cs.ubc.ca.2024-03-04
query by example.books.google.co.2024-03-04
DB2 History.dbisoftware.com.2024-03-04
Twenty-Two Years of DB2.craigsmullins.com.2024-03-04
What is Db2?.techtarget.2024-03-04
IT Infrastructure.redbooks.ibm.2024-03-05
DB2 2012 and beyond.public.dhe.ibm.2024-03-05
IBM Db2 Joins the AI Age.informationweek.2024-03-13
Highlights of Db2 11.5.9.ibm.com.2024-03-04
IBM Db2 Warehouse.IBM.2024-03-10
IBM Db2 Big SQL.IBM.2024-03-10
Db2 on Cloud about.cloud.ibm.2024-03-10
IBM Db2 on Cloud.IBM.2024-03-10
IBM DB2 Express-C.IBM.2024-03-10
Db2 for developers.IBM.2024-03-05
IBM Documentation.IBM.2024-03-04
IBM Db2 数据库.IBM.2024-03-04
Db2 Merge Backup.IBM.2024-03-13
IBM Db2 工具.IBM.2024-03-13
IBM Documentation.IBM.2024-03-04
IBM Documentation.IBM.2024-03-04
IBM Db2 for z/OS.IBM.2024-03-04
Making the right database choices.itweb.co.za.2024-03-04
Database.oracle.2024-03-10
Amazon RDS.aws.amazon.2024-03-10
SAP HANA Cloud .SAP.2024-03-10
Vantage.teradata.2024-03-10
SQL Server .microsoft.2024-03-11
MySQL.mysql.2024-03-10
目录
概述
发展历程
发展背景
早期发展
演进
现状
版本介绍
产品版本
其他版本
Db2 Warehouse
Db2 Big SQL
Db2 on Cloud
Db2 Developer Community Edition
Db2 Express-C Edition
主要特点
支持多种操作系统和编程语言
高性能、可扩展性和可靠性
数据治理和安全性
多种部署模式
产品组件及功能
DB2 Engine
DB2 客户机
DB2 Connect
DB2 Advanced Recovery Feature
DB2 performance management
DB2 Administration Tool
常用命令
支持平台
DB2 for Linux, UNIX and Windows (DB2 for LUW)
DB2 for i
DB2 for z/OS
应用领域
金融业
制造业
运输业
零售电商
学校
竞争产品
Oracle Database
Amazon Relational Database Service (RDS)
SAP HANA Cloud
Teradata Vantage
Microsoft SQL Server
MySQL
参考资料