数据库一体机与大数据技术区别何在
作为近期信息管理领域最为热门的两项技术,数据库一体机与大数据技术的硬件架构基本相同,但软件体系有着本质的区别,这也导致了两者拥有不同的特征表现。
随着企业数据量的快速增长,以及用户对服务水平要求的不断提高,相当长的一段时间以来,传统关系数据库技术在生产实践中表现出明显的能力不足。如何以合理的成本获得海量数据的高可用性已经成为现代IT领域的重大挑战。为了应对这一挑战,近年来,IT市场中相继出现了许多新的技术手段,其中最为引人注目的便是由主流数据库厂商主导的数据库一体机(例如Oracle ExaData以及IBM Netezza等),以及以开源力量为主的大数据技术。
不过,虽然数据库一体机与大数据技术都是当今的热门话题,并都已经被广泛应用,但却有相当一部分用户仍然无法深入了解两者之间的本质区别与关系。同时,很多用户也在为如何在企业内部对这两者进行正确定位而感到困惑。为此,本文特别对数据库一体机(也可称新一代主流关系型数据库)和大数据技术(例如Hadoop,主要指MapReduce与NoSQL)的相关技术特点进行对比。
硬件与软件
从本质上来讲,数据库一体机与大数据技术的硬件架构基本相同,同样是采用x86服务器集群的分布式并行模式,以应对大规模的数据与计算。但是,数据库一体机的卖家们通常会对其产品的硬件体系进行面向产品化的、系统性的整体调优,同时也会有各自的特色手段。比方说Oracle ExaData的Infiniband、Flash Cache,IBM Nettezza的FPGA(现场可编程逻辑门阵)等。[page] 数据库一体机与大数据技术最为核心的区别是在软件体系上。数据库一体机的核心是SQL体系,这不只是指SQL解析,更重要的是指包括SQL优化引擎、索引、锁、事务、日志、安全以及管理等在内的完整而庞大的技术体系。这一体系是成熟的、面向产品的。
大数据技术软件体系中的MapReduce则提供了一个面向海量数据处理的分布式编程框架,使用者需要自行编制所需要的计算逻辑。MapReduce对数据的读写是批量连续的,而不是随机的。而大数据技术的另一体系NoSQL则大都只是提供了海量数据的分布式存储,以及基于索引的快速读取机制,为使用者提供的大多是编程API(虽然也有类SQL的语言,但其本质并不是完整的SQL体系)。
由于SQL体系的复杂性与处理逻辑的整体关联性,导致数据库一体机在扩展性上远不及大数据技术体系,虽然前者已经在很大程度上改善了传统关系数据库垂直扩展的瓶颈。MapReduce与NoSQL的单个集群往往可以扩展到数千个节点,而数据库一体机如果在硬件上扩展到这个规模,从软件上来讲,已经是没有意义的了。
特征与本质
基于软件体系的不同,导致了数据库一体机和大数据技术有着不同的特征表现。数据库一体机往往适合于存储关系复杂的数据模型(例如企业核心业务数据),并且需要限制为基于二维表的关系模型。同时,数据库一体机适合进行一致性与事务性要求高的计算,以及复杂的BI计算。
大数据技术则更适合于存储较简单的数据模型,并且可以不受模式的约束。因而其可存储管理的数据类型更加丰富。大数据技术还适合进行一致性与事务性要求不高的计算(主要是指NoSQL的查询操作),以及对超大规模海量数据的、批量的分布式并行计算(基于MapReduce)。
需要注意的是,NoSQL数据库由于摆脱了繁琐的SQL体系约束,其查询与插入的效率比数据库一体机更高。大数据技术比数据库一体机所能处理的数据量也相对大些,这主要是因为其集群可以扩展得更大。
从本质上讲,MapReduce是对海量数据分布式计算领域的一个重要创新,但也只是在适合于并行处理的大规模批量处理问题上更占优势,而对一些复杂操作,则不一定具有优势。NoSQL则可以看作是对传统关系数据库进行简化的结果。由于NoSQL数据库的设计思想只是提取出关系型数据库的索引机制,并加了上分布式存储,把SQL体系中那些对“某些特殊问题”而言并不需要的东西统统删去,由此实现了更优秀的效率、扩展性与灵活性。[page] 因此,我们可以明显地看到,在实践中,有很多问题(特别是流行的大数据问题),关系数据库中的许多设计并不需要,这才是NoSQL发展壮大的根本立足点。
关系与协作
通过前面的分析,我们不难得出这样的结论:大数据技术与数据库一体机应该是相辅相成,并非互相替代的。它们针对不同的应用场景设计,并相互补充与合作。具体来说,大数据技术可以实现:
■处理企业内海量的、模型简单、类型多样的非结构化与半结构化数据(例如社会化数据、各种日志甚至图片、视频等),其处理结果可以被直接使用;
■以上处理结果也同时可以被当成是新的输入存储到企业级数据仓库中,这时大数据机相当于是面向大数据源的、新的ETL(提取-转换-加载)手段;
■面向海量数据的、不太适合SQL的存储或计算。
而数据库一体机则应该还是作为企业数据仓库的主流技术,至少在很长一段时间内应该是这样。它负责存储与计算最主要的、有重大价值的企业关键业务数据。
现存的误区
有些人认为,虽然大数据技术的原始开源状态还不适合充当企业级数据仓库主平台的要求,但经过开发、补充,应该是可以的。其实这个观点没有错。但实际上,对开源的大数据技术进行补充开发,所要补充的正是大数据技术在原始设计上就去除了的、那些本属于关系型数据库体系的东西。
如果进行这样的补充开发,企业不仅会面临庞大的、难于估计的开发工作量,同时也难以像专业数据库厂商那样实现这些工作的理论化、产品化与体系化。虽然从纯技术的角度上讲,开发什么都有可能。但是如果企业真的准备这样做,是要开发另一个商业化的关系数据库吗?很明显,这违背了大数据技术的设计初衷。
数据分析咨询请扫描二维码
数据分析师的工作内容涉及多个方面,主要包括数据的收集、整理、分析和可视化,以支持商业决策和问题解决。以下是数据分析师的一 ...
2024-11-21数据分析师必须掌握的技能可以从多个方面进行归纳和总结。以下是数据分析师需要具备的主要技能: 统计学基础:数据分析师需要 ...
2024-11-21数据分析入门的难易程度因人而异,总体来看,入门并不算特别困难,但需要一定的学习和实践积累。 入门难度:数据分析入门相对 ...
2024-11-21数据分析是一项通过收集、整理和解释数据来发现有用信息的过程,它在现代社会中具有广泛的应用和重要性。数据分析能够帮助人们更 ...
2024-11-21数据分析行业正在迅速发展,随着技术的不断进步和数据量的爆炸式增长,企业对数据分析人才的需求也与日俱增。本文将探讨数据分析 ...
2024-11-21数据分析的常用方法包括多种技术,每种方法都有其特定的应用场景和优势。以下是几种常见的数据分析方法: 对比分析法:通过比 ...
2024-11-21企业数字化转型是指企业利用数字技术对其业务进行改造和升级,以实现提高效率、降低成本、创新业务模式等目标的过程。这一过程不 ...
2024-11-21数据分析作为一个备受追捧的职业领域,吸引着越来越多的女性加入其中。对于女生而言,在选择成为一名数据分析师时,行业选择至关 ...
2024-11-21大数据技术专业主要学习计算机科学、数学、统计学和信息技术等领域的基础理论和技能,旨在培养具备大数据处理、分析和应用能力的 ...
2024-11-21《Python数据分析极简入门》 第2节 3 Pandas数据查看 这里我们创建一个DataFrame命名为df: importnumpyasnpi ...
2024-11-21越老越吃香的行业主要集中在需要长时间经验积累和专业知识的领域。这些行业通常知识更新换代较慢,因此随着年龄的增长,从业者能 ...
2024-11-20数据导入 使用pandas库的read_csv()函数读取CSV文件或使用read_excel()函数读取Excel文件。 支持处理不同格式数据,可指定分隔 ...
2024-11-20大数据与会计专业是一门结合了大数据分析技术和会计财务理论知识的新型复合型学科,旨在培养能够适应现代会计业务新特征的高层次 ...
2024-11-20要成为一名数据分析师,需要掌握一系列硬技能和软技能。以下是成为数据分析师所需的关键技能: 统计学基础 理解基本的统计概念 ...
2024-11-20是的,Python可以用于数据分析。Python在数据分析领域非常流行,因为它拥有丰富的库和工具,能够高效地处理从数据清洗到可视化的 ...
2024-11-20在这个数据驱动的时代,数据分析师的角色变得愈发不可或缺。他们承担着帮助企业从数据中提取有价值信息的责任,而这些信息可以大 ...
2024-11-20数据分析作为现代信息时代的支柱之一,已经成为各行业不可或缺的工具。无论是在商业、科研还是日常决策中,数据分析都扮演着至关 ...
2024-11-20数字化转型已成为当今商业世界的热点话题。它不仅代表着技术的提升,还涉及企业业务流程、组织结构和文化的深层次变革。理解数字 ...
2024-11-20在现代社会的快速变迁中,选择一个具有长期增长潜力的行业显得至关重要。了解未来发展前景好的行业不仅能帮助我们进行职业选择, ...
2024-11-20统计学专业的就业方向和前景非常广泛且充满机遇。随着大数据、人工智能等技术的快速发展,统计学的重要性进一步凸显,相关人才的 ...
2024-11-20