Rahul Sharma (Editor)

CrateDB

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Crate.io, Inc.

Operating system
  
Cross-platform

License
  
Apache License 2.0

Written in
  
Java

Type
  
Data Store

Website
  
crate.io

CrateDB is a distributed SQL database management system that integrates a fully searchable document oriented data store. CrateDB is open source, written in Java and based on a shared nothing architecture. CrateDB is designed for high scalability and includes components from Facebook Presto, Apache Lucene, Elasticsearch and Netty.

Contents

History

Jodok Batlogg, an active open source contributor and creator since 2004, beginning with the Open Source Initiative Vorarlberg began the CrateDB project while at Lovely Systems in Dornbirn. As more data was added to the applications developed at Lovely Systems for its customers, he and Bernd Dorn observed that storing documents, blobs and supporting real-time searches was not simple to support and that a horizontally scalable solution was needed for data persistence. The data store was given the brand Crate in 2013 and the domain was purchased from a PyPi maintainer. The company raised its first round in April 2014. In June 2014 Crate.io won the judge's choice award at the GigaOm Structure Launchpad competition and in October 2014 they win the Techcrunch Disrupt Europe in London. The developer community is meeting at mountain hackathons.

Overview

CrateDB's language is SQL but it uses the document-oriented approach of NoSQL style databases. CrateDB uses the SQL parser from Facebook Presto, its own query analysis and distributed query engine. Elasticsearch and Lucene is used for the transport protocol and cluster discovery and Netty for asynchronous event driven network application framework.

CrateDB includes a built-in Administration Interface. The Command Line interface (Crate Shell – CraSh) allows interactive queries. CrateDB’s Python client is most advanced and features SQLAlchemy integration.

Example

This example uses a database with tweets and the crash command-line SQL shell shipped with CrateDB. First, a connection to a running node is established.

Create the database:

Inserting the first tweet:

one more tweet

Looking up only Ford's tweets:

References

CrateDB Wikipedia