数据库一体机简史:从ODA到zData X,命名之中的玄机

数据库一体机简史:从ODA到zData X,命名之中的玄机
在Exadata问世三年之后Oracle公司于2011年9月在旧金山Oracle OpenWorld大会上正式发布了其数据库一体机的低端产品ODAOracle Database Appliance如图1所示。有意思的是从命名上看ODA才是真正意义上的“Oracle数据库一体机”而Exadata的完整名称是Oracle Exadata Database Machine直译应为“Oracle Exadata数据库机”。两者的侧重点微妙不同。这一命名上的细微差异折射出Oracle在产品定位和市场策略上的精心布局——Exadata是高端旗舰面向大型企业的核心数据仓库ODA则是中低端入门款瞄准中小企业市场追求“更简单、更经济”的部署体验。图1 Oracle ODA的定位在数据库一体机的演进历史上我们已经看到了三个常用称谓分别是Database Machine数据库机、Database Computer数据库计算机和Database Appliance数据库一体机。这三个名词在中文语境中经常被同一化为“数据库一体机”。然而从发展起源看这三个词汇所对应的产品形态既有区别又有共同点。它们在发展过程中更是互相借鉴、彼此演化。为了洞察技术进步背后的深层原因我对这三个名词做一个解释和分析。01.Database Machine黑盒子里的秘密武器Database Machine数据库机这个名字是最早被提出来的它更接近于一个黑箱机器专门用于处理数据。Britton-Lee的产品名就是Intelligent Database MachineIDM智能数据库机。Database Machine的构想诞生于20世纪70年代末到80年代初。当时的计算机科学研究者们面对着一个令人沮丧的瓶颈传统的冯·诺依曼架构在处理磁盘I/O时效率低下——磁盘的数据传输速度虽然不断提升但通用处理器对数据的过滤速度却严重滞后导致大量无用数据必须先被读取到内存再由CPU做筛选形成了巨大的资源浪费。这一现象被研究者们形象地称为“I/O瓶颈”或“冯·诺依曼瓶颈”1。数据库机的核心哲学是“通用的计算机太笨了我们要为数据库专门造一套硬件。”这些定制硬件的本质是试图在磁盘控制器里加入逻辑处理能力实现“边读边过滤——即在存储侧实现近线计算Near-line Computing从而从根本上加速I/O减少不必要的数据搬运。数据库机的哲学也正是解决冯·诺依曼瓶颈的根本出路那就是从“计算-存储分离”演进到“计算-存储融合”。数据库机的存内计算、近存计算都是在这一方向上的努力。Britton-Lee公司的IDM正是体现数据库机哲学的代表性商业产品。IDM本质上是一台“机器”它是个黑箱子躲在大型机或小型机的背后专门负责高速处理数据库查询减少前端计算资源的消耗。用现代的话说IDM有点像一块专用的“数据库加速卡”只不过是以独立机柜的形态存在。IDM 500内置了完整的关系数据库管理系统支持SQL查询是当年硅谷颇具轰动效应的技术创新。Britton-Lee于1990年被Teradata收购。值得一提的是几乎在同一时代大洋彼岸的英国公司ICLInternational Computers Limited也独立地走上了相同的技术路线开发出了CAFSContent Addressable File Store内容可寻址文件存储。CAFS提供了一种内置搜索功能的磁盘存储系统传统存储是“先读后找”而CAFS则是“边读边找”在磁盘数据流入主机的过程中就完成了过滤大幅减少了需要传输到主机的数据量。ICL因CAFS的技术成就于1985年荣获英国女王技术成就奖Queens Award for Technological Achievement——这是英国最高规格的技术荣誉足见这一创新在当时的份量。然而CAFS也面临一个致命限制它必须预先了解数据在磁盘上的物理布局结构这使得它的部署和维护相当复杂最终限制了其大规模推广。时间来到21世纪Database Machine的理念以更现代的形式重获生机。Netezza公司2000年成立于美国马萨诸塞州采用了一种被称为AMPPAsymmetric Massively Parallel Processing非对称大规模并行处理的架构将FPGAField Programmable Gate Array现场可编程门阵列加速芯片嵌入每个存储节点在数据流出磁盘的同时就完成行级过滤和列级投影真正实现了“在存储层计算”。这种架构被Netezza称为Snippet Processing片段处理其查询加速效果极为显著。Netezza通过FPGA加速卡处理数据实际上正是Database Machine理念的现代复兴只是以更先进的技术形态呈现。2010年IBM以17亿美元收购了Netezza延续了这一技术路线。数据库机的历史局限清晰可见硬件研发成本极高而且随着英特尔CPU遵循摩尔定律快速进步专用硬件很快便被超越专门研发“数据库专用芯片”的投入产出比越来越低。这是Database Machine时代走向终结的根本原因。1 冯·诺依曼瓶颈是计算机体系结构中的一个核心概念指的是中央处理器CPU与内存RAM之间的数据传输速率限制它导致CPU的实际处理速度远低于其理论运算能力。这个概念由计算机科学家约翰·巴克斯John BackusFORTRAN语言发明者在1977年首次明确提出并以冯·诺依曼架构现代计算机的基石命名。02.Database Computer一场计算机架构的革命Database ComputerDBC数据库计算机本质上是一种数据库专用的计算机。DBC的理念旨在“创造一种新的计算机”。在《数据库一体机简史奠基一体机技术的华人双子星》一文中我重点介绍了数据库计算机领域的先驱萧开美先生的历史贡献。萧开美是DBC概念的早期提出者之一他在1976年完成了三卷本的历史性研究报告——《数据库计算机架构》The Architecture of a Database Computer。《俄亥俄州立大学校报》在1977年5月报道了萧开美的工作标题为《教授发明数据库计算机》Prof invents database computer称这一发明“将有一天让传统计算机走向过时”。萧开美的研究激励了很多创业者这其中就包括Teradata的先驱们。在20世纪80年代初Teradata的创始人们认为传统的通用计算机General-Purpose Computers架构设计是用来算数的而不是用来处理数据库的。因此他们也投身到数据库计算机的探索中开始从零构建专用硬件。1984年Teradata发布了其旗舰产品DBC/1012Data Base Computer顾名思义。Teradata的数据库计算机不运行普通的操作系统如Unix或Windows而是运行定制的TOS (Teradata Operating System)。它由一种被称为AMPs (Access Module Processors) 的模块化计算节点组成通过一个叫做BYNETBanyan Network的专有高速互联总线连接。每个AMP负责管理数据库中的一个数据分片处理对应范围内的查询请求实现真正的MPP大规模并行处理。在那个时代DBC被视为与IBM大型机Mainframe平起平坐的计算架构革新。它有效地回应了用户的呼声“我们需要一种能像超级计算机一样运行数据库的集群架构。”DBC是上世纪80年代到90年代数据库处理的巅峰。它不一定非要定制芯片但它必须定制整套计算机通信架构。其重点在于MPP它将成百上千台微处理器连接在一起让它们对外呈现为一台巨大的单一数据库。而其局限在于价格极其昂贵动辄百万美元起步且软件与硬件深度绑定。03.Database Appliance像卖家电一样卖计算机Database Appliance数据库一体机的本质是简化交付。其核心理念是软件配置太繁琐要把软件预装在工业标准服务器里“开箱即用”就像买个冰箱回来通电即用。如果说DBC是为了“创造一种新的计算机”那么Database Appliance是为了“像卖家电一样卖计算机”。这一理念的成型很大程度上源于20世纪90年代末至21世纪初的市场洗礼。数据仓库的建设成本居高不下一套大型数据仓库系统往往需要数月的规划、采购、集成和调优才能真正投入生产。大量企业苦不堪言——买了硬件还要买软件许可还要请顾问调优每走一步都要花大钱、等很久。Netezza率先将这种痛点转化为商机。它告诉市场用户不需要知道里面是什么复杂的技术架构用户只需要知道“数据导进去查询变快了”。Netezza最著名的营销口号是No Tuning无需调优——把整个系统的复杂性都封装在黑盒子里用户什么都不用管接上网线、导入数据系统自动运转。这种“弱化过程、强化结果”的销售策略就是Appliance模式的精髓。Netezza因此被公认为定义了“Appliance时代”的产品在数据仓库市场掀起了一股简化浪潮。图2 Oracle ODA的价值主张数据库一体机的核心哲学是“用户不在乎硬件是什么用户只想买回来就能用。”这是2000年之后的市场主流。现代的一体机通常也包含一些Database Machine的技术如FPGA加速但其核心属性是商业上的便捷性。代表产品就是Oracle Exadata它使用标准服务器但在存储层加入了专用软件驱动实现硬件级过滤。而ODA则是将Exadata小型化和廉价化。图2显示了Oracle在市场传播中对ODA的价值主张即将数据库、服务器、存储、网络和咨询集成于一体提供一套对用户而言简单、可靠、经济的数据库一体机。04.Teradata的转变从“精密重型机械”到“自动挡汽车”颇具意味的是曾经以Data Base Computer命名自家产品的Teradata后来也逐渐放弃了DBC这个叫法转而拥抱Appliance这反映了整个行业从“硬件崇拜”向“效率优先”的转变。Teradata的转变根源我在前面的文章中已经做过分析本质上是摩尔定律的影响。随着英特尔CPU和通用存储硬件性能的飞速提升专门研发一套“数据库专用主板”的成本太高、迭代太慢所以Teradata也不得不妥协。定制化芯片的研发周期通常需要2-3年而通用CPU每18个月性能就翻一番专用硬件的相对优势被持续压缩。继续坚持“从头定制硬件”的路线经济上越来越不划算。2008年后Teradata推出了2500系列等产品明确使用了Appliance标签。这时候的Teradata不再强求用户购买它最昂贵的、定制化的大型架构而是提供了一个预装好软件、性能均衡、价格更低的“黑盒子”。这是一个务实的妥协也是一个精明的商业决策——毕竟市场才是最终的裁判。Teradata的DBC是一场关于计算机架构的革命——试图挑战IBM统治的计算世界打造专属于数据库的“计算机帝国”那是一套“需要顶级技师才能驾驭的精密重型机械”。Netezza的Appliance是一场关于用户体验和商业效率的革命——试图让大数据分析变得平民化不再是少数大企业的专属工具那是“即便普通修理工也能开走的自动挡汽车”。Oracle的Exadata和ODA则是两者的集大成者——用标准化硬件承载专用优化软件在“可靠性”与“易用性”之间找到最佳平衡点是自动挡汽车里的顶级豪华车型。05.zData X“变形金刚”登场zData X数据库一体机与ODA、Teradata存在本质上的不同。传统的数据库一体机无论是ODA、Exadata还是Teradata都是为特定数据库量身定制的——Exadata只支持Oracle数据库Teradata只运行Teradata数据库它们都是深度绑定、封闭的单一生态。这种专用性带来了极致的性能优化但同时也筑起了一道围墙将用户牢牢锁定在单一厂商体系之内。zData X打破了这道围墙。云和恩墨推出的zData X同样集成了服务器、交换机、存储和专业顾问咨询但zData X支持通用数据库——Oracle、MySQL、PostgreSQL、openGauss、达梦、OceanBase、YashanDB等主流数据库均可在同一套平台上部署和运行。因此zData X中的X是“乘以任意数据库Any Database”的含义——X代表着无限的可能性代表着对多元数据库生态的拥抱与支撑。支持通用数据库对一体机平台的能力要求更高同时还需要保持简单易用。zData X一体机中内置了运维管理平台其中包含了数据库的自动化部署、监控告警、智能巡检、高可用管理和性能容量分析等核心功能而且支持在同一套平台上同时部署和管理多种数据库。这意味着一家企业可以在同一台zData X上同时运行Oracle OLTP系统和MySQL业务库统一纳管、统一监控、统一运维极大地降低了复杂度和人力成本。如果说传统的一体机Appliance是“自动挡汽车”——省去了手动挡的繁琐让普通用户也能轻松上路那么zData X则更像是“变形金刚”——健壮、智能、自动化能够根据业务需求灵活变形既可以是Oracle专用系统也可以是多库混合部署平台更可以是数据库运维管理的统一指挥中心。这种演进正是数据库一体机发展史上的四次范式转变如图3所示从专用硬件Database Machine到专用架构Database Computer再到预集成软硬件Database Appliance最终来到智能化、多元化Database Intelligence Platform的新时代。图3 数据库一体机的发展演进06.尾声命名之中的玄机回顾这段历史从Database Machine、Database Computer到Database Appliance每一次命名变化的背后都是一次深刻的技术哲学转变也是一次市场重心的迁移Database Machine相信专用硬件的力量硬件即答案Database Computer相信并行架构的力量架构即答案Database Appliance相信集成交付的力量体验即答案Database Intelligence相信自动化与生态的力量智能即答案。从Britton-Lee的“车库”起步到Teradata的并行革命到Netezza的免调优哲学到Oracle Exadata的惊艳亮相再到云和恩墨zData X的多元智能数据库一体机走过了近半个世纪的历程。每一代产品都在用它的名字昭告着那个时代最核心的技术信仰与市场洞察。命名之中藏着这个行业最深的玄机。