Databend is an open-source Elastic and Workload-Aware modern cloud data warehouse.
Databend uses the latest techniques in vectorized query processing to allow you to do blazing-fast data analytics on object storage(S3, Azure Blob or MinIO).
-
Instant Elasticity
Databend completely separates storage from compute, which allows you easily scale up or scale down based on your application's needs.
-
Blazing Performance
Databend leverages data-level parallelism(Vectorized Query Execution) and instruction-level parallelism(SIMD) technology, offering blazing performance data analytics.
-
Git-like Storage
Databend stores data with snapshots. It's easy to query, clone, and restore historical data in tables.
-
Support for Semi-Structured Data
Databend supports ingestion of semi-structured data in various formats like CSV, JSON, and Parquet, which are located in the cloud or your local file system; Databend also supports semi-structured data types: ARRAY, MAP, JSON, which is easy to import and operate on semi-structured.
-
MySQL/ClickHouse Compatible
Databend is ANSI SQL compliant and MySQL/ClickHouse wire protocol compatible, making it easy to connect with existing tools(MySQL Client, ClickHouse Client, Vector, DBeaver, Jupyter, JDBC, etc.).
-
Easy to Use
Databend has no indexes to build, no manual tuning required, no manual figuring out partitions or shard data, it’s all done for you as data is loaded into the table.
Prepare the image (once) from Docker Hub (this will download about 170 MB data):
docker pull datafuselabs/databend
To run Databend quickly:
docker run --net=host datafuselabs/databend
MySQL wire protocol on port 3307
mysql -h127.0.0.1 -uroot -P3307
Let's run some benchmark queries.
- Understanding Deployment Modes
- Deploying a Standalone Databend
- Expanding a Standalone Databend
- Databend Cloud (Beta)
- How to Connect Databend With MySQL Client
- How to Connect Databend With ClickHouse Client
- How to Connect Databend With DBeaver SQL IDE
- How to Execute Queries in Python
- How to Query Databend in Jupyter Notebooks
- How to Execute Queries in Golang
- How to Work With Databend in Node.js
- How to Create a User
- How to Grant Privileges to a User
- How to Revoke Privileges From a User
- How to Create a Role
- How to Grant Privileges to a Role
- How to Grant Role to a User
- How to Revoke Role From a User
- How to Create a Database
- How to Drop a Database
- How to Create a Table
- How to Drop a Table
- How to Rename a Table
- How to Truncate a Table
- How to Create a User-Defined Function
- How to Drop a User-Defined Function
- How to Alter a User-Defined Function
- How to Load Data From Local File System
- How to Load Data From Amazon S3
- How to Load Data From Databend Stages
- How to Load Data From MySQL
- Analyzing Github Repository With Databend
- Analyzing Nginx Access Logs With Databend
- User Retention Analysis With Databend
- Conversion Funnel Analysis With Databend
Databend is an open source project, you can help with ideas, code, or documentation, we appreciate any efforts that help us to make the project better! Once the code been merged, your name will be stored in the system.contributors table forever.
To get started with contributing:
For general help in using Databend, please refer to the official documentation. For additional help, you can use one of these channels to ask a question:
- Slack (For live discussion with the Community)
- Github (Feature/Bug reports, Contributions)
- Twitter (Get the news fast)
- Weekly (A weekly newsletter about Databend)
- I'm feeling lucky (Pick up a good first issue now!)
Databend is licensed under Apache 2.0.
- Databend is inspired by ClickHouse and Snowflake, its computing model is based on apache-arrow.
- The documentation website hosted by Vercel.
- Thanks to Mergify for sponsoring advanced features like Batch Merge.
- Thanks to QingCloud for sponsoring CI resources.