The Tom Brady of data systems
Built to last. Always delivers. GOAT.
I want a data system like Tom Brady.
We’ve had problems with relational databases. They aren’t Superbowl worthy. So, what data systems are? Or better yet, what general properties do help a data system achieve GOAT status?
Here is what I have arrived at after a little research: (order and importance tbd)
1) Robustness/fault tolerance – the ability to provide the right information in the face of the challenges involved with using, maintaining & growing your service.
2) Low latency – the ability to provide the right information when you need it.
3) Scalable – the ability to maintain performance in the face of increasing data or load by adding resources to the system.
4) Generalised – the ability to satisfy a range of use cases.
5) Extensible – the ability to allow functionality to be added with minimal development cost.
6) Minimal maintenance – self-explanatory. Largely depends on implementation complexity i.e. how easy the system is to reason with.
7) Debuggability – the ability to trace the source for each value in the system.
8) Ad hoc queries – the ability to arbitrarily mine your dataset. This ability opens the door to discover interesting facets of your datasets.