loại cấu trúc và adt
Post on 24-Feb-2016
66 Views
Preview:
DESCRIPTION
TRANSCRIPT
Loại cấu trúc và ADT
Probe
Camera type
Loại cấu trúc và ADT
Video stream
Loại cấu trúc và ADT
Loại cấu trúc và ADT
Time Location (latitude, longitude)
Probe Video stream Time Location (latitude, longitude)
Loại cấu trúc và ADT
Probe (pid: integer, time: timestamp, latitude: real, longitude: real, camera: string, video: BLOB)
Thiết kế cơ sở dữ liệu RDBMS
Phụ thuộc hàm PTLN CV P CV
Probes_Loc (pid: integer, time: timestamp, latitude: real, longitude: real)
Probes_Video (pid: integer, camera: string:, video: BLOB)
“Với probe 10, hiển thị đoạn video được thu từ 1:10pm đến 1:15pm vào ngày 10, 1996”
Thông tin liên tiếp bị phân tán qua các bộ
Thông tin video và location bị phân tách ra
Thiết kế cơ sở dữ liệu RDBMS
Probes_AllInfo (pid: integer, locseq: location_seq, camera: string, video: mpeg_stream)
Thiết kế cơ sở dữ liệu ORDBMS
SELECT display (P.video, 1:10pm, May 10 1996, 1:15pm, May 10 1996)
FROM Probes_Allinfo PWHERE P.id = 10
Xóa
Cập nhật
Chia sẻ và copy
Chi phí lưu trữ
Phân nhóm
Định danh đối tượng
Định danh đối tượng
(Oid)
Khóa ngoại(Foreign key)
Mở rộng mô hình ER
Với mỗi probe, hãy xuất ra thời gian sớm nhất được ghi lại và loại camera
Sử dụng các tập hợp lồng nhau
Tìm thời điểm sớm nhất được ghi ở latitude =5, và longitude =10
Probes1 (pid: integer, locseq: location_seq)
Probes2 (pid: integer, time:timestamp, latitude: real, longitude: real)
Sự lựa chọn trong thiết kế lược đồ phải phụ thuộc vào lượng workload mong muốn
Tránh lạm dụng tập hợp lồng nhau
1
Lưu trữ và phương thức truy xuất
2
Xử lý truy vấn
3
Tinh chỉnh truy vấn
Các thách thức trong cài đặt ORDBMS
• Khi ADT lớn hơn page • Sử dụng disk-based pointer được duy trì từ
các bộ cho đến đối tượng mà nó chứaADT
• Kích thước biến thiên• Đòi hỏi cơ chế sắp xếp đĩa linh hoạt
Structured object
• Theo truyền thống lưu trữ liên tiếp trên đĩa theo từng dòng I/O cao
• Chia nhỏ mảng thành các khối gọi là chunkArray
Lưu trữ đối tượng có cấu trúc và ADT lớn
Chỉ mục trên loại dữ liệu mới
INDEX
Xây dựng một interface phương thức truy vấn
Cho phép người dùng cài đặt các cấu trúc chỉ mục bên ngoài
DBMS.
Trong đó chỉ mục và dữ liệu có thể được lưu trong file system
DBMS chỉ đưa ra các yêu cầu lặp đi lặp lại là open, next, close
đến đoạn mã chỉ mục bên ngoài của người dùng.
Tuy nhiên phần dữ liệu ở chỉ mục bên ngoài không được
bảo vệ bởi DBMS cho tính đồng thời và phục hồi.
Chỉ mục trên loại dữ liệu mới
Xây dựng một template cấu trúc chỉ mục chung
Cài đặt trực tiếp trong DBMS
Khắc phục được vấn đề đồng thời và phục hồi.
Ví dụ: Generalised Search Tree (GiST) là một cấu trúc như vậy.
Nó là một template dựa trên cây B+, cho phép hầu hết các cấu
trúc chỉ mục có thể cài đặt với vài dòng ADT code do người dùng
định nghĩa
Chỉ mục trên loại dữ liệu mới
Hàm kết hợp người dùng định nghĩa
Độ tin cậy của phương thức
Method Caching
Pointer Swizzling
Xử lí truy vấn
Hàm kết hợp người dùng định nghĩa
Initialize Iterate Terminate
User-defined
Aggregation
Function
Sử dụng interpret (thông dịch) phương thức của người sử dụng hơn là compile.
DBMS có thể kiểm tra phương thức có thực hiện tốt hay không trước khi thực thi nó.
Ngôn ngữ thông dịch điển hình là Java
Độ tin cậy của phương thức
Cho phép người dùng biên dịch trên một ngôn ngữ lập trình như C++, nhưng thực thi các phương thức đó ở không gian địa chỉ khác với DBMS.
DBMS sẽ gửi giao tiếp liên tiến trình (IPC) đến phương thức người dùng, và phương thức trả về IPC.
Khắc phục vấn đề làm hư hỏng hệ thống và ngăn chặn các phương thức nguy hiểm đọc và chỉnh sửa cơ sở dữ liệu.
Chú ý là người dùng khi viết phương thức không cần biết DBMS đang thực thi phương thức ở một tiến trình khác.
Sắp xếp bảng trên cột đó hoặc sử dụng lược đồ dựa trên hash Duy trì cache của phương thức input và những output trùng
khớp như một bảng trong cơ sở dữ liệu.
Method Caching
Pointer Swizzling
Đăng ký chỉ mục
Hệ số giảm và chi phí tính toán cho phương thức ADT
Tinh chỉnh phép chọn chi phí cao
Tinh chỉnh truy vấn
Đăng ký chỉ mục với bộ tinh chỉnh
• Điều kiện nào trong mệnh đề WHERE trùng khớp với chỉ mục
• Chi phí nạp một bộ đối với chỉ mục là bao nhiêu
WHAT HOW MUCH
OPTIMIZER
Người dùng tự tính toán Nếu như hàm tính toán đó không được đăng kí thì bộ
tinh chỉnh sử dụng một hệ số giảm tùy ý
Hệ số giảm và chi phí tính toán cho phương thức ADT
Thứ tự tốt nhất trong phép chọn là một hàm của chi phí và hệ số giảm, rank = (hệ số giảm -1 )/cost
Rank lớn thì hoãn phép chọn lại sau khi đã thực hiện phép kết
Tinh chỉnh các phép chọn chi phí cao
top related