数据库一体机与大数据技术的不同之处
IT专家网 发表于:12年10月24日 17:00 [转载] IT专家网
数据库一体机与大数据技术作为近期信息管理领域最为热门的两项技术,其硬件架构基本相同但软件体系有着本质的区别,这也导致了两者拥有不同的特征表现。
随着企业数据量的快速增长,以及用户对服务水平要求的不断提高,相当长的一段时间以来,传统关系数据库技术在生产实践中表现出明显的能力不足。如何以合理的成本获得海量数据的高可用性已经成为现代IT领域的重大挑战。为了应对这一挑战,近年来,IT市场中相继出现了许多新的技术手段,其中最为引人注目的便是由主流数据库厂商主导的数据库一体机(例如Oracle ExaData以及IBM Netezza等),以及以开源力量为主的大数据技术。
不过,虽然数据库一体机与大数据技术都是当今的热门话题,并都已经被广泛应用,但却有相当一部分用户仍然无法深入了解两者之间的本质区别与关系。同时,很多用户也在为如何在企业内部对这两者进行正确定位而感到困惑。为此,本文特别对数据库一体机(也可称新一代主流关系型数据库)和大数据技术(例如 Hadoop,主要指MapReduce与NoSQL)的相关技术特点进行对比。
硬件与软件
从本质上来讲,数据库一体机与大数据技术的硬件架构基本相同,同样是采用x86服务器集群的分布式并行模式,以应对大规模的数据与计算。但是,数据库一体机的卖家们通常会对其产品的硬件体系进行面向产品化的、系统性的整体调优,同时也会有各自的特色手段。比方说Oracle ExaData的Infiniband、Flash Cache,IBM Nettezza的FPGA(现场可编程逻辑门阵)等。
数据库一体机与大数据技术最为核心的区别是在软件体系上。数据库一体机的核心是SQL体系,这不只是指SQL解析,更重要的是指包括SQL优化引擎、索引、锁、事务、日志、安全以及管理等在内的完整而庞大的技术体系。这一体系是成熟的、面向产品的。
大数据技术软件体系中的MapReduce则提供了一个面向海量数据处理的分布式编程框架,使用者需要自行编制所需要的计算逻辑。 MapReduce对数据的读写是批量连续的,而不是随机的。而大数据技术的另一体系NoSQL则大都只是提供了海量数据的分布式存储,以及基于索引的快速读取机制,为使用者提供的大多是编程API(虽然也有类SQL的语言,但其本质并不是完整的SQL体系)。
由于SQL体系的复杂性与处理逻辑的整体关联性,导致数据库一体机在扩展性上远不及大数据技术体系,虽然前者已经在很大程度上改善了传统关系数据库垂直扩展的瓶颈。 MapReduce与NoSQL的单个集群往往可以扩展到数千个节点,而数据库一体机如果在硬件上扩展到这个规模,从软件上来讲,已经是没有意义的了。