Video: Scaling Databases - Web Development 2024
Salah satu fitur umum sistem NoSQL adalah kemampuan mereka untuk skala di banyak server komoditas. Platform yang relatif murah ini berarti Anda dapat meningkatkan basis data dengan menambahkan server baru daripada mengganti perangkat keras lama dengan perangkat keras baru yang lebih kuat dalam satu tembakan.
Ada kasus penggunaan volume tinggi yang dengan cepat akan memaksa Anda untuk memperkecil skala. Ini termasuk
-
Anda menerima laporan status dan pesan log dari seluruh lanskap TI. Skenario ini membutuhkan waktu yang cepat, tapi mungkin tidak memerlukan dukungan analisis lanjutan.
-
Anda ingin caching berkecepatan tinggi untuk query kompleks. Mungkin Anda ingin mendapatkan berita terbaru di situs web. Di sini, baca cache lebih menonjol daripada permintaan atau kecepatan menelan.
Satu hal yang umum terjadi pada kinerja semua database NoSQL adalah Anda tidak dapat mengandalkan data yang dipublikasikan - tidak ada satupun - untuk mengetahui kinerja apa yang mungkin ada pada data Anda, untuk kasus penggunaan Anda sendiri.
Anda tentu tidak dapat mengandalkan janji vendor database tertentu pada kinerja! Banyak vendor mengutip kecepatan ingest yang tinggi terhadap kasus penggunaan buatan yang tidak menggunakan database mereka secara realistis, sebagai bukti supremasi database mereka.
Namun, masalahnya adalah bahwa penelitian yang sama ini benar-benar mengabaikan kecepatan kueri. Apa gunanya menyimpan data jika Anda tidak pernah menggunakannya?
Studi ini mungkin juga dilakukan pada sistem dimana fitur utama dinonaktifkan. Indeks keamanan mungkin tidak diaktifkan, atau mungkin dukungan transaksi ACID dimatikan selama studi sehingga data disimpan dengan cepat, namun tidak ada jaminan bahwa aman.
Ini semua berarti Anda harus melakukan pengujian sendiri, yang cukup mudah, tapi pastikan tesnya mendekati sistem akhir Anda. Misalnya, tidak ada gunanya menguji server tunggal jika Anda berencana untuk skala ke 20 server. Secara khusus, pastikan untuk memiliki campuran ingesting, modify, dan query data yang akurat. Pertimbangkan untuk bertanya pada vendor NoSQL Anda pertanyaan-pertanyaan ini:
Dapatkah Anda memastikan bahwa semua ukuran dan angka kinerja yang dikutip adalah untuk sistem yang memastikan transaksi ACID selama menelan yang mendukung pengindeksan real-time, dan itu termasuk campuran mencerna dan membaca yang realistis. / permintaan kueri?
-
Apakah produk Anda menyediakan fitur yang memudahkan peningkatan kapasitas server?
-
Apakah produk Anda menyediakan fitur yang memudahkan untuk menghapus kapasitas server yang tidak terpakai?
-
Apakah kecepatan permintaan data produk Anda dibatasi oleh jumlah informasi yang harus di-cache dalam RAM?
-
Apakah produk Anda menggunakan strategi peta memori yang mengharuskan semua indeks diadakan di RAM untuk kinerja yang memadai (memori yang dipetakan berarti jumlah maksimum data yang tersimpan sama dengan jumlah RAM fisik yang terpasang)?
-
Dapatkah database Anda mempertahankan waktu respons kueri sub-detik saat menerima update frekuensi tinggi?
-
Apakah sistem memastikan bahwa tidak ada downtime yang diperlukan untuk menambah atau menghapus kapasitas server?
-
Apakah sistem memastikan bahwa informasi segera tersedia untuk kueri setelah ditambahkan ke database?
-
Apakah sistem memastikan keamanan data dipertahankan tanpa mempengaruhi kecepatan query?
-
Apakah sistem memastikan kemampuan skala dan skalabilitas database dapat ditulis dan akan digabungkan ke perangkat lunak provisioning server pilihan Anda (misalnya, VMWare dan Amazon Cloud Formation)?