Dalam posting saya sebelumnya, kita telah melihat beberapa perbedaan mendasar antara database Relasional dan Non-Relasional. Dalam postingan ini, mari kita bicara tentang Skalabilitas keduanya.
Skalabilitas
Ini adalah kemampuan sistem yang dapat dengan mudah menampung data yang masuk dengan cepat tanpa banyak masalah kinerja. Ini adalah faktor utama bagi sistem apa pun untuk memberikan skalabilitas yang baik. Ada dua jenis metode penskalaan yang dikenal sebagai penskalaan Vertikal dan Horizontal.
Penskalaan vertikal
Semua alat database Relasional mendukung penskalaan vertikal. Ini adalah metode untuk meningkatkan daya sistem dengan menambahkan CPU, memori, dan ruang disk tambahan. Jadi untuk memungkinkan data masuk yang cepat, server produksi tunggal dioptimalkan untuk ditingkatkan. Dalam teknik penskalaan ini, selalu ada satu server produksi yang dapat dihubungkan oleh semua aplikasi dan pengguna. Lingkungan cluster dapat dibuat dengan beberapa node dan mereplikasi data di seluruh node.
Karena sifat ACID, semua node harus memiliki kumpulan data yang sama dan sinkronisasi data menjadi rumit jika ada beberapa node dalam cluster. Ini sangat dioptimalkan untuk penskalaan Baca. Penskalaan vertikal juga dikenal sebagai penskalaan
Manfaat metodologi penskalaan ini adalah integrasi data yang erat dan konsistensinya di seluruh node dalam sebuah cluster. Semua node akan memiliki kumpulan data yang sama dan Jika ada masalah dengan server produksi, node lain akan secara otomatis terhubung oleh aplikasi. Jadi cluster ini dikenal sebagai Fail-over cluster.
Penskalaan horizontal
Semua alat basis data non-relasional mendukung penskalaan horizontal. Ini adalah metode menambahkan lebih banyak komputer ke jaringan untuk memungkinkan data masuk yang cepat. Sangat mudah untuk menambahkan lebih banyak node ke dalam cluster untuk memungkinkan pertumbuhan data. Data dibagi secara otomatis dan diproses di seluruh node dalam sebuah cluster. Ini adalah lingkungan data terdistribusi. Hadoop Distributed File System (HDFS) adalah contoh klasik untuk ini. Penskalaan horizontal juga dikenal sebagai Scale-out.
Manfaat teknik penskalaan ini adalah karena data dibagi dan direplikasi di seluruh node jika salah satu node offline, aplikasi masih dapat memiliki data dari node lain dan ini menjamin ketersediaan data setiap saat. Metode ini sangat berguna untuk kasus di mana tidak ada JOIN yang diperlukan di antara data node. Ini juga membantu dalam memisahkan data dan menempatkannya di lokasi geografis yang berbeda.
Meskipun kedua teknik penskalaan ini memiliki kelebihan dan kekurangan, lingkungan yang baik dapat menggabungkan keduanya untuk menghasilkan Scale-up dan Scale-out yang luar biasa. Kami dapat memiliki basis data baca dan tulis yang ditingkatkan dalam satu server yang memerlukan properti ACID dan memiliki data historis terdistribusi yang berskala di beberapa node untuk tujuan penambangan data.