The Guide for Time Series Data Projects is out.

Download now
Skip to content
Solutions

JSON Database

CrateDB is an open source, multi-model and distributed database that offers high performance, scalability and flexibility. It supports both SQL queries and complex JSON data structures, but also structured and unstructured data.

Open source JSON database, all with SQL

Hyper-fast. Queries in milliseconds.

        

INSERT INTO quotes (
	title, quotation, protagonist
    ) VALUES (
    'Alice in Wonderland',
    { 
    	"words": "Curiouser and curiouser!",
        "length": 3 
     }, 
     {
     	"surname": "Pleasance Liddell",
        "first_name": "Alice",
        "details": {
        	"age": 7,
            "birthday": '1852-05-04T00:00Z'::TIMESTAMPTZ
        } 
     } 
);
        
 
SELECT
    title AS title,
    protagonist['first_name'] AS name,
    date_format(
        '%D %b %Y',
        'GMT',
        protagonist['details']['birthday']
     ) AS born,
    quotation['words'] AS quote
FROM quotes limit 100;
        
 
SELECT
    title AS title,
    protagonist['first_name'] AS name,
    date_format(
        '%D %b %Y',
        'GMT',
        protagonist['details']['birthday']
     ) AS born,
    quotation['words'] AS quote
FROM quotes limit 100;
        
        
        
        
 
INSERT INTO quotes (
    title,
    quotation,
    protagonist
) VALUES 
    (
    'Slaughterhouse-Five',
    {
        "words": "Everything was beautiful, and nothing hurt."
    },
    {
        "surname": "Pilgrim",
        "first_name": "Billy",
        "details": {
            "birthday": '1922-07-04T00:00Z'
        }
    }
    ), 
    (
    'The Complete Tales of Winnie-the-Pooh',
    {
        "words": "How lucky I am to have something that makes saying goodbye so hard."
    },
    {
        "first_name": "Winnie-the-Pooh",
        "details": {
            "birthday": '1926-10-14T00:00Z'
        }
    }
    ), 
    ( 
    'The Complete Tales of Winnie-the-Pooh',
    {
        "words": "I am short, fat, and proud of that."
    },
    {
        "first_name": "Winnie-the-Pooh",
        "details": {
            "birthday": '1926-10-14T00:00Z'
        }
    }
);
        
        
        
        

SELECT title, name, born, quote
FROM "doc"."general_information"
LIMIT 100;
        

+------------+------------+--------+--------+--------+
|     period | host_group |    min |    avg |    max |
+------------+------------+--------+--------+--------+
| 1621515050 | Demo Hosts | 0.125  | 0.125  | 0.125  |
| 1621515040 | Demo Hosts | 0.1753 | 0.1753 | 0.1753 |
| 1621515030 | Demo Hosts | 0.2251 | 0.2251 | 0.2251 |
| 1621515020 | Demo Hosts | 0.2251 | 0.2251 | 0.2251 |
| 1621515010 | Demo Hosts | 0.1251 | 0.1251 | 0.1251 |
| 1621515000 | Demo Hosts | 0.2501 | 0.2501 | 0.2501 |
| 1621514990 | Demo Hosts | 0.1501 | 0.1501 | 0.1501 |
| 1621514980 | Demo Hosts | 0.075  | 0.075  | 0.075  |
| 1621514970 | Demo Hosts | 0.2503 | 0.2503 | 0.2503 |
| 1621514960 | Demo Hosts | 0.2    | 0.2    | 0.2    |
| 1621514950 | Demo Hosts | 0.1001 | 0.1001 | 0.1001 |
| 1621514940 | Demo Hosts | 0.175  | 0.175  | 0.175  |
| 1621514930 | Demo Hosts | 0.25   | 0.25   | 0.25   |
| 1621514920 | Demo Hosts | 0.1    | 0.1    | 0.1    |
+------------+------------+--------+--------+--------+


Simple JSON data storage

CrateDB effortlessly handles JSON objects, allowing storage in OBJECT columns. These columns can contain diverse attributes, nesting levels, and arrays of objects, providing the flexibility required for complex multi-model data structures.

cr-quote-image

Automatic indexing

CrateDB's indexing strategy, based on a Lucene index, automatically generates indexes for all attributes regardless of their depth, enabling rapid search capabilities for stored objects and facilitating efficient updates.

cr-quote-image

Simple SQL access to JSON

CrateDB simplifies SQL access to JSON by enabling direct and nested attribute querying, allowing users to navigate and retrieve data seamlessly within JSON structures using native SQL syntax.
cr-quote-image

Dynamic schema and multi-model approach

CrateDB's multi-model approach accommodates diverse data types seamlessly, allowing for the smooth integration of various data structures within the database. As JSON objects evolve and new attributes are added dynamically, CrateDB adjusts the schema automatically. This ensures that all attributes become accessible in SQL queries via the bracket syntax of the form object['attribute']['subattribute'].

cr-quote-image

Powerful full-text search

Alongside JSON support, CrateDB empowers users with robust text search capabilities. This combination of features enables users to perform SQL-based searches within JSON objects efficiently.

cr-quote-image

Fast NoSQL performance

CrateDB executes queries on JSON data (and other types of data) extremely fast, ensuring rapid access and retrieval of JSON objects and complex data structures.
cr-quote-image

Tutorial - Unleashing the Power of Nested Data: Ingesting and Querying JSON Documents with SQL in CrateDB

Watch the tutorial by Georg Traar, Director of Product Management Cloud Organisation, as he shows how to unleash the power of nested data with CrateDB.

Additional resources on JSON databases