Hoàn toàn tương đương về chức năng của B-Tree?


14

Tôi đang khám phá ý tưởng viết một DBMS theo cách hoàn toàn chức năng. Cấu trúc dữ liệu truyền thống được sử dụng để lập chỉ mục là B-Tree. Tôi muốn biết một số tương đương chức năng hoàn toàn của B-Tree sẽ được tối ưu hóa để giảm thiểu truy cập đĩa. Cảm ơn.


Tôi không biết nhiều về nó, nhưng đây có vẻ là một nơi hợp lý để bắt đầu.
Ritwik Bose

Mechko, tôi nghĩ rằng các cấu trúc dữ liệu bị lãng quên trong bộ nhớ cache thường không phù hợp với việc triển khai chức năng thuần túy.
jbapple

Câu trả lời:


10

Tôi biết nhiều hơn về các cấu trúc dữ liệu chức năng thuần túy hơn các cấu trúc dữ liệu bộ nhớ ngoài, nhưng tôi sẽ thử.

Cây B có thể được viết theo cách hoàn toàn chức năng bằng cách sao chép đường dẫn. Đường dẫn sẽ ngắn ( ), nhưng sao chép mỗi khối sẽ ghi O ( B ) trong các khối O ( 1 ) .Ôi(đăng nhậpBn)Ôi(B)Ôi(1)

Nếu bạn sẵn sàng để cho cấu trúc thể chỉ đầy đủ dai dẳng, chứ không phải là hoàn toàn chức năng, tôi nghĩ bạn có thể giảm số lượng ghi trong một bản sao nút để dự kiến phân bổ dần, nơi w là chiều rộng văn bản, sử dụng các các mảng hoàn toàn liên tục trong "Các thử nghiệm liên tục phù hợp để kiểm soát phiên bản hiệu quả"Ôi(lgw)w

Bạn có thể muốn xem bản trình bày này về RethinkDB , sử dụng các cấu trúc dữ liệu hoàn toàn chức năng do chi phí ghi vào SSD.


4

Nếu bạn quan tâm đến việc viết một cơ sở dữ liệu chức năng thuần túy, có lẽ bạn nên xem luận án tiến sĩ của Phil Trinder về chủ đề này. Ông có một chương về việc sử dụng B-Plants.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.