Video: Scaling Databases - Web Development 2024
Satu ciri umum sistem NoSQL adalah keupayaan mereka untuk merentasi banyak pelayan komoditi. Platform yang agak murah ini bermakna anda boleh meningkatkan pangkalan data dengan menambahkan pelayan baru dan bukan mengganti perkakasan lama dengan perkakasan baru yang lebih kuat dalam satu pukulan.
Terdapat kes-kes penggunaan tinggi yang akan memaksa anda untuk memaksimumkan. Ini termasuk
-
Anda menerima laporan status dan mesej log dari seluruh landskap IT. Senario ini memerlukan masa ingatkan yang cepat, tetapi mungkin tidak memerlukan sokongan analisis lanjutan.
-
Anda mahu caching berkelajuan tinggi untuk pertanyaan kompleks. Mungkin anda ingin mendapatkan berita terkini di laman web. Di sini, bacalah cache yang terkenal di atas pertanyaan atau kelajuan ingest.
Satu perkara yang biasa dengan prestasi semua pangkalan data NoSQL adalah bahawa anda tidak boleh bergantung pada data yang diterbitkan - tidak ada - untuk mengetahui prestasi yang mungkin terjadi pada data anda, untuk kes penggunaan anda sendiri.
Anda pasti tidak boleh bergantung pada janji penjual pangkalan data tertentu tentang prestasi! Ramai vendor memetik kelajuan ingest yang tinggi terhadap kes penggunaan buatan yang tidak menggunakan pangkalan data sebenar mereka, sebagai bukti ketuanan pangkalan data mereka.
Walau bagaimanapun, masalahnya adalah bahawa kajian yang sama ini sama sekali tidak mengabaikan kelajuan pertanyaan. Apa gunanya menyimpan data jika anda tidak menggunakannya?
Kajian ini juga boleh dilakukan pada sistem di mana ciri-ciri utama dilumpuhkan. Indeks keselamatan mungkin tidak didayakan, atau mungkin sokongan transaksi ACID dimatikan semasa kajian supaya data disimpan dengan cepat, tetapi tidak ada jaminan bahawa ia selamat.
Ini bermakna bahawa anda mesti melakukan ujian sendiri, yang cukup mudah, tetapi pastikan ujian itu mendekati sistem akhir anda. Sebagai contoh, tidak ada gunanya menguji pelayan tunggal jika anda merancang untuk membuat skala kepada 20 pelayan. Khususnya, pastikan anda mempunyai campuran yang tepat untuk meminum, mengubah, dan menanyakan data.
Pertimbangkan untuk meminta penjual NoSQL anda soalan-soalan ini:
-
Bolehkah anda memastikan bahawa semua ukuran dan angka yang dipetik adalah untuk sistem yang memastikan transaksi ACID semasa menanggung sokongan pengindeksan masa nyata, dan termasuk campuran realistik ingest dan membaca / permintaan pertanyaan?
-
Adakah produk anda menyediakan ciri yang menjadikannya mudah untuk meningkatkan keupayaan pelayan?
-
Adakah produk anda menyediakan ciri yang menjadikannya mudah untuk menghapuskan kapasiti pelayan yang tidak digunakan?
-
Adakah kelajuan pertanyaan data produk anda terhad oleh jumlah maklumat yang harus di-cache dalam RAM?
-
Adakah produk anda menggunakan strategi peta ingatan yang memerlukan semua indeks dipertahankan dalam RAM untuk prestasi yang mencukupi (memori dipetakan bermaksud jumlah maksimum data yang disimpan adalah sama dengan jumlah RAM fizikal yang dipasang)?
-
Bolehkah pangkalan data anda mengekalkan masa tindak balas pertanyaan kecil saat menerima kemas kini frekuensi tinggi?
-
Adakah sistem memastikan bahawa tiada downtime diperlukan untuk menambah atau membuang kapasiti pelayan?
-
Adakah sistem memastikan maklumat itu segera tersedia untuk pertanyaan selepas ia ditambahkan ke pangkalan data?
-
Adakah sistem memastikan keselamatan data dikekalkan tanpa menjejaskan kelajuan pertanyaan?
-
Adakah sistem ini memastikan bahawa keupayaan skala dan pangkalan data pangkalan data adalah skrip dan dapat diintegrasikan ke perisian penyediaan pelayan pilihan anda (misalnya, VMWare dan Pembentukan Awan Amazon)?