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。它可以在Linux、unix、Windows、IBM i、z/OS等多种操作系统上运行,并支持Java、C#、Python、PHP、Ruby、Perl等多种编程语言。截止至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语言查询和分析多种类型的数据源,如Hadoop、hive、HBase、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可以运行在多种操作系统平台上,包括Linux、unix、Windows、IBM i、z/OS等。DB2也支持多种编程语言,包括Java、C#、Python、PHP、Ruby、Perl等。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的跨平台版本,适用于Linux、unix和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)是亚马逊提供的一种云端托管服务,它可以让用户在云中轻松地创建、管理和扩展关系数据库。它支持多种流行的数据库引擎,如MySQL、PostgreSQL、MariaDB、Oracle数据库和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等。它具有高性能、易用性和灵活性的特点,可以与多种应用、硬件和设备集成,如WordPress、PHP、Java、C#等。
参考资料
IBM Db2.IBM.2024-03-04
Celebrating 40 years of Db2: Running the world’s mission critical workloads.IBM.2024-03-04
DB2 11.5.9 Release Date? | Db2.community.ibm.2024-03-04
Db2 for developers.IBM.2024-03-04
A Relational Model of Data for Large Shared Data Banks.seas.upenn.edu.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
You could be paying less for software licensing.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
What is Db2 ? History , Editions , and Video Illustrations.streetdirectory.com.2024-03-04
IBM DB2 Will Target Oracle Database Developers.esj.com.2024-03-05
IT Infrastructure.redbooks.ibm.2024-03-05
DB2 2012 and beyond.public.dhe.ibm.2024-03-05
dashDB for Transactions Has Been Renamed to Db2 Hosted.IBM.2024-03-05
Db2 Version 11.1 for Linux, UNIX, and Windows English Manuals.IBM.2024-03-13
What's New for Db2 version 11.1 GA.IBM.2024-03-13
IBM Db2 Joins the AI Age.informationweek.2024-03-13
IBM Is a 2022 Gartner® Peer Insights™ Customers’ Choice for Cloud Database Management Systems.IBM.2024-03-13
Highlights of Db2 11.5.9.ibm.com.2024-03-04
DB2 10 & InfoSphere Warehouse 10.monash.2024-03-06
Db2 LUW Problem Determination and Troubleshooting Workshop.dbisoftware.2024-03-06
DB2 10.5 (Kepler) and Information Center available now.4loeser.net.2024-03-05
IBM DB2 Nebula (11.5.4) Webinar Series.triton.co.uk.2024-03-06
Db2 Version 11.5.4 Federation Performance Enhancements.IBM.2024-03-06
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
「DB2」から「Db2」へ ~开発者からの意见を取り入れたDb2~.IBM.2024-03-10
Get a Jumpstart with IBM Db2 Community Edition.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
IBM Db2 Advanced Recovery Feature.IBM.2024-03-10
Db2 Merge Backup.IBM.2024-03-13
IBM Db2 工具.IBM.2024-03-13
Db2 performance management.ibm.2024-03-10
What does Db2 Admin Tool do.IBM.2024-03-10
Db2 (DB2 LUW) Administration Basic Commands for Absolute Beginners.br8dba.com.2024-03-04
DB2 for Linux, UNIX, and Windows.IBM.2024-03-04
IBM Documentation.IBM.2024-03-04
IBM Documentation.IBM.2024-03-04
IBM Db2 for z/OS.IBM.2024-03-04
The American University in Cairo.IBM.2024-03-04
Making the right database choices.itweb.co.za.2024-03-04
Top 10 IBM Db2 Alternatives & Competitors.g2.2024-03-10
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