โลโก้ ClickHouse
อันดับ 65 ใน Top 100 ฐานข้อมูลApache License 2.0 (โอเพนซอร์ส)

ClickHouse คืออะไร และวิธีติดตั้งบน Cloud Server

ClickHouse คือฐานข้อมูลเชิงคอลัมน์ที่ออกแบบมาเพื่องานวิเคราะห์โดยเฉพาะ สามารถสรุปข้อมูลหลายพันล้านแถวได้ในเวลาไม่กี่วินาที จึงเป็นหัวใจของระบบรายงานและ Analytics ยุคใหม่

หมวดหมู่
ฐานข้อมูล
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
4 vCPU · RAM 8 GB
ไลเซนส์
Apache License 2.0 (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

ClickHouse คืออะไร

ฐานข้อมูลทั่วไปเก็บข้อมูลเป็นแถว ซึ่งเหมาะกับการอ่านเขียนทีละรายการ แต่ช้าเมื่อต้องสรุปข้อมูลทั้งตาราง ClickHouse เก็บเป็นคอลัมน์ จึงอ่านเฉพาะคอลัมน์ที่ใช้และบีบอัดได้ดีมาก ผลคือคิวรีสรุปข้อมูลเร็วขึ้นหลายสิบเท่า

งานที่ ClickHouse ทำได้ดีที่สุดคือการเขียนข้อมูลเข้าเป็นชุดใหญ่แล้วอ่านเพื่อสรุป เช่น ข้อมูลเหตุการณ์ของเว็บ ข้อมูลจากอุปกรณ์ IoT หรือ Log ปริมาณมหาศาล

สิ่งที่ ClickHouse ไม่ได้ออกแบบมาให้ทำคือการแก้ไขข้อมูลทีละแถวบ่อย ๆ แบบระบบธุรกรรม งานลักษณะนั้นควรอยู่กับ PostgreSQL หรือ MySQL แล้วส่งข้อมูลมาสรุปที่ ClickHouse

แผนผังการวางระบบ ClickHouse บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 8123, 9000 ตัว ClickHouse และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 4 vCPU แรม 8 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
ClickHouse ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ ClickHouse

เร็วมากกับงานสรุปข้อมูล

อ่านเฉพาะคอลัมน์ที่จำเป็นและประมวลผลแบบเวกเตอร์ จึงตอบคิวรีระดับพันล้านแถวได้ในไม่กี่วินาที

บีบอัดข้อมูลได้สูง

ข้อมูลชนิดเดียวกันอยู่ติดกันจึงบีบอัดได้ดี ประหยัดพื้นที่จัดเก็บอย่างมีนัยสำคัญ

รองรับ SQL

ใช้ภาษา SQL ที่ทีมข้อมูลคุ้นเคย พร้อมฟังก์ชันวิเคราะห์เฉพาะทางจำนวนมาก

รับข้อมูลเข้าได้หลายทาง

เชื่อมกับ Kafka, ไฟล์ CSV, Parquet และฐานข้อมูลอื่นได้โดยตรง

Materialized View

สรุปข้อมูลล่วงหน้าขณะเขียน ทำให้แดชบอร์ดตอบสนองทันที

ใช้ ClickHouse ทำอะไรได้บ้าง

  • แดชบอร์ดวิเคราะห์พฤติกรรมผู้ใช้ที่ต้องสรุปข้อมูลจำนวนมาก
  • ระบบเก็บข้อมูลเหตุการณ์และ Log สำหรับตรวจสอบย้อนหลัง
  • คลังข้อมูลขนาดกลางที่ไม่อยากลงทุนกับระบบ Data Warehouse เชิงพาณิชย์
  • ระบบรายงานที่ต่อกับ Metabase, Superset หรือ Grafana

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ ClickHouse 3 ระดับ เริ่มจาก 4 vCPU แรม 8 GB ดิสก์ NVMe 100 GB ไปจนถึง 16 vCPU ขึ้นไป แรม 64 GB ขึ้นไป ดิสก์ NVMe 1 TB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นทดสอบและชุดข้อมูลไม่เกินหลักสิบล้านแถว4 vCPU8 GBNVMe 100 GB
แนะนำงานวิเคราะห์จริงระดับหลายร้อยล้านแถว8 vCPU32 GBNVMe 500 GB
ระบบใหญ่คลังข้อมูลระดับพันล้านแถวหรือคลัสเตอร์หลายโหนด16 vCPU ขึ้นไป64 GB ขึ้นไปNVMe 1 TB ขึ้นไป

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง ClickHouse บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Ubuntu Server 24.04 LTS หรือ Rocky Linux 9
  • ซีพียูที่รองรับชุดคำสั่ง SSE 4.2 ขึ้นไป
  • ดิสก์ NVMe และ RAM มากพอสำหรับคิวรีที่ต้องจัดกลุ่มข้อมูลจำนวนมาก

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    เพิ่มที่เก็บแพ็กเกจและติดตั้ง

    ระหว่างติดตั้งระบบจะถามให้ตั้งรหัสผ่านของผู้ใช้ default ให้ตั้งรหัสที่แข็งแรง

    curl -fsSL https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key | \
      sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
    echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb stable main" | \
      sudo tee /etc/apt/sources.list.d/clickhouse.list
    sudo apt update
    sudo apt -y install clickhouse-server clickhouse-client
  2. 2

    เปิดบริการ

    sudo systemctl enable --now clickhouse-server
    sudo systemctl status clickhouse-server --no-pager
  3. 3

    เข้าใช้งานผ่าน Client

    clickhouse-client --password
  4. 4

    สร้างตารางตัวอย่างสำหรับข้อมูลเหตุการณ์

    เอนจิน MergeTree คือเอนจินหลักของ ClickHouse การเลือกคีย์เรียงลำดับให้ตรงกับรูปแบบการคิวรีมีผลต่อความเร็วมากที่สุด

    CREATE TABLE events (
      event_time DateTime,
      user_id UInt64,
      event_type LowCardinality(String),
      page String,
      duration_ms UInt32
    ) ENGINE = MergeTree()
    PARTITION BY toYYYYMM(event_time)
    ORDER BY (event_type, event_time);
  5. 5

    เปิดการเชื่อมต่อจากวงภายใน

    แก้ไฟล์ตั้งค่าให้ฟังเฉพาะไอพีภายใน แล้วเปิด Firewall เฉพาะเครื่องที่ต้องใช้

    <clickhouse>
      <listen_host>10.10.0.40</listen_host>
    </clickhouse>

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
8123TCPHTTP interface สำหรับเครื่องมือ BI (เปิดเฉพาะวงภายใน)
9000TCPNative protocol สำหรับ Client

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ตั้งรหัสผ่านให้ผู้ใช้ default หรือปิดผู้ใช้นี้แล้วสร้างผู้ใช้เฉพาะงาน
  • ผูกบริการกับวงภายในและไม่เปิดสู่อินเทอร์เน็ต
  • จำกัดโควตาการใช้หน่วยความจำต่อคิวรีเพื่อไม่ให้คิวรีเดียวทำให้เครื่องล่ม
  • ตั้ง TTL ของข้อมูลเพื่อลบข้อมูลเก่าอัตโนมัติตามนโยบายการเก็บรักษา

ทำไมควรรัน ClickHouse บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

งานวิเคราะห์กินดิสก์และ RAM สูง การเพิ่มสเปกบน Cloud Server ทำได้ทันทีโดยไม่ต้องลงทุนฮาร์ดแวร์

เก็บข้อมูลดิบของลูกค้าไว้ในไทยแทนการส่งขึ้นบริการวิเคราะห์ต่างประเทศ ช่วยเรื่อง PDPA

ต่อกับ Metabase, Superset หรือ Grafana ที่รันบน Cloud Server อีกเครื่องในวงเดียวกันได้

คำถามที่พบบ่อยเกี่ยวกับ ClickHouse

ClickHouse ใช้แทน MySQL หรือ PostgreSQL ได้ไหม

ไม่ได้ทดแทนกันโดยตรง ClickHouse ออกแบบมาเพื่ออ่านและสรุปข้อมูลจำนวนมาก ไม่ใช่สำหรับงานธุรกรรมที่แก้ไขข้อมูลทีละแถวบ่อย ๆ แนวทางที่นิยมคือใช้ทั้งสองอย่างคู่กัน

ต้องมีข้อมูลมากแค่ไหนถึงคุ้มที่จะใช้

ถ้าตารางรายงานเริ่มมีข้อมูลหลักสิบล้านแถวขึ้นไปและคิวรีสรุปเริ่มใช้เวลาหลายสิบวินาทีบนฐานข้อมูลเดิม นั่นคือจุดที่ ClickHouse จะให้ผลต่างชัดเจน

ต้องทำคลัสเตอร์ตั้งแต่แรกไหม

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

ให้เราติดตั้ง ClickHouse ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด