开发者社区 > 大数据与机器学习 > 实时数仓 Hologres > 正文

Hologres为什么要流批统一的存储?

Hologres为什么要流批统一的存储?

展开
收起
1358896759097293 2021-03-25 11:02:42 1222 0
1 条回答
写回答
取消 提交回答
  • 45271990@qq.com

    Hologres 定位是能够做离线数据和实时数据的存储。对于典型的 Lambda 架构,是 将实时数据通过实时数据的链路写入到实时数据存储中,离线数据通过离线数据的链路写入 到离线存储中,然后将不同的 Query 放到不同的存储中,再做一个 Merge。对于 Hologres,如下图所示,数据收集之后可以走不同的处理链路,但是处理完成之后的结果 都可以写入 Hologres 中,这样就解决了数据的异质性问题,也不需要去区分离线表和实时 表,降低了复杂度,也大大降低了使用者的学习成本。Hologres 底层支持行存储和列存储两种文件格式,对于两者的处理也有略微不同,具 体如下图所示。数据写入的时候先写 log,log 是存储在分布式文件系统中的,保证整个服 务的数据不会丢失,因为即便服务器挂掉也可以从分布式系统中恢复。Log 写完之后再写 MemTable,就是内存表,这样子才认为是数据写入成功。MemTable 有一定的大小,写 满了之后会将其中的数据逐渐 Flash 到文件中,文件是存储在分布式系统中的。而对于行 存储和列存储的区别就在 Flash 到文件的这个过程中,这个过程会将行存表 Flash 成行存 储的文件,列存表会 Flash 成列存文件。在 Flash 的过程中会产生很多小文件,后台会将 这些小文件合并成一个大文件,这里也会有所不同。

    2021-03-25 14:42:53
    赞同 展开评论 打赏

本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975

相关产品

  • 实时数仓 Hologres
  • 相关电子书

    更多
    实时数仓Workshop(广州站)- 李佳林 立即下载
    阿里云实时数仓Hologres技术揭秘2.0 立即下载
    实时数仓Hologres技术实战一本通2.0版(下) 立即下载