MangoDB: ทางเลือกโอเพ่นซอร์สสำหรับ MongoDB

MongoDB เป็นระบบฐานข้อมูล NoSQLเชิงเอกสารที่เปลี่ยนแปลงชีวิตสำหรับนักพัฒนาจำนวนมาก ทำให้พวกเขาสร้างแอปพลิเคชันได้เร็วกว่าฐานข้อมูลเชิงสัมพันธ์ อย่างไรก็ตาม MongoDB ได้ละทิ้งรูทโอเพ่นซอร์สโดยเปลี่ยนใบอนุญาตเป็น SSPL ทำให้ไม่สามารถใช้งานได้สำหรับโครงการเชิงพาณิชย์และโอเพ่นซอร์สจำนวนมาก

ก่อนหน้านี้มีการนำเสนอ MangoDB ซึ่งเป็นโซลูชั่นที่สมบูรณ์แบบ สำหรับผู้ที่มองหาประสบการณ์การพัฒนา MongoDB เนื่องจาก MangoDB เสนอเลเยอร์ที่มีการใช้งานเชิงเอกสารของโปรโตคอล MongoDB ซึ่งทำงานบน PostgreSQL

โครงการ มีเป้าหมายเพื่อให้ความสามารถในการโยกย้ายแอปพลิเคชัน MongoDB ไปยัง PostgreSQL และชุดซอฟต์แวร์แบบเปิดอย่างสมบูรณ์ รหัสนี้เขียนด้วยภาษา Go และเผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0

โปรดทราบว่า MongoDB เป็นระบบจัดการฐานข้อมูลเชิงเอกสาร สามารถแจกจ่ายผ่านคอมพิวเตอร์จำนวนเท่าใดก็ได้ และไม่ต้องการ data schema ที่กำหนดไว้ล่วงหน้า ซึ่งอนุญาตให้จัดการวัตถุที่มีโครงสร้างในรูปแบบ BSON (ไบนารี JSON) โดยไม่มีสคีมาเริ่มต้น

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

ใบอนุญาตสาธารณะฝั่งเซิร์ฟเวอร์ (SSPL) เป็นลิขสิทธิ์ซอฟต์แวร์ที่เป็นกรรมสิทธิ์ซึ่งพัฒนาโดย MongoDB Inc. ตาม MongoDB SSPL ขึ้นอยู่กับใบอนุญาต AGPL3 โดยมีการเพิ่มส่วนใหม่ที่ "กำหนดเงื่อนไขสำหรับการเผยแพร่โปรแกรมที่ได้รับอนุญาตอย่างชัดเจนและชัดเจนในฐานะบริการของบุคคลที่สาม" โดยกำหนดให้ซอร์สโค้ดทั้งหมดพร้อมใช้งานเมื่อ ซอฟต์แวร์เผยแพร่สู่สาธารณะโดยเป็นส่วนหนึ่งของบริการ

การเปลี่ยนแปลงนี้ เปิดตัวในเดือนตุลาคม 2018 ซึ่ง Debian, Red Hat Enterprise Linux และ Fedora ได้ละทิ้ง MongoDB อ้างถึงความกังวลเกี่ยวกับ SSPL Amazon เปิดตัวบริการที่ได้รับการสนับสนุนแต่เป็นกรรมสิทธิ์ซึ่งเรียกว่า DocumentDB และดูเหมือนว่า SSPL ไม่สามารถเพิ่มรายได้จากระบบคลาวด์สำหรับ MongoDB ได้ ผู้ใช้ MongoDB ส่วนใหญ่ไม่ต้องการคุณสมบัติขั้นสูงมากมายที่ MongoDB นำเสนอ แต่พวกเขาต้องการโซลูชันฐานข้อมูลโอเพ่นซอร์ส และนี่คือจุดเริ่มต้นของ MangoDB

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

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

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

ความจำเป็นในการหลีกเลี่ยงการใช้ MongoDB DBMS อาจเกิดขึ้นเนื่องจากการเปลี่ยนโปรเจ็กต์เป็นสิทธิ์ใช้งาน SSPL ที่ไม่เสียค่าใช้จ่าย ซึ่งอิงตามใบอนุญาต AGPLv3 แต่ไม่เปิด เนื่องจากมีข้อกำหนดการเลือกปฏิบัติในการจัดหาภายใต้ SSPL ไม่เพียงแต่โค้ดของแอปพลิเคชันเท่านั้น แต่ยังรวมถึงซอร์สโค้ดของส่วนประกอบทั้งหมดที่เกี่ยวข้องในการจัดหาบริการคลาวด์ด้วย

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม เกี่ยวกับ MangoDB สามารถตรวจสอบรายละเอียดได้ ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา