Memahami database NoSQL terdistribusi

BERLAKU UNTUK: Nosql MongoDB Cassandra Gremlin Meja

Azure Cosmos DB adalah platform database yang didistribusikan secara global untuk NoSQL dan database relasional dalam skala apa pun. Artikel ini mengeksplorasi database NoSQL terdistribusi dalam konteks berbagai opsi API NoSQL Azure Cosmos DB.

Untuk informasi selengkapnya tentang opsi penyimpanan data lainnya di Azure, lihat memilih penyimpanan data yang tepat di Azure Architecture Center.

Tantangan

Salah satu tantangan saat mempertahankan sistem database adalah banyak mesin database menerapkan kunci dan kait untuk menegakkan semantik ACID yang ketat. Pendekatan ini bermanfaat dalam skenario di mana database membutuhkan konsistensi tinggi dari status data tidak peduli bagaimana data diakses. Meskipun pendekatan ini menjanjikan konsistensi tinggi, pendekatan ini membuat trade-off berat sehubungan dengan konkurensi, latensi, dan ketersediaan. Pembatasan ini pada dasarnya adalah pembatasan arsitektur dan akan memaksa tim mana pun dengan beban kerja transaksi yang tinggi untuk menemukan solusi seperti mendistribusikan secara manual, atau memecah, data di banyak database atau node database yang berbeda. Solusi ini dapat memakan waktu dan menantang untuk diterapkan.

Database NoSQL

Database NoSQL mengacu pada database yang dirancang untuk menyederhanakan penskalaan horizontal dengan menyesuaikan konsistensi untuk meminimalkan trade-off ke konkurensi, latensi, dan ketersediaan. Database NoSQL menawarkan tingkat konsistensi yang dapat dikonfigurasi sehingga data dapat diskalakan di banyak simpul dan menawarkan kecepatan atau ketersediaan yang dipetakan dengan lebih baik ke kebutuhan aplikasi Anda.

Database terdistribusi

Database terdistribusi mengacu pada database yang menskalakan di berbagai instans atau lokasi. Meskipun banyak database NoSQL dirancang untuk skala, tidak semua database yang harus didistribusikan. Bahkan lebih, banyak database NoSQL membutuhkan waktu dan upaya untuk mendistribusikan di seluruh simpul redundan untuk redundansi lokal atau secara global untuk geo-redundansi. Persyaratan perencanaan, implementasi, dan jaringan untuk database yang didistribusikan secara global bisa rumit.

Azure Cosmos DB

Dengan database terdistribusi yang juga merupakan database NoSQL, beban kerja transaksi yang tinggi tiba-tiba menjadi lebih mudah untuk dibangun dan dikelola. Azure Cosmos DB adalah platform database yang menawarkan API data terdistribusi dalam varian NoSQL dan relasional. Secara khusus, banyak API NoSQL menawarkan berbagai opsi konsistensi yang memungkinkan Anda menyempurnakan tingkat konsistensi atau ketersediaan yang memenuhi persyaratan aplikasi dunia nyata Anda. Database Anda dapat dikonfigurasi untuk menawarkan konsistensi tinggi dengan tradeoff untuk kecepatan dan ketersediaan. Demikian pula, database Anda dapat dikonfigurasi untuk menawarkan performa terbaik dengan tradeoff yang dapat diprediksi untuk konsistensi dan latensi data yang direplikasi. Azure Cosmos DB akan mendistribusikan data Anda secara otomatis dan dinamis di seluruh instans lokal atau secara global. Azure Cosmos DB juga dapat memberikan jaminan ACID dan throughput skala untuk memetakan kebutuhan aplikasi Anda.

Langkah berikutnya

Ingin mulai menggunakan Azure Cosmos DB?