Memory Mapped Files

The first thing we need to do to build a database is to find a fast way to read from and write to disk. Whether we are doing I/O on a hard drive or an SSD, the interface to the disk typically works the same. It transfers data into and out of the disk in ‘pages’ or blocks of data. It makes sense to keep data we are likely to access together in the same page so that it is already in memory when we need to access it.
Read more...

Implementing a Triple Store from the Ground Up - Part 1

I’ve long been fascinated with semantic web technologies, the potential of RDF and understanding how to implement a triple store from the ground up. Databases are one of those technologies - like compilers - that we often take for granted, and yet which beneath the hood employs some very sophisticated algorithms and data structures to achieve acceptable levels of performance. In this new article series, I’ll implement a triple store using techniques introduced in recent years for efficiently storing and processing indexes on large knowledge graphs.
Read more...