2011-07-12 13 views
6

Tôi chỉ đơn giản là không thể hiểu khi nào hoặc trong tình huống nào chúng ta sẽ chọn phân vùng dọc thay vì phân vùng ngang.Lợi ích của phân vùng dọc VS phân vùng ngang là gì?

Lợi ích của phân vùng dọc VS phân vùng ngang là gì?

Có bất kỳ ví dụ nào về trang web/công ty/bất kỳ ai sử dụng phân vùng theo chiều dọc và/sẽ là lý do chính cho quyết định đó không?

+0

Tôi cũng mong đợi phân phối không đồng đều bằng phương pháp này. Một cái gì đó giống như ký tự đầu tiên của băm tên sẽ có ý nghĩa hơn với tôi. –

+0

http://www.eph.co.uk/resources/email-address-length-faq/#emailshortlength Đây là các địa chỉ email, tuy nhiên có biểu đồ hiển thị độ dài tên người dùng có thể hữu ích. Không, sharding dựa trên độ dài của tên người dùng có thể sẽ không nhất quán. –

+0

guys đọc câu hỏi một lần nữa! – totsum

Trả lời

9

Lý do chính để có phân vùng dọc là khi có các cột trong bảng được cập nhật thường xuyên hơn phần còn lại. Bạn tách chúng trong một bảng/phân vùng khác và khi bạn đang thực hiện các cập nhật, bạn không cập nhật phần còn lại của bảng. Ví dụ có thể là bộ đếm bài đăng. Nếu nó nằm trong cùng một bảng với dữ liệu người dùng khác, mỗi bản cập nhật của bộ đếm (và có rất nhiều) sẽ khóa toàn bộ bản ghi, nhưng bạn cần đọc nó thường xuyên. Trong phân vùng theo chiều dọc, bảng được cập nhật sẽ là user_counters và hiệu suất của người dùng sẽ không bị ảnh hưởng bởi số lượng bản cập nhật.

0

Tôi hoàn toàn đồng ý với những gì Darhazer đã nói. "Ví dụ về phân vùng theo chiều dọc có thể là một bảng chứa một số văn bản rất rộng hoặc cột BLOB không được giải quyết thường được chia thành hai bảng có cột được tham chiếu nhiều nhất trong một bảng và văn bản ít được tham chiếu đến hoặc dữ liệu BLOB trong một số khác ". Như đã nói trong liên kết này: http://dev.mysql.com/tech-resources/articles/partitioning.html

+0

Liên kết chết, thật không may. – SQB