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 menawarkan kemampuan untuk menskalakan kluster baik secara vertikal maupun horizontal. Meskipun tingkat kluster Compute dan disk Storage secara fungsional bergantung satu sama lain, skalabilitas dan biaya komputasi serta penyimpanan tetap terpisah.
Skala Vertikal
Penskalakan vertikal menawarkan manfaat berikut:
- Tim aplikasi mungkin tidak selalu memiliki jalur yang jelas untuk memecah data mereka secara logis. Selain itu, sharding logis didefinisikan per koleksi data. Dalam himpunan data dengan beberapa koleksi yang tidak dipartisi, pemodelan data untuk mempartisi data dapat dengan cepat menjadi tugas yang membosankan. Cukup meningkatkan skala kluster dapat menghindari kebutuhan akan sharding logis sambil memenuhi kebutuhan penyimpanan dan komputasi aplikasi yang terus meningkat.
- Penskalaan vertikal tidak memerlukan penyeimbangan ulang data. Jumlah pecahan fisik tetap sama dan hanya kapasitas kluster yang ditingkatkan tanpa dampak ke aplikasi.
- Peningkatan dan penurunan skala dilakukan tanpa waktu henti dan tanpa gangguan pada layanan. Tidak ada perubahan aplikasi yang diperlukan dan operasi status stabil dapat terus tidak diganggu.
- Sumber daya komputasi juga dapat diturunkan skalanya selama jendela waktu aktivitas rendah yang diketahui. Selain itu, mengurangi skala menghindari kebutuhan untuk menyeimbangkan ulang data di lebih sedikit pecahan fisik dan merupakan operasi tanpa waktu henti tanpa mengganggu layanan. Di sini juga, tidak ada perubahan aplikasi yang diperlukan setelah menurunkan skala kluster.
- Yang terpenting, komputasi dan penyimpanan dapat diskalakan secara independen. Jika lebih banyak inti dan memori diperlukan, ukuran disk dapat dibiarkan apa adanya dan tingkat kluster dapat ditingkatkan skalanya. Sama halnya, jika lebih banyak penyimpanan dan IOPS diperlukan, tingkat kluster dapat dibiarkan apa adanya dan ukuran penyimpanan dapat ditingkatkan secara independen. Jika diperlukan, komputasi dan penyimpanan dapat diskalakan secara independen untuk mengoptimalkan persyaratan setiap komponen secara individual, tanpa persyaratan elastisitas komponen yang memengaruhi yang lain.
Skala horizontal
Akhirnya, aplikasi tumbuh ke titik di mana penskalaan secara vertikal tidak cukup. Persyaratan beban kerja dapat tumbuh di luar kapasitas tingkat kluster terbesar dan akhirnya lebih banyak pecahan yang diperlukan. Penskalakan horizontal di Azure DocumentDB menawarkan manfaat berikut:
- Himpunan data yang dipecah secara logis tidak memerlukan intervensi pengguna untuk menyeimbangkan data di seluruh pecahan fisik yang mendasarinya. Layanan ini secara otomatis memetakan pecahan logis ke pecahan fisik. Ketika simpul ditambahkan atau dihapus, data secara otomatis menyeimbangkan kembali database di bawah sampul.
- Permintaan secara otomatis dialihkan ke shard fisik yang relevan yang memiliki rentang hash untuk data yang sedang di-query.
- Kluster yang didistribusikan secara geografis memiliki konfigurasi multi-node yang homogen. Dengan demikian, pemetaan shard logis ke fisik konsisten di seluruh wilayah primer dan replika pada kluster.
Penskalaan komputasi dan penyimpanan
Sumber daya komputasi dan memori memengaruhi operasi baca di Azure DocumentDB lebih dari IOPS disk.
- Operasi baca terlebih dahulu berkonsultasi dengan cache di lapisan komputasi dan kembali ke disk ketika data tidak dapat diambil dari cache. Untuk beban kerja dengan tingkat operasi baca yang lebih tinggi per detik, meningkatkan tingkat kluster untuk mendapatkan lebih banyak sumber daya CPU dan memori mengarah ke throughput yang lebih tinggi.
- Selain output bacaan, beban kerja dengan volume data yang tinggi per operasi baca juga mendapat manfaat dari peningkatan skala sumber daya komputasi kluster. Misalnya, tingkat kluster dengan lebih banyak memori memfasilitasi ukuran payload yang lebih besar per dokumen dan sejumlah besar dokumen yang lebih kecil per respons.
IOPS Disk memengaruhi operasi tulis di Azure DocumentDB lebih dari kapasitas CPU dan memori sumber daya komputasi.
- Operasi tulis selalu menyimpan data ke disk (selain menyimpan data dalam memori untuk mengoptimalkan pembacaan). Disk yang lebih besar dengan lebih banyak IOPS memberikan throughput tulis yang lebih tinggi, terutama saat berjalan dalam skala besar.
- Layanan ini mendukung hingga 32 TB disk per shard, dengan lebih banyak IOPS per shard untuk menguntungkan beban kerja berat penulisan, terutama ketika beroperasi dalam skala besar.
Beban kerja berat penyimpanan dan disk besar
Tidak ada persyaratan penyimpanan minimum per tingkat kluster
Seperti disebutkan sebelumnya, sumber daya penyimpanan dan komputasi dipisahkan untuk penagihan dan provisi. Meskipun berfungsi sebagai unit kohesif, mereka dapat diskalakan secara independen. Tingkat kluster M30 dapat memiliki disk 32 TB yang disediakan. Demikian pula, tingkat kluster M200 dapat memiliki disk 32 GB yang disediakan untuk mengoptimalkan biaya penyimpanan dan komputasi.
TCO yang lebih rendah dengan disk besar (32 TB dan seterusnya)
Biasanya, database NoSQL membatasi penyimpanan per pecahan fisik hingga 4 TB. Azure DocumentDB menyediakan kapasitas hingga 8x dengan disk 32 TB. Untuk beban kerja berat penyimpanan, kapasitas penyimpanan 4 TB per pecahan fisik memerlukan armada besar sumber daya komputasi hanya untuk mempertahankan persyaratan penyimpanan beban kerja. Pengolahan lebih mahal daripada penyimpanan dan pemadanan pengolahan yang berlebihan karena batas kapasitas dalam layanan dapat meningkatkan biaya dengan cepat.
Mari kita pertimbangkan beban kerja berat penyimpanan dengan data 200 TB.
| Ukuran penyimpanan per pecahan | Pecahan minimal yang diperlukan untuk mempertahankan 200 TB |
|---|---|
| 4 TiB | 50 |
| 32 TiB | 7 |
Pengurangan persyaratan Komputasi berkurang tajam dengan disk yang lebih besar. Meskipun lebih dari jumlah minimum pecahan fisik mungkin diperlukan untuk mempertahankan persyaratan throughput beban kerja, bahkan dua kali lipat atau tiga kali lipat jumlah pecahan lebih hemat biaya daripada kluster pecahan 50 dengan disk yang lebih kecil.
Lewati pengelompokan penyimpanan dengan disk besar
Respon segera terhadap biaya komputasi dalam skenario dengan kebutuhan penyimpanan tinggi adalah untuk memilah data. Data dalam database transaksional terbatas pada data "panas" yang paling sering diakses sementara volume data "dingin" yang lebih besar dilepaskan ke penyimpanan dingin. Hal ini menyebabkan kompleksitas operasional. Performa juga tidak dapat diprediksi dan bergantung pada tingkat data yang diakses. Selain itu, ketersediaan seluruh sistem tergantung pada ketahanan penyimpanan data panas dan dingin yang digabungkan. Dengan disk berukuran besar dalam layanan, penyimpanan berjenjang tidak diperlukan karena biaya penyimpanan untuk beban kerja yang berat bisa diminimalkan.