บทความนี้อธิบาย MongoDB ผ่านรูปแบบเอกสาร การขยายระบบ และแนวทางเลือกดัชนี เพื่อช่วยตั้งคำถามก่อนนำฐานข้อมูลไปใช้กับแอปพลิเคชันจริง
MongoDB คืออะไร
MongoDB เป็นฐานข้อมูลแบบเอกสาร โดยแต่ละ document ประกอบด้วยคู่ฟิลด์และค่า มีรูปแบบคล้าย JSON และสามารถมีเอกสารซ้อนหรืออาร์เรย์ได้ เอกสารถูกจัดอยู่ใน collection ซึ่งรองรับโครงสร้างที่แตกต่างกันได้ (อ้างอิง: MongoDB Manual: Document Database)
จุดเด่นที่ควรรู้
MongoDB รองรับการขยายแนวนอนด้วย sharding และการทำสำเนาข้อมูลเพื่อความพร้อมใช้งาน อีกทั้งรองรับธุรกรรมแบบ ACID ครอบคลุมหลาย document จึงไม่ควรเข้าใจว่าฐานข้อมูลเอกสารไม่มีธุรกรรม (อ้างอิง: MongoDB Manual: Core Architecture)
เหมาะกับงานแบบไหน
ตัวอย่างโจทย์ที่ผู้เขียนเสนอให้ทดลองคือแคตตาล็อกสินค้าที่สินค้าแต่ละประเภทมีรายละเอียดต่างกัน เริ่มออกแบบ document จากข้อมูลที่จะอ่านและแก้ไขจริง แล้วทดสอบกับขนาดข้อมูลใกล้เคียงงานที่จะใช้ ก่อนตัดสินใจเลือกฐานข้อมูล
ข้อควรระวัง
เอกสาร MongoDB แนะนำให้วางดัชนีตามรูปแบบ query สัดส่วนการอ่านต่อการเขียน และหน่วยความจำ พร้อมทดสอบหลายแบบกับข้อมูลใกล้เคียงระบบจริง เพราะดัชนีมีต้นทุนด้านประสิทธิภาพด้วย (อ้างอิง: MongoDB Manual: Indexing Strategies) ข้อเสนอแนะของผู้เขียนคือเตรียมแผนสำรองข้อมูล ทดสอบการกู้คืน และกำหนดสิทธิ์เข้าถึงควบคู่กับการออกแบบข้อมูล