1、MaxCompute半结构化数据思考与创新周宇睿阿里云高级技术专家Contents目录01半结构化数据模型简析02传统方案优劣对比03MaxCompute思考与实践04收益分析关系模型大行其道IBM发布DB2树状模型与图模型占据主流The Great Debate移动互联网的普及海量数据处理半结构化模型进入主流视野Ted Codd提出关系模型数据模型与底层存储解耦1969196819841970s 1980s2010s1970基于树状模型IBM发布IMSCODASYL网络模型发布半结构化数据的前世今生什么是半结构化数据半结构化数据是一种树状模型多层级、嵌套结构数据自包含 schema,但是 s
2、chema 灵活,没有强约束典型的半结构化数据 JSON:几乎就是半结构化数据的代名词,最流行的一种数据交换格式 XML:用途很接近于 JSON为什么需要半结构化数据Log ServiceIoT Device数据清洗聚合计算Mobile Device结构灵活通用,适用场景广泛终端原始数据,信息丰富生态完备,多平台协同特征提取图表分析异常报警行为审计数据订阅数据库三方平台Schema on WriteSchema on ReadSchema-on-Read vs Schema-on-WriteSchema on Read-写入不校验,读取时动态解析-场景灵活Schema on Write-写入时
3、确定数据结构-性能更好数据源数据存储分析查询报表和数据服务数据存储报表和数据服务ETL/Schema数据源Schema on ReadData SourceJson1id:1001,name:Adam,gender:Male,age:16Json2id:1002,name:Bob,gender:Male,age:41Json3id:1003,name:Claire,gender:Female,age:21Json1Json2Json3.!#$!#$%&!()*+,FullScan-!./012-34567Full ScanWriteDecompressParser/ExtractorAge16
4、4121.Schema on WriteData SourceJson1id:1001,name:Adam,gender:Male,age:16Json2id:1002,name:Bob,gender:Male,age:41Json3id:1003,name:Claire,gender:Female,age:21%&!*+,-./0123!4501$idnamegenderage100110021003adamBobClaireMaleMaleFemale164121ETL/ParserAge164121.Column PruningDecompressSchema on Write 带来的挑
5、战id:1001,name:Adamid:1001,name:Adam,gender:Maleid:1001,name:Adam,gender:Male,age:21ALTER table xxx ADD NEW Column xxx频繁DDL运维效率低无法事先确定字段协同成本高上游业务快速迭代,下游维护疲于奔命 出现新字段!又出现新字段!数仓半结构化场景核心需求高性能 高效分析查询低成本 存储压缩率免运维 业务自由演进Schema On Write数据结构动态提取与转换Schema On Read自适应数据访问半结构化场景观察与思考ABCABCABCABCDABCDABCDABDEABDEA
6、BDE长周期业务迭代长周期业务迭代短周期短周期短周期短周期数据结构保持稳定,字段类型和数量保持不变长周期数据结构缓慢演进,字段类似和数量发生变化短周期公共Schema自动提取半结构化数据列存化长周期动态类型自适应演进半结构化数据列存化 Full ScanSchema Json Converteridnamegenderage100110021003adamBobClaireMaleMaleFemale164121Data SourceJson1id:1001,name:Adam,gender:Male,age:16Json2id:1002,name:Bob,gender:Male,age:41
7、Json3id:1003,name:Claire,gender:Female,age:21SchemaExtractorEF$%CGHAliORC./-MNApache ORC-OPQRST67-UVWKXYSTZ-JsonPathXY_Root:StructId:intProperties:structName:StringGender:StringAge:IntFrends:int1001male131002,1003,1004Adam数据自适应访问-Column Pruning 数据类型跨文件变化 自适应类型转换,动态类型匹配NOP&IQRSTURDS?!#$MySQLDTS?API%&
8、?DataWorks!#$%&MaxComputeDataHubKafkaFlinkHologresESEMR SparkEMR HiveDeltaLakeEMR PrestoIcebergOSSESZeppelinSmartDataAI?!#$%&()*+,%&(!R;.:AR45PB;.:w:10TB+R2%:,;.&AI!ERyY6#$;.yzRERSTU!KLMN;.$!EMR+OSST!MaxCompute+HologresTNVWXYZM!aTNas;.T;.Rw“N”/yzx60!;.2&;.A!Tfi;.aRfl&26AI存储性能收益TPCH 100GB010203040Cus
9、tomerLineitemOrdersPartPartSuppJson TextNative ColumnarColumnar Json测试方案:TPCH Table合并成Json对象每一列相当于一个Json Attribute存储收益:存储size减少超过50%l_orderkey:1,l_partkey:1551894,l_suppkey:76910,l_linenumber:1,l_quantity:17,l_extendedprice:33078.94,l_discount:0.04,l_tax:0.02,l_returnflag:N,l_linestatus:O,l_shipdate
10、:1996-03-13,l_commitdate:1996-02-12,l_receiptdate:1996-03-22,l_shipinstruct:DELIVER IN PERSON,l_shipmode:TRUCK,l_comment:egular courts above the*TPC-H查询性能收益TPCH 100GB TableScan Size013253850q1q2q3q4q5q6q7q8q9q10q11q12q13q14q15q16q17q18q19q20q21q22Json TextColumnar JsonNative ColumnarTPCH 100GB TableScan Time017,53552,570q1q2q3q4q5q6q7q8q9q10q11q12q13q14q15q16q17q18q19q20q21q22Json TextColumnar JsonNative ColumnarJson列存化相比原生列存,性能仍有提升空间更精确的数据类型识别与优化Json列存化相比Json Text读表数据减少80%90%TableScan时间减少60%90%*TPC-H半结构化数据方案总结全场景适用零运维成本高性能分析查询低成本存储THANKS
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100