Penskalaan horizontal berarti Anda menskala dengan menambahkan lebih banyak mesin ke kumpulan sumber daya Anda sedangkan penskalaan vertikal berarti Anda menskala dengan menambahkan lebih banyak daya (CPU, RAM) ke mesin yang ada .
Cara mudah untuk mengingat ini adalah dengan memikirkan mesin di rak server, kami menambahkan lebih banyak mesin di arah horizontal dan menambahkan lebih banyak sumber daya ke mesin di arah vertikal .
Dalam dunia basis data, penskalaan horizontal sering didasarkan pada pemartisian data, yaitu setiap node hanya berisi bagian dari data, dalam penskalaan vertikal data berada pada satu node dan penskalaan dilakukan melalui multi-core yaitu menyebarkan beban antara sumber daya CPU dan RAM mesin itu.
Dengan penskalaan horizontal seringkali lebih mudah untuk menskalakan secara dinamis dengan menambahkan lebih banyak mesin ke dalam kumpulan yang ada - penskalaan vertikal sering terbatas pada kapasitas satu mesin, penskalaan di luar kapasitas sering melibatkan waktu henti dan datang dengan batas atas.
Contoh penskalaan horizontal yang bagus adalah Cassandra, MongoDB, Google Cloud Spanner .. dan contoh penskalaan vertikal yang baik adalah MySQL - Amazon RDS (Versi cloud MySQL). Ini memberikan cara mudah untuk skala secara vertikal dengan beralih dari mesin kecil ke mesin yang lebih besar. Proses ini sering melibatkan downtime.
In-Memory Data Grids seperti GigaSpaces XAP , Coherence dll. Sering dioptimalkan untuk penskalaan horizontal dan vertikal hanya karena mereka tidak terikat pada disk. Penskalaan horizontal melalui pemartisian dan penskalaan vertikal melalui dukungan multi-inti.
Anda dapat membaca lebih lanjut tentang hal ini di posting saya sebelumnya:
Scale-out vs Scale-up dan The Common Principles Behind the NOSQL Alternatives