SQL compatibility
CrateDB supports a set of primitive data types. The following table defines how data types of standard SQL map to CrateDB .
CREATE TABLE supports additional storage and table parameters for sharding, replication and routing of data, and does not support inheritance.
ALTER COLUMN
and actions are not currently supported (see ).
The read-only System information and tables have a slightly different schema than specified in standard SQL. They provide schema information and can be queried to get real-time statistical data about the cluster, its nodes, and their shards.
Standard SQL defines a binary string type, called BLOB
or BINARY LARGE OBJECT
. With CrateDB, Binary Data is instead stored in separate BLOB Tables (see ) which can be sharded and replicated.
CrateDB is focused on providing analytical capabilities over supporting traditional transactional use cases, and thus it does not provide transaction control. Every statement commits immediately and is replicated within the cluster.
However, every row in CrateDB has a version number that is incremented whenever the record is modified. This version number can be used to implement patterns like Optimistic Concurrency Control, which can be used to solve many of the use cases that would otherwise require traditional transactions.
Unsupported features and functions
These features of are not supported:
Stored procedures
Sequences
Constraints
Unique
Foreign key
Exclusion constraints
These functions of standard SQL are either not supported or only partly supported:
-
- Various functions available (see Aggregation)
ENUM
support functionsIS DISTINCT FROM
Network address functions and
Mathematical functions
- Certain functions supported (see Mathematical functions)
Set returning functions
Trigger functions
XML functions
Note
The currently supported and unsupported features in CrateDB are exposed in the table (see sql_features for usage).
If you have use cases for any missing features, , or dialect improvements, let us know on Github! We are always improving and extending CrateDB and would love to hear your feedback.