Dalam konteks penskalaan MongoDB:
-
replikasi membuat salinan data tambahan dan memungkinkan failover otomatis ke node lain. Replikasi dapat membantu penskalaan pembacaan horizontal jika Anda setuju untuk membaca data yang berpotensi bukan yang terbaru.
-
berbagi memungkinkan penskalaan horizontal penulisan data dengan mempartisi data di beberapa server menggunakan kunci shard . Sangat penting untuk memilih kunci pecahan yang bagus. Misalnya, pilihan shard key yang buruk dapat menyebabkan "hot spot" data hanya ditulis pada satu shard.
Lingkungan sharding memang menambah kerumitan karena MongoDB sekarang harus mengelola pendistribusian data dan permintaan antar shard -- konfigurasi tambahan dan proses perutean ditambahkan untuk mengelola aspek tersebut.
Replikasi dan sharding biasanya digabungkan untuk membuat kluster sharding di mana setiap pecahan didukung oleh kumpulan replika.
Dari sudut pandang aplikasi klien, Anda juga memiliki kontrol terkait dengan interaksi replikasi/sharding, khususnya:
- Preferensi baca
- Tuliskan kekhawatiran