πŸš€ 650GB Data Delta Lake di S3: Polars vs DuckDB vs Daft vs Spark

πŸ“Œ Problem Statement
1. Dataset ~650 GB dalam format Delta Lake di S3 sering dianggap β€œcukup besar” sehingga harus menggunakan engine cluster seperti Spark β€” padahal belum tentu.
2. Banyak organisasi masih mempercayai infrastruktur besar (cluster terdistribusi) meskipun kebutuhan query mereka sederhana, sehingga biaya dan kompleksitas tetap tinggi.
3. Dibutuhkan studi perbandingan kuantitatif antara engine ringan (single-node) dengan cluster tradisional untuk skenario big data umum.

πŸ› οΈ Methodology / Solusi / Hypothesis
1. Penulis menjalankan benchmark pada dataset ~650 GB Delta Lake di Amazon S3.
2. Engine yang diuji: Polars, DuckDB, Daft, Apache Spark.
3. Fokus pada: ingest time, query execution time, efisiensi single-node versus cluster.
4. Hipotesis: Engine single-node modern dapat bersaing atau melebihi Spark untuk dataset ini; investasi cluster harus dipertimbangkan ulang.

πŸ“Š Findings / Results / Impact
1. Waktu eksekusi tercepat untuk query agregasi: sekitar ~16 menit pada dataset 650 GB.
2. Spark menunjukkan overhead signifikan terkait distribusi dan cluster β€” membuat engine ringan lebih efisien untuk skenario ini.
3. Bottleneck utama adalah I/O dari S3, bukan compute β€” instance 10Gbps ideal secara teoritis memerlukan ~9 menit untuk membaca dataset 650 GB.
4. Polars dan DuckDB terbukti sangat kompetitif dalam skenario ini.
5. Organisasi yang dataset-nya <1 TB dengan query sederhana dapat mempertimbangkan engine single-node untuk menekan biaya dan kompleksitas.

βœ… Key Takeaways
1. Skala ~650 GB sekarang sudah dalam jangkauan engine single-node β€” Spark tidak selalu diperlukan.
2. Pilih engine berdasarkan kebutuhan nyata β€” bukan asumsi β€œlebih besar = lebih baik”.
3. I/O storage & data placement sering menjadi bottleneck terbesar bagi workload analitik.
4. Polars & DuckDB adalah opsi ideal untuk workflow analitik batch non-terdistribusi yang sering muncul di perusahaan.
5. Spark tetap relevan untuk situasi join/streaming/distribusi kompleks β€” tapi bukan default otomatis untuk semua skenario.

Sumber:
https://dataengineeringcentral.substack.com/p/650gb-of-data-delta-lake-on-s3-polars

πŸ”₯ #DataEngineering #DeltaLake #Polars #DuckDB #Spark #BigData #Analytics #Benchmark #S3 #DataProcessing

Leave a Comment