ค้นหาเว็บไซต์

MongoDB คืออะไร? MongoDB ทำงานอย่างไร?


MongoDB คือระบบจัดการฐานข้อมูลแบบกระจายที่ใช้เอกสารแบบโอเพ่นซอร์ส ทันสมัย ใช้งานทั่วไป ได้รับการพัฒนา เผยแพร่ และสนับสนุนโดย MongoDB Inc เป็นฐานข้อมูลเอกสาร NoSQL (ไม่เชิงสัมพันธ์) ที่ทรงพลังและยืดหยุ่นและคล่องตัว ซึ่งจัดเก็บข้อมูลไว้ในเอกสารที่คล้ายกับ JSON (สัญลักษณ์วัตถุ JavaScript) วัตถุ MongoDB ทำงานบนระบบปฏิบัติการ Linux, Windows และ macOS

มาพร้อมกับชุดเครื่องมือที่ครอบคลุมเพื่อการจัดการข้อมูลที่ง่ายดาย และสร้างขึ้นเพื่อการพัฒนาแอปพลิเคชันสมัยใหม่และสำหรับระบบคลาวด์ และมีไว้สำหรับนักพัฒนา นักวิเคราะห์ข้อมูล และนักวิทยาศาสตร์ข้อมูล

MongoDB มีให้บริการในสองรุ่นที่แตกต่างกัน: MongoDB Community Server ซึ่งเป็นรุ่น MongoDB และ รุ่นที่พร้อมใช้งานและใช้งานได้ฟรี >MongoDB Enterprise Server ที่เป็นส่วนหนึ่งของการสมัคร MongoDB Enterprise Advanced

ดาวน์โหลด MongoDB

  • เซิร์ฟเวอร์ชุมชน MongoDB
  • เซิร์ฟเวอร์องค์กร MongoDB

MongoDB ทำงานอย่างไร?

MongoDB มีโครงสร้างบนโมเดลไคลเอ็นต์-เซิร์ฟเวอร์ โดยที่เซิร์ฟเวอร์ daemon ยอมรับการเชื่อมต่อจากไคลเอ็นต์ และประมวลผลการดำเนินการของฐานข้อมูลจากไคลเอ็นต์เหล่านั้น เซิร์ฟเวอร์จะต้องทำงานเพื่อให้ไคลเอนต์เชื่อมต่อและโต้ตอบกับฐานข้อมูล

การจัดเก็บข้อมูลภายใต้ MongoDB นั้นแตกต่างจากฐานข้อมูลแบบเดิม บันทึกใน MongoDB คือเอกสาร (โครงสร้างข้อมูลที่ประกอบด้วยช่องและคู่ของค่า คล้ายกับออบเจ็กต์ JSON) และเอกสารจะถูกจัดเก็บไว้ในคอลเลกชัน (คล้ายกับตารางใน RDBMS)

คุณสมบัติที่สำคัญของ MongoDB

ต่อไปนี้เป็นคุณสมบัติหลักของ MongoDB

  • MongoDB รองรับมุมมองแบบอ่านอย่างเดียวและมุมมองที่เป็นรูปธรรมตามความต้องการ นอกจากนี้ยังรองรับอาร์เรย์และอ็อบเจ็กต์ที่ซ้อนกันเนื่องจากค่าต่างๆ อนุญาตให้ใช้สคีมาที่ยืดหยุ่นและไดนามิก นอกจากนี้ยังรองรับกลไกการจัดเก็บข้อมูลหลายตัวและมี API กลไกการจัดเก็บข้อมูลแบบเสียบได้ที่คุณสามารถใช้เพื่อพัฒนากลไกการจัดเก็บข้อมูลของคุณ
  • MongoDB ได้รับการออกแบบมาเพื่อประสิทธิภาพสูงและความคงอยู่ของข้อมูล รองรับโมเดลข้อมูลที่ฝังไว้ซึ่งช่วยลดกิจกรรม I/O บนระบบฐานข้อมูล นอกจากนี้ ดัชนียังช่วยให้สามารถสืบค้นได้เร็วขึ้น และที่สำคัญสามารถรวมคีย์จากเอกสารและอาร์เรย์ที่ฝังไว้ได้
  • มาพร้อมกับภาษาคิวรีที่สมบูรณ์และมีประสิทธิภาพ (เพื่อรองรับการดำเนินการอ่านและเขียน) รองรับการรวบรวมข้อมูล และกรณีการใช้งานสมัยใหม่อื่นๆ เช่น การค้นหาข้อความ การค้นหากราฟ และการสืบค้นเชิงพื้นที่
  • โดยนำเสนอประสิทธิภาพของฐานข้อมูลเชิงสัมพันธ์โดยรองรับธุรกรรม ACID เต็มรูปแบบ การรวมในการสืบค้น และความสัมพันธ์สองประเภทแทนที่จะเป็นแบบเดียว: การอ้างอิงและแบบฝัง
  • MongoDB ยังรองรับความพร้อมใช้งานสูง โดยใช้เครื่องมือจำลองที่เรียกว่าชุดแบบจำลอง (กลุ่มของเซิร์ฟเวอร์ MongoDB ที่รักษาชุดข้อมูล จึงจัดให้มีการเฟลโอเวอร์อัตโนมัติ ข้อมูลสำรอง และความพร้อมใช้งาน) นอกจากนี้ยังมีการรองรับความสามารถในการปรับขนาดแนวนอนโดยที่ sharding กระจายข้อมูลผ่านคลัสเตอร์ของเซิร์ฟเวอร์ MongoDB
  • เพื่อรักษาความปลอดภัยในการใช้งานฐานข้อมูล MongoDB มีคุณลักษณะด้านความปลอดภัยต่างๆ เช่น การตรวจสอบสิทธิ์และการอนุญาต การควบคุมการเข้าถึง การเข้ารหัส TLS/SSL การตรวจสอบ และอื่นๆ
  • นอกจากนี้ยังมีรายการตรวจสอบความปลอดภัยซึ่งเป็นรายการมาตรการรักษาความปลอดภัยที่แนะนำซึ่งคุณต้องใช้เพื่อป้องกันการปรับใช้ MongoDB นอกจากนี้ ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มความปลอดภัยที่เลเยอร์เครือข่ายและเซิร์ฟเวอร์

ไคลเอนต์ MongoDB และเครื่องมือ

นอกจากนี้ MongoDB ยังมาพร้อมกับคำสั่งฐานข้อมูลและเครื่องมือที่มีประโยชน์ในการตรวจสอบประสิทธิภาพ เช่น mongostat, mongotop และอื่นๆ ที่ช่วยให้คุณดู สถิติแบบเรียลไทม์เกี่ยวกับสถานะของอินสแตนซ์ MongoDB ที่ทำงานบน localhost

หากต้องการรวมแอปพลิเคชันหรือระบบภายนอกของคุณเข้ากับฐานข้อมูล MongoDB คุณสามารถใช้ตัวเชื่อมต่อและไลบรารีอย่างเป็นทางการรายการใดรายการหนึ่งได้ มีไลบรารีที่สนับสนุนโดยชุมชนเช่นกัน เช่น libmongo-client สำหรับ C, Djongo สำหรับ Django, mgo สำหรับ Go, Mango สำหรับ Perl, และ MongoEngine, MongoKit และอื่นๆ สำหรับ Python และอื่นๆ อีกมากมาย

ใครใช้ MongoDB บ้าง?

มีรายงานว่าบริษัทต่างๆ ใช้ MongoDB ในกลุ่มเทคโนโลยีของตน รวมถึง Google, Facebook, EA Sports, Adobe, Uber, Cisco, Verizon และอื่นๆ อีกมากมาย

บทความที่เป็นประโยชน์เกี่ยวกับ MariaDB มีดังนี้

  • วิธีการติดตั้ง MongoDB บน Ubuntu 18.04
  • ติดตั้ง MongoDB Community Edition 4.0 บน Linux
  • วิธีการติดตั้ง MongoDB 4 ใน CentOS 8
  • วิธีติดตั้ง MongoDB 4 บน Debian 10