PolymarketClickHouse Workshops

02 สร้างโมเดลข้อมูล · ผู้สอน

อธิบายเหตุผลของการออกแบบ schema และกู้คืนกรณีรัน DDL ไม่ครบ

Your computer
macOS terminal: Run workshop commands in Terminal using zsh or bash.

ตารางเวลา

20 นาที

แนวการบรรยาย

  • รูปแบบการคิวรีมาก่อน ORDER BY เพราะคีย์นี้เปลี่ยนภายหลังตามใจไม่ได้
  • ทศนิยมแบบ exact ช่วยเลี่ยงความคลาดเคลื่อนของ floating point กับตัวเงินและความน่าจะเป็น
  • นิพจน์เวลาล่าสุดนำหน้าคีย์ของ event ตามด้วย token/condition ID เพื่อการจัดกลุ่ม
  • materialized view แบบ incremental รวมข้อมูลเฉพาะ event ที่เป็น midpoint ของ BBO เท่านั้น ส่วนการเทรดยังแยกอยู่
  • การไม่มี partition เป็นความตั้งใจ เส้นทางนี้ไม่ได้สาธิตวงจรการเก็บรักษาข้อมูล

ปัญหาที่พบบ่อย

  • รันไม่ครบ: ทุกคำสั่งใช้ IF NOT EXISTS ให้รันบล็อกทั้งหมดใหม่
  • MV มีอยู่แต่ตารางเป้าหมายไม่มี: ลบเฉพาะ MV แล้วรันขั้นที่ 2 ใหม่
  • ผู้เรียนใช้ฐานข้อมูลอื่น: ตรวจสอบว่า .env.polymarket ระบุ polymarket

รีเซ็ต

สำหรับการซ้อมที่ใช้แล้วทิ้งเท่านั้น:

DROP DATABASE IF EXISTS polymarket;

แล้วรันบล็อก SQL ของผู้เรียนทั้งสองบล็อกใหม่ อย่ารันคำสั่งนี้กับบริการของผู้เรียนโดยไม่ได้รับ การยืนยันอย่างชัดเจนจากเจ้าตัว

ในหน้านี้

TH