Database Theory: BRIN (Chỉ số phạm vi khối) là gì, nhanh hơn Chỉ số BTREE như thế nào

2022-03-20 16:05:16

Chỉ mục BRIN là loại chỉ mục rất mới trong Hệ thống cơ sở dữ liệu.

Hiện tại, chúng tôi đang sử dụng hầu hết các chỉ mục B-Tree, nhưng Chỉ mục BRIN nhanh hơn nhiều so với Chỉ mục B-Tree.
Không đúng khi nói rằng BRIN là sự thay thế 100% của B-Tree nhưng trong một số tình huống, nó thực thi nhanh hơn 10 lần so với B-Tree Index.

Hãy để tôi cung cấp cho bạn một lưu ý nhỏ về B-Tree,

Cấu trúc của B-Tree trông giống như một cây tìm kiếm nhị phân.
Nếu bạn có một bảng lớn, phân nhánh tổng thể của Chỉ mục BTree là rất lớn vì nó yêu cầu lưu trữ hàng nghìn khóa trong một nút B-Tree.

B-Tree cũng lưu trữ tất cả các giá trị khóa trong các nút lá của chúng, vì vậy đối với mọi tra cứu khóa tìm kiếm yêu cầu quét cả nút lá và nút ánh xạ B-Tree.

Nếu chúng ta có bảng rất lớn với chỉ mục B-Tree và chúng ta đang chọn một số lượng lớn các bản ghi, tra cứu chỉ mục B-Tree sẽ làm chậm hiệu suất truy vấn.
Chỉ mục B-Tree cũng chiếm nhiều không gian cơ sở dữ liệu hơn và việc bảo trì cũng rất tốn kém đối với một bảng cơ sở dữ liệu lớn.

BRIN (Chỉ số phạm vi khối) là gì:
The BRIN Index

BRIN là một kỹ thuật lập chỉ mục cơ sở dữ liệu mới, chủ yếu được thiết kế cho bảng rất lớn.

Chúng tôi biết về khái niệm Phân chia bảng, chúng tôi yêu cầu triển khai trên một bảng rất lớn.
Chỉ mục BRIN cũng hoạt động giống như Phân vùng bảng ngang, bằng cách tạo một khối dữ liệu khác.
Nếu chúng tôi đang sử dụng BRIN, chúng tôi không yêu cầu triển khai Phân chia bảng một cách rõ ràng.

Chỉ số BRIN tạo ra các khối dữ liệu khác nhau và nó xác định phạm vi bằng cách sử dụng hàm MinMax.
Mỗi khối có một giá trị Tối thiểu và giá trị Tối đa được liên kết được sử dụng để xác định một khối dữ liệu có liên quan.
Phạm vi khối là một nhóm các trang liền kề về mặt vật lý trong bảng, đối với mỗi phạm vi khối, một số thông tin tóm tắt được chỉ mục lưu trữ.

Chỉ mục BRIN rất nhẹ vì nó chỉ lưu trữ tóm tắt của khối dữ liệu. Không giống như các chỉ mục B-Tree, nó không yêu cầu phải lưu trữ tất cả giá trị nút chính trong trang chỉ mục.

Toàn bộ dạng chỉ mục BRIN đều có thể dễ dàng lưu trữ trong bộ nhớ vì hình thức nhỏ gọn của nó và nó làm giảm quá trình quét đĩa.
Vì nó chỉ được lưu trữ tóm tắt của khối nên nó cũng nhanh hơn B-Tree 10 lần cho các hoạt động CHÈN và CẬP NHẬT.

Việc tạo các chỉ mục BRIN trên một bảng lớn cũng nhanh hơn nhiều so với các chỉ mục B-Tree.
Hiệu quả của chỉ số BRIN cũng phụ thuộc vào thứ tự vật lý của dữ liệu bảng.

Các chỉ mục BRIN đang quét các cơ sở bộ giá trị trên một bitmap và nó chỉ trả về các bộ giá trị được khớp trong thông tin tóm tắt phạm vi khối, vì vậy Nó cũng tránh quét các phần lớn của bảng.

Chỉ mục B-Tree vẫn tốt hơn cho các tìm kiếm ngẫu nhiên và chúng ta nên sử dụng chỉ mục BRIN cho loại truy vấn cụ thể chủ yếu được sử dụng trong BIGDATA, Báo cáo, Kho dữ liệu.

Vui lòng truy cập bài đăng tiếp theo, để biết một ví dụ thực tế về Chỉ số BRIN trong PostgreSQL 9.5.

Xem thêm:


Chia sẻ: