Why I love database hacking
• All of computer science is hiding in here somewhere: (in no particular order)
networking, protocols, parsers, query planning, query execution, parallel
algorithms, concurrency control, buffer management, IO management,
scheduling problems, low level bit twiddling, high level query transformations,
data flow problems, garbage collection, free space management, cache
management problems, transaction processing, crash recovery, lock
management, custom IPC primitives, memory allocators, operating system
portability problems, interpreters, compilers, standards conformance, … etc
etc etc
• It’s OK to not understand large chunks of it at a time. Different people,
different specialisations, and there is always more stuff to enjoy learning later!
• So many unsolved optimisation problems and things to improve, and it’s
worth doing: people use databases in every sphere of human activity… and
they always want them to be better!