Being able to spin up containers quickly is one thing. Managing them in a production environment requires persistence on the part of both the underlying IT infrastructure and the IT professionals asked to manage it. To rise to that challenge Crate Technology created Crate, an open-source SQL database based on a shared-nothing masterless architecture that is not only designed to scale, but also maintain awareness of state surrounding all the containers running across multiple clusters.
Today Crate Technology announced that it has raised an additional $4 million in funding in a round led by by Dawn Capital. In addition to Sunstone Capital, DFJ Esprit and Speedinvest, Solomon Hykes, CTO of Docker Inc. and creator of the Docker project, also participated.
Crate Technology CEO Christian Lutz says rather than relying on legacy databases that were never designed to support the fluid needs of containered applications, Crate was designed from the ground up to provide a persistent layer for containers. Written in Java, Lutz claims that Crate has been downloaded more than 350,000 times in the last six months.
Like many so-called NoSQL databases, Crate does not rely on a tradition relational engine. Nevertheless, it’s is SQL compatible. Because Crate makes use of columnar store it’s ideally suited for analytics applications that need to support dynamic schemas as well as geospatial and time series applications. Crate can also be used in support of transaction applications using transactional semantics. In that context, Crate allows synchronous real time access to single records after they are written. But if the application needs to calculate a sum or other aggregation query this record may not yet be included in the aggregation, but will be available a few milliseconds later. Nor does Crate support ACID transactions with rollbacks, but it offers provide an Optimistic Concurrency Control facility via an internal versioning capability that allows detection and resolution of write conflicts.
For a lot of IT organizations that means Crate can be used as a foundational layer for both analytics and certain classes of transaction applications. That may not entirely replace the need for a traditional relational database, but Lutz says it does serve to limit the number of relational database licenses an organization might ultimately need.
In addition, Lutz notes that Crate can ingest data at a rate of about 40,000 inserts per second and comes with a built in snapshot capability to move data to another database instance to ensure high availability.
Finally, Crate also gives developers access to a plug-in framework that can be used to add support for additional application specific functionality.
While there is no shortage of NoSQL database alternatives, Lutz says Crate is designed to keep track of containers that can come and go in a matter of minutes. But every time those containers return Lutz says Crate automatically recognizes them from its previous interaction.
It’s too early to say what approach will ultimately be used to private persistence to containerized applications in production environments. But it is safe to say that some form of underlying database technology that abstracts away much of the complexity associated with support a highly dynamic container application environment will most certainly be required.