by lame88 on 6/16/20, 4:01 PM with 0 comments
From the perspective of "commoditize [your] complements", one could say storage is part of the bread and butter of git's functionality, so it makes sense for it to roll its own. But that's also nearly as true of any transactional or eventually consistent web application.
Performance constrained environments like HFT could probably have a much higher latency and throughput capability by using a specialized handwritten solution and avoiding the SQL translation layer. Similarly, there are plenty of games that are written without engines, though I don't know how many are written without a more generic renderer like OpenGL/DirectX these days and that's a critical subsystem of any game.
Are there any other examples like git in this situation? Are there any general patterns that make rolling your own persistence viable?