Settings

Theme

Database Internals

databass.dev

305 points by pointy_hat 6 years ago · 38 comments

Reader

playing_colours 6 years ago

This is a very good book! Recently, I am very happy with a number of more foundational data books from O’Reilly:

Designing Data-Intensive Applications https://dataintensive.net/

Streaming Systems http://shop.oreilly.com/product/0636920073994.do

and this one.

  • zarkov99 6 years ago

    Both of those are fantastic, data intensive in particular I think is the best book I have ever read from O'Reilly. Glad to hear this one is as good.

  • burlesona 6 years ago

    If you wanted to build your own database (to learn how), is Database Internals the better book, or DDIA?

    • travisjeffery 6 years ago

      I'm currently writing a book for PragProg called Building Distributed Services with Go (though it mostly applies to other languages too) that's walks you through building a distributed database from scratch. You can sign up on this mailing list to know when it's available: https://travisjeffery.us4.list-manage.com/subscribe?u=1e3ff7...

      • bogomipz 6 years ago

        Looking forward to it. Do you have any idea when this might become a Beta book on PragProg? Cheers.

      • zerr 6 years ago

        Do you have an experience or learning along writing? (also a legit/common way)

        • travisjeffery 6 years ago

          Yeah---each chapter begins with background on the chapter's topic, some theory, covers how and where you'd use what's we're talking about in the chapter and then we use it to build a part of the project we're building throughout the book. For example, in the consensus chapter we talk about what problems it solves and how you can use it in your projects,and then we implement Raft in the service for leader election and replication.

      • _rkz1 6 years ago

        Awesome. Just signed up. Any ideas on what the pricing will be like?

    • playing_colours 6 years ago

      This one, it covers all the aspects deeper. The next book, if you want to go deeper, can be an upcoming 4th edition of Principles of Distributed Database Systems https://www.springer.com/gp/book/9783030262525

chrisseaton 6 years ago

I've been reading this book for the last few days - it is way above what you expect these days for a technical book from a popular publisher in terms of its description of underlying data structures and algorithms. It's also easy to read. The depth of a text book with the approachability of a typical working programmer's book.

manigandham 6 years ago

I also recommend following Andy Pavlo and the CMU Database Group which has lots of free courses, videos and material:

https://db.cs.cmu.edu/

https://www.youtube.com/channel/UCHnBsf2rH-K7pn09rb3qvkA

  • zerr 6 years ago

    It suffers from the common issue for such content - theory/lectures are too diverged from the practical/lab part.

    • manigandham 6 years ago

      There's nothing stopping you from just writing code following the lectures. What else would a practical/lab part be? \

      There are tons of open-source databases on github that you can hack on so I don't think there's a major issue with getting practical experience if you want it.

    • HappyJoy 6 years ago

      You can try the homework assignments. They aren't trivial and you'll probably learn a bunch more by not being spoon fed the answers. Admittedly, the only bummer is not having someone review your work.

elamje 6 years ago

The topical overview certainly sounds interesting, but sounds extremely similar to Designing Data Intensive Applications which also covers modern DB internals.

What’s the sell here?

  • libraryofbabel 6 years ago

    There is some overlap, but they complement each other. This one (Database Internals) has much more of a technical deep dive on storage engines, especially B-tree implementation details.

    If I was mentoring someone learning this stuff, I'd advise reading Designing Data Intensive Applications first, which is certainly the best for giving the big picture, and follow up with this one for more detail on certain topics.

    Given the previous dearth of books on this important subject, I think it's wonderful that we have two.

  • jolmg 6 years ago

    The preface is also available in the preview. It goes in further detail about the scope of the book. There's also the table of contents.

    I haven't seen the book you mentioned, so I can't comment on that.

HappyJoy 6 years ago

Database Design and Implementation by Edward Sciore implements a fully working relational database from buffer manager up to parser and beyond. It's very much in the spirit of Tanenbaum's OS book.

Here's the landing page for the book's implementation: http://www.cs.bc.edu/~sciore/simpledb/intro.html

Unfortunately, I don't think the book is in print anymore.

abhinaba1 6 years ago

I am reading this book for the past few days. Very well written!

_y5hn 6 years ago

Grey text on white background => almost unreadable on my screen and I don't usually have problems with low contrast.

  • ifesdjeen 6 years ago

    Author here. Thanks for the heads up, it did look a bit bleak on the mobile. Increased the font size, made grey much more dark, and increased heading sizes. Hope it's easier to read now!

    • Stratoscope 6 years ago

      I don't know if I'm seeing the old version or the new version, but this is still very hard to read.

      Advice to all web designers: Please do not use "font-weight: 300" for body text, ever. Simply changing that to 400 in the developer tools made it much more readable. The font was still bugging me, so I tried killing the "font-family: futura pt" too.

      Wow! What a world of difference. Now it is super easy to read, instead of looking like it's trying to show off some design style.

      Know your audience: you are addressing potential database developers with this book, not graphic designers.

      • ifesdjeen 6 years ago

        Preferring one font over the other is more a question of taste, but I think you're right about font-weight: it does read better with 400. Thanks for the tip!

        • Stratoscope 6 years ago

          And thank you for being so responsive to feedback! It's much easier to read now.

          I also want to apologize for my comment being a little grouchy; I should know better than to comment on style and readability in the wee hours. :-)

          • ifesdjeen 6 years ago

            Sure thing! Appreciate that you've figured out what was wrong with that font, too.

mesaframe 6 years ago

In past few days I've heard so many praises and also I have heard so much criticism about Database Books in general.

What makes this book so much better?

  • zzzcpan 6 years ago

    It depends on your goal.

    Database internals books are not worth reading if you want to work on implementing real world database engines. You are better off checking out internals and documentation of various implementations and also research papers in that field. And you would be doing your own research anyway.

    But if you are just starting out in programming, it's probably as good book as any to learn something new and practical about algorithms and data structures.

    • ifesdjeen 6 years ago

      I completely agree that it always depends on the goal. I'd also add a second vector: experience. If you've already worked with distributed and/or storage systems and have understanding of the field, you can jump straight to papers and code. However, for people who are just starting, it may be beneficial to read an overview book and get familiar with a field. This book attempts to be that a starting point that can help to navigate database papers and code.

      Some of the folks I talked to who have already worked with databases a lot mentioned they've benefited from the book as well, since there were some concepts they were less familiar with or never had to learn (for example, transactional processing for the folks who have mostly worked with on eventually consistent databases; or B-Tree details for the folks who have mostly worked on LSM-Based storage engine)

      Disclaimer: I'm author of this book.

alfiedotwtf 6 years ago

Nice. This is the book I've been wishing someone wrote for a long time. Finally! Insta-buy.

commandersaki 6 years ago

Is this a full fee paid course for on campus students?

Because if it is, I would be miffed and feel short changed to be told to watch youtube lectures on my own time. I value face to face time and interactivity with my professor or lecturer. If this is a heavily discounted course due to the crippled way it is taught then I have no issue.

From the syllabus:

CS144 is taught using a combination of lectures and videos. In previous years, it was entirely “flipped”; i.e. all the lecture material was taught by videos. This year things are different and we are going to mix things up: Some weeks, including the first week, will be based on recorded videos that you are required to watch in your own time. We will call these Video Weeks. Other weeks, including the second week, are based entirely on in-class lectures, and you don’t need to watch any videos. We will call these Lecture-only Weeks. So why mix things up? We are teaching this way because we have found that some of the material (e.g. the basic principles you learn in week 1) are most efficiently learned by watching videos - the concepts are fairly simple and the material is descriptive; a video is a more efficient use of your time. Other material, such as when you learn about congestion control in week 4, is best learned in person, interactively in a lecture.

  • jrockway 6 years ago

    The fee you pay for college courses is for the piece of paper saying you passed the course.

    Those that don't need the piece of paper can learn for free. Who can complain about that!

    • commandersaki 6 years ago

      Ostensibly. Some may want the paper and an actual learning experience that isn't virtualised. I must be asking for too much.

      I also might not understand the purpose of the video lectures. If they supplant face to face time but get rid of the tedium, then I would say it should also accompany course/lecture notes, reading texts, and/or supplemental documents.

      I just think forcing people to watch youtube videos is a much lower quality experience for a student. If it's a required course I'd want a refund for being forced into a lazy teaching format.

  • mesaframe 6 years ago

    Did you post this on wrong thread or you didn't care to open the posted link?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection