โครงการ TimescaleDB ถูกนำมาใช้เป็นส่วนขยายของ PostgreSQL และ
ท่ามกลางการเปลี่ยนแปลงใน TimescaleDB 1.7:
- เพิ่มการสนับสนุนสำหรับการทำงานร่วมกับ DBMS
PostgreSQL 12 . การสนับสนุน PostgreSQL 9.6.x และ 10.x เลิกใช้งานแล้ว (Timescale 2.0 จะรองรับ PostgreSQL 11+ เท่านั้น) - ลักษณะการทำงานของแบบสอบถามที่มีฟังก์ชันการรวมที่ทำงานอย่างต่อเนื่อง (การรวมข้อมูลที่เข้ามาอย่างต่อเนื่องแบบเรียลไทม์) มีการเปลี่ยนแปลง ขณะนี้ข้อความค้นหาดังกล่าวได้รวมมุมมองที่เป็นรูปธรรมเข้ากับข้อมูลที่ได้มาใหม่ที่ยังไม่เป็นรูปธรรม (ก่อนหน้านี้ การรวมรวมจะครอบคลุมเฉพาะข้อมูลที่เป็นรูปธรรมแล้วเท่านั้น) ลักษณะการทำงานใหม่นี้ใช้กับการรวมตัวอย่างต่อเนื่องที่สร้างขึ้นใหม่ สำหรับมุมมองที่มีอยู่ ควรตั้งค่าพารามิเตอร์ "timescaledb.materialized_only=false" ผ่าน "ALTER VIEW"
- เครื่องมือการจัดการวงจรชีวิตของข้อมูลขั้นสูงบางอย่างได้ถูกถ่ายโอนไปยังเวอร์ชันชุมชนจากรุ่นเชิงพาณิชย์ รวมถึงความสามารถในการจัดกลุ่มข้อมูลใหม่และประมวลผลนโยบายการขับไล่ข้อมูลที่ล้าสมัย (ช่วยให้คุณจัดเก็บเฉพาะข้อมูลปัจจุบันและลบ รวบรวม หรือเก็บถาวรบันทึกที่ล้าสมัยโดยอัตโนมัติ)
ให้เราระลึกว่า TimescaleDB DBMS อนุญาตให้คุณใช้การสืบค้น SQL เต็มรูปแบบเพื่อวิเคราะห์ข้อมูลที่สะสม โดยผสมผสานความง่ายในการใช้งานที่มีอยู่ใน DBMS เชิงสัมพันธ์เข้ากับการปรับขนาดและความสามารถที่มีอยู่ในระบบ NoSQL เฉพาะทาง โครงสร้างการจัดเก็บข้อมูลได้รับการปรับปรุงเพื่อให้แน่ใจว่าการเพิ่มข้อมูลมีความเร็วสูง รองรับการเพิ่มชุดข้อมูลเป็นกลุ่ม การใช้ดัชนีในหน่วยความจำ การโหลดส่วนประวัติย้อนหลัง และการใช้ธุรกรรม
คุณสมบัติที่สำคัญของ TimescaleDB คือการรองรับการแบ่งพาร์ติชันอาร์เรย์ข้อมูลโดยอัตโนมัติ สตรีมข้อมูลอินพุตจะถูกกระจายโดยอัตโนมัติไปยังตารางที่แบ่งพาร์ติชัน ส่วนต่างๆ จะถูกสร้างขึ้นตามเวลา (แต่ละส่วนจะจัดเก็บข้อมูลในช่วงระยะเวลาหนึ่ง) หรือสัมพันธ์กับคีย์ที่กำหนดเอง (เช่น ID อุปกรณ์ ตำแหน่ง ฯลฯ) เพื่อเพิ่มประสิทธิภาพการทำงาน ตารางที่แบ่งพาร์ติชันสามารถกระจายไปยังดิสก์ต่างๆ ได้
สำหรับการสืบค้น ฐานข้อมูลที่แบ่งพาร์ติชันจะดูเหมือนตารางขนาดใหญ่ตารางหนึ่งที่เรียกว่าไฮเปอร์เทเบิล ไฮเปอร์เทเบิลคือการแสดงเสมือนจริงของตารางต่างๆ จำนวนมากที่รวบรวมข้อมูลขาเข้า ไฮเปอร์เทเบิลใช้ไม่เพียงแต่สำหรับการสืบค้นและการเพิ่มข้อมูลเท่านั้น แต่ยังใช้สำหรับการดำเนินการต่างๆ เช่น การสร้างดัชนีและการเปลี่ยนโครงสร้าง (“ALTER TABLE”) โดยซ่อนโครงสร้างการแบ่งส่วนระดับต่ำของฐานข้อมูลจากนักพัฒนา ด้วยไฮเปอร์เทเบิล คุณสามารถใช้ฟังก์ชันรวม แบบสอบถามย่อย การดำเนินการผสาน (JOIN) กับตารางปกติ และฟังก์ชันหน้าต่างได้
ที่มา: opennet.ru