Tôi cũng đã đi sâu vào vấn đề này và mặc dù cho đến nay tôi vẫn tham khảo về vấn đề này, có một vài sự kiện chính mà tôi đã thu thập và những điểm mà tôi muốn chia sẻ:
Một phân vùng là một bộ phận của một cơ sở dữ liệu logic hoặc các yếu tố cấu thành của nó thành các phần độc lập riêng biệt. Phân vùng cơ sở dữ liệu thường được thực hiện vì lý do quản lý, hiệu suất hoặc tính khả dụng, như để cân bằng tải.
https://en.wikipedia.org/wiki/Partition_(database)
Shending là một loại phân vùng, chẳng hạn như Phân vùng ngang (HP)
Ngoài ra còn có Phân vùng dọc (VP) theo đó bạn chia một bảng thành các phần nhỏ hơn khác nhau. Chuẩn hóa cũng liên quan đến việc phân chia các cột này qua các bảng, nhưng phân vùng dọc vượt xa các cột đó và phân vùng ngay cả khi đã được chuẩn hóa.
https://en.wikipedia.org/wiki/Shard_(database_arch architecture)
Tôi thực sự thích câu trả lời của Tony Baco trên Quora nơi anh ấy khiến bạn phải suy nghĩ về mặt lược đồ (thay vì cột và hàng). Anh ấy khẳng định rằng...
" Phân vùng ngang ", hoặc shending, đang sao chép [sao chép] lược đồ, sau đó phân chia dữ liệu dựa trên khóa shard.
" Phân vùng dọc " liên quan đến việc phân chia lược đồ (và dữ liệu đi cùng cho chuyến đi).
https://www.quora.com/Whats-the-difference-b between-shending-DB-tables-and-partitioning-them
Hướng dẫn phân vùng cơ sở dữ liệu của Oracle có một số số liệu hay. Tôi đã sao chép một vài trích đoạn từ bài báo.
https://docs.oracle.com/cd/B28359_01/server.111/b32024/partition.htmlm
Khi phân vùng bảng
Dưới đây là một số gợi ý khi phân vùng bảng:
- Các bảng lớn hơn 2 GB phải luôn được coi là ứng cử viên để phân vùng.
- Các bảng chứa dữ liệu lịch sử, trong đó dữ liệu mới được thêm vào phân vùng mới nhất. Một ví dụ điển hình là một bảng lịch sử trong đó chỉ có dữ liệu của tháng hiện tại mới có thể cập nhật và 11 tháng còn lại chỉ được đọc.
- Khi nội dung của bảng cần được phân phối trên các loại thiết bị lưu trữ khác nhau.
Cắt tỉa phân vùng
Cắt tỉa phân vùng là cách đơn giản nhất và cũng là phương tiện đáng kể nhất để cải thiện hiệu suất bằng cách sử dụng phân vùng. Cắt tỉa phân vùng thường có thể cải thiện hiệu suất truy vấn theo một số bậc độ lớn. Ví dụ: giả sử một ứng dụng chứa bảng Đơn hàng chứa bản ghi lịch sử của các đơn hàng và bảng này đã được phân vùng theo tuần. Một truy vấn yêu cầu các đơn đặt hàng trong một tuần sẽ chỉ truy cập vào một phân vùng duy nhất của bảng Đơn hàng. Nếu bảng Đơn hàng có 2 năm dữ liệu lịch sử, thì truy vấn này sẽ truy cập vào một phân vùng thay vì 104 phân vùng. Truy vấn này có khả năng thực thi nhanh hơn 100 lần chỉ vì cắt tỉa phân vùng.
Chiến lược phân vùng
Bạn có thể đọc văn bản của họ và hình dung hình ảnh của họ giải thích mọi thứ khá tốt.
Và cuối cùng, điều quan trọng là phải hiểu rằng cơ sở dữ liệu cực kỳ tốn tài nguyên:
Nhiều DBA sẽ phân vùng trên cùng một máy, trong đó các phân vùng sẽ chia sẻ tất cả các tài nguyên nhưng cung cấp sự cải tiến trong đĩa và I / O bằng cách chia nhỏ dữ liệu và / hoặc chỉ mục.
Trong khi các chiến lược khác sẽ sử dụng kiến trúc "không chia sẻ gì", trong đó các phân đoạn sẽ nằm trên các đơn vị tính toán riêng biệt và riêng biệt, có 100% CPU, đĩa, I / O và bộ nhớ cho chính nó. Cung cấp tập hợp các lợi thế và sự phức tạp của riêng nó.
https://en.wikipedia.org/wiki/Shared_noth_arch architecture