Farewell to fsync(): 10× faster database tests with Docker

You’re writing an application that talks to a database—PostgreSQL, MySQL, MongoDB—and you need to write some tests. You want three things out of your tests: Realism: the closer your test setup is to production, the more likely you are to catch bugs with tests. Speed: Slow tests are expensive tests. Ease-of-use: You want running and writing tests to be easy, otherwise you’re less likely to do it. The problem is that interacting with a database is slow, so you want to avoid writing tes…