HTAP数据库系列 | 数据湖时代的数据库如何选择?

时间:2024-04-07 18:31:40

Pentaho的CTO James Dixon在2010年创造了“数据湖”这个术语,并将其定义如下:“如果你把数据集市看作一个瓶装水的储存——清洁、包装和结构化以便于消费。将这个术语的数据版本和数据湖流的内容从源头转换为填充湖泊,并且该湖的各种用户可以前来检查、潜水或取样。”

《福布斯》杂志将数据湖与数据仓库相比定义为:“数据湖与数据仓库的区别在于数据仓库中的数据在输入点被预先分类,这可以决定如何对其进行分析。”

Gartner将数据湖定义为“作为企业级数据管理平台进行营销,用于以原生格式分析不同的数据源”。

数据湖与数据仓库一样,是一套系统解决方案,数据湖的建设是从数据的角度出发进行数据展现、分析、挖掘。进而解决业务痛点。数据湖囊括了各种各样的规模化数据,可帮助用户快速就绪新增业务流程。同时各业务系统数据彼此关联分析更能发现新的数据价值,为企业增加数据资产。

数据湖是一种在系统或存储库中以自然格式存储数据的方法,它有助于以各种模式和结构形式配置数据,通常是对象块或文件。数据湖的主要应用是对企业中的所有数据进行统一存储,从原始数据(这意味着源系统数据的精确副本)转换为用于报告、可视化、分析和机器学习等各种任务的转换数据。湖中的数据包括结构化数据从关系数据库(行和列),半结构化数据(CSV、XML、JSON 的日志),非结构化数据(电子邮件,文档,PDF)和二进制数据(图像、音频、视频)从而形成一个集中式数据存储容纳所有形式的数据。

让我们先看看开源hadoop平台上的数据库都有哪些?如何更好地选择和使用这些数据库

1、Hive数据库,批量分析处理的最佳选择

Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。它利用MR进行数据分析处理,架构简单,运行稳定,但是执行效率差,耗时长。它不是一个关系数据库,无法实现联机事务处理(OLTP)和实时查询和行级更新。下图是Hive数据库的整体架构:
HTAP数据库系列 | 数据湖时代的数据库如何选择?
2、HBase数据库,实时并发查询最佳选择
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。数据库采用key-value的数据存储结构,可以实现海量数据的毫秒级的查询响应。由于它是nosql数据库,不提供sql支持,使用不灵活,开发维护难度大。下图是HBase数据库的整体架构:
HTAP数据库系列 | 数据湖时代的数据库如何选择?
数据湖的主要应对的场景是海量数据存储,批量数据分析处理、实时业务查询检索应用;采用的架构是hadoop大数据平台架构,如果采用上述两种数据库,提供离线数据处理和在线实时业务查询服务,需要部署两个数据库,而且数据还需要迁移,数据要进行冗余备份存储。是否一款数据库既能支持离线分析处理,又能支持在线实时访问?答案是确定的,存在,就是HTAP数据库。HTAP是混合 OLTP 和 OLAP 业务同时处理的数据库系统,2014年Garnter公司给出了严格的定义:混合事务/分析处理(HTAP)是一种新兴的应用体系结构,它打破了事务处理和分析之间的“墙”。它支持更多的信息和“实时业务”的决策。因此,HTAP数据是非常适合数据湖框架的数据库选型。

天云数据结合业内大数据相关数据库使用经验,研发一款HTAP数据库—HUBBLE(Hubble Volume Transaction Distributed-Engine)。一款高可用、可扩展、具备健壮性的分布式实时事务数据库,支持上千个用户并发的实时查询,可以实现在线实时场景和批量数据分析场景的能力。HUBBLE分布式数据库将数据可以实现实时在线写入能力,同时也可以通过bluckload方式进行数据加载,通过标准的SQL进行数据分析查询和检索。在线查询性能基本为毫秒级,批量分析比hive性能高1000倍。下图是Hubble数据库的整体架构:
HTAP数据库系列 | 数据湖时代的数据库如何选择?
结论:数据湖使用一套数据存储资源池,可有效解决企业中的数据烟囱问题,利用HTAP数据库,提供统一的命名空间,多协议互通访问,实现数据资源的高效共享,减少数据移动,支持OLAP和OLTP混合的应用场景。HTAP数据库在数据湖框架中的应用,可以加速数据库行业解决方案落地。