
Database Architecture Blog - dhanushkamad
https://architecture-database.blogspot.com/
======
faitswulff
Related - I was looking around for tutorials on how to write a database and
stumbled across this tutorial on writing a SQLite clone, which looks very
promising:
[https://cstack.github.io/db_tutorial/](https://cstack.github.io/db_tutorial/)

~~~
weeksie
These days when everything can live in RAM, just focus on writing a good,
durable transaction log and use an in-memory data structure. That way you
won't waste all your time re-implementing a B-tree and can focus instead on
the query engine and data model. At least if you're doing it for your own
gratification (and even if you're not, it may make sense to build the initial
prototype that way.)

Just my 2¢

—signed, someone who went down that road a decade ago

~~~
eismcc
As someone who works on an in-memory DB, good advice. You can go far, but it’s
worth designing your system with the notion that data _could be_ paged in/out
behind the scenes.

~~~
setr
What is there to do with knowledge of paging?

Afaik it should be fully transparent; can you even reliably that it occurred?

I’m strictly asking, to be clear; I’m vaguely remembering an article about
redis(?), describing db page-management as a poor design, as it ends up being
unreliable to detect, and competes with the OS to neither’s benefit (though a
similar argument is often made as to why you shouldn’t micro-optimize C — the
compiler will win [except where it doesn’t])

~~~
mavelikara
The article you are referring to might be about
Varnish.[https://news.ycombinator.com/item?id=1554656](https://news.ycombinator.com/item?id=1554656)

------
thanatos_dem
The concepts presented are good, but the grammar issues are very distracting
from the content.

~~~
cgora
Agreed, this could be next level content with some proof-reading.

------
dentisto
Nice job!

