Frequently Asked Questions

  • Can Crate import or export data as JSON?

    Yes, CrateDB can import JSON data and export data as JSON. When importing data into Crate, JSON is the only supported format.

    Read more »

  • Can Elasticsearch data be imported into CrateDB?

    You can export an Elasticsearch instance and import it into CrateDB. This is easy to do thanks to CrateDB’s dynamic schema update feature. After the data is loaded, you can read and write data in CrateDB via SQL. CrateDB also supports using the ES API to read, but not write data in CrateDB.

    Read more about CrateDB and Elasticsearch »

     

  • Can I import data from MySQL or PostgreSQL?

    Yes, this is possible, read more about migrating data from MySQL (or most any other SQL DBMS) here:

    Read the Migrating MySQL to CrateDB white paper »

     

  • Does Crate support foreign keys?

    CrateDB does not currently support foreign keys.

    Read about CrateDB SQL compliance »

     

  • Does Crate support subselects?

    Crate introduced support for subselects in version 2.0.

    Read more »

     

  • Does Crate support triggers?

    CrateDB does not currently support triggers.

    Read about CrateDB SQL compliance »

     

  • Does CrateDB support stored procedures?

    CrateDB does not currently support stored procedures.

    Read about CrateDB SQL compliance »

     

  • How can I backup Crate?

    CrateDB has a convenient CREATE SNAPSHOT SQL command that stores the current state of one or all tables into a backup store. There are drivers for several stores available, including local file system, an Amazon S3 storage, or HDFS.

    Read about backup & restore »

     

  • How does Crate compare to MemSQL?

    MemSQL (as any in-memory DB) is great when your data size will fit into memory. Despite some mechanics to store overflowing data on disk, in reality this will negatively impact the performance and usability. While the raw query performance may be better with MemSql (as long as the data is in memory), Crate is close, but provides an ideal solution for all use cases where datasets will grow over time and a cost effective solution is required for storage as well as querying by adding commodity servers to match data growth.

  • How does Crate compare to MySQL?

    Crate offers a level of SQL compatibility, but with improved speed and scalability.

  • How does Crate compare to NoSQL databases?

    The World of NoSQL databases is a large one, so we recommend you read our list of comparisons to other databases.

  • How does the default mapping for data imported via Crate look like?

    You can import data into Crate with normal INSERT statements (if you have large amounts of initial data, we have some extra tips how to ingest them), or, more efficiently, via COPY FROM statements. These can take JSON as an import format and create a dynamic schema.

  • How is Crate related to Elasticsearch?

    Crate is a database, and Elasticsearch is a search engine. Crate borrows code and functionality from Elasticsearch and other open source components, but adds substantial functionality on top. We have a guide available that explains the differences in more detail.

  • How will you monetize CrateDB when you give it away as open source?

    Crate.io generates income via CrateDB subscriptions, which entitle customers to use premium CrateDB Enterprise Edition features and support. Crate.io also offers CrateDB as a managed service.

    Read about CrateDB pricing »

     

  • What are the system requirements for Crate?

    More resources are always better, from the configuration of a single Crate node as well as the number of nodes in a cluster. For a useful production environment you should have several GB of RAM, 4 cores, and a decent SSD drive per node. We recommend at least a five node cluster if resilience and performance are important.

  • What ORMs does Crate support?

    We explicitly maintain support for Spring, Doctrine and SQLAlchemy. Community supported drivers also support ActiveRecord.

  • Which ElasticSearch version does Crate use?

    You can find the current version of ElasticSearch Crate is using by visiting SERVER_IP:4200, which lists the version.

  • Which settings can be set via SQL?

    Crate is mostly configured via a settings file or when launched on the command line via arguments. You can use Crate’s SQL interface to change certain settings at runtime using the SET / RESET commands. The settings that can be changed are marked with Runtime: yes.