阿里云数据库产品HybridDB简介——OLAP数据库,支持行列混合存储,基于数据库Greenplum的开源版本,并且吸收PostgreSQL精髓

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
对象存储 OSS,20GB 3个月
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介:

为什么会有HybridDB的诞生?它经历了怎样的研发历程?它的应用场景和情况是怎样的?带着这些问题,InfoQ对阿里云的数据库专家兼Postgres中国社区/中国用户会主席萧少聪先生进行了采访,以下文字整理自采访文稿。

业界早期使用数据时,尤其是OLTP场景下,通常选择非分布式的关系型数据库,如MySQL、SQLServer、Oracle、PostgreSQL即可满足大部份的需求。

OLAP中主流数据库遭遇瓶颈

从技术角度而言,OLAP场景,不仅涉及的数据量大而且要求分析的结果实时返回,对应的SQL查询十分复杂。如何做到技术性能和业务功能权衡,对于数据库而言是一个重大考验。

已有的两个主流开源数据库,MySQL和PostgreSQL都是针对OLTP环境的,在OLAP在线分析需求下它们的性能明显不足。特别是MySQL在大规模分析操作时多表Join的性能是当前互联网用户的一大痛点。

在OLAP发展的早期,其操作并没有专门的数据库支撑,直接就与OLTP业务放在同一个数据库中完成。但随着业务量的增加,OLAP每次要分析的数据量越来越大,这样的分析操作执行时就会导致数据库的业务交易下降。因此业界开始将OLTP、OLAP拆分成两套不同的数据库进行处理,OLTP数据库中的数据通过ETL软件持续或定期抽取到OLAP数据库,让业务交易与报表分析进行分离。

而新的问题很快又到来了,联互网爆发后数据量也激增,OLTP的业务库可以保存比较少的数据量如3个月到半年,但OLAP的数据量将可能要保存几年甚至更多。单台服务服务的性能上限已经无法满足OLAP分析数据持续增加所带来的压力,因此催生出如阿里HybridDB这样的大规模并行处理(Massive Parallel Processing,MPP)分布式OLAP数据库。

新的分布式OLAP数据库

在提供HybridDB方案之前,我们会给用户提供如分库分表等处理方案,但这样的方案对于SQL查询内容不确定的OLAP业务并不友好。当用户需要进行多个数据表的组合操作时,由于数据需要跨服务器进行大规模的聚合,性能十分低下。这个问题在HybridDB中也同样会出现,所幸的是,Greenplum Database开源项目中借助平行的数据扩展技术及interconnect的专用协议,通过自定义的网络协议有效地解决了网络瓶颈的问题。这也是我们选择基于Greenplum Database开源项目的原因之一。

简单来说,MPP是一种平衡的性能扩张模型。以HybridDB的模型为列,每个节点可存放的数据量及计算能力为1Core / 8GB Mem / 80GB SSD(即将开放500GB HDD版本),如果用户80GB以内的数据在这样的计算单元中,可以在毫秒内查询出结果,那将数据计算能力及容量平衡扩展到上百TB甚至PB时,用户查询“等比”数据量时依然可以达到毫秒级别。

MPP分布式OLAP数据库系统架构已经发展了有10多年之久,十分成熟,当前使用这类系统的企业都是中大型公司。OLAP是一个很大的市场,有别于如同EMR(Hadoop)的大数据分析市场,它要求海量数据的SQL查询在几分钟、几秒,甚至毫秒级返回结果,因此对于服务器、网络及数据库软件本身的架构都提出了很高的要求。

技术攻坚之路

2015年10月Greenplum Database由Pivotal开源后,阿里云PostgreSQL内核团队便开始进行深度的调研,于2016年开始进行产品的研发工作,到今年7月份我们对用户开放了公测邀请并准备正式商业化的工作。

揭秘HybridDB方案

HybridDB基于开源Greenplum Database(内核实际上就是PostgreSQL)项目的MPP分布式数据仓库,与PostgreSQL不同,HybridDB可以实现横向扩展,提供用户需要的百GB到百TB的高性能分析能力。

HybridDB最大的三个特色:

  1. 基于成熟的GPDB及PostgreSQL生态,软开发合作伙伴进行一次软件开发,即可在云上云下同样使用,免去迁移的烦恼,更容易实现混合云中的数据分析支持。
  2. 支持多种混合数据类型(多达23种)的SQL统一查询,包括:

    传统数据类型:字符、数字、浮点、日期等;

    非结构化数据:JSON、XML;

    特殊功能数据类型:GIS地理信息数据、IPv4/v6网络数据、HyperLogLog预估分析数据。

  3. 支持混合的数据存储,包括:行存、列存、SSD/HDD本地存储、OSS云存储,未来更将支持“存储计算分离”,用户可以更为灵活在进行资源的购买及分配。

那么,HybridDB在OLAP读取中都做了哪些优化?

优化方面从引擎底层我们针对阿里云的硬件及网络特点,进行的源码级别的深度优化,特别是在网络调度上进行了针对性的处理,提高跨网络数据节点的吞吐能力。同时在用户业务层中对特殊数据类型进行扩展,如果物联网中的JSON数据类型是Greenplum Database所不支持的,HybridDB通过直接支持这一数据类型,避免用户自行进行非结果化的解析,同时提供基于函数的JSON属性级索引,提高数据库处理JSON的检索性能。

数据存储

1、本地存储

HybridDB的本地存储分为行储存和列存储两种方式。行存储和列存储各有长处。行存适合于近线数据的分析,特别是要求查询结果返回表中某几跳符合条件记录的所有字段的情况。列存适合用于数据的统计分析。

那么两者的适用情况是怎样的呢?举例说明:在行存的情况下,如果一个用于存放用户的表中有20个字段,但我们只要统计用户年龄的平均值,这时数据库要对用户表进行全表扫描,遍历所有行的所有数据;但如果使用列存,数据库只要定位到这一列,然后只扫描这一列的数据就可以得到所有的结果,性能上相比列存理论上就会直接快20倍,加上HybridDB将数据分布式存储到多个计算节点,性能将再次提高几倍,达到100倍性能提升是十分常见。

HybridDB是混合两者搭配使用的。用户可以配搭进行使用,定义不同的表使用不同的存储方式,让用户适应不同的业务场景,并进行数据生态周期的管理。如6个月内的数据可能要经常获取全行数据,因此使用行存储,6个月后的数据通过列存储进行保存提高分析汇总操作的查询性能。

2、外部存储

高性能的数据分析是在本地存储完成的。OSS作为外部存储,HybridDB可以将OSS中的CSV格式化文本作为外部表进行数据查询,同时还可以对这些外部表进行写入操作。写入到OSS的数据可以提供给RDS for PostgreSQL或EMR等云数据库服务进行读取及处理,因此也同时实现了数据的无缝打通。

同时我们也将支持“存储计算分析”的模型,在这样模型上我们平时甚至可以只通过OSS进行数据的存储,当需要进行计算时再开启足够的计算节点进行数据分析处理,计算处理结束后关闭计算节点资源以节省使用成本。

。。。

 

转自:http://www.infoq.com/cn/news/2016/12/MySQL-PostgreSQL-Greenplum









本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6483407.html,如需转载请自行联系原作者

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
15天前
|
SQL 存储 JSON
实时数仓 Hologres 产品介绍:一体化实时湖仓平台
本次方案的主题是实时数仓 Hologres 产品介绍:一体化实时湖仓平台,介绍了 Hologres 湖仓存储一体,多模式计算一体、分析服务一体和 Data+AI 一体四方面一体化场景,并对其运维监控方面及客户案例进行一定讲解。 1. Hologres :面向未来的一体化实时湖仓 2. 运维监控 3. 客户案例 4. 总结
54 14
|
3月前
|
分布式计算 大数据 Serverless
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
在2024云栖大会开源大数据专场上,阿里云宣布推出实时计算Flink产品的新一代向量化流计算引擎Flash,该引擎100%兼容Apache Flink标准,性能提升5-10倍,助力企业降本增效。此外,EMR Serverless Spark产品启动商业化,提供全托管Serverless服务,性能提升300%,并支持弹性伸缩与按量付费。七猫免费小说也分享了其在云上数据仓库治理的成功实践。其次 Flink Forward Asia 2024 将于11月在上海举行,欢迎报名参加。
296 6
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
|
3月前
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。
|
3月前
|
人工智能 分布式计算 数据管理
阿里云位居 IDC MarketScape 中国实时湖仓评估领导者类别
国际数据公司( IDC )首次发布了《IDC MarketScape: 中国实时湖仓市场 2024 年厂商评估》,阿里云在首次报告发布即位居领导者类别。
|
3月前
|
SQL 分布式计算 数据挖掘
加速数据分析:阿里云Hologres在实时数仓中的应用实践
【10月更文挑战第9天】随着大数据技术的发展,企业对于数据处理和分析的需求日益增长。特别是在面对海量数据时,如何快速、准确地进行数据查询和分析成为了关键问题。阿里云Hologres作为一个高性能的实时交互式分析服务,为解决这些问题提供了强大的支持。本文将深入探讨Hologres的特点及其在实时数仓中的应用,并通过具体的代码示例来展示其实际应用。
312 0
|
4月前
|
关系型数据库 分布式数据库 数据库
开源云原生数据库PolarDB PostgreSQL 15兼容版本正式发布
PolarDB进行了深度的内核优化,从而实现以更低的成本提供商业数据库的性能。
|
4月前
|
存储 机器学习/深度学习 监控
阿里云 Hologres OLAP 解决方案评测
随着大数据时代的到来,企业面临着海量数据的挑战,如何高效地进行数据分析和决策变得尤为重要。阿里云推出的 Hologres OLAP(在线分析处理)解决方案,旨在为用户提供快速、高效的数据分析能力。本文将深入探讨 Hologres OLAP 的特点、优势以及应用场景,并针对方案的技术细节、部署指导、代码示例和数据分析需求进行评测。
168 7
|
4月前
|
运维 数据挖掘 OLAP
阿里云Hologres:一站式轻量级OLAP分析平台的全面评测
在数据驱动决策的今天,企业对高效、灵活的数据分析平台的需求日益增长。阿里云的Hologres,作为一站式实时数仓引擎,提供了强大的OLAP(在线分析处理)分析能力。本文将对Hologres进行深入评测,探讨其在多源集成、性能、易用性以及成本效益方面的表现。
233 7
|
5月前
|
Java 数据库连接 数据库
实时数仓 Hologres产品使用合集之怎么查询版本
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
5月前
|
存储 分布式计算 DataWorks
DataWorks产品使用合集之在本地客户端一直无法连接ADB MySQL,是什么原因
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。

热门文章

最新文章