Project 1 Implementation of the BTree 2012 4

Project #1 : Implementation of the B+Tree 2012. 4. 17 TA. Jong-Ryul Lee

Introduction • B+Tree – Most widely used index – A balanced tree B+Tree Non-leaf level B tree Leaf level

Environment • Language – JAVA or Python – Do not use Python 3. x • I like 2. 7

Assignments(1) • B+Tree implementation – Search function • Point search – Key = Value • Range search – Key>=Value 1 AND Key<=Value 2 – Insert function • You don’t need to implement “redistribution”. – Show function

Assignments(1) cont. • B+Tree implementation – Memory-based index – Default order = 2 • Define order by “static int ORDER 2” in JAVA • TA may change the order. – Data entry uses alternative 3 • • <Key, RID-list> Key : string type RID-list : integer list Ex. <Perryridge, 1, 2, 3> <Redwood, 4, 5>

Assignments(2) • Bulk-loading – Use bulk-loading for creating a B+Tree

Assignments(3) • Prefix key compression – Index entries contains prefixes of the keys rather than copies of the actual keys E BO ADAMS-BERNE BOLEN-GAGE CAMP-DUTTON F EMBRY-EVANS FOLKS FABER-FOLKS-GADDIS

Assignments(4) • Command interface – command > prefix. Key. Compression – command> store file. Name • file. Name format Downtown Redwood Perryridge …… – command> insert Redwood – command> search key = Redwood – command> show. BTree • Example (B+Tree of order 2): [Perryridge] [Downtown Mianus] [Redwood] [Brighton Clearview] [Downtown] [Mianus] [Perryridge] …… – command> exit • No need to consider command error handling

Submit(1) • Files to submit – source files – README. txt • What you have implemented and what you have not (Specify in detail) • Brief explanation of your implementation (less than one page) • Any assumptions you have made • How to compile and run • How to interpret the B+Tree Structure that is displayed by the show. BTree command • Talk about your experience of implementing a simple DBMS

Submit(2) • Email Format – Attach only one zip file • Filename : student number • e. g. 20121234. zip – Email Title • [cs 360 project#1]Your Student ID, Your Name – TA email : jrlee@islab. kaist. ac. kr • Deadline – April 23 rd 23: 59(Mon) • Delay Penalty – 10% penalty per day – Submissions later than April 29 th 23: 59(Fri) will not be accepted.

Grading Policy • B+Tree : 60% – search : 25% – insert : 25% – show : 10% • Bulk-Loading : 15% • Prefix Key Compression : 15% • README. txt & comments : 10% • COPY : -100%

Grading Policy(cont’d) • Please, focus on implementing each function exactly based on the textbook. • For unimportant things, make some assumptions! – For example, A < a or a < A? It’s not important!

Any question?
- Slides: 13