TimescaleDB คืออะไร และวิธีติดตั้งบน Cloud Server
TimescaleDB คือส่วนขยายของ PostgreSQL ที่เพิ่มความสามารถด้านข้อมูลตามเวลาเข้าไป ทำให้เก็บค่าที่วัดต่อเนื่องได้อย่างมีประสิทธิภาพโดยยังใช้ SQL และเครื่องมือเดิมของ PostgreSQL ทั้งหมด
- หมวดหมู่
- ฐานข้อมูล
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- Apache 2.0 / TSL ตามส่วนของโค้ด
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
TimescaleDB คืออะไร
ทีมที่ต้องเก็บข้อมูลตามเวลามักลังเลระหว่างใช้ฐานข้อมูลเฉพาะทางกับใช้ PostgreSQL ที่คุ้นเคยอยู่แล้ว TimescaleDB ตอบโจทย์นี้โดยทำให้ PostgreSQL จัดการข้อมูลตามเวลาได้ดีขึ้นมาก โดยไม่ต้องเพิ่มระบบใหม่เข้ามาในองค์กร
เบื้องหลังคือการแบ่งตารางขนาดใหญ่ออกเป็นส่วนย่อยตามช่วงเวลาโดยอัตโนมัติ ทำให้การเขียนและการคิวรีช่วงเวลาเฉพาะเร็วขึ้นมาก ขณะที่ผู้ใช้ยังมองเห็นเป็นตารางเดียวและเขียน SQL ตามปกติ
ข้อได้เปรียบที่ตามมาคือใช้เครื่องมือ ไลบรารี และความรู้เดิมของ PostgreSQL ได้ทั้งหมด ตั้งแต่การสำรองข้อมูลไปจนถึงการทำสำเนา ซึ่งลดภาระทีมเมื่อเทียบกับการเพิ่มฐานข้อมูลเฉพาะทางอีกตัว
ความสามารถเด่นของ TimescaleDB
ใช้ SQL และเครื่องมือของ PostgreSQL
ทีมใช้ความรู้เดิมได้ทั้งหมด ไม่ต้องเรียนภาษาคิวรีใหม่
แบ่งตารางตามเวลาอัตโนมัติ
เขียนและคิวรีช่วงเวลาได้เร็วขึ้นมากเมื่อข้อมูลสะสมจำนวนมาก
บีบอัดข้อมูลเก่า
ลดพื้นที่จัดเก็บข้อมูลย้อนหลังลงอย่างมีนัยสำคัญ
มุมมองสรุปแบบต่อเนื่อง
สรุปข้อมูลรายชั่วโมงหรือรายวันไว้ล่วงหน้าเพื่อให้แดชบอร์ดตอบเร็ว
นโยบายเก็บข้อมูล
ลบข้อมูลเก่าอัตโนมัติตามอายุที่กำหนด
ใช้ TimescaleDB ทำอะไรได้บ้าง
- ระบบ IoT ที่ทีมใช้ PostgreSQL อยู่แล้วและไม่อยากเพิ่มฐานข้อมูลใหม่
- ข้อมูลการวัดค่าจากอุปกรณ์หรือเซ็นเซอร์ในโรงงาน
- ข้อมูลตัวชี้วัดของระบบที่ต้องเก็บย้อนหลังยาว
- ข้อมูลธุรกรรมที่ต้องวิเคราะห์ตามช่วงเวลา
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นระบบทดสอบหรืออุปกรณ์ไม่มาก | 2 vCPU | 4 GB | NVMe 60 GB |
| แนะนำข้อมูลจากอุปกรณ์หลักร้อยที่ส่งค่าต่อเนื่อง | 4 vCPU | 16 GB | NVMe 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
เพิ่มที่เก็บแพ็กเกจและติดตั้ง
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
ปรับค่า PostgreSQL ให้เหมาะกับส่วนขยาย
sudo timescaledb-tune --quiet --yes sudo systemctl restart postgresql - 3
เปิดส่วนขยายในฐานข้อมูล
sudo -u postgres psql -d sensors -c "CREATE EXTENSION IF NOT EXISTS timescaledb;" - 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
เปิดการบีบอัดและนโยบายเก็บข้อมูล
บีบอัดข้อมูลที่เก่ากว่าเจ็ดวันและลบข้อมูลที่เก่ากว่าสองปีโดยอัตโนมัติ
ALTER TABLE readings SET (timescaledb.compress); SELECT add_compression_policy('readings', INTERVAL '7 days'); SELECT add_retention_policy('readings', INTERVAL '2 years'); - 6
สร้างมุมมองสรุปสำหรับแดชบอร์ด
สรุปค่ารายชั่วโมงไว้ล่วงหน้าเพื่อให้กราฟย้อนหลังยาวตอบได้เร็วโดยไม่ต้องคำนวณใหม่ทุกครั้ง
ตั้งนโยบายบีบอัดและลบข้อมูลตั้งแต่เริ่มใช้งาน เพราะข้อมูลชนิดนี้สะสมเร็วและการมาจัดการทีหลังเมื่อตารางใหญ่แล้วใช้เวลานานกว่ามาก
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 5432 | TCP | การเชื่อมต่อ 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
แอปอื่นในหมวด ฐานข้อมูล
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง TimescaleDB ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด