首页 >行情 > 内容

Google大资料服务Dataproc加入表格格式支援ACID交易

行情 2021-02-15 16:02:39

Google宣布Dataproc服务将开始支援表格格式,用户已经可以在最新的Dataproc 1.5预览版,使用Delta Lake以及Apache Iceberg专案,将资料储存成表格,另外,在Dataproc 1.3也开始支援Apache Hudi,可对资料进行渐增处理,在纪录层级(Record-Level)执行插入、更新和删除动作。

Google提到,由于Hadoop分散式档案系统(Hadoop Distributed File System,HDFS)以及物件储存,都被设计成档案系统,而非用来支援交易,因此在分散式处理环境要实作交易功能并不容易,因为开发者需要考量对储存系统进行锁定存取,但是这样又会影响整体系统的资料吞吐量。

但ACID交易功能又对业务营运非常重要,资料仓储中,用户通常需要以常用的资料来产生报表,但其他应用程式或是使用者,可能又同时需要读写相同的资料表格。

Apache Iceberg或是Delta Lake等专案便是要来解决这样的问题,透过在表格格式中加入交易语意以及规则,满足特定应用对ACID交易的需求。另外,表格格式的好处便是能方便地进行资料版本控制,提供用户历史资料快照,用户可以查询资料的历史纪录,或是快速地将资料回退到特定历史版本,而且当资料发生错误时,除错也会更加容易。

由于大资料平台底层的储存系统将资料分为档案或是物件,这些档案能以特定结构或是协定表示成资料表格,当这些资料表格大于单一档案的限制时,便需要拆分成多个档案,而组织这些档案成为一个表格的方法就是表格格式。除了Google云端平台自己提供的表格功能之外,用户现在也可以在Dataproc中使用开源专案Delta Lake以及Apache Iceberg。

Delta Lake是一个储存层,主要是要为Apache Spark提供类似关联式资料库管理系统的功能,像是ACID交易功能、时间旅行(Time Travel)、架构评估,同时也提供删除、更新以及插入资料等操作。Delta Lake将档案储存成Apache Parquet开放格式,并在储存系统维护一个档案储存表格的元资料,使用交易日誌机制来控制来源的真实性与交易原子性。

而还在孵化器阶段的Apache Iceberg,则是一个专门用在大量分析资料集上的开源表格格式,用户可以在Presto和Spark中加入表格,以类似SQL表格的方式进行操作,另外,Iceberg提供隐藏分区功能,可透过定义分区栏位以及实际分区之间的关係,抽象化表格的分区,因此当表格分区改变时,使用者查询的方式也不需要改变。

另外,Dataproc 1.3也开始支援Apache Hudi,让用户以纪录层级,进行资料插入、更新和删除,满足要对个别纪录进行增量更新等使用情境,也能建立资料集和资料表,并管理底层的资料格式,Apache Hudi储存格式使用Apache Parquet和Apache Avro。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。