Your SlideShare is downloading. ×
0
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
9. partitioning
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

9. partitioning

624

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
624
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Hệ quản trị cơ sở dữ liệu Partitioning Dư Phương Hạnh Bộ môn Hệ thống thông tin Khoa CNTT, trường Đại học Công nghệ Đại học Quốc gia Hanoi hanhdp@vnu.edu.vn
  • 2. Phân mảnh  Các phần của bảng được lưu như các bảng riêng biệt tại các vị trí khác nhau  Cho phép phân phối các phần của bảng trên hệ thống file tuân theo các luật được thiết lập.  Luật phân chia dữ liệu được chọn bởi người dùng được gọi là hàm phân mảnh (partitioning function) 2 Hệ quản trị CSDL @ BM HTTT
  • 3. Minh họa 3 Hệ quản trị CSDL @ BM HTTT
  • 4. Một số ưu điểm của phân mảnh  Phân mảnh giúp lưu dữ liệu trong một bảng lớn hơn trên một đĩa hoặc phân vùng hệ thống file  Dữ liệu không còn hữu ích có thể thường xuyên loại bỏ dễ dàng bằng cách xóa phân vùng  Một số truy truy vấn có thể tối ưu nếu dữ liệu thỏa mãn mệnh đề WHERE được xác định lưu trữ trong một hoặc nhiều phân vùng  Do các phân vùng có thể sửa đổi sau khi bảng được tạo, có thể tổ chức lại dữ liệu để nâng cao các truy vấn thường xuyên 4 Hệ quản trị CSDL @ BM HTTT
  • 5. Các kiểu phân mảnh  Khoảng (RANGE): gán các dòng vào các phân mảnh dựa vào giá trị của cột nằm trong một khoảng  Danh sách (List): tương tự như khoảng, nhưng danh sách là một tập các giá trị rời rạc  Băm (HASH): dựa trên giá trị trả lại bởi biểu thức định nghĩa bởi người dùng (tạo ra giá trị nguyên, không âm)  Khóa (KEY): tương tự phân mảnh bởi băm, ngoại trừ hàm băm được cung cấp bởi MySQL server, đảm bảo kết quả trả lại là số nguyên bất kỳ kiểu dữ liệu của cột. Bất kỳ các cột được sử dụng như là khóa phân mảnh cần phải là một phần hoặc toàn bộ khóa chính của bảng 5 Hệ quản trị CSDL @ BM HTTT
  • 6. Ví dụ CREATE TABLE members ( firstname VARCHAR(25) NOT NULL, lastname VARCHAR(25) NOT NULL, username VARCHAR(16) NOT NULL, email VARCHAR(35), joined DATE NOT NULL ) PARTITION BY KEY(joined) PARTITIONS 6; 6 Hệ quản trị CSDL @ BM HTTT
  • 7. Ví dụ CREATE TABLE members ( firstname VARCHAR(25) NOT NULL, lastname VARCHAR(25) NOT NULL, username VARCHAR(16) NOT NULL, email VARCHAR(35), joined DATE NOT NULL ) PARTITION BY RANGE( YEAR(joined) )( PARTITION p0 VALUES LESS THAN (1960), PARTITION p1 VALUES LESS THAN (1970), PARTITION p2 VALUES LESS THAN (1980), PARTITION p3 VALUES LESS THAN (1990), PARTITION p4 VALUES LESS THAN MAXVALUE ); 7 Hệ quản trị CSDL @ BM HTTT
  • 8. Ví dụ CREATE TABLE employees ( id INT NOT NULL, fname VARCHAR(30), lname VARCHAR(30), hired DATE NOT NULL DEFAULT '1970-01-01', separated DATE NOT NULL DEFAULT '9999-12-31', job_code INT, store_id INT ) PARTITION BY LIST(store_id) ( PARTITION pNorth VALUES IN (3,5,6,9,17), PARTITION pEast VALUES IN (1,2,10,11,19,20), PARTITION pWest VALUES IN (4,12,13,14,18), PARTITION pCentral VALUES IN (7,8,15,16) ); 8 Hệ quản trị CSDL @ BM HTTT
  • 9. Ví dụ CREATE TABLE employees ( id INT NOT NULL, fname VARCHAR(30), lname VARCHAR(30), hired DATE NOT NULL DEFAULT '1970-01-01', separated DATE NOT NULL DEFAULT '9999-12-31', job_code INT, store_id INT ) PARTITION BY HASH( YEAR(hired) ) PARTITIONS 4; 9 Hệ quản trị CSDL @ BM HTTT
  • 10. EXPLAIN PARTITIONS  Sử dụng EXPLAIN PARTITIONS SELECT để xem các phân vùng nào được sử dụng trong lệnh SELECT 10 Hệ quản trị CSDL @ BM HTTT
  • 11. Quản lý phân mảnh  MySQL 5.5 hỗ trợ một số cách để sửa đổi các bảng phân mảnh: thêm, xóa, định nghĩa lại, hòa trộn, tách các mảnh đã tồn tại sử dụng câu lệnh ALTER TABLE – PARTITION BY, ADD PARTITION, DROP PARTITION, REORGANIZE PARTITION, COALESCE PARTITION 11 Hệ quản trị CSDL @ BM HTTT
  • 12. Ví dụ  ALTER TABLE trb3 PARTITION BY KEY(id) PARTITIONS 2;  ALTER TABLE tr DROP PARTITION p2;  ALTER TABLE ADD PARTITION (PARTITION p3 VALUES LESS THAN (2000)); 12 Hệ quản trị CSDL @ BM HTTT
  • 13. Thông tin về các phân mảnh  SHOW CREATE TABLE  SHOW TABLE STATUS  Truy vấn bảng INFORMATION_SCHEMA.PARTITIONS 13 Hệ quản trị CSDL @ BM HTTT
  • 14. Giới hạn và hạn chế của phân mảnh  Thao tác phân mảnh, truy vấn có xu hướng nhanh hơn với bảng MyISAM so với các bảng InnoDB  Số lượng phân mảnh lớn nhất cho mỗi bảng là 1024  Không hỗ trợ khóa ngoài  Các bảng phân mảnh không hỗ trợ tìm kiếm FULL TEXT 14 Hệ quản trị CSDL @ BM HTTT
  • 15. Tài liệu tham khảo  http://www.mysql.com  http://dev.mysql.com/doc/refman/5.5/en/  http://www.learn-mysql-tutorial.com/ 15 Hệ quản trị CSDL @ BM HTTT

×