传统IOE架构的问题
对于Oracle数据库系统来说,IOE架构是一种非常经典的架构。过去的十几年,它已经在许多行业中证明了自己存在的合法性。那为什么我们要用数据库一体机这样的新架构去取代它?是因为随着互联网业务的发展,IOE架构暴露出了许许多多的问题
I/O性能
这是最大的问题所在。在该架构中,通常只有一个集中式的存储阵列,通过光纤网络向计算节点提供存储资源。早期的存储阵列全部采用机械磁盘,其性能有非常明显的瓶颈,即使发展到了今天,一块高端的机械盘最多也只能提供300左右的IOPS,延迟也很高,通常在几十毫秒。相对于SSD高达几万的IOPS,以及微秒级别的延迟而言,在OLTP的场景下,性能差距非常明显。那你可能会有疑问,现在SSD已经非常普及,各大存储厂商的AFA(全闪阵列)产品比比皆是,是否只需将原先架构中的集中式存储替换成更新的型号就可以了?答案是否定的。在数据仓库的场景下,通常数据量巨大,而且和时间是正相关的。此时整个系统所能提供的吞吐量就成为关键,而非IOPS和延迟,也就是说需要在可接受的时间内,从存储系统向数据库服务器传输足够大量的数据。在这样的场景下,集中式存储所能提供的吞吐是非常有限的(因为网络端口数量有限),并且无法进行水平扩展。因此即使使用了全闪阵列,也无法应对超大型的数据仓库场景。
可用性
对于核心数据库系统来说,可用性一定是最重要的。虽然集中式存储阵列内部也有各种冗余的设计,但从整个架构来看,它依然是一个单点。一旦整个存储阵列发生故障,数据库也会随之发生宕机,而且还存在设备无法恢复导致数据丢失的风险。这对于企业来说,几乎就是一场灾难,因为数据是无价的。
开放式系统
IOE架构其实是建立在80年代所提出的开放式系统概念之上的。为了构建一个数据库系统,需要从多个不同的厂商采购不同的硬件、软件,然后再将这些部件重新集成,这个过程成本很高,包括资金、人力和时间成本。因为企业需要面对各种问题:不同设备的到货周期,产品稳定性、兼容性,各个厂商实施人员的技术水平,项目经理的协调能力等等。虽然提出开放式系统概念的初衷是因为原来的一体化产品过于封闭限制诸多,但其无形之中也在不同程度上增加了其他环节的成本。虽然各个厂商都提供了一些标准的软件和接口,但兼容性的问题从来没有消失过,而且这类问题通常都很难找到根本原因,各个厂商之间互相推诿,解决问题的效率低下。
高昂的TCO
这一点不仅仅体现在设备以及软件本身的成本上。像IBM、Oracle、EMC这样的国际厂商,针对各自产品收取的维保服务费用也已经成为企业很大的负担,而且维保费用是和设备的使用年限成正比的。越老的设备费用越高,每年上百万的维保服务费在许多大型企业中都很常见。
数据库一体机是新生事物吗?
一件事物既然有很多的问题,无法适应时代的发展,那被淘汰也是必然的。就像马车被汽车取代,寻呼机被手机取代,唱片被数字音乐取代一样。那取代IOE架构的会是什么呢?从目前的发展趋势来看,数据库一体机非常有可能成为它的替代者。但对于新生的事物,人们或多或少都会对它有一些排斥或者质疑,就像哥白尼提出的日心说,特斯拉发明的交流电。但如果我告诉你,一体机其实已经根本不算一个新生事物了,你对它的看法是否会有所改变呢?
自2008年9月24日,Oracle公司发布第一代一体机:The HP Oracle Database Machine(Exadata v1)以来,今年已经是数据库一体机这个产品走过的第10个年头。经过10年的发展,这个细分领域的产品其实已经非常成熟。纵观现在市面上的Oracle数据库一体机产品,架构基本相同,都采用了计算-存储分离的三层架构(也有些产品采用了超融合的架构,不在本文讨论范围)。下面我们将一体机产品进行解剖,看看其中的几个关键部分到底有没有使用非常前沿的、不成熟的组件或者技术。
x86服务器
自从Intel在2005年发布x86架构的64位CPU以来,x86平台已经有了13年的历史。x86服务器也有着相同长度的历史。以沃趣科技的一体机产品为例,与其紧密合作的国际知名厂商Dell,连续多年成为全球出货量最高的x86服务器厂商,根据IDC的数据显示,2016和2017的出货量均在200万台左右,是被广泛应用,非常成熟的产品。
闪存介质
闪存同样也并非一项新的技术,早在1980年就已经被发明出来了。经过了接近27年的发展,闪存介质也已经非常成熟稳定。根据USENIX在2016年的调查报告显示,闪存介质的替换率,以4年为一个间隔,大约为4% – 10%,而机械硬盘的替换率大约是每年2% – 9%。
InfiniBand网络
IB网络架构规格1.0版本早在2000年就已经发布了,至今也已经有18年的历史了。IB网络之前由于成本高昂,并没有在数据中心普及,但在超算领域,比如石油、天然气、气象等,早已经广泛使用。而如前所述,早在2008年,Oracle的第一代一体机Exadata v1就已经采用了InfiniBand作为其内部互联网络。
RDMA技术:和InfiniBand技术一样,RDMA同样也是18年前的产物了。它是一种允许应用程序通过特殊的网卡直接读写远端内存的技术,这种网卡可以是InfiniBand网卡,也可以是Ethernet网卡。RDMA具有零拷贝、内核旁路以及无需CPU参与等优势,可以大幅度降低I/O的延迟和CPU的利用率。
从以上几点可以看出,数据库一体机并非神秘的新事物,而是将几种非常成熟的产品和技术有机地融合在了一起。
数据库一体机的优势
刚才提到,IOE架构很可能会被一体机所取代,显然,它可以解决前者所面临的问题。
I/O性能
闪存介质加上InfiniBand网络,再加上RDMA技术,可以为一体机提供高达近百万的IOPS以及小于1ms的延迟,可以轻松应对高压力的OLTP系统。此外,由于存储层从原来的集中式存储变成分布式存储,不仅扩展性得到极大的提升,而且能够提供的吞吐量也有了质的飞跃,因为打破了网络端口数量的限制,而且IB网络的带宽通常是IOE架构中常用的光纤网络的7倍以上。Oracle的Exadata还提供了其特有的Smart Scan技术,用于降低存储层需要传输到计算层的数据量。但该技术的使用门槛很高,只能在少数场景中才能发挥作用。在OLTP和DW的混合型系统中,该功能就彻底沦为鸡肋,因为它很可能会影响其他查询语句的性能。而沃趣科技即将发布的新一代一体机QData T5,将会直接支持100Gb/s的网络作为内部互联,至少能提供40GB/s的吞吐量,可以满足PB量级的数据仓库场景。
可用性
对于一些IOE用户来说,可能对于一体机最大的疑虑在于它的可用性(稳定性)。IBM小型机和EMC的集中式存储的确是非常优秀并且稳定的产品,如果单纯比较可用性,x86服务器可能会处于下风,但一体机计算-存储分离的三层架构,很好的规避了这个问题。我们来看一组数据:
根据ITIC 2016年的数据显示,Dell x86服务器的可用性如下:
1、其中52%的服务器可用性达到了“5个9”,即99.999%,全年意外宕机时间约为5.26分钟
2、其中41%的服务器可用性为“4个9”,即99.99%,全年意外宕机时间约为52.56分钟
3、其中7%的服务器可用性为“3个9”,即99.9%,全年意外宕机时间约为8.76小时
通过计算加权平均数可以得出,Dell x86服务器的平均可用性大约为99.988%,全年意外宕机时间约为63分钟。一套标准的QData Standard由2个计算节点和3个存储节点组成,全冗余的架构设计可以达到极高的可用性,只有在两个计算节点同时宕机或者两个存储节点同时宕机的情况下,才会导致整体数据库服务不可用,通过基本的概率计算可以得出其可用性理论上可达“8个9” ,99.999999%,全年意外宕机时间仅为315.569毫秒。
此外,以沃趣科技的QData Standard一体机为例,我们通过自身的监控管理平台QData Control,对200多个客户现场的7亿多条数据进行了统计和分析,得出得结论是:
一体机的可用性为“6个9”,即全年意外宕机时间31秒(只需要一个计算节点上的数据库服务可用,即认为集群是可用的),其中:
1、计算节点的可用性为“4个9”,99.99%,全年意外宕机时间约为48.56分钟
2、存储节点的可用性大约为“5个9”,99.999%,全年意外宕机时间约为5.18分钟
一体化
在数据中心的发展进化史当中,有几个大的趋势:更高的计算密度,更高的模块化,更高的利用率,更少的定制化开发,更方便的使用。数据库一体机这样经过预先集成、测试、优化,开箱即用的产品,可以帮助用户节省大量的资源,让他们有更多的时间和精力去关注业务本身,毕竟对于企业来说如何发展业务,制造更多利润才是核心,IT架构都是为了更好地支撑业务而服务的,不应该喧宾夺主。一体化带来的另外一个好处就是后期的维保服务更简单,出现问题时只需要找一个厂商就可以,不用在多个厂商的互相推诿中被当做皮球一样踢来踢去。
更低的TCO
一体机的成本优势一方面得益于近几年的硬件红利,InfiniBand网络、闪存介质这些原本只会在高端超算场景中使用的硬件,现在的价格已经非常亲民了,另一方面,一体机产品的出现,打破了国外产商对于一些专利产品的垄断,相比于他们,国内厂商提供的软件和维保服务价格更加合理。
数据库一体机的应用场景
一体机经过近10年的发展,不仅产品成熟,还是成为了一个“多面手”,适用的场景和行业广泛。
首先是主要的应用场景:
1.高并发核心OLTP系统:这类系统对于IO延迟非常敏感,对业务连续性的要求也很高
2. 海量数据仓库系统:这类系统对于吞吐量要求很高,要在尽可能短的时间内返回更多的数据量
3. 混合型系统:上述两种业务负载都有
4. 小库整合:可以将原先利用率不平衡的小库全部整合到一体机上,提高资源利用率,降低运维成本
5. 私有云:结合私有云软件,比如沃趣科技的Cloud Manager、Oracle的EMCC,构建高性能的Oracle私有云平台。
6. 异地双活:对于可用性有极致要求的金融行业客户,还可以构建异地双活的方案。
其次是相关的行业:
1. 金融行业:在银行、证券、基金、保险等对系统稳定性和安全性要求最高的领域,一体机产品已经得到了广泛的应用。
2. 电力能源:电力行业虽然是传统行业,但却是最早尝试一体机产品的行业之一,目前全国有超过一半省份的国网公司都已经将沃趣科技的QData Standard产品用于他们的财务、费控、计量等核心业务系统。
3. 政企行业:随着IT建设国产化的推进,也有不少政企客户使用沃趣科技的一体机产品来取代原来的IOE架构或者建设新的业务系统。
4. 其他行业:除此之外,在运营商、传媒、教育、医疗、房地产等行业中。
总结
数据库一体机并不是一个新生的事物,它已经有了10年的历史,经过了许多行业和应用场景的考验,是非常成熟稳定的产品。它具有极高的性能,可量化的可用性,预先集成,开箱即用,更低的TCO,更高的ROI,适用场景广泛,同时也符合数据中心的发展趋势。
关于作者:赵晨,沃趣科技产品专家