it-swarm.asia

Apa arti penskalaan horizontal?

Dalam konteks basis data, saya telah menemukan skalabilitas horizontal sebagai salah satu kelebihan dari basis data NOSQL. Apa arti istilah ini?

Bagaimana perbandingannya dengan penskalaan vertikal ?

23
Lazer

Skala Horisontal
Penskalaan Horizontal pada dasarnya adalah membangun alih-alih naik. Anda tidak pergi dan membeli server yang lebih besar dan memindahkan semua beban Anda ke server itu, sebaliknya Anda membeli 1+ server tambahan dan mendistribusikan beban Anda ke mereka.

Penskalaan horizontal digunakan ketika Anda memiliki kemampuan untuk menjalankan beberapa instance pada server secara bersamaan. Biasanya jauh lebih sulit untuk beralih dari 1 server ke 2 server maka dari 2 menjadi 5, 10, 50, dll.

Setelah Anda mengatasi masalah menjalankan mesin virtual paralel, Anda dapat mengambil keuntungan besar dari lingkungan seperti Amazon EC2, Layanan Cloud Rackspace, GoGrid, dll karena Anda dapat membuat mesin virtual naik dan turun berdasarkan permintaan, mengurangi kebutuhan untuk membayar daya server Anda tidak menggunakan hanya untuk menutupi beban puncak itu.

Database relasional adalah salah satu item yang lebih sulit untuk menjalankan baca/tulis penuh secara paralel.

Saya melihat Damien Katz berbicara tentang CouchDB di StackOverflow DevDays di Austin dan salah satu fokus utamanya untuk pembuatannya adalah contoh paralel ini. Karena ini telah menjadi fokus sejak hari pertama, itu akan jauh lebih mampu mengambil keuntungan dari penskalaan horizontal.

Penskalaan Vertikal
Penskalaan Vertikal adalah kebalikannya, bangun bukan keluar. Pergi dan beli perangkat keras terkuat yang Anda mampu dan letakkan aplikasi Anda, database, dll di atasnya.

Dunia Nyata
Tentu saja, keduanya memiliki kelebihan dan kekurangan. Seringkali kombinasi keduanya digunakan untuk solusi akhir.

Anda mungkin memiliki basis data utama tempat semua orang menulis dan membaca data waktu nyata pada perangkat keras besar. Kemudian telah didistribusikan hanya baca salinan dari database untuk analisis dan pelaporan data yang lebih berat di mana sampai saat ini tidak masalah. Kemudian aplikasi web ujung depan mungkin berjalan di beberapa server web di belakang load balancer.

24
ManiacZX

Penskalaan horizontal sangat bagus ketika Anda membutuhkan aplikasi yang perlu menangani banyak penulisan dan pembacaan paralel. Pikirkan sebuah situs web yang mendapatkan banyak lalu lintas dan perlu mencatat ini, atau perlu mencatat sejumlah besar peristiwa.

Saya kira poin plus terbesar adalah penskalaan horizontal dapat dilakukan dengan menggunakan perangkat keras komoditas, dan hanya ada begitu banyak yang dapat Anda lakukan dengan penskalaan vertikal dan mencoba membuat kotak Anda yang ada lebih besar.

RDBMS tradisional gagal di sini karena berbagai alasan (termasuk fakta bahwa mereka ACID), dan solusi NoSQL Excel di sini karena mereka dapat dengan mudah diskalakan secara horizontal - tapi itu cerita lain (RDBMS/SQL vs NoSQL.)

0
Suman

Beberapa orang di industri menggunakan terminologi berbeda untuk mengartikan hal yang sama:

  • skala = skala vertikal
  • skala keluar = penskalaan horizontal
0
Toddius Zho