Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure DocumentDB dibangun di DocumentDB, platform database dokumen sumber terbuka. Artikel ini menyediakan gambaran umum DocumentDB, fitur, arsitektur, dan bagaimana Anda dapat berkontribusi atau menggunakan teknologi ini.
Apa itu DocumentDB?
DocumentDB adalah platform sumber terbuka yang sepenuhnya permisif untuk penyimpanan data dokumen yang dibangun di mesin PostgreSQL. Ini berfungsi sebagai fondasi untuk Azure DocumentDB, menyediakan solusi yang kuat dan fleksibel untuk kebutuhan database NoSQL.
DocumentDB adalah Implementasi MongoDB yang Benar-benar Open-Source
Tidak seperti mesin MongoDB lainnya dengan lisensi terbatas seperti SSPL, DocumentDB menggunakan lisensi MIT permisif. Ini berarti pengembang memiliki kebebasan penuh untuk menggunakan, memodifikasi, dan mendistribusikan perangkat lunak tanpa biaya lisensi komersial atau batasan penggunaan. Berbeda dengan Lisensi Publik Sisi Server (SSPL) MongoDB, yang dapat membatasi penggunaan tertentu, lisensi MIT DocumentDB menjamin kebebasan sumber terbuka yang sebenarnya.
DocumentDB adalah multicloud dan tidak bergantung pada satu penyedia.
DocumentDB menyediakan solusi portabel dan dapat dioperasikan untuk penyimpanan data dokumen. Dibangun di PostgreSQL, memungkinkan pengembang untuk menyebarkan aplikasi mereka di berbagai penyedia cloud atau lokal, menghindari penguncian vendor. Fleksibilitas ini memberdayakan organisasi untuk memilih infrastruktur terbaik untuk kebutuhan mereka tanpa mengorbankan kemampuan database.
DocumentDB Dibangun di atas PostgreSQL, suatu perubahan besar untuk basis data NoSQL
Karena perbedaan antara NoSQL dan database relasional menjadi semakin kabur, DocumentDB menjembatani kesenjangan ini untuk memberikan pengalaman penggunaan database dokumen yang unggul untuk sebagian besar beban kerja yang memerlukan skalabilitas. Ini menggabungkan kekuatan kedua belah pihak, menawarkan fleksibilitas dan skalabilitas yang biasanya terkait dengan database NoSQL, sambil memanfaatkan kekuatan dan set fitur postgreSQL yang luas - salah satu database sumber terbuka yang paling diadopsi dan dihormati saat ini. Fondasi ini memberikan ketahanan, keandalan, dan akses ke ekosistem alat dan ekstensi PostgreSQL. Pengembang dapat memperoleh manfaat dari evolusi berkelanjutan PostgreSQL dan dukungan komunitas yang luas sambil menikmati fleksibilitas database dokumen.
Fitur Utama
DocumentDB menawarkan beberapa fitur utama yang menjadikannya pilihan yang kuat untuk operasi database dokumen:
- Penguraian dan manipulasi dokumen BSON: Menangani dokumen Binary JSON (BSON) secara efisien pada semua tingkat perindian.
- Kemampuan pengindeksan tingkat lanjut: Dukungan untuk bidang tunggal, multi-kunci, gabungan, teks, dan indeks geospasial.
- Kueri pencarian vektor: Didukung oleh ekstensi pg_vector PostgreSQL, memungkinkan berbagai aplikasi AI dan pembelajaran mesin.
- Mekanisme autentikasi: Termasuk autentikasi SCRAM (Mekanisme Autentikasi Respons Tantangan Asin).
- Kueri geospasial: Menggunakan kemampuan ekstensi PostGIS.
- Dukungan Desimal128 Penuh: Didukung oleh Intel Floating Point Math Library.
- Dukungan regex: Memanfaatkan Proyek PCRE2
Architecture
DocumentDB terdiri dari dua komponen utama:
- pg_documentdb_core: Ekstensi PostgreSQL kustom yang mengoptimalkan dukungan jenis data BSON di PostgreSQL.
- pg_documentdb_api: Bidang data yang menerapkan operasi CRUD, fungsionalitas kueri, dan manajemen indeks.
Arsitektur ini memungkinkan untuk membangun pengalaman pengguna database NoSQL end-to-end di atas mesin PostgreSQL.
Berkontribusi pada DocumentDB
Sebagai proyek sumber terbuka, DocumentDB menyambut kontribusi dari komunitas. Anda dapat berkontribusi dengan:
- Memberi bintang, membuat fork, dan mengajukan pull request di GitHub
- Melaporkan masalah atau menyarankan peningkatan
- Berpartisipasi dalam diskusi di saluran #documentdb di server Microsoft OSS Discord
Panduan Memulai dengan DocumentDB
Untuk mulai menggunakan DocumentDB secara lokal:
2. Mengklon repositori DocumentDB.
git clone https://github.com/documentdb/documentdb.git
3. Buat gambar Docker. Navigasikan ke repositori kloning.
docker build . -f .devcontainer/Dockerfile -t documentdb
4. Jalankan gambar Docker sebagai kontainer.
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash
5. Bangun dan sebarkan biner.
cd code
make
sudo make install
6. Inisialisasi server DocumentDB dan kelola dependensi.
./scripts/start_oss_server.sh -t documentdb
7. Sambungkan ke shell psql.
psql -p 9712 -h localhost -d postgres
Setelah mengikuti langkah-langkah ini, Anda sekarang siap untuk menggunakan DocumentDB secara lokal.
FAQs
Apa itu DocumentDB dan bagaimana hubungannya dengan Azure DocumentDB?
DocumentDB adalah platform sumber terbuka yang sepenuhnya permisif untuk penyimpanan data dokumen yang dibangun di mesin PostgreSQL. Ini berfungsi sebagai fondasi untuk Azure DocumentDB, menyediakan solusi yang kuat dan fleksibel untuk kebutuhan database NoSQL.
Bagaimana lisensi DocumentDB dibandingkan dengan implementasi MongoDB lainnya?
DocumentDB menggunakan lisensi MIT permisif, yang memungkinkan pengembang menyelesaikan kebebasan untuk menggunakan, memodifikasi, dan mendistribusikan perangkat lunak tanpa biaya lisensi komersial atau pembatasan penggunaan. Ini berbeda dengan beberapa Lisensi Publik Sisi Server (SSPL) penyedia MongoDB, yang dapat membatasi penggunaan tertentu.
Dapatkah DocumentDB digunakan di berbagai penyedia cloud?
Ya, DocumentDB adalah multicloud dan tidak bergantung pada penyedia tertentu. Dibangun di PostgreSQL, memungkinkan pengembang untuk menyebarkan aplikasi mereka di berbagai penyedia cloud atau lokal, menghindari penguncian vendor dan memberikan fleksibilitas dalam memilih infrastruktur terbaik untuk kebutuhan mereka.
Apa saja fitur utama DocumentDB?
DocumentDB menawarkan beberapa fitur utama, termasuk penguraian dan manipulasi dokumen BSON, kemampuan pengindeksan tingkat lanjut (bidang tunggal, multi-kunci, majemuk, teks, dan geospasial), kueri pencarian vektor yang didukung oleh pg_vector, mekanisme autentikasi termasuk SCRAM, kueri geospasial menggunakan PostGIS, dukungan Desimal128 penuh, dan dukungan regex menggunakan PCRE2.
Bagaimana pengembang dapat berkontribusi pada DocumentDB?
Pengembang dapat berkontribusi pada DocumentDB dengan membintangi, membuat fork, dan mengirimkan permintaan penarikan di GitHub, melaporkan masalah atau menyarankan peningkatan, dan berpartisipasi dalam diskusi di saluran #documentdb di server Discord Microsoft OSS.