ฐานข้อมูลเปรียบเทียบ
MongoDB: เอกสาร ไม่ใช่หลักคำสอน
MongoDB ทำให้ร้านเอกสารที่ปรับขนาดในแนวนอนเป็นที่นิยม และเรื่องราวตั้งแต่นั้นมาก็มีระเบียบวินัยในการออกแบบสคีมา โมเดลชุดแบบจำลองที่ง่ายกว่าการตั้งค่า SQL HA ส่วนใหญ่ และการออกใบอนุญาต (SSPL) ที่ขับเคลื่อนการโฮสต์ด้วยตนเองไปข้างหน้าอย่างเห็นได้ชัด มันชนะสำหรับรูปร่างข้อมูลเฉพาะ และการเปรียบเทียบ nosql-vs-sql และ postgresql-vs-mongodb ของเราครอบคลุมข้อโต้แย้ง นี่เป็นผลงานเฉพาะเมื่อเครื่องยนต์สมควรได้รับแท่น
ประเด็นสำคัญ
- เอกสาร BSON ให้ความยืดหยุ่นของสคีมาอย่างจงใจ ซึ่งหมายความว่าระเบียบวินัยในการออกแบบสคีมาจะเปลี่ยนจากไฟล์การโยกย้ายเป็นค่าเริ่มต้นของแอปพลิเคชัน: เอกสารที่ฝังไว้สำหรับรูปแบบการอ่านหลายรายการเทียบกับการอ้างอิงสำหรับความสัมพันธ์แบบหนึ่งต่อหลายยังคงเป็นการตัดสินใจที่สร้างหรือทำลายประสิทธิภาพ
- ไปป์ไลน์การรวมกลุ่มเป็นที่ที่งานวิเคราะห์ดำเนินอยู่: ขั้นตอนที่สร้างขึ้นตามวัตถุประสงค์ (การจับคู่ กลุ่ม การค้นหา ผ่อนคลาย) แทนที่การลดแผนที่เฉพาะกิจ สำหรับการวิเคราะห์การปฏิบัติงานส่วนใหญ่ การรวมกลุ่มและดัชนีจะเหนือกว่าข้อมูลการจัดส่งไปยังคลังสินค้า
- ชุดแบบจำลองจัดการ HA ทั่วไปได้ในราคาถูก: หนึ่งรายการหลักบวกรายการรองที่มีการเฟลโอเวอร์อัตโนมัติและการตั้งค่าการอ่าน การแบ่งส่วนเป็นคุณลักษณะข้อมูลแบบกระจายที่แท้จริงสำหรับปริมาณงานที่มีขนาดการเขียน แต่มีน้ำหนักในการปฏิบัติงาน (การปรับสมดุลแบบก้อน, คีย์ส่วนแบ่งข้อมูล) ที่อยู่ในการตรวจสอบการออกแบบ ไม่ใช่การปรับปรุงเพิ่มเติม
- การจัดทำดัชนี TTL และคอลเลกชันอนุกรมเวลาครอบคลุมกรณีการใช้งาน 'บันทึกและตัวชี้วัด' โดยธรรมชาติ: การเก็บรักษาแบบจำกัดโดยไม่มีการลบ cron เอกสาร และพื้นที่จัดเก็บอนุกรมเวลาที่สร้างขึ้นตามวัตถุประสงค์สำหรับการนำเข้าตัวชี้วัดความถี่สูง
- ความแตกต่างในการปฏิบัติงาน: ไม่มีความเท่าเทียมกันระหว่างการบำรุงรักษา-สุญญากาศ แต่อัตราการรีเฟรชและการรวมตัวเลือกที่เลื่อนออกไป (การตรวจสอบสคีมาผ่านเครื่องมือตรวจสอบความถูกต้อง ธุรกรรมตั้งแต่ 4.x) มีความสำคัญ ไดรเวอร์ ดัชนี ความกดดันของหน่วยความจำจะแสดงเป็นแผนการสืบค้น (อธิบาย) แทนที่จะเป็นบันทึกการสืบค้นที่ช้า
- การออกใบอนุญาตที่ซื่อสัตย์: รุ่นชุมชนได้รับใบอนุญาต SSPL ซึ่งบางแพลตฟอร์มของผู้จำหน่ายที่ได้รับการจัดการไม่รวมอยู่ด้วย Atlas เป็นเส้นทางที่ผู้ขายสนับสนุน และการโฮสต์ด้วยตนเองยังคงพบเห็นได้ทั่วไปในการปรับใช้แบบคอนเทนเนอร์ซึ่ง SSPL เป็นที่ยอมรับได้
บันทึกจากหน้างาน
รูปแบบการหยุดทำงานของ MongoDB ที่สอนลูกค้าของเรามากที่สุดนั้นเหมือนเดิมเสมอ: ชาร์ดคีย์ที่ได้รับการตัดสินใจระหว่างการสร้างต้นแบบจะขยายไปสู่การใช้งานจริง และชาร์ดใหม่จะกลายเป็นโปรเจ็กต์ Shard Keys คือการตัดสินใจทางสถาปัตยกรรม ไม่ใช่โบราณคดี Mongo
คำถามที่พบบ่อย
MongoDB เป็นสิ่งทดแทนที่ดีสำหรับฐานข้อมูลเชิงสัมพันธ์หรือไม่?
สำหรับข้อมูลการดำเนินงานแบบซ้อน blob อย่างถูกต้องในบางครั้ง สำหรับการออกแบบเชิงสัมพันธ์แบบรวมหนัก ไม่: ความสมบูรณ์ของการอ้างอิงคืองานของแอปของคุณที่นี่ บทความ nosql-vs-sql ของเราครอบคลุมถึงกฎการตัดสินใจที่ซื่อสัตย์
ฉันจะจัดการการย้ายข้อมูลระหว่างเอกสารที่เปลี่ยนแปลงสคีมาได้อย่างไร
ด้วยการเพิ่มระเบียบวินัยในการกำหนดเวอร์ชันสคีมาด้วยตัวคุณเอง: ตัวตรวจสอบและฟิลด์เวอร์ชัน รวมถึงสคริปต์การย้ายข้อมูลแบบกำหนดเป้าหมาย ไม่มี ALTER TABLE ที่จะพึ่งพา
แล้วใบอนุญาต (SSPL) สำหรับผู้ให้บริการ SaaS ล่ะ?
คุณสามารถโฮสต์ด้วยตนเองและให้บริการการใช้งานคลาวด์เป็นที่เก็บข้อมูลแอปพลิเคชัน แต่ในฐานะบริการที่นำเสนอนั้นเป็นอีกเรื่องหนึ่ง ตรวจสอบเงื่อนไขทางการค้าก่อนที่จะเสนอโฮสติ้งทางเลือก Atlas ให้กับลูกค้า
ทำไมชาร์ดคีย์ถึงเป็นเรื่องใหญ่ขนาดนี้?
เนื่องจากการกำหนดเส้นทาง การปรับสมดุล และความสัมพันธ์ของการสืบค้นเกิดขึ้นหลังจากตัวเลือกการแบ่งส่วน: การแบ่งส่วนระบบที่ใช้งานจริงในภายหลังถือเป็นการดำเนินการจริง
Kinetikatech ช่วยเรื่อง ฐานข้อมูลเปรียบเทียบ ได้อย่างไร
พูดตรง ๆ ว่าทีมส่วนใหญ่มาหาเราหลังลองทำเองมาแล้ว: ตัวเลือกกลไกฐานข้อมูลสำหรับการโฮสต์ปริมาณงาน เปรียบเทียบกับการรับประกันความถูกต้อง น้ำหนักในการปฏิบัติงาน และต้นทุนจริง: กลไกแบบฝังเทียบกับเซิร์ฟเวอร์, MySQL กับ PostgreSQL, SQL กับที่เก็บเอกสาร รวมถึงกรณีศึกษาแบบเดิมที่กลับมาใช้อีกเรื่อยๆ บริการ การจัดการเซิร์ฟเวอร์และการเพิ่มความเร็วเว็บไซต์ ของเรามีอยู่เพื่อไม่ให้คุณต้องเรียนรู้ ฐานข้อมูลเปรียบเทียบ แบบเจ็บปวด เราดูแลทั้งการตั้งค่า การเฝ้าดู และเรื่องกะทันหันตอนตีสาม