WW warin.me

DATA SYSTEMS · INTERACTIVE LAB

คำถามเดียวกันไม่ได้แปลว่าระบบทำงานเหมือนกัน

คำถามที่มีประโยชน์ไม่ใช่ “ฐานข้อมูลใดชนะ” แต่คือระบบหลีกเลี่ยง เลื่อนเวลา จัดเก็บ หรือทำงานส่วนใดซ้ำ

Checking isolated teaching runtimes…
ROWS10K
100K
1M
one deterministic sales model

เริ่มจากคำถามเดียว

เวลาที่เห็นบอกอะไรเราได้ และมีอะไรที่ยังบอกไม่ได้

ลำดับที่แนะนำ

  1. เลือก 100,000 แถว เพื่อให้ทั้งสาม engine ตอบคำถามวิเคราะห์เดียวกันที่ logical scale เท่ากัน
  2. รันทั้งสามระบบหนึ่งรอบเป็น warm-up แล้วรันอีกครั้งเพื่อบันทึกค่ารอบที่สอง เพราะ cache และ startup อาจครอบงำค่าที่เห็น
  3. ตรวจจำนวน result rows และความเท่ากันเชิงความหมายก่อนดู millisecond คำตอบที่เร็วแต่ผิดหรือคนละคำถามไม่ถือว่าเปรียบเทียบกัน
  4. เทียบตำแหน่งที่คำนวณ physical reuse จำนวนแถวที่ scan และ byte ที่อ่าน ค่าใดที่ engine รายงานไม่ได้ให้ถือว่า unavailable ไม่ใช่ศูนย์
  5. ใช้ latency เป็นเพียงเบาะแส หากจะอ้างประสิทธิภาพต้องรันซ้ำ ควบคุม cache ใช้ client เทียบเท่า และจัดเงื่อนไข storage ให้เทียบกันได้
runtime นี้สาธิตอะไรจริง

ตัวเลขนี้ไม่ใช่อันดับความเร็วของผลิตภัณฑ์ PostgreSQL ใช้ PDO connection ที่เปิดไว้ DuckDB รวมเวลาเริ่ม process ส่วน ClickHouse ผ่าน HTTP และใช้ engine-reported elapsed time นอกจากนี้ cache, layout และขนาดข้อมูล 10K–1M ยังมีผลต่อผลลัพธ์

อ่านค่าระยะเวลาอย่างระมัดระวัง

ค่าที่แสดงคือ observed lab latency ไม่ใช่ benchmark สากลของฐานข้อมูล PostgreSQL ใช้ connection ที่เปิดค้างผ่าน PDO, DuckDB ต้องเริ่ม subprocess ในแต่ละ request ส่วน ClickHouse ติดต่อผ่าน HTTP และรายงาน engine elapsed time ของตนเอง อีกทั้งข้อมูลเพียง 10K–1M แถวมักอยู่ใน cache ได้มาก จึงควรเทียบ query plan จำนวนแถวและ byte ที่อ่าน ความสดของข้อมูล และต้นทุนการดูแล ก่อนเปรียบเทียบ millisecond

CONCEPT

Measure without inventing a universal winner.

The labs use the same logical columns and deterministic formulas, but storage formats, caching and physical layout remain different. Treat timings as observations of this host, not a product ranking.

inserted blockMergeTree pipelineaggregate states

FAIR COMPARISON

Whitelist only · 25 s timeout · 2 CPU / 2 GB ClickHouse ceiling · one operation at a time

execution time
rows scanned
bytes read
rows returned

SQL

Select a bounded experiment.

Result

No result yet.

Explain / query plan

The physical plan appears after execution.
What happened?

Run an experiment, then connect the measurement to physical work.