Chia tỷ lệ theo chiều ngang có nghĩa là bạn chia tỷ lệ bằng cách thêm nhiều máy vào nhóm tài nguyên của mình trong khi chia tỷ lệ theo chiều dọc có nghĩa là bạn chia tỷ lệ bằng cách thêm nhiều năng lượng (CPU, RAM) vào máy hiện có .
Một cách dễ dàng để nhớ điều này là nghĩ về một máy trên giá máy chủ, chúng tôi thêm nhiều máy theo hướng ngang và thêm nhiều tài nguyên hơn cho máy theo hướng dọc .
Trong thế giới cơ sở dữ liệu, tỷ lệ ngang thường dựa trên phân vùng dữ liệu, tức là mỗi nút chỉ chứa một phần dữ liệu, theo tỷ lệ dọc, dữ liệu nằm trên một nút và việc chia tỷ lệ được thực hiện thông qua đa lõi, tức là trải tải giữa tài nguyên CPU và RAM của máy đó.
Với quy mô ngang, việc mở rộng quy mô linh hoạt thường dễ dàng hơn bằng cách thêm nhiều máy vào nhóm hiện có - Quy mô dọc thường bị giới hạn ở công suất của một máy, việc mở rộng vượt quá khả năng đó thường liên quan đến thời gian chết và đi kèm với giới hạn trên.
Các ví dụ điển hình về chia tỷ lệ theo chiều ngang là Cassandra, MongoDB, Google Cloud Spanner .. và một ví dụ điển hình về tỷ lệ dọc là MySQL - Amazon RDS (Phiên bản đám mây của MySQL). Nó cung cấp một cách dễ dàng để mở rộng quy mô theo chiều dọc bằng cách chuyển đổi từ các máy nhỏ sang lớn hơn. Quá trình này thường liên quan đến thời gian chết.
Các lưới dữ liệu trong bộ nhớ như GigaSpaces XAP , Coherence , v.v. thường được tối ưu hóa cho cả tỷ lệ ngang và dọc đơn giản vì chúng không bị ràng buộc vào đĩa. Chia tỷ lệ ngang thông qua phân vùng và chia tỷ lệ dọc thông qua hỗ trợ đa lõi.
Bạn có thể đọc thêm về chủ đề này trong các bài viết trước đây của tôi:
Mở rộng quy mô so với Tăng quy mô và Các nguyên tắc chung đằng sau các lựa chọn thay thế NOSQL