本文由Postgres中国区主席、阿里云数据库专家萧少聪所写。
发布会回顾:点此进入
话题讨论:联姻Greenplum的HybridDB,是否能挑战AWS Redshift的霸主地位?
以下为文章正文:
2016年我们可以看到,越来越多的互联网企业及新型的创业公司都已经开始基于云计算实现IT架构。阿里云在当前已经实现了平台化作为商业模式。简单来说,阿里云主要提供网络、计算、存储等服务,并以此来吸引 PaaS 和 SaaS 类的合作伙伴,同时自身又扮演者“应用超市”的角色,将自家及合作伙伴的 PaaS 或 SaaS 服务在其所建立的云计算平台上按需售卖给需要的客户。
然而从整个IT市场来看,公共云计算业务只依然只占很小的一个比例,大量的传统企业业务依然使用自行部署的模式进行。这里有一个很重要的因数就是数据库上云难,企业的CTO及IT负责人往往要考虑以下几点:
- 架构延续:上云后如何实现与线下类似的架构:OLTP库处理业务数据,OLAP库处理分析数据
- 研发便捷:上云后如何避免开发人员维护两套代码,云平台上的软件是否可以离线进行研发
- 业务提升:上云后除了获得云计算带来管理的便捷性外,是否可以为企业解决更多业务问题
以上问题,我们希望通过HybridDB为用户逐一解决。首先我们来看看什么是HybridDB,云数据库HybridDB(ApsaraDB HybridDB)是一种在线MPP大规模并行处理数据仓库服务。云数据库HybridDB基于Greenplum Database开源数据库项目,并由阿里云深度扩展,支持OSS存储、JSON数据类型、HyperLogLog预估分析等功能特性。通过符合SQL2008标准查询语法及OLAP分析聚合函数,提供灵活的混合分析能力。支持行存储和列存储混合模式,提高分析性能,同时支持数据压缩技术,降低存储成本。并提供在线扩容、备份、性能监测等服务,用户无需进行复杂的大规模MPP集群运维管理,让DBA、开发人员及数据分析师专注于如何通过SQL提高企业的生产力,创造核心价值。
架构延续
通过阿里云ApsaraDB for RDS,用户可以实现高性能的OLTP应用,RDS支持MySQL、SQL Server、PostgreSQL,同时PPAS还提供了Oracle语法及PL/SQL的高度兼容特性。结合云数据库HybridDB,用户即可实现云平台下OLTP到OLAP数据库整合解决方案,为用户构建从高并发生产事务到决策分析的云数据库架构平台。HybridDB支持24个Oracle常用的分析函数,让用户进行OLAP分析系统迁移过程中更为便捷,参考市场上Greenplum Database已有的Oracle迁移经验,企业身边众多的ISV软件开发商或SI系统集成商都可以轻松完成这项工作。同时市场上各种用户熟知的BI及ETL工具,都可以通过PostgreSQL及Greenplum连接协议直接操作HybridDB,如:Pentaho、Kettle、JasperSoft等。如果用户线下已经在使用基于Greenplum Database的数据仓库产品,那么云数据库HybridDB更加就是直接的选择。通过使用HybridDB云数据仓库,所有数据双节点同步冗余,并由阿里云内核团队进行基础设施的统一部署管理,用户无需进行复杂的大规模MPP集群运维管理。同时阿里云为用户提供完整的扩容及可用性保障,让DBA、开发人员及数据分析师专注于如何通过SQL提高企业的生产力,创造核心价值。
研发便捷
而这一点来自于一个重要的需求,中国依然在一个云计算发展的阶段,没有任何一个软件研发企业可以完全放弃线下市场。如果你是一个ISV开发商,就会发现如果所开发的基于云计算的软件,不能在线下进行使用,那意味着你需要为了云计算用户及统统企业用户维护两套代码,这将是一个巨大的成本。同时在进行云计算软件的开发时,因为无法自行搭建线下开发环境,这将导致开发调试变得十分麻烦,项目研发进度无法得到保障。当前RDS已经支持业界多种关系型数据库引擎包括:MySQL、SQLServer、PostgreSQL等,因此用户可以在线下搭建相同的环境进行开发。同样的,HybridDB的引入让用户针对OLAP的分析系统也可以构建线下的开发环境。用户可以进行在线下自行搭建Greenplum数据仓库,进行本地的开发及调试,避免由于网络及其他问题导致开发效率降低。同时针对那些当前还没有上云计划的企业,阿里云的软件开发合作伙伴可以使用同一套代码(JSON、HyperLogLog及OSS除外),为用户提供线下开源或商业的Greenplum数据仓库实现云下的业务部署。HybridDB还支持分布式ACID数据一致性,实现跨节点事务一致性的同时,支持基于分布式的存储过程开发,为提高数据分析处理性能提供基于数据仓库本地的计算方法。
业务提升
随着传统企业的发展,在新的经济模式下用户必将出现以下几个发展需求:互联网业务分析、物联网信息接入、海量数据数据挖掘等。针对于此HybridDB为这些需求都提供了重点的功能支持:
- 在互联网业务分析方面,由于企业的销售渠道需要与互联网接轨,就会开始建立网站平台。为发监控网站的访问,就会需要统计PV(页面访问量)和UV(独立访客量)等信息,基于数据库原原生的COUNT统计方法性能会十分低下。由于这类信息往往不需要100%精确,因此HybridDB参考业界计算模型的处理方法提供HyperLogLog数据类型,以进行数据预估分析,性能将达到20-100倍提升。
- 在物联网方面,传统企业将逐步接入很多不同的传感器设备及针对物流进行货物的信息跟中,优化信息化配套。因此将大量使用于JSON非结构化数据类型,及GIS地理信息数据类型。阿里云数据库内核团队在设计HybridDB时就已经提供了以上两种数据类型的支持,当中JSON非结构化数据类型我们不单支持数据的存储,还支持基于JSON属性值的直接分析及函数索引,以提高开发及查询效率。HybridDB集成开源业界最先进的PostGIS地理数据分析引擎,当前美国宇航局(NASA)、俄罗斯莫世科大学天文观测站及国内不少如与地理及空间分析相关的系统都大量使用PostGIS,在阿里,如高德地图、口碑网等也都在使用基于PostGIS引擎的数据库。通过HybridDB用户可以基于PostGIS实现自己的业务,如货运车辆的轨迹分析、货物在全国的流向分析、智能手环附件同行人的社交搜索等。
- 海量数据处理方面,HybridDB可按需进行计算单元,CPU、内存、存储空间的等比扩展,OLAP性能平滑上升致数百TB。支持透明的OSS数据操作,非在线分析的冷数据可灵活转存到OSS对象存储,数据存储容量无限扩展,同时大量节省存储成本。HybridDB还支持行列混合存储,列存性能在OLAP分析时相比行存储可达100倍性能提升,为数据挖掘提供强大的性能基础。同时基于OSS的数据并行导入模式,可以实现每分钟100,000,000(1亿)行以上的数据导入性能。
HybridDB基于开源版本的 Greenplum Database,同时阿里云也会进行功能的添加及性能稳定性上的优化工作,并计划逐步进行对开源社区的更多的贡献,如当前我们就已经开源了支持 Greenplum、PostgreSQL 及 HybridDB 的数据同步工具dbsync,有兴趣的读者可以下载测试及使用。
HybridDB是针对企业OLAP设计的云数据加,让用户可以实现传统OLTP+OLAP模式,在云平台的架构延续。同时由于基于Greenplum Database开源数据库,使得ISV开发商及合作伙伴的研发更为便捷使得云上云下的软件代码保持一致,降低研发及未来的代码维护成本。HybridDB还支持JSON非结构化数据类型、GIS地理信息数据类型及HyperLogLog数据类型,解决用户业务上的众多问题。并可以混合行存、列存及OSS云存储,使得用户在功能、性能、存储空间实现百GB到百TB的平滑线性扩展。
运维交给阿里云数据库,开源Greenplum Database功能的不足阿里云来补齐。让用户释放DBA及开发人员的技术天性,用SQL为企业提高生产力。用户的需求就是我们发展的动力,拥抱开源生态是阿里云数据库团队发展的一贯理念。一切为了不可计算的价值。