MongoDB เป็นฐานข้อมูลแบบเอกสารทั่วไปที่กระจายไปยังฐานข้อมูลหลายอัน ซึ่งเป็นผลิตภัณฑ์ที่ตั้งอยู่ระหว่างฐานข้อมูลสัมพัทธ์และฐานข้อมูลที่ไม่ใช่สัมพัทธ์ (NoSQL) มันเป็นฐานข้อมูลที่มีคุณสมบัติที่สุดและคล้ายกับฐานข้อมูลที่เป็นสัมพัทธ์มากที่สุดในฐานข้อมูลที่ไม่ใช่สัมพัทธ์
ตัวอย่างของเอกสาร MongoDB
{
"_id": "5cf0029caff5056591b0ce7d",
"ชื่อ": "เจน",
"นามสกุล": "อู",
"ที่อยู่": {
"ถนน": "ถนนวงเวียน 1",
"เมือง": "ลอสแองเจลิส",
"รัฐ": "CA",
"รหัสไปรษณีย์": "90404"
},
"งานอดิเรก": ["serfing", "การเขียนโปรแกรม"]
}
ไม่มีอะไรพิเศษ เป็นข้อมูล JSON ที่ไม่มีความแตกต่างจากข้อมูล JSON นี้ที่เก็บไว้ใน MongoDB เนื่องจากการเก็บข้อมูลในรูปแบบ JSON ทำให้รูปแบบข้อมูลที่เก็บไว้ใน MongoDB มีความยืดหยุ่นมากมาย ต่างจาก MySQL ที่ต้องมีโครงสร้างตารางที่คงที่ นี่หมายความว่าคุณสามารถเพิ่มหรือลบฟิลด์ได้ตลอดเวลาและความเร็วก็จะสูงอีกด้วย
เกร็ด: หากธุรกิจของคุณไม่มีความต้องการสูงสำหรับธุรกรรมที่ซับซ้อน การเชื่อมต่อ และความทันสมัยของข้อมูล และคุณแค่ตามหาความเร็วในการอ่านและเขียนข้อมูล การโหลดและเขียนข้อมูลที่สูง รูปแบบการจัดเก็บที่ยืดหยุ่นและเสรีและไม่ต้องการกำหนดโครงสร้างตารางล่วงหน้า MongoDB เป็นตัวเลือกที่ดี
ลักษณะของ MongoDB
ประสิทธิภาพสูง
MongoDB มีการบันทึกข้อมูลที่ดีและมีประสิทธิภาพสูง
- การใช้แบบจำลองข้อมูลที่ฝังอยู่สามารถลดการดำเนินการ I/O ของระบบฐานข้อมูลได้
- รองรับการสร้างดัชนีเพื่อให้ความมีประสิทธิภาพสูง และฟิลด์ที่มีดัชนีสามารถเป็นฟิลด์ของเอกสารที่ฝังอยู่หรือคีย์ของอาร์เรย์
ภาษาคิวรี่ที่มีความหลากหลาย
MongoDB รองรับชุดคิวรี่ที่หลากหลายเพื่อตอบสนองต่อธุรกิจที่แตกต่างกัน
รองรับการคิวรี่ทางพิกัล
สำหรับธุรกิจ O2O และธุรกิจที่เกี่ยวข้องกับสถานที่ จำเป็นต้องการคิวรี่ทางพิกัลอย่างจริงจัง เช่น การคิวรี่ร้านค้าใกล้เคียง บุคคลใกล้เคียง หรือการกำหนดว่าคุณอยู่ในเขตธุรกิจ ทั้งหมดนี้จำเป็นต้องการการสนับสนุนการแสดงค่าพิกัล
ความพร้อมใช้ที่สูง
เซตของการคัดลอกของ MongoDB มี
- การตัดการต่ออัตโนมัติ
- ความซ้ำซ้อนข้อมูล
เซ็ตของการคัดลอกคือกลุ่มของตัวอินสแตนซ์มองกอดที่รักษาชุดข้อมูลเดียวกัน ซึ่งมุ่งเน้นการความซ้ำซ้อนข้อมูลและการสนับสนุนความพร้อมใช้ที่สูง
การขยายรายกระจาย
MongoDB รองรับการขยายรายข้าง โดยใช้การแยกชิ้นข้อมูล ข้อมูลถูกกระจายไปยังกลุ่มเครื่องจักร