ผมเริ่มใช้ Tardis ตั้งแต่ปี 2023 ตอนที่ทีมวิจัยต้องการ replay ข้อมูล tick ระดับ L2 ของ Binance USDⓈ-M Perpetual ย้อนหลัง 6 เดือน เพื่อทดสอบโมเดล order-flow imbalance ในตอนแรกผมพยายามดึงผ่าน Binance REST API ตรงๆ แต่เจอ rate limit ที่ 1,200 weight/minute และต้องนั่งแปลง trades + bookTicker รวมเกือบ 2 วันเต็ม พอย้ายมาใช้ Tardis เวลาเหลือแค่ 40 นาที ข้อมูลครบ 99.7% ไม่มีช่องว่างระหว่างทาง หลังจากดาวน์โหลดไฟล์ .csv.gz ขนาด 14.3 GB มาแล้ว ปัญหาถัดไปคือเก็บยังไงให้ query เร็วพอที่จะ feed เข้า Python bot แบบ near-realtime ผมทดสอบ PostgreSQL, TimescaleDB, DuckDB และ ClickHouse สุดท้าย ClickHouse ชนะทุกตัวในแง่ insertion rate และ compression ratio วันนี้ผมจะมาแชร์โซลูชันเต