大数据开发的至简之道 – 河图引擎

digest disagree [复制链接]
发表于 : 2020-1-23 09:57:34 最新回复:2020-01-23 10:26:24
214 4
01
现在“大数据(Big Data)”应该不是什么神秘词汇了,每个开发者都能够或多或少地就一些专业名词而侃侃而谈,例如Hadoop生态,存算分离,内存计算引擎等。这一切得益于大数据生态的繁荣,开源社区的极高活跃度,使得大数据呈现百花齐放百家争鸣的状态。正如以下这张经典的大数据技术全貌图:



大数据开发的至简之道 – 河图引擎-3207126-2

图1. 大数据全貌图


面对如此丰富的组件库,工程师们能够犹如搭建乐高积木一般地构建一套大数据解决方案。然而随着业务的推进,这种“乐高式”的大数据解决方案的弊端逐渐暴露:

1.    选型难 – 组件多且开发方式和语言有差异,如何做好兼容,又如何不被绑死在一个组件是个困难点。

2.    数据孤岛 – 组件之间互通不佳,陷入“找数据难,取数据难,数据搬移,数据膨胀”的陷阱。

3.    开发门槛高– 组件的开发语言不同,北向接口不一致,大大增加了开发人员的开发成本和技术门槛。



大数据开发的至简之道 – 河图引擎-3207126-3

图2. 积木式大数据框架的弊端



 
是时候重新审视这种“乐高式”方案了

华为公司首创的大数据库引擎 - 河图引擎 (HetuEngine),为大数据开发人员提供了一种至简至易的开发方式。河图引擎吸收了华为在大数据深耕多年的经验,站在Presto 和Impala 两大巨人的肩膀上,集大家之长,创新地提出了“四个一”理念:

“一个入口、一个目录、一份数据、统一安全”。


大数据开发的至简之道 – 河图引擎-3207126-4

图3. 河图引擎的“四个一”


1.    一个入口:提供兼容ISO/ ANSI SQL:2003 标准的SQL语法,统一的JDBC, ODBC 以及REST 北向接口,解决开发人员取数据难的问题。

2.    一个目录:构建南向异构异地数据源的全局数据视图,让开发人员能够一眼看到全局数据,解决找数据的难的问题。

3.    一份数据:通过开放数据连接框架,统一接入南向数据源,解决用数难问题。

4.    统一安全:让数据的访问控制更加集中,更加细粒度。权限分配也更加便捷高效。


 
对于开发人员来说,一个入口保证了开发的极简体验。通过标准SQL语法,屏蔽了底层数据源的差异,减少了开发人员的学习成本,以及在多种语言规范和编程方式之间的切换的代价。

更重要的是,一个统一的入口,使得跨大数据引擎协同计算和分析变得更加高效。一条SQL 语句可以同时计算HDFS、MPPDB、RDBMS的数据,并且具备跨中心/跨域/跨云异构协同计算能力,可以实现真正的数据的0搬迁。此外,对已有的技术和资产投资破坏性小,这对开发人来说也是非常经济的,。


 
案例分析

接下来,我们模拟一个批流融合查询的场景。

场景简化为,假设某政务系统需要实时处理公司提交各项申请,在处理申请之前必须进行信息核查以及征信筛查。公司用户提交的申请信息通过Kafka消息队列发送到系统,而公司信息表和公司的历史征信记录表都存放在Hive数仓中。

       实时提取核查后的数据是这个问题的重点,一个通常的步骤包括:

第一步,开发人员需要首先写代码从Kafka中获取消息;

第二步,解析消息并提取出申请号和用户ID,并将提取的数据缓存下来;

第三步,将Kafka的临时数据导入Hive;

第四步,借助Hive 引擎进行多表的联合查询得出筛查结果。

      

河图引擎可以直接访问异构数据,且对于Kafka这样的流式消息也能够直接映射为一张数据表。因此在河图引擎中以上完全可以用一个标准的SQL 语句来实现以上功能:

       大数据开发的至简之道 – 河图引擎-3207126-5


         图3. 示例SQL


大数据开发的至简之道 – 河图引擎-3207126-6

图4. SQL查询结果


与传统批流处理相比,河图的优势在于:

1.    一边流一边读,结合历史数据快速分析;

2.    无感知底层数据引擎;

3.    统一语言访问,兼容SQL:2003;

4.    无需额外的学习成本;

不仅如此,通过实际测试我们发现,性能的大幅提升约10倍,而代码量却显著下降了约80%。 这对于开发者而言是十分友好的。

大数据开发的至简之道 – 河图引擎-3207126-7

图5. 开发效率提升


华为公司计划于2020年6月30日发布开源版本的河图引擎。目前华为正不断扩展河图引擎的北向和南向接口,支持更多应用和更多异构数据源,解决用数难问题,确保上层的数据治理和数据应用软件可以更好地对接数据基础设施。

河图引擎致力于构建“大数据库”,为开发者提供极致的开发效率,让开发者像使用数据库一样的使用大数据,聚焦业务,挖掘数据价值。

古有云:“大禹得河图后始见清明”。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
  • x
  • 常规:

点评 回复

跳转到指定楼层
godi
godi  版主 发表于 2020-1-23 10:05:16 已赞(0) 赞(0)

河图引擎为开发者提供极致的开发效率,让开发者像使用数据库一样的使用大数据。
赞! 学习了。
  • x
  • 常规:

点评 回复

fly_with_wind
fly_with_wind   发表于 2020-1-23 10:12:42 已赞(0) 赞(0)

河图引擎使用Yarn统一管理交互式查询和批处理作业,两种引擎使用同一份数据,无需进行数据搬迁。
期待河图尽快开源。大数据开发的至简之道 – 河图引擎-3207138-1
  • x
  • 常规:

点评 回复

学习的皮皮猪
学习的皮皮猪   发表于 2020-1-23 10:24:40 已赞(0) 赞(0)

hetu只是在哪里可以找?
  • x
  • 常规:

点评 回复

Toymax
Toymax   发表于 2020-1-23 10:26:24 已赞(0) 赞(0)

学到了,写得特别好,案例分析的形式通俗易懂,点赞!
  • x
  • 常规:

点评 回复

发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录