02 สร้างตาราง
CREATE TABLE เพียงคำสั่งเดียวสำหรับ forex tick 26.5 ล้านรายการ และเหตุผลที่ base กับ quote นำหน้าใน sort key — การตัดสินใจที่คุณจะสัมผัสได้ในโมดูล 04
เริ่มด้วยการสร้างตารางว่างเพื่อเก็บ forex tick เปิด SQL Console วางคำสั่ง ด้านล่างนี้ แล้วรัน
-- 26.5M forex ticks (12 pairs incl. gold, Jan 2020); base+quote+time lead the sort key
CREATE TABLE forex
(
datetime DateTime64(3, 'UTC'), -- millisecond quote timestamp
bid Float64,
ask Float64,
base LowCardinality(String), -- e.g. 'EUR', 'XAU' (gold)
quote LowCardinality(String), -- e.g. 'USD', 'JPY'
pair String ALIAS concat(base, '/', quote), -- handy label, computed on read
spread Float64 ALIAS ask - bid, -- bid/ask spread
mid Float64 ALIAS (bid + ask) / 2 -- mid price
)
ENGINE = MergeTree
ORDER BY (base, quote, datetime);ทำไมต้องเป็นรูปแบบนี้? base และ quote นำหน้าใน ORDER BY ซึ่งก็คือ sort key ของตาราง
นั่นหมายความว่าการกรองด้วยคู่สกุลเงินและช่วงเวลา ทำให้ ClickHouse ข้ามข้อมูลได้แทบทั้งหมด
คุณจะเห็นว่ามันสำคัญมากแค่ไหนใน
คิวรีสุดท้ายของโมดูล 04
สิ่งที่คุณควรเห็น
Ok. — ตารางถูกสร้างขึ้นและยังว่างอยู่ ขั้นต่อไปคุณจะเติมข้อมูลลงไป
01 ลงชื่อเข้าใช้ ClickHouse Cloud
สร้างเซอร์วิส ClickHouse Cloud ฟรีและเปิด SQL Console — ใช้เวลาประมาณห้านาที และเป็นสิ่งเดียวที่ต้องมีก่อนทำทุกอย่างที่ตามมา
03 โหลดข้อมูล — สองวิธี
tick 26.5 ล้านรายการชุดเดียวกันโหลดสองครั้ง: ClickPipes ซึ่งเป็นไปป์ไลน์แบบจัดการให้ที่คุณจะใช้บนโปรดักชัน แล้วต่อด้วย s3() แบบบรรทัดเดียว — และควรเลือกใช้อันไหนเมื่อไหร่