Earlier quoted context omitted.
There is nothing special about containers to really understand Containers are a lightweight way of sandboxing a process. Think a level lower than a VM. You can run multiple containers on a single VM in the same way you can run multiple VMs on a single host. Ideally a container should be stateless. If a container crashes, you should be able to bring it up again without anything actually caring that it is technically a…
> Containers are a lightweight way of sandboxing a process. Think a level lower than a VM. can you go into a little more depth? my understanding of a VM is that it installs the OS in a dedicated memory partition, and allocates hardware resources separately from that of the host machine, such that resource contention between host and VM never happens. the VM allocated resources just go dark for the host machine while…
Why Databases Are Not for Docker Containers
51–60 of 184 posts
Re: Why Databases Are Not for Docker Containers
#52Alright, all you brave people who run databases in docker: where do you store the actual data? - Host mounts? So what happens when a container gets rescheduled to another node? - Docker volumes? What happens when a container gets rescheduled to another node? - External SAN? Congratulations on your budget. That's not easily doable in public cloud I guess? - Shared filesystem like NFS, or Ceph? How's the performance fo…
Re: Why Databases Are Not for Docker Containers
#53Earlier quoted context omitted.
Chicken and egg. Is that other instance containerized?
Decoupled failure modes, unless you think there's a global "fail all docker data stores".
For starter, failure modes are not decoupled at all. If one db hits a race condition in the storage driver on one instance, it's usually 100% guarantee that all other instances are sensitive to the same bug and it will happen sooner or later.
In practice, occurrences of a bug are highly correlated and usually happen in batch.
Re: Why Databases Are Not for Docker Containers
#54I've run extensive benchmarks of Hadoop/HBase in Docker containers, and there is no performance difference. There is no stability difference (oh a node might crash? Welcome to thing which happens every day across a 300 machine cluster).
Any clustered database setup should recover from failed nodes. Any regular relational database should be pretty close to automated failover with replicated backups and an alert email. Containerization doesn't make this better or worse, but it helps a lot with testing and deployment.
Re: Why Databases Are Not for Docker Containers
#55Alright, all you brave people who run databases in docker: where do you store the actual data? - Host mounts? So what happens when a container gets rescheduled to another node? - Docker volumes? What happens when a container gets rescheduled to another node? - External SAN? Congratulations on your budget. That's not easily doable in public cloud I guess? - Shared filesystem like NFS, or Ceph? How's the performance fo…
>- Host mounts? So what happens when a container gets rescheduled to another node?
Persistent Volumes and Claims. Kube manages moving containers, and the associated storage.
> - External SAN? Congratulations on your budget. That's not easily doable in public cloud I guess?
Specify a storage class on the persistent volume claim. Most providers (Google, AWS, Azure,..) support SSD
> So what if disaster strikes and all your containers go down? And get moved around?
You let Kube handle rescheduling containers onto new nodes.
Re: Why Databases Are Not for Docker Containers
#56This article is terrible. It's a lot of wishy-washy explanations devoid of technical detail - because their isn't a technical explanation or justification for this list. I've run extensive benchmarks of Hadoop/HBase in Docker containers, and there is no performance difference. There is no stability difference (oh a node might crash? Welcome to thing which happens every day across a 300 machine cluster). Any clustered…
did you publish your findings anywhere?
Re: Why Databases Are Not for Docker Containers
#57Earlier quoted context omitted.
People make it seem as if Docker is some bleeding edge magical technology, but in reality its most useful features are just thin wrappers around stable linux kernel features and some nice automation. We have also been running databases in Docker (on the tb scale though) for around 3 years, we had the odd issue here and there, but nothing terrible and certainly nothing fundamental or resulting in data loss. If your da…
This is one of the biggest problems with people hating on docker... They don't understand what it is and actually does. Great comment!
But putting pb of data in docker three years ago is just insane.
There are still things not clear right now,which are not stable ( not in unstable destroying data) but unstable in: if something goes wrong with your data you need to dig deep and find out what's going on. If stuff changes every few month. You will have a hard time.
Also, enterprise concerns like:
Will there be a docker standard from Google and Facebook? Will AUfs be Version 4 or scrapped again? Will the composer format stay? How to manage runtime upgrades? Ie syncronize 1000 dockers with one version update than another 1000 with another software. So that one update depends on another. Etc etc etc.
Three years ago it just wasn't there. Two years ago I would have said: "good enough" to play around. One year ago it started to get really interesting for enterprise.
That's why I say: you handle pb of data,with docker,three years ago?
Balls of steel.
Re: Why Databases Are Not for Docker Containers
#58Alright, all you brave people who run databases in docker: where do you store the actual data? - Host mounts? So what happens when a container gets rescheduled to another node? - Docker volumes? What happens when a container gets rescheduled to another node? - External SAN? Congratulations on your budget. That's not easily doable in public cloud I guess? - Shared filesystem like NFS, or Ceph? How's the performance fo…
Re: Why Databases Are Not for Docker Containers
#59Re: Why Databases Are Not for Docker Containers
#60At my company we have been using PostgreSQL on Docker for over two years without and have been sufficiently satisfied with the results that we're in the process of turning out setup into a product in its own right: http://containable.co/