Awesome
<h1 align="center">Databend: The Next-Gen Cloud [Data+AI] Analytics</h1> <h2 align="center">Zero Disk Architecture</h2> <div align="center"> <h4 align="center"> <a href="https://docs.databend.com/guides/cloud">Databend Serverless Cloud (beta)</a> | <a href="https://docs.databend.com/">Documentation</a> | <a href="https://benchmark.clickhouse.com/">Benchmarking</a> | <a href="https://github.com/datafuselabs/databend/issues/11868">Roadmap (v1.3)</a> </h4> <div> <a href="https://link.databend.com/join-slack"> <img src="https://img.shields.io/badge/slack-databend-0abd59?logo=slack" alt="slack" /> </a> <a href="https://link.databend.com/join-feishu"> <img src="https://img.shields.io/badge/feishu-databend-0abd59" alt="feishu" /> </a> <br> <a href="https://github.com/datafuselabs/databend/actions/workflows/release.yml"> <img src="https://img.shields.io/github/actions/workflow/status/datafuselabs/databend/release.yml?branch=main" alt="CI Status" /> </a> <img src="https://img.shields.io/badge/Platform-Linux%2C%20macOS%2C%20ARM-green.svg?style=flat" alt="Linux Platform" /> <a href="https://gurubase.io/g/databend"> <img src="https://img.shields.io/badge/Gurubase-Ask%20Databend%20Guru-006BFF" alt="Gurubase" /> </a> </div> </div> <img src="https://github.com/datafuselabs/databend/assets/172204/9997d8bc-6462-4dbd-90e3-527cf50a709c" alt="databend" />π Introduction
Databend, built in Rust, is an open-source cloud data warehouse that serves as a cost-effective alternative to Snowflake. With its focus on fast query execution and data ingestion, it's designed for complex analysis of the world's largest datasets.
β‘ Performance
<div align="center">TPC-H Benchmark: Databend Cloud vs. Snowflake
</div> <div align="center">Data Ingestion Benchmark: Databend Cloud vs. Snowflake
</div>π Why Databend
-
Full ControlβCloud + On-Prem: Deploy on cloud or on-prem to suit your needs and maintain full control.
-
Blazing-Fast Performance: Built with Rust for efficient, high-speed vectorized query execution. π ClickBench
-
Cost-Effective: Scalable architecture that optimizes performance while reducing storage and compute costs. π TPC-H
-
AI-Enhanced Analytics: Leverage built-in AI Functions for smarter data insights.
-
Simplified ETL: Direct data ingestion without the need for external ETL tools, streamlining the process. π Data Loading
-
Real-Time Data Updates: Keep your analytics up-to-date with real-time incremental data updates. π Stream
-
Advanced Indexing: Boost query performance with Virtual Column, Aggregating Index, and Full-Text Index.
-
ACID Compliance + Version Control: Ensure reliable transactions with full ACID compliance and Git-like versioning.
-
Schema Flexibility: Effortlessly handle semi-structured data with the flexible VARIANT data type.
-
Community-Driven Growth: Open-source and continuously evolving with contributions from a global community.
π Architecture
π Try Databend
1. Databend Serverless Cloud
The fastest way to try Databend, Databend Cloud
2. Install Databend from Docker
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
π Getting Started
<details> <summary>Connecting to Databend</summary> </details> <details> <summary>Data Import and Export</summary>- How to load Parquet file into a table
- How to export a table to Parquet file
- How to load CSV file into a table
- How to export a table to CSV file
- How to load TSV file into a table
- How to export a table to TSV file
- How to load NDJSON file into a table
- How to export a table to NDJSON file
- How to load ORC file into a table
- How to Sync Full and Incremental MySQL Changes into Databend
- How to Sync Full and Incremental PostgreSQL Changes into Databend
- How to Sync Full and Incremental Oracle Changes into Databend
- How to query directly on Parquet file
- How to query directly on CSV file
- How to query directly on TSV file
- How to query directly on NDJSON file
- How to query directly on ORC file
- 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 the Role of a User
- How to Create a Table
- How to Drop a Table
- How to Rename a Table
- How to Truncate a Table
- How to Flash Back a Table
- How to Add/Drop Table Column
- Generating SQL with AI
- Creating Embedding Vectors
- Computing Text Similarities
- Text Completion with AI
- Data Lifecycle in Databend
- Data Recovery in Databend
- Data Protection in Databend
- Data Purge in Databend
- Review Clickbench
- TPC-H Benchmark: Databend Cloud vs. Snowflake
- Databend vs. Snowflake: Data Ingestion Benchmark
π€ Contributing
Databend thrives on community contributions! Whether it's through ideas, code, or documentation, every effort helps in enhancing our project. As a token of our appreciation, once your code is merged, your name will be eternally preserved in the system.contributors table.
Here are some resources to help you get started:
π₯ Community
For guidance on using Databend, we recommend starting with the official documentation. If you need further assistance, explore the following community channels:
- Slack (For live discussion with the Community)
- GitHub (Feature/Bug reports, Contributions)
- Twitter (Get the news fast)
- I'm feeling lucky (Pick up a good first issue now!)
π£οΈ Roadmap
Stay updated with Databend's development journey. Here are our roadmap milestones:
π License
Databend is released under a combination of two licenses: the Apache License 2.0 and the Elastic License 2.0.
When contributing to Databend, you can find the relevant license header in each file.
For more information, see the LICENSE file and Licensing FAQs.
π Acknowledgement
-
Inspiration: Databend's design draws inspiration from industry leaders ClickHouse and Snowflake.
-
Computing Model: Our computing foundation is built upon apache arrow.
-
Documentation Hosting: The Databend documentation website proudly runs on Vercel.