2023年10月1日数据湖测试

OLAP 有 ClickBench,向量化有 VectorDBBench,那么数据湖就不能有一个 DataLakeBench?正可谓知己知彼,方能百战不殆。国庆自己整了一个 TPCH 100G 测试,来测试目前国内几个 AP 系统在湖上的查询能力。

这次只是一个初步摸底,为后续跑通 DataLakeBench 流程做准备。

测试数据集分为 ORC、Parquet 和 Iceberg + Parquet 三种。其中 Iceberg 里面我设置了分区列。

参与 benchmark 软件分别为:Trino 427,StarRocks 3.1.3,Apache Doris 2.0.1.1。均为发文时,最新的 Release 版本。

当前测试比较简单,机器只有一台,104 核,384G 内存,系统是 Ubuntu,数据存放在 HDFS 上面。

所有测试均为开箱即用,没有调过优。除了 Trino 稍微调了一下关于内存的参数,不然老查询失败,没啥测试的意义。

当前测试比较随意,结果仅供参考,不具备权威性。脚本数据集以后有空整理下,开个源。

Trino 427

ORCParquetIceberg-Parquet
Q014.679786443710333.779547691345222.79405236244202
Q025.964427232742316.172211647033696.3358519077301
Q0319.512187242507919.7907924652121.6914899349213
Q045.2102894783025.693527936935438.11815810203552
Q0528.809321165084827.2214128971111.0894706249237
Q062.459919691085822.850079298019410.376362085342407
Q0728.353765487670928.02658605575564.02484941482544
Q08FAILFAIL5.69447374343872
Q09FAILFAIL40.3660924434662
Q103.881219625473023.737093210220342.79789590835571
Q116.437763452529916.572926998138432.36083197593689
Q125.223427534103395.654839515686042.10238742828369
Q138.301739454269417.965152263641367.00725865364075
Q143.243945121765142.961573362350460.921835422515869
Q154.901889801025395.739806175231932.05904507637024
Q1645.750327348709144.81466102600194.0362498760223
Q1731.663122415542633.750435829162618.1692168712616
Q1844.190474748611544.133630037307793.3035883903503
Q193.525852441787723.741587162017823.91571068763733
Q208.330014467239387.897958517074594.7635703086853
Q21FAILFAIL21.2177674770355
Q222.708662271499632.63768959045411.9974513053894

StarRocks 3.1.3

ORCParquetIceberg-Parquet
Q012.804474830627442.715163469314582.35490465164185
Q022.677559614181522.3162598609924310.0161077976227
Q0312.269185781478913.084002733230612.8242733478546
Q042.086444377899172.499460220336912.34274172782898
Q052.579251289367685.564487934112555.14619517326355
Q061.977570295333861.14865541458130.231107234954834
Q072.566355228424072.988811969757082.36176466941834
Q083.032377481460572.650494575500492.9362211227417
Q098.620351552963263.910009622573853.93072724342346
Q102.776160240173342.455260753631591.96043992042542
Q110.5882053375244140.6439332962036130.620319366455078
Q122.639020442962651.356854438781740.989479780197144
Q131.781265020370481.975678682327271.96064805984497
Q142.249909639358521.564784049987790.290832996368408
Q154.644931793212893.380190610885620.498672723770142
Q168.836866855621348.929176807403569.22841262817383
Q175.811337947845462.189073085784914.35989594459534
Q188.770559549331678.552202224731458.95299363136292
Q192.504608154296881.589979648590091.98817658424377
Q202.867473125457761.764981985092161.56262278556824
Q215.284.435613870620737.31192994117737
Q220.750.6582157611846920.918938159942627

Apache Doris 2.0.1.1

ORCParquetIceberg-Parquet
Q012.960227727890012.516205549240114.44727396965027
Q021.621034145355221.6278271675109921.0157468318939
Q0312.003901958465611.7942829132080.2110915184021(结果错了)
Q041.480558395385741.442764282226560.675463199615479(结果错了)
Q05FAILFAIL5.6227822303772(结果错了)
Q061.42.537503242492680.00912237167358398(结果错了)
Q073.049263238906868.2607636451721243.5791993141174(结果错了)
Q082.594195127487182.783730745315551.1178765296936(结果错了)
Q097.075407743453985.54762649536133FAIL
Q103.950903892517092.479464292526255.64428234100342
Q110.4817063808441160.553281068801880.709768772125244(结果错了)
Q121.552674770355221.30798459053040.300201892852783(结果错了)
Q131.729863643646241.887201070785522.21859788894653
Q142.093760967254641.794149875640870.407549142837524(结果错了)
Q152.980661153793342.905323982238770.438501834869385(结果错了)
Q1621.222165822982821.3568460941315FAIL
Q172.408076047897342.333709955215457.85690379142761
Q1821.157201290130621.4497358798981FAIL
Q191.925411224365232.228206872940063.76530265808105
Q203.5436258316042.977401733398441.35076451301575(结果错了)
Q217.9891245365142811.58231616020214.4489989280701
Q220.6512081623077390.4795351028442382.10197758674622

汇总

ORC

TrinoStarRocksApache Doris
Q014.679786443710332.804474830627442.96022772789001
Q025.964427232742312.677559614181521.62103414535522
Q0319.512187242507912.269185781478912.0039019584656
Q045.2102894783022.086444377899171.48055839538574
Q0528.80932116508482.57925128936768FAIL
Q062.459919691085821.977570295333861.4
Q0728.35376548767092.566355228424073.04926323890686
Q08FAIL3.032377481460572.59419512748718
Q09FAIL8.620351552963267.07540774345398
Q103.881219625473022.776160240173343.95090389251709
Q116.437763452529910.5882053375244140.481706380844116
Q125.223427534103392.639020442962651.55267477035522
Q138.301739454269411.781265020370481.72986364364624
Q143.243945121765142.249909639358522.09376096725464
Q154.901889801025394.644931793212892.98066115379334
Q1645.75032734870918.8368668556213421.2221658229828
Q1731.66312241554265.811337947845462.40807604789734
Q1844.19047474861158.7705595493316721.1572012901306
Q193.525852441787722.504608154296881.92541122436523
Q208.330014467239382.867473125457763.543625831604
Q21FAIL5.287.98912453651428
Q222.708662271499630.750.651208162307739

Parquet

TrinoStarRocksApache Doris
Q013.779547691345222.715163469314582.51620554924011
Q026.172211647033692.316259860992431.62782716751099
Q0319.7907924652113.084002733230611.794282913208
Q045.693527936935432.499460220336911.44276428222656
Q0527.221412897115.56448793411255FAIL
Q062.850079298019411.14865541458132.53750324249268
Q0728.02658605575562.988811969757088.26076364517212
Q08FAIL2.650494575500492.78373074531555
Q09FAIL3.910009622573855.54762649536133
Q103.737093210220342.455260753631592.47946429252625
Q116.572926998138430.6439332962036130.55328106880188
Q125.654839515686041.356854438781741.3079845905304
Q137.965152263641361.975678682327271.88720107078552
Q142.961573362350461.564784049987791.79414987564087
Q155.739806175231933.380190610885622.90532398223877
Q1644.8146610260018.9291768074035621.3568460941315
Q1733.75043582916262.189073085784912.33370995521545
Q1844.13363003730778.5522022247314521.4497358798981
Q193.741587162017821.589979648590092.22820687294006
Q207.897958517074591.764981985092162.97740173339844
Q21FAIL4.4356138706207311.582316160202
Q222.63768959045410.6582157611846920.479535102844238

Iceberg + Parquet

TrinoStarRocksApache Doris
Q012.794052362442022.354904651641854.44727396965027
Q026.335851907730110.016107797622721.0157468318939
Q0321.691489934921312.82427334785460.2110915184021(结果错了)
Q048.118158102035522.342741727828980.675463199615479(结果错了)
Q0511.08947062492375.146195173263555.6227822303772(结果错了)
Q060.3763620853424070.2311072349548340.00912237167358398(结果错了)
Q074.024849414825442.3617646694183443.5791993141174(结果错了)
Q085.694473743438722.93622112274171.1178765296936(结果错了)
Q0940.36609244346623.93072724342346FAIL
Q102.797895908355711.960439920425425.64428234100342
Q112.360831975936890.6203193664550780.709768772125244(结果错了)
Q122.102387428283690.9894797801971440.300201892852783(结果错了)
Q137.007258653640751.960648059844972.21859788894653
Q140.9218354225158690.2908329963684080.407549142837524(结果错了)
Q152.059045076370240.4986727237701420.438501834869385(结果错了)
Q1694.03624987602239.22841262817383FAIL
Q1718.16921687126164.359895944595347.85690379142761
Q1893.30358839035038.95299363136292FAIL
Q193.915710687637331.988176584243773.76530265808105
Q204.76357030868531.562622785568241.35076451301575(结果错了)
Q2121.21776747703557.3119299411773714.4489989280701
Q221.99745130538940.9189381599426272.10197758674622

总结

因为只有 StarRocks 跑通全部 SQL,所以没法对比三个系统的总查询时间。

机器规格过高,导致很多 SQL 执行的很快,以至于时间上面的差距你不清楚是波动,还是就是菜。下次改进下。

Apache Doris 的 Iceberg 很明显不成熟,我盲猜分区裁剪那里有比较大的 BUG,因为错的 SQL 基本都是返回的都是 empty。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
搜索