NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
TH

ฐานข้อมูลเปรียบเทียบ

PostgreSQL: ผู้เชี่ยวชาญด้านฐานข้อมูลระดับบัณฑิตศึกษา

PostgreSQL เป็นฐานข้อมูลเชิงสัมพันธ์แบบโอเพ่นซอร์สที่วิศวกรแนะนำให้วิศวกรคนอื่นๆ ได้แก่ SQL ตามมาตรฐาน โมเดลธุรกรรมที่ควรค่าแก่การอ่านเอกสารประกอบ และระบบนิเวศส่วนขยายที่เปลี่ยนฐานข้อมูลหนึ่งให้เป็น GIS การค้นหา ร้านค้าเวกเตอร์ และแพลตฟอร์มการจัดการ ค่าใช้จ่ายคือข้อกำหนดในการบำรุงรักษาที่ซื่อสัตย์ โดยเฉพาะอย่างยิ่งวินัยและการกำหนดค่าสุญญากาศ ซึ่งการฉีดวัคซีนตามค่าเริ่มต้นแบบ MySQL ไม่ได้เตรียมใครไว้

ประเด็นสำคัญ

  • MVCC เป็นลายเซ็นของสถาปัตยกรรม: ผู้อ่านไม่ได้บล็อกใครเลย การอัปเดตเป็นรูปแบบแถวหลายเวอร์ชัน และเวอร์ชันที่หมดอายุจะยังคงอยู่จนกว่า VACUUM จะเรียกคืนข้อมูลเหล่านั้น การปรับค่าสุญญากาศ (ต้นทุน autovacuum เกณฑ์ต่อตารางที่ไม่ว่าง) เป็นส่วนหนึ่งของงานเกี่ยวกับแผนงานที่มีการเปลี่ยนหมุนเวียนสูง ไม่ใช่สุขอนามัยทางเลือก
  • พื้นผิวส่วนขยายคือคุณสมบัติ: PostGIS ทำให้ GIS เป็นเรื่องจริงจัง pg_stat_statements เปลี่ยนการปรับแต่งประสิทธิภาพจากคติชนให้เป็นข้อเท็จจริง เครื่องมือบีบอัด WAL เก็บถาวร (pgBackRest/barman) ช่วยให้สามารถกู้คืนข้อมูล ณ เวลาใดเวลาหนึ่งได้ และ pgvector เปลี่ยนให้เป็นโครงสร้างสำหรับร้านค้าการค้นหาความหมาย
  • JSON เป็นเฟิร์สคลาส: ที่เก็บข้อมูล jsonb ให้การสืบค้นเอกสารที่จัดทำดัชนีภายในสคีมาเชิงสัมพันธ์: คู่นี้จะฆ่าอาร์กิวเมนต์ 'ต้องการที่เก็บเอกสาร' สำหรับเครื่องมือภายในส่วนใหญ่
  • การจำลองแบบและ HA นั้นสมบูรณ์แล้ว แต่เป็นแบบแมนนวล: การจำลองแบบสตรีมมิ่งพร้อมช่องการจำลองแบบเป็นพื้นฐาน การจำลองแบบลอจิคัลช่วยให้สามารถอัพเกรดแบบกำหนดเป้าหมายและการซิงค์แบบเลือกได้ มีเจ้าหน้าที่ผู้ปฏิบัติงาน Patroni/postgres อยู่ที่ต้นทาง แต่ HA ที่ใช้งานจริงยังคงต้องการขั้นตอนที่มีสคริปต์และทดสอบแล้ว
  • ระเบียบวินัยในการสำรองข้อมูล: การเก็บถาวร WAL พร้อมการสำรองข้อมูลฐานเป็นระยะและการทดสอบการคืนค่าที่ได้รับการตรวจสอบ pg_dump เพียงอย่างเดียวไม่ใช่แผนสำรองสำหรับปริมาณงานที่ไวต่อเวลาทำงาน แม้ว่าจะยังคงเป็นเครื่องมือที่ถูกต้องสำหรับสแต็กขนาดเล็กก็ตาม
  • แนวทางเริ่มต้นในการเปรียบเทียบของเรา: เมื่อสคีมามีความสัมพันธ์กัน ข้อมูลเป็นศูนย์กลางของผลิตภัณฑ์ และทีมอ่านคู่มือ ค่าเริ่มต้นของ PostgreSQL จะมีความสามารถมากกว่าค่าเริ่มต้นสไตล์ MySQL ใดๆ ที่มีอยู่เช่นกัน เมื่องานคือฐานข้อมูล CMS ขนาดเล็ก 100 ฐานข้อมูลในกล่องเดียว ระบบนิเวศของพาเนลของ MySQL/MariaDB ยังคงเป็นค่าเริ่มต้นเนื่องจากพื้นผิวการปฏิบัติงาน ไม่ใช่คะแนนของกลไก

บันทึกจากหน้างาน

ทีมที่เติบโตเป็น PostgreSQL ต้องการตอน autovacuum หนึ่งตอนเพื่อเรียนรู้ MVCC: กล่องการวิเคราะห์ทำงานช้าลงหลังจากการอัปเดตจำนวนมาก และตัววัด dead-tuple อธิบายสิ่งที่สัญชาตญาณการปรับแต่งบัฟเฟอร์ทุกตัวไม่สามารถทำได้ ตอนนี้การปรับจูนสุญญากาศเป็นส่วนหนึ่งของการดำเนินการแล้ว

คำถามที่พบบ่อย

PostgreSQL กับ MySQL: Postgres ชัดเจนที่นี่เมื่อใด

งานเชิงสัมพันธ์ที่ซับซ้อน เชื่อมต่อกับตารางหลายสิบตาราง การวิเคราะห์ภายใน DB และสาขาต่างๆ เช่น การค้นหา GIS/เวกเตอร์: PostgreSQL โฮสติ้ง CMS ที่ใช้ร่วมกันแบบละเอียดจะมีค่าเริ่มต้นเป็น MariaDB ตามการจัดส่งเนื่องจากเครื่องมือแบบพาเนล

autovacuum ควรมีความก้าวร้าวแค่ไหน?

รุนแรงพอที่จะป้องกันไม่ให้การปั่นป่วนแบบตายตัวทำลายการวางแผนแบบสอบถาม หน้าต่างต้นทุน autovacuum ขีดจำกัด และการปรับแต่งต่อตารางมีอยู่สำหรับ schema ที่อัปเดตจำนวนมาก แนวทางปฏิบัติที่ซื่อสัตย์คือการตรวจสอบ (จำนวนทูเปิลสด/ตายของ pg_stat_user_tables) จากนั้นปรับตามปริมาณงาน

pgvector เหมาะสำหรับการค้นหาความหมายเชิงการผลิตหรือไม่

ด้วยปริมาณข้อมูลเพียงเล็กน้อย มันเป็นที่เก็บเวคเตอร์ที่เน้นการปฏิบัติจริงและอิงตามส่วนขยาย พร้อมตัวเลือกการจัดทำดัชนีที่แสดงประสิทธิภาพที่ดีมากขึ้นเรื่อยๆ ฐานข้อมูลเวกเตอร์เฉพาะจะตอบปริมาณงานบางอย่างได้ดีกว่า (ขนาดใหญ่ การเขียนแบบกระจาย) แต่สำหรับการเพิ่มการค้นหาเชิงความหมายให้กับแอปเชิงสัมพันธ์ที่มีอยู่แล้ว ก็ถือว่าดีเยี่ยม

เหตุใดฐานข้อมูลของฉันจึงช้าลงหลังจากการอัพเดตจำนวนมาก?

อาการ MVCC แบบคลาสสิก: เวอร์ชันที่ตายแล้วจะขยายตารางและดัชนีจนกว่า autovacuum จะตามทัน ธุรกรรมที่ยาวนานทำให้การล้างข้อมูลกลับมา ตรวจสอบสิ่งอันดับที่ตายแล้วและระยะเวลาการล็อค แทนที่จะคาดเดาเกี่ยวกับบัฟเฟอร์

Kinetikatech ช่วยเรื่อง ฐานข้อมูลเปรียบเทียบ ได้อย่างไร

พูดตรง ๆ ว่าทีมส่วนใหญ่มาหาเราหลังลองทำเองมาแล้ว: ตัวเลือกกลไกฐานข้อมูลสำหรับการโฮสต์ปริมาณงาน เปรียบเทียบกับการรับประกันความถูกต้อง น้ำหนักในการปฏิบัติงาน และต้นทุนจริง: กลไกแบบฝังเทียบกับเซิร์ฟเวอร์, MySQL กับ PostgreSQL, SQL กับที่เก็บเอกสาร รวมถึงกรณีศึกษาแบบเดิมที่กลับมาใช้อีกเรื่อยๆ บริการ การจัดการเซิร์ฟเวอร์และการเพิ่มความเร็วเว็บไซต์ ของเรามีอยู่เพื่อไม่ให้คุณต้องเรียนรู้ ฐานข้อมูลเปรียบเทียบ แบบเจ็บปวด เราดูแลทั้งการตั้งค่า การเฝ้าดู และเรื่องกะทันหันตอนตีสาม

คุยกับช่างเทคนิค

เซิร์ฟเวอร์มีปัญหา? เว็บถูกแฮก? โหลดช้า?

ตอบสนองเหตุกรณ์ฉุกเฉินใน 30 นาที — ตลอด 24 ชั่วโมง ทุกวัน

ขอความช่วยเหลือฉุกเฉิน support@kinetikatech.com