CrateDB is easy to install everywhere, but feels especially comfortable in a containerized environment. Feels especially comfortable in Docker and can be managed with Docker tools, Kubernetes or Mesos.
Starting an instance on Docker is a one line command. Setting up a cluster fits into a tweet and is automatic and zero-config. Crate is the natural choice for applications that need data with a persistent state as the number of containers and services change.
How is CrateDB different than other databases running in Containerland?
Relational DBs can run in one container by making the database think it is not running in a container (using volume plugins). This works for one instance, but does not scale in a distributed environment, which is what containers were chosen for in the first place. Other NoSQL DBs can run in containers too, but their setup in production is often very complex, with multiple container types required.
CrateDB is simple to configure, scale and maintain. Make use of our Standard SQL syntax with its distributed power and use our client libraries to fit into existing applications.
CrateDB is masterless and its “shared nothing architecture” means that all nodes are equal. There are no roles or different containers, e.g. for data, replication, shards, config, backup etc. CrateDB just uses ONE container on each physical node, and you are done. If you have a very powerful machine (e.g. lots of RAM) you may also run multiple CrateDB containers on one machine.
This architecture makes it super simple to launch CrateDB (e.g. “docker pull crate”) and of course to operate a production cluster. CrateDB automatically repairs node failures, container disappearance or re-appearance, and can just write to or read from any container in the cluster.
CratDBe is like an ether – an omnipresent, persistent layer for your data, serving all your app containers.
If you are up for a quick test, here is how you launch a 3 node CrateDB Cluster immediately on your notebook 🙂