并行数据库技术分析与展望

本文以我个人的理解简单分析下并行数据库的技术要点以及对未来并行数据库的发展做下展望,理解有偏差的地方,欢迎各位指正。

并行数据库的定义

在维基百科上,并行数据库被定义为通过并行使用多个CPU和磁盘来将诸如装载数据、建立索引、执行查询等操作并行化以提升性能的数据库系统。其中最重要的关键词是并行,分布式。

并行数据库的技术要点‍

‍ 并行数据库主要由执行引擎、存储引擎和管理功能模块组成,它们的不同技术风格形成了各个有特色的并行数据库产品。随着Hadoop的兴起,目前MPP数据库主要分成两类,一类是传统的MPP 关系型数据库,比如。Greenplum,Vertica等,另外一类是借鉴了MPP并行数据库的设计思想的SQL on Hadoop类的方案,比如Impala,HAWQ,SparkSQL等

并行数据库比较关键的技术点是存储引擎,而在存储引擎中最重要的就是数据分布按行进行Hash分布是并行数据库的重要特征。其它数据分布方式无法精确控制数据摆放,也无法提供足够的用于查询优化的存储信息。这种紧密耦合的非透明的方式带来了巨大的好处(同样分布的表的高效关联),同时也带来了麻烦(扩展性、高可用等)。

像一些SQL on Hadoop的方案,比如impala,就充分利用了HDFS的短路读和数据本地性的方式来提升SQL查询的性能。没有解决Hash分布的解决方案都难以处理多个大表关联(Join)的问题,它们多通过预关联的方式来规避这个问题,形成某种类似OLAP多维立方体的解决方案(比如Google Dremel、Mesa,eBayKylin等);或通过shuffle实现重新分布(比如Hive或者SparkSQL)。解决了数据分布以后,就要思考计算好Hash后的数据在一个节点中怎么存。通常三种方式:行、列或者行列混合,所以在这基础上出现了很多列存的文件存储格式,比如ORC,Parquet等,以及支持列模式存储的数据库(比如Greenplum,Vertica等就有支持列模式的存储)。

最后考虑的是硬件,目前典型的并行数据库多使用SAS磁盘,而HDFS使用的容量更大、价格更便宜但性能和可靠性稍差的SATA磁盘。使用这种慢速的磁盘是并行数据库目前最大的瓶颈,使得它无法实现效率和可扩展高可用的兼得。随着SSD和内存的价格越来越便宜,性能的快速提高,后续面对以SATA接口SSD代替SAS,SATA磁盘的并行数据库,我觉得很快就会到来,现在一些高端的并行数据库一体机就已经可以采用全部SSD的配置了,用硬件来解决软件的问题是最直接有效的方式。

未来展望

随着云计算技术的发展,我认为以后以云的方式提供数据库服务会越来越多,无论是企业内部的私有云还是对外的公有云。比如AWS RedShift和Openstack Trove (DBaaS)。这给数据库软件带来的变化是它需要支持越来越大的集群,技术难度加大但经济性更好。这也要求要具备更好的管控能力。数据库软件需要越来越为大规模集群设计。因此我认为,在上述趋势的发展之下。并行数据库的软件模块或者叫组件的分工会越来越细化。以前只有主节点和数据节点两类。有的数据库找一些空的数据节点来作为装载节点。那么未来接入节点、协调节点、元数据节点、日志节点、安全节点、SQL解析和优化节点、数据装载和导出节点、数据节点可能会被单独分析出来(数据节点的对等性必须得到保护)。并且这些组件的实例均需要支持通过软件的方式灵活配置数量等,而不是写到代码之中。在架构设计之初就考虑并行、负载分担和可扩展等。组件之间通过Zookeeper之类的方式进行协调,实现高可用,松耦合,屏蔽内部细节。

小结

1、 随着云的发展,无论是公有云还是私有云,并行数据库可能会发展的越来越大,专业性更加强。

2、 随着SSD和内存的价格越来越便宜,内存可能会成为数据读写的主要发生点,这将有效的解决当前计算与存储紧密结合的并行数据库的难题。

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2016-08-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏钱塘大数据

钱塘干货 | 数据收集和处理工具一览

进入大数据时代,调查报道愈加成为信息战。从哪里收集有效数据?如何抽取、筛选、整合、分类大量琐碎的信息?如何分享、存储数据,并实现随取随用?钱塘君整理了一张数据收...

3707
来自专栏互联网杂技

开源巨献:Google最热门60款开源项目

0、机器学习系统 TensorFlow ★Star 62533 ? TensorFlow 是谷歌的第二代机器学习系统,按照谷歌所说,在某些基准测试中,Tenso...

5365
来自专栏腾讯云数据库(TencentDB)

如何利用MongoDB打造TOP榜小程序

大家好,我叫李晓慧,我没有一页PPT介绍自己,我就自己简单说一下,我以前是一个开发,我感觉很孤独,因为开发的女生很少,我转过两次组,然后一开始做C++开发,后来...

2025
来自专栏SDNLAB

基于意图的网络:是否需要推翻和替换我们的现有网络?

基于意图的网络最近十分火爆,主要是由于思科密集的营销活动。那么基于意图的网络究竟是什么呢?

1022
来自专栏张善友的专栏

开放式管理基础结构 OMI

Windows 长久以来在 CIM 实施领域一直傲立桥头,而这一切都是从 WMI(Windows 管理基础结构)开始的。分布式管理任务组 (DMTF) 通用信息...

1898
来自专栏FreeBuf

未越狱也中招:iOS平台首个间谍应用(APP)XAgent样本分析

如果你是一名涉密人员(如军官、国防安全相关人士),使用过iPhone/iPad(iOS7.1以上版本),那么请赶紧仔细检测你的设备吧!我需要强调的是:这款恶意间...

1765
来自专栏顶级程序员

开源巨献:Google最热门60款开源项目

作者:程序猿(微信号:imkuqin) 猿妹 链接:https://www.itcodemonkey.com/article/329.html(点击尾部阅读原...

4819
来自专栏京东技术

多数据模型数据库 | 应用实例解析

吕信,京东商城技术架构部资深架构师,拥有多年数据产品研发及架构经验。在京东及国内主导过多种数据产品的开发及社区建设,积极活跃于数据产品领域,对数据库及大数据领域...

401
来自专栏腾讯云技术沙龙

李晓慧: 如何利用MongoDB打造TOP榜小程序

大家好,我叫李晓慧,我没有一页PPT介绍自己,我就自己简单说一下,我以前是一个开发,我感觉很孤独,因为开发的女生很少,我转过两次组,然后一开始做C++开发,后来...

21510
来自专栏恰同学骚年

Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

  本次要实践的数据日志来源于国内某技术学习论坛,该论坛由某培训机构主办,汇聚了众多技术学习者,每天都有人发帖、回帖,如图1所示。

882

扫码关注云+社区