说到大数据,不知道大家的***反应是什么?
Hadoop,一个由Apache基金会所开发的分布式系统基础架构。
有人会想到数据库吗?应该不会!
因为在人们的概念中,传统关系型数据库主要应用在OLTP(On-Line Transaction Processing联机事务处理过程)等,以交易为核心的业务,通常是关键业务。
但是不知道大家注意到没有:新的12cR2的一大特点就是顺应大数据应用的需要,提供从数据仓库到大数据的支持。“一个数据库同时支持OLTP和OLAP(Online Analytical Processing, 联机实时分析) ,不需要划分在线/离线的业务。”该数据库厂商说。
如今,关系型数据库可以保存任何类型的数据,能够支持关系型数据SQL查询,也能够提供针对Hadoop、对象存储的NoSQL查询能力,还可以访问JSON格式的数据。
如此,岂不就是一个大数据分析的完整解决方案吗?
华为MPP+Shared-nothing数据库
图灵奖得主,数据库领域的布道者Michael Stonebraker曾经说过:传统数据库架构是30年前,以OLTP应用为主设计的。如今,大数据属于OLAP,应采用新技术架构。
新技术思路是要由“一种架构支持所有应用”转变成“多种架构支持多类应用”,Stonebreaker说。
传统数据库给人另外一个印象就是价格昂贵。数据库在数据一致性、可靠性、安全性等技术环节上所表现出来的水平,让数据库适用于关键业务应用,以及分析报表等。
但大数据的特点有所不同,其中很重要一点就是其价值密度比较低,需要的存储容量会比较大,有时会达到PB级。如此一来,传统关系型数据库,数据进不去、查不出、存不下和扩容难等问题就暴露无遗。
针对传统关系型数据库存在的问题,一种新的构建于x86开放平台上的MPP(Massively Parallel Processing)架构+shared-nothing架构的企业级数据库产品应运而生。
华为GaussDB 200企业级数据库无疑是其中的佼佼者。
华为GaussDB 200
华为GaussDB 200开始于2012年,研发团队分析了业界数据库相关理论和技术,在基于传统关系型数据库的SQL引擎和事务强一致性等基础上,进行了分布式、并行计算的改造。历时6年,打造了一款架构领先的分析型数据库,为各行业PB级海量数据分析提供有竞争力的解决方案。
GaussDB 200可以很好兼容标准ANSI SQL 99/2003语法和PostgreSQL生态。
与传统数据仓库产品使用专有硬件不同,GaussDB 200运行在通用X86服务器上,采用MPP+shared-nothing架构,因而能够具备良好的扩展性。可以在不中断业务的前提下,实现数据库的在线扩容。
这个扩容采用表级扩容机制,即完即用,支持未扩容表与已扩容表之间关联分析;通过引入一套增量机制记录扩容重分布过程中的数据修改(增删改),待基线数据重分布完成后,将增量数据Merge到扩容后的集群中;提供任务自动等待Retry机制,确保新旧数据切换业务不中断、无感知。
GaussDB 200 MPP节点间并行+SMP单机多核并行+列存向量化指令集并行+LLVM机器码编译等技术,可以充分发挥集群硬件资源,能够达到万亿级数据查询秒级响应的能力。其中通用X86服务器上,可以提供弹性集群、跨代兼容等特性,避免硬件锁定。
在架构设计上,硬件中磁盘、交换机、网卡等均采用高可用设计;软件上则采用全组件高可靠架构,协调节点多活,数据节点***主+备+Handoff三重数据保护,GTM(Global Transaction Management)等进程采用主备方案。可以确保集群中任意一个节点故障业务不中断。
安全性方面,新产品支持客户端连接的SSL认证服务;并通过了华为网络安全实验室ICSL认证,遵从英国颁布的网络安全标准。
GaussDB 200支持通过SQL访问HDFS上的数据,支持C UDF,支持全文检索,从而为数据业务创新,提供简单应用的技术手段。
小结
很多时候,大数据应用并不是技术之争,适用就好。与数据库相比,Hadoop能够提供更加细颗粒度的数据分析,有些用户也是利用Hadoop来解决传统数据库数据分析性能不足的问题。但也有很多时候,数据建模也成为了很多用户难以逾越的障碍。任何技术应用是要和应用的场景进行对应,用户要根据自身的情况选择最合适技术路线。