Dari sudut pandang pengembang, saya dapat mengatakan bahwa hampir setiap mesin basis data arus utama tradisional di luar sana hanya dapat meningkatkan dan meningkatkan skala sangat banyak setelah dipikirkan.
Dalam beberapa tahun terakhir dengan kebutuhan skalabilitas yang lebih besar dan sistem yang sangat tersedia, ada upaya untuk membuat skala basis data yang ada. Tetapi karena desain dihambat oleh kode warisan, itu sangat melesat daripada mendasar untuk desain. Anda akan menemukan ini jika mencoba untuk skala sebagian besar mesin database terkenal. Menambahkan server slave bisa sangat sulit untuk diatur dan Anda akan melihat bahwa itu datang dengan keterbatasan yang signifikan, beberapa di antaranya mungkin memerlukan re-jigging tabel database Anda.
Sebagai contoh, kebanyakan dari mereka adalah master / (multi-) slave daripada desain multi-master. Dengan kata lain, Anda mungkin hanya memiliki seluruh server hanya duduk di sana dan tidak dapat memproses permintaan. Beberapa melakukannya, tetapi dengan keterbatasan ... misalnya hanya baca desain multi-slave. Jadi, Anda mungkin memiliki satu server yang melakukan penulisan dan yang lainnya menyediakan data hanya-baca. Anda akan melihat ketika Anda mengatur sistem ini, itu tidak selalu merupakan proses yang mudah dan sulit untuk bekerja dengan baik. Rasanya sangat banyak pada penambahan dalam banyak kasus.
Di sisi lain, ada beberapa mesin database yang lebih baru sedang dikembangkan dengan concurrency dan desain multi-master dari awal. NOSQL dan NewSQL adalah kelas desain baru.
Jadi sepertinya cara terbaik untuk mendapatkan kinerja yang lebih baik dari server SQL tradisional ditingkatkan! Sementara dengan NOSQL & NewSQL keduanya ditingkatkan & ditingkatkan.
Alasan tradisional sistem RDBMS digabungkan secara ketat adalah karena mereka semua membutuhkan pandangan yang konsisten dari data yang sama. Ketika Anda memiliki beberapa server yang menerima pembaruan untuk data yang sama dari klien yang berbeda, yang mana yang Anda percayai? Setiap metode yang berusaha untuk memastikan bahwa data konsisten melalui semacam mekanisme penguncian membutuhkan kerja sama dari server lain yang dapat merusak kinerja atau memengaruhi kualitas data karena data yang dibaca dari klien mungkin sudah ketinggalan zaman. Dan server perlu memutuskan di antara mereka sendiri data mana yang paling baru saat menulis ke catatan yang sama. Seperti yang Anda lihat itu adalah masalah kompleks yang dibuat lebih kompleks oleh kenyataan bahwa beban kerja tersebar di server dan bukan hanya di antara proses atau utas di mana akses ke data masih cukup cepat.