Tải bản đầy đủ (.pptx) (34 trang)

Thuyết trình SH TREE đánh chỉ mục trong tìm kiếm dữ liệu đa chiều

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (633.64 KB, 34 trang )

SH-TREE ĐÁNH CHỈ MỤC TRONG TÌM
KIẾM DỮ LIỆU ĐA CHIỀU

SVTH:

Đoàn Xuân Duy
Lê Nguyễn Khánh Duy
Phan Thanh Duy
Huỳnh Anh Duy

LOGO


Nội dung

1

2

Giới thiệu bài toán

Cấu trúc SH-Tree

Các phép toán trên SH-tree

3

4

5


Đánh giá hiệu suất

Kết luận

2


Giới thiệu bài toán

 Hiện nay có khá nhiều cách tiếp cận trong việc đánh chỉ mục cho dữ liệu
 Đánh chỉ mục dựa theo phân vùng không gian
 Đánh chỉ mục theo phân vùng dữ liệu

3


Giới thiệu bài toán



Với SR-tree chia không gian thành 2 khối nhỏ ( hình chữ nhật- rectangles–BRs)
và phân theo đường kính (hình cầu - spheres–BSs)



SR-tree chịu fan-out thấp do khi đọc thêm node và làm giảm hiệu suất của câu
truy vấn

4



Giới thiệu bài toán




Vấn đề trên sẽ không gặp phải trong KD-Tree, fan-out là hằng số
Không có không gian trống.

5


Giới thiệu bài toán



Sh-tree sẽ là sự kết hợp của kd-tree để giả quyết vấn đề fan-out và SR-tree để
giải quyến vấn đề cây cân bằng



Để quản lý spatial points và extended spatial objects sh-tree cho phép chồng
chéo dữ các phân vùng.

6


Nội dung

1


2

Giới thiệu bài toán

Cấu trúc SH-Tree

Các phép toán trên SH-tree

3

4

5

Đánh giá hiệu suất

Kết luận

7


Cấu trúc SH-Tree

8


Cấu trúc SH-Tree

9



Cấu trúc SH-Tree

Có 3 loại node trong SH-Tree:




Internal. <d, lo, up, other_info>
Balanced.
Leaf.

10


SH-Tree node: Internal

 Mỗi internal node của SH-Tree có cấu trúc: <d, lo, up, other_info>
 Trong đó:
 d: chiều chia (split dimension).
 lo: biên trái của partition phải.
 up: biên phải của partition trái.
 other_info: các thông tin bổ sung như số đối tượng dữ liêêu của phần tử con bên
trái, bên phải của nó.
up = lo: nghĩa là không có sự trùng lắp giữa 2 partition.
up > lo: 2 partition này có phần phủ lấp lên nhau .

11



SH-Tree node: Balanced

 Là node nằm ngay phía trên node lá (leaf node).
 Có cấu trúc tương tự internal node của SR-Tree (Đăêc trưng của cây SH-Tree).
BN: <B1, B2, …, BN> (minBN_E <= maxBN_E)
Bi: <BS, MBR, num, child_ptr>

 Trong đó:
 minBN_E và maxBN_E: lần lượt là số lượng phần tử nhỏ nhất và lớn nhất được phép chứa
trong node.



Bi: chứa thông tin BS (bounding sphere), MBR (minimum bounding rectangle), num (số đối
tượng của node lá), child_ptr (con trỏ đến phần tử con).

12


SH-Tree node: Leaf

 Có cấu trúc tương tự SS-Tree.
LN: <L1, L2, …, LM> (minO_E <= m <= maxO_E)
Li: <obj, info>

 Trong đó:
 minO_E và maxO_E: lần lượt là số lượng phần tử nhỏ nhất và lớn nhất được phép chứa
trong node.




Li: obj (dữ liêêu của đối tượng), info (các thông tin về đối tượng).

13


Nội dung

1

2

Giới thiệu đề tài

Cấu trúc SH-Tree

Các phép toán trên SH-tree

3

4

5

Đánh giá hiệu suất

Kết luận

14



Các phép toán trên SH-tree

Insertion:
Ý tưởng để insert New Data Object (NDO) vào SH-tree:
1 Duyệt từ root xuống đến vị trí leaf node mà NDO cần thêm vào.
2 Algorithm duyệt ta xét 2 loại node: Internal và balanced nodes.
a) Internal node:
+ 2 partitions là overlapping , algorithm trả về child node ( left hay right) phụ thuộc vào feature value
của NDO trong split dimension D của Internal node.
+ 2 partitions là không overlapping , như trên nhưng trường hợp feature value của NDO thuộc (D.Lo,
D.Up), algorithm trả về child node chứa NDO của cha theo split dimension D liên quan.

15


Các phép toán trên SH-tree

Insertion:
b) Balanced node:
+ Node ứng cử tốt nhất là node gần nhất với NDO. Sử dụng phương pháp tương tự như SR-tree.
3 Sau khi xác định leaf node , ta có 2 trường hợp : empty entry or overfull entry.
+ Empty entry : NDO được thêm.
+ Overfull entry :2 strategies giải quyết : Reinsertion,Redistribution

16


Các phép toán trên SH-tree


Insertion:
- Reinsertion : Dùng REINSERTION flag (True, False) cho leaf node để kiểm soát reinsertion. Ở đây
sau khi chuyển TRUE thành FALSE ta có thể thực hiện reinsertion lại => Khác biệt với SS-tree, R* tree.
(Hình 1)
1
- Redistribution: Phân bố lại 1 data object (object entry) từ overfull leaf cho sibling . Ta xét locally
located trong balanced node vì mỗi balanced node có thể sẽ có (minBN_E,maxBN_E) khác nhau.

1

sibling: node gần nhất với overfull node mà còn ít nhất 1 chỗ trống

17


Các phép toán trên SH-tree

Insertion:

Hình 1

18


Các phép toán trên SH-tree

Delete:
Khi xóa 1 node ta gặp vấn đề leaf node trở thành under-full(số lượng feaf node mà object giữ < minO_E).
- SR-tree, SS-tree, R*-tree và Hybrid –tree sử dụng re-insertion policy.

- SH-tree sử dụng eliminate-pull-reinsert algorithm
Ý tưởng eliminate-pull-reinsert algorithm:
+ Đầu tiên ’pull’ strategy: Chuyển 1 data object (object entry) từ overfull leaf cho sibling hoặc ‘kéo’ 1 data
object từ overfull leaf hay sibling cho under-full leaf node.
+ Cho đến khi ’pull’ strategy không thể giải quyết vấn đề. Reinserted strategy sẽ áp dụng cho under-full
leaf node

19


Các phép toán trên SH-tree

Search:
- Search internal nodes của SH-tree tương tự KD-tree và R-tree tùy theo query types nhưng search
balanced nodes và leaves thì tương tự SR-tree.
- Để thực hiện tìm kiếm ta cần quan tâm metric distance function D
(Euclidean metric, Manhattan metric hay Minkowski metric, etc).
- Sau đây là 1 số query types:
1 Exact match queries
2 Range queries
3 Nearestneighbor queries
4 k nearest neighbor queries

20


Các phép toán trên SH-tree

Search:
1/ Exact match queries:

- Giả thiết: spatial object O trong d-dimensional space E tìm kiếm object O trong database.
- Ý tưởng giải quyết:
(1) Duyệt locate balanced nodes chứa query object O. Từ đó xét các leaf node thỏa O ’s feature values.
(2) MBR và BS của những leaf node này phải overlap O.
+ True: nếu chứa O hoặc False nếu không chứa O.

Node: Nếu tồn tại thì là duy nhất trong SH-tree(khác R+-tree , UB-tree)

21


Các phép toán trên SH-tree

Search:
2/ Range queries
- Giả thiết: Cho 1 query object Q trong d-dimensional space E và 1 giá trị thực r, tìm tất cả data objects O
thỏa: D(Q, O) ≤ r
(bounding sphere range queries).
- Ý tưởng giải quyết:
(1) Xác định balanced node thỏa khoảng truy vấn.
(2) Cho từng balanced node đã xác định, tìm kiếm tất cả entries. Nếu MBR và BS overlap khoảng truy
vấn thì data page (DP) được load.
(3) Cho từng loaded data page, xét tất cả data objects .Nếu D(Q, O) ≤ r thì object O được báo như 1
trong kết quả cần tìm.

22


Các phép toán trên SH-tree


Search:
3/ Nearest neighbor queries
- Giả thiết:Cho 1 query object Q trong d -dimensional space E. Tìm tất cả data objects O trong database
có khoảng cách gần nhất với Q
- Ý tưởng giải quyết:

23


Các phép toán trên SH-tree

Search:
4/ k nearest neighbor queries
- Giả thiết:Cho 1 query object Q trong d-dimensional space E và 1 số tự nhiên k, tìm ít nhất k objects gần
nhất với Q trong database.

Đây là 1 khái quát hóa của NN queries

24


Nội dung

1

2

Giới thiệu bài toán

Cấu trúc SH-Tree


Các phép toán trên SH-tree

3

4

5

Đánh giá hiệu suất

Kết luận

25


×