- แนะนำให้ใช้ฐานข้อมูลเดียวกัน (Postgres) สำหรับทั้งข้อมูลของแอปพลิเคชันและคิวงาน เพื่อลดการพึ่งพาให้น้อยที่สุด
- สามารถนำงานเข้าไปรอในคิวแบบทรานแซกชันพร้อมกับการเปลี่ยนแปลงฐานข้อมูลอื่น ๆ ได้ จึงช่วยหลีกเลี่ยงปัญหาทั้งกลุ่มที่เกิดขึ้นในระบบแบบกระจาย
- Transactional enqueueing: งานจะถูกนำเข้าคิวเมื่อทรานแซกชัน commit, จะถูกลบออกเมื่อทรานแซกชัน rollback และรับประกันว่าจะมองไม่เห็นงานจนกว่าจะมีการ commit
- ใช้ความสามารถ
NOTIFY ของ Postgres เพื่อให้คิวงานสามารถปลุก worker และเริ่มงานได้ทันทีที่งานพร้อม ทำให้ลดเวลาแฝงเฉลี่ยก่อนเริ่มงานลงเหลือระดับมิลลิวินาที
- เพิ่มประสิทธิภาพด้วยการใช้ binary protocol ของ Postgres และลดจำนวนรอบการสื่อสารกับฐานข้อมูลให้น้อยที่สุด
- Bulk Job Insert ทำได้อย่างมีประสิทธิภาพด้วย
COPY FROM
ยังไม่มีความคิดเห็น