โลโก้ TimescaleDB
ฐานข้อมูลApache 2.0 / TSL ตามส่วนของโค้ด

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

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

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

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

TimescaleDB คืออะไร

ทีมที่ต้องเก็บข้อมูลตามเวลามักลังเลระหว่างใช้ฐานข้อมูลเฉพาะทางกับใช้ PostgreSQL ที่คุ้นเคยอยู่แล้ว TimescaleDB ตอบโจทย์นี้โดยทำให้ PostgreSQL จัดการข้อมูลตามเวลาได้ดีขึ้นมาก โดยไม่ต้องเพิ่มระบบใหม่เข้ามาในองค์กร

เบื้องหลังคือการแบ่งตารางขนาดใหญ่ออกเป็นส่วนย่อยตามช่วงเวลาโดยอัตโนมัติ ทำให้การเขียนและการคิวรีช่วงเวลาเฉพาะเร็วขึ้นมาก ขณะที่ผู้ใช้ยังมองเห็นเป็นตารางเดียวและเขียน SQL ตามปกติ

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

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

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

ใช้ SQL และเครื่องมือของ PostgreSQL

ทีมใช้ความรู้เดิมได้ทั้งหมด ไม่ต้องเรียนภาษาคิวรีใหม่

แบ่งตารางตามเวลาอัตโนมัติ

เขียนและคิวรีช่วงเวลาได้เร็วขึ้นมากเมื่อข้อมูลสะสมจำนวนมาก

บีบอัดข้อมูลเก่า

ลดพื้นที่จัดเก็บข้อมูลย้อนหลังลงอย่างมีนัยสำคัญ

มุมมองสรุปแบบต่อเนื่อง

สรุปข้อมูลรายชั่วโมงหรือรายวันไว้ล่วงหน้าเพื่อให้แดชบอร์ดตอบเร็ว

นโยบายเก็บข้อมูล

ลบข้อมูลเก่าอัตโนมัติตามอายุที่กำหนด

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

  • ระบบ IoT ที่ทีมใช้ PostgreSQL อยู่แล้วและไม่อยากเพิ่มฐานข้อมูลใหม่
  • ข้อมูลการวัดค่าจากอุปกรณ์หรือเซ็นเซอร์ในโรงงาน
  • ข้อมูลตัวชี้วัดของระบบที่ต้องเก็บย้อนหลังยาว
  • ข้อมูลธุรกรรมที่ต้องวิเคราะห์ตามช่วงเวลา

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

แผนภาพเทียบสเปก Cloud Server สำหรับ TimescaleDB 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 60 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 32 GB ขึ้นไป ดิสก์ NVMe 1 TB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นระบบทดสอบหรืออุปกรณ์ไม่มาก2 vCPU4 GBNVMe 60 GB
แนะนำข้อมูลจากอุปกรณ์หลักร้อยที่ส่งค่าต่อเนื่อง4 vCPU16 GBNVMe 300 GB
ข้อมูลมากข้อมูลหลายพันล้านแถวและเก็บย้อนหลังหลายปี8 vCPU ขึ้นไป32 GB ขึ้นไปNVMe 1 TB ขึ้นไป

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

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

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

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

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

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

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

    curl -fsSL https://packagecloud.io/timescale/timescaledb/gpgkey | \
      sudo gpg --dearmor -o /usr/share/keyrings/timescaledb.gpg
    echo "deb [signed-by=/usr/share/keyrings/timescaledb.gpg] https://packagecloud.io/timescale/timescaledb/ubuntu/ noble main" | \
      sudo tee /etc/apt/sources.list.d/timescaledb.list
    sudo apt update && sudo apt -y install timescaledb-2-postgresql-16
  2. 2

    ปรับค่า PostgreSQL ให้เหมาะกับส่วนขยาย

    sudo timescaledb-tune --quiet --yes
    sudo systemctl restart postgresql
  3. 3

    เปิดส่วนขยายในฐานข้อมูล

    sudo -u postgres psql -d sensors -c "CREATE EXTENSION IF NOT EXISTS timescaledb;"
  4. 4

    สร้างตารางและแปลงเป็นตารางตามเวลา

    CREATE TABLE readings (
      time TIMESTAMPTZ NOT NULL,
      device_id TEXT NOT NULL,
      temperature DOUBLE PRECISION,
      humidity DOUBLE PRECISION
    );
    
    SELECT create_hypertable('readings', 'time');
  5. 5

    เปิดการบีบอัดและนโยบายเก็บข้อมูล

    บีบอัดข้อมูลที่เก่ากว่าเจ็ดวันและลบข้อมูลที่เก่ากว่าสองปีโดยอัตโนมัติ

    ALTER TABLE readings SET (timescaledb.compress);
    SELECT add_compression_policy('readings', INTERVAL '7 days');
    SELECT add_retention_policy('readings', INTERVAL '2 years');
  6. 6

    สร้างมุมมองสรุปสำหรับแดชบอร์ด

    สรุปค่ารายชั่วโมงไว้ล่วงหน้าเพื่อให้กราฟย้อนหลังยาวตอบได้เร็วโดยไม่ต้องคำนวณใหม่ทุกครั้ง

ตั้งนโยบายบีบอัดและลบข้อมูลตั้งแต่เริ่มใช้งาน เพราะข้อมูลชนิดนี้สะสมเร็วและการมาจัดการทีหลังเมื่อตารางใหญ่แล้วใช้เวลานานกว่ามาก

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

พอร์ตโปรโตคอลใช้ทำอะไร
5432TCPการเชื่อมต่อ PostgreSQL (เปิดเฉพาะวงภายใน)

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

  • ใช้แนวปฏิบัติความปลอดภัยเดียวกับ PostgreSQL ทั้งการยืนยันตัวตนและการจำกัดไอพี
  • สร้างผู้ใช้แยกสำหรับอุปกรณ์ที่เขียนข้อมูลกับผู้ใช้ที่อ่านรายงาน
  • เปิด TLS สำหรับการเชื่อมต่อข้ามเครื่อง
  • สำรองข้อมูลตามรอบด้วยเครื่องมือมาตรฐานของ PostgreSQL

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

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

ใช้ Cloud Database Server ที่มี PostgreSQL อยู่แล้วต่อยอดได้ทันที ไม่ต้องเพิ่มระบบใหม่

ขยายดิสก์และ RAM ได้ตามข้อมูลที่สะสมจากอุปกรณ์

ต่อกับ Grafana หรือ Metabase ที่รันบนเครื่องอื่นในวง Private Network เพื่อทำแดชบอร์ด

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

TimescaleDB ต่างจาก InfluxDB อย่างไร

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

ต้องเขียนคิวรีต่างจากเดิมไหม

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

รุ่นชุมชนใช้งานจริงได้ไหม

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

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

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