Skip to main content

CST 363 - Week 5

This week,  I learned about b-trees, why they are used in database and file systems, and how to work with b-trees in a simple database implentation using Python.

B-trees are used widely in databases and file systems because they offer O(log n) run times for read and write operations. Because b-trees are always balanced and maintain a constant height, it takes few read and write operations to access or write data to a disk. I find it especially interesting how b-trees are like a combination of a linked list and a binary tree, albeit with special properties, and I can see how they are used in modern file systems due to their performance.

I also learned about how space is managed within a database system using pointers vs. occurrence tables with primary and secondary keys, and how pointers are faster in terms of runtime yet prone to memory errors and unintended read/write operations that can compromise data, versus indexed tables with primary and secondary keys which are harder to implement and require more resources, but at the same time can process data directly and are somewhat more user-friendly in terms of structure and layout.

I struggled a lot with this week's assignment, and unfortunately I did not get my delete function working quite as intended in the Index and UniqueIndex class. I'm planning to redo my code and look over where I went wrong in order to improve my skills and learn from my mistakes.

Comments

Popular posts from this blog

CST 499 - Week 7

This week, our group finished recording and editing our capstone project video and prepared our presentation for the capstone festival. Although I wish the capstone festival was held in person (and it could not due to current circumstances), I am excited to show off our project and hard work to other computer science students, friends, and family. I hope they'll enjoy it and learn something cool while doing so. 

The Final Journal

It's the end of a long, four year journey, and what a journey it has been. I never thought I could pull off finishing my second bachelor's degree four years ago when I first went to that introduction to programming class at my community college. I would like to thank all the friends I've made along the way and the people who have helped me through the last two years. Although it was difficult at times taking class while working 40+ hours a week, I'm proud of myself for making it through. I don't think I'll be a student enrolled in classes anytime soon, but I'll always be a lifelong student. See you all around.

CST 499 - Week 3

This week, we finished our ILP portfolios and turned in the final versions of our resume and cover letter. My group also completed the first part of the capstone report. I'll admit that creating a portfolio showcasing my past work was not at the top of my priority list when I first started studying computer science, although at this point in my educational and professional career I've learned how important it is to have such a portfolio. Like other creative professions, having a solid body of work to show to a potential employer, or even for personal documentation is one of the best ways to display your talents as an engineer. Also, all the assignments I've completed during my academic career, both at CSUMB and elsewhere, have given me a good start to my portfolio. I tend to prefer classic, plain styling like  Brian Kernighan's  home page (he has a pretty nice portfolio too), although I've come to appreciate highly stylized portfolios that make use of WebKit ani...