Memahami database relasional terdistribusi

BERLAKU UNTUK: Azure Cosmos DB for PostgreSQL (didukung oleh ekstensi database Citus ke PostgreSQL)

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

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

Tantangan

Sering kali ketika Anda membaca tentang volume besar atau beban kerja transaksi yang tinggi, mudah untuk berpikir bahwa beban kerja ini jauh lebih besar daripada yang mungkin dihadapi aplikasi Anda. Asumsi bahwa beban kerja Anda akan tetap kecil dapat menjadi asumsi yang aman di awal proyek, ide, atau organisasi. Namun, asumsi tersebut dapat dengan cepat menyebabkan skenario di mana beban kerja aplikasi Anda tumbuh jauh di luar prediksi apa pun yang telah Anda buat. Tidak jarang mendengar cerita beban kerja yang memenuhi throughput maksimum atau daya pemrosesan database instans tunggal yang ekonomis dan berkinerja di awal proyek.

Database Relasional

Database relasional menata data ke dalam format tabular (baris/kolom) dengan hubungan antara tabel yang berbeda dalam database. Database relasional umum di berbagai perusahaan. Perusahaan-perusahaan ini sering memiliki banyak pengembang perangkat lunak yang telah menulis kode terhadap database relasional atau administrator yang merancang skema dan mengelola platform database relasional. Database relasional juga sering mendukung transaksi dengan jaminan ACID.

Sayangnya, banyak sistem database relasional awalnya dikonfigurasi oleh organisasi dengan cara simpul tunggal dengan batasan atas pada sumber daya komputasi, memori, dan jaringan. Konteks ini dapat menyebabkan asumsi yang salah bahwa semua database relasional adalah simpul tunggal berdasarkan sifatnya.

Database terdistribusi

Dengan banyak whitepaper cloud-native, biasanya mendengar tentang manfaat database NoSQL sehingga sepertinya database relasional bukanlah pilihan yang masuk akal untuk database skala besar atau beban kerja terdistribusi. Meskipun banyak database terdistribusi non-relasional, itu adalah opsi di luar sana untuk beban kerja database relasional terdistribusi.

Banyak dari opsi ini untuk database relasional terdistribusi mengharuskan organisasi Anda merencanakan skala besar dan distribusi dari awal proyek. Persyaratan perencanaan ini dapat menambah kompleksitas yang signifikan di awal proyek untuk memastikan semua simpul server yang relevan dikonfigurasi, dikelola, dan dikelola oleh tim Anda. Persyaratan perencanaan, implementasi, dan jaringan untuk database relasional yang didistribusikan secara global dapat dengan mudah tumbuh menjadi jauh lebih kompleks daripada berdiri dalam satu instans (atau simpul).

Azure Cosmos DB

Azure Cosmos DB adalah platform database yang menawarkan API data terdistribusi dalam varian NoSQL dan relasional. Secara khusus, API relasional untuk Azure Cosmos DB didasarkan pada PostgreSQL dan ekstensi Citus.

Citus adalah ekstensi PostgreSQL yang menambahkan dukungan ke Postgres untuk distribusi data dan transaksi. Azure Cosmos DB for PostgreSQL adalah layanan yang dikelola sepenuhnya, menggunakan Citus, yang secara otomatis memberi Anda ketersediaan tinggi tanpa perlu merencanakan, mengelola, dan memelihara node server individual secara manual. Dengan API untuk PostgreSQL, Anda dapat memulai dengan kluster simpul tunggal yang dikelola sepenuhnya, membangun solusi database Anda dan kemudian menskalakannya dengan cara turnkey saat kebutuhan aplikasi Anda tumbuh dari waktu ke waktu. Dengan API untuk PostgreSQL, tidak perlu merencanakan proyek distribusi yang kompleks terlebih dahulu atau merencanakan proyek untuk memigrasikan data Anda dari simpul tunggal ke database terdistribusi di jalan.

Langkah berikutnya

Ingin mulai menggunakan Azure Cosmos DB?