MongoDB sharding adalah teknik untuk mendistribusikan data secara horizontal di sejumlah server MongoDB. Tujuan utamanya adalah meningkatkan kapasitas penyimpanan dan kinerja query secara horizontal dengan membagi dataset menjadi sejumlah shard (bagian) yang tersebar di beberapa server. Sharding memungkinkan MongoDB untuk mengelola dataset yang sangat besar dan memberikan skalabilitas secara efektif.
Berikut adalah beberapa konsep kunci terkait MongoDB sharding:
Shard: Sebuah shard adalah unit dasar penyimpanan data di MongoDB. Setiap shard adalah server MongoDB yang menyimpan sebagian dari data. Data yang dipecah menjadi beberapa shard, dan masing-masing shard dapat berada di server fisik atau virtual yang berbeda.
Shard Key: Shard key adalah field atau fields yang digunakan untuk membagi data menjadi sejumlah shard. Shard key ini sangat penting karena menentukan cara data didistribusikan di antara shard. Pemilihan shard key yang baik dapat meningkatkan performa query dan distribusi data yang seimbang.
Config Server: Config server adalah server yang menyimpan metadata konfigurasi terkait sharding. Informasi-informasi seperti bagaimana data dipecah, lokasi shard, dan shard key disimpan di config server. Dalam implementasi MongoDB, config server dapat dipecah menjadi tiga konfigurasi untuk meningkatkan redundansi dan ketahanan.
Query Router (mongos): Query router, atau disebut juga mongos, adalah komponen yang bertindak sebagai antarmuka antara aplikasi dan shard. Saat aplikasi melakukan query, query router akan menentukan ke shard mana query tersebut harus dikirim berdasarkan shard key.
Balancing: MongoDB secara otomatis melakukan redistribusi data antara shard untuk menjaga keseimbangan beban (balancing) antara shard. Proses ini memastikan bahwa setiap shard memiliki jumlah data yang serupa sehingga kinerja keseluruhan sistem tetap optimal.
Proses sharding di MongoDB melibatkan langkah-langkah seperti memilih shard key, konfigurasi shard cluster, dan mengelola pertumbuhan data. Dengan menggunakan sharding, MongoDB dapat menyediakan skalabilitas horizontal yang efisien untuk menangani pertumbuhan besar dalam ukuran dataset dan jumlah pengguna.
Video Tutiral sharding mongoDB
0 Comments