เมื่อวันอังคารที่ผ่านมา มีโอกาสได้ไปร่วมงาน Clickhouse Thailand Meetup ครั้งที่ 1 เลยมาลองเขียนสรุปแบบสั้นๆไว้ โดยในงานจะแบ่งเป็น 2 Sessions ด้วยกัน

Session #1: Clickhouse คือใคร ทำอะไร
Clickhouse เป็น OLAP database product โดย design มาจาก 4 purposes นี้
- Speak SQL fluently
- Processes data very fast
- Highly efficient storage
- Easily scale to any size
Clickhouse มีที่เป็นแบบ on Cloud และเราสามารถ self host เองก็ได้
แล้วตัว Clickhouse เหมาะกับงานแบบไหน?
- งาน analytics
- ทำเป็น Data Warehouse
- งาน Observability
ถัดมาแล้วอะไรที่ทำให้ Clickhouse ถึงสามารถทำงานได้เร็ว
- ในมุม Writing – มีการ Design ที่เรียกว่า Part merges จะเป็น Behind process ภายใน Clickhouse ที่ตอนโหลดข้อมูลเข้าไปจะ paralle ก่อนเพื่อให้เร็ว แล้วจะค่อยๆ merge data เข้าด้วยกันเป็นลำดับหลาย layer หลังจากนั้น
- ในมุม Reading – มีหลายๆ feature แต่ที่ผมจำได้คือ การทำ Granules เหมือนเป็นลักษณะการทำ Chunk of rows ไว้ ก็จะทำให้เวลา Scan หาได้ไวขึ้น และยังมี feature อื่นๆอีก ตรงนี้ผมเก็บมาได้ไม่ครบ
ส่วนสุดท้ายของ Session #1 เป็นอะไรไปไม่ได้ เพราะว่าตอนนี้กำลังฮิตเลยก็คือ LLM
ทาง Clickhouse ก็มีการพัฒนา Feature MCP ของตัวเอง ซึ่งตัว MCP นี้สามารถต่อไปที่ data ภายใน Clickhouse
หลังจากนั้นเราสามารถ Prompt ที่เกี่ยวกับข้อมูลที่เราเชื่อมต่อได้ แล้วตัว Agent จะเข้าไปทำการ query เพื่อหาคำตอบจากข้อมูล
ส่วนด้านล่างนี้ จะเป็น link ต่างๆที่ทาง Clickhouse แชร์ไว้ให้ไปลองเล่นดูครับ
- Clickhouse ที่เป็นฐานข้อมูล Crypto สามารถลองเข้าไป Query ใช้งานดูได้ – https://crypto.clickhouse.com/
- Demo ต่างๆ ของ Clickhouse – https://clickhouse.com/demos
- AI Agent Feature – https://llm.clickhouse.com/
Session #2: Use case ของ เต่าบิน
ทางเต่าบินเล่า use case โดยลำดับสามารถแบ่งออกเป็น 3 ช่วงหลักๆ คือ
- ช่วงที่ 1: ใช้ Postgres ทั้งการเก็บข้อมูล และ query ข้อมูลเพื่อเอาไปใช้ แต่เริ่มมีปัญหาในการ query ข้อมูลใช้เวลานาน และการ query ที่นานเริ่มกระทบ operation process
- ช่วงที่ 2: มีการแยก Database สำหรับ Operation โดยใช้ Postgres เหมือนเดิม และก็มีการใช้ Tiger Data เป็น database สำหรับ query เท่าที่ฟัง Tiger Data คือ database ในลักษณะ time series (อันนี้ผมไม่รู้จักมาก่อน ไว้มีโอกาสจะลองไปดูว่าเป็นยังไง)
- ช่วงที่ 3: เหมือนช่วงที่ 2 แต่เปลี่ยนจาก Tiger Data ไปใช้ Clickhouse แทน ปัจจุบันทางเต่าบินจะมี process insert ข้อมูลไปที่ Clickhouse โดยใช้เป็น Batch ETL โหลดข้อมูลจาก Postgres ไปเข้าไปที่ Clickhouse
ส่วนสุดท้าย ที่ทางเต่าบินแนะนำ ก็จะเป็น keyword ต่างๆ ที่เอาไว้ศึกษาต่อ ถ้าจะใช้งาน Clickhouse:
- MergeTree engine family
- Batch insert
- Part merges
- It “looks” like normal SQL
- Partition
- Deduplication strategies
ผมก็ขอสรุปสั้นๆไว้ประมาณนี้ครับ
หากสรุปนี้มีข้อผิดพลาดประการใด ก็ขออภัยไว้ด้วยนะครับ