MIT 6.033 Computer System Engineering, Spring 2005. Course lectures on YouTube.
A simple suggestion to radically improve your package structure. Edmund Kirwan on radial encapsulation. Bookmarking is not endorsement ;)
A key-value store with other data models and querying apis layered over top, so you can treat the same data as relational (with sql queries) and graph (with gremlin traversals) at the same time. WHAT. Indexes as a data model, like in document databases.