5 ms·
Docker itself doesn't add much latency. It just makes getting MySQL and PostgreSQL easier. If anything, it helps with dependencies. The database server startup
by bradfitz 6y ago
Docker itself doesn't add much latency. It just makes getting MySQL and PostgreSQL easier. If anything, it helps with dependencies. The database server startup still isn't great, though.
- nicoburns 6y agoIf you don't use Docker, you can just leave the database server running in the background, which removes the startup latency (you can of course do this with Docker too, but Docker has a tendency to use quite a few resources when left running in the background, which a database server on it's own won't).
- bradfitz 6y agoSo then every engineer needs to install & maintain a database on their machines. (Hope they install the right version!) I mean, that's what my old company did pre-Docker. It works, but it's tedious.
- nicoburns 6y agoI mean that's an `apt install postgres` or `brew install postgres` away. Takes about 5 minutes. I guess it could become a pain if you need to work with multiple different versions at once.
- majormajor 6y agoBeing deep in the cloud world right now, with aws and terraform and kubernetes cli tools, etc, not having to install third party tools on my machine does sound pretty great, but also entirely unrealistic. Managing local DBs once new versions are out and your server isn't upgraded yet is irritating, but when I'm using a Mac I'd still rather use a native DB than Docker because of the VM overhead, since I've not yet run into a bug caused by something like "my local postgres was a different version than the server was." (Closest I've gotten was imagemagick for mac doing something a bit differently than for linux, about 10 years ago at this point.)
- zimpenfish 6y ago> I've not yet run into a bug caused by something like "my local postgres was a different version than the server was." Ran into that at a recent place - the code was doing "= NULL" in a bunch of places (before my time) and PG12 treated that differently than PG11 did which broke a bunch of tests.
- throwdbaaway 6y agoThere is a middle path -- use lxd. This way, the mysqld/postgres process can always be running, while the dev machine remains clean. (But of course the battery will drain a little faster if it is a laptop)
- irrational 6y agoDo the developers not have an internet connection? Why can’t they just hit a database running in the cloud or your own server somewhere?
- cpuguy83 6y agoWould love to know what resources you are speaking of here. We've definitely done some whack-a-mole with allocations in the engine, and of course there's always things getting changed/added still.