GithubHelp home page GithubHelp logo

cnlhc / databend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from datafuselabs/databend

0.0 0.0 0.0 16.92 MB

An elastic and reliable Cloud Warehouse, offers Blazing Fast Query and combines Elasticity, Simplicity, Low cost of the Cloud, built to make the Data Cloud easy

Home Page: https://databend.rs

License: Apache License 2.0

Makefile 0.10% Rust 80.88% Dockerfile 0.09% Shell 0.88% Python 0.96% Smarty 0.04% TypeScript 7.95% HTML 4.14% SCSS 4.95%

databend's Introduction

Databend

The Open Source Cloud Warehouse for Everyone
https://databend.rs


What is Databend?

Databend aimed to be an open source elastic and reliable cloud warehouse, it offers blazing fast query and combines elasticity, simplicity, low cost of the cloud, built to make the Data Cloud easy.

Databend design principles:

  1. Elastic In Databend, storage and compute resources can dynamically scale up and down on demand.
  2. Secure All data files and network traffic in Databend is encrypted end-to-end, and provide Role Based Access Control in SQL level.
  3. User-friendly Databend is an ANSI SQL compliant cloud warehouse, it is easy for data scientist and engineers to use.
  4. Cost-efficient Databend processes queries with high performance, and the user only pays for what is actually used.

Design Overview

Databend Architecture

Databend is inspired by ClickHouse and its computing model is based on apache-arrow.

Databend consists of three components: meta service layer, and the decoupled compute and storage layers.

Meta Service Layer

The meta service is a layer to service multiple tenants. In current implementation, the meta service has components:

  • Metadata - Which manages all metadata of databases, tables, clusters, the transaction, etc.
  • Administration Which stores user info, user management, access control information, usage statistics, etc.
  • Security Which performs authorization and authentication to protect the privacy of users' data.

Compute Layer

The compute layer is the clusters that running computing workloads, each cluster have many nodes, each node has components:

  • Planner - Builds execution plan from the user's SQL statement.
  • Optimizer - Optimizer rules like predicate push down or pruning of unused columns.
  • Processors - Vector-based query execution pipeline, which is build by planner instructions.
  • Cache - Caching Data and Indexes based on the version.

Many clusters can attach the same database, so they can serve the query in parallel by different users.

Storage Layer

Databend stores data in an efficient, columnar format as Parquet files. For efficient pruning, Databend also creates indexes for each Parquet file to speed up the queries.

Getting Started

Roadmap

Databend is currently in Alpha and is not ready to be used in production, Roadmap 2021

License

Databend is licensed under Apache 2.0.

databend's People

Contributors

bohutang avatar databend-bot avatar sundy-li avatar zhang2014 avatar jyizheng avatar drmingdrmer avatar psiace avatar zhihanz avatar dependabot[bot] avatar dantengsky avatar dependabot-preview[bot] avatar zhyass avatar dust1 avatar leiysky avatar ygf11 avatar tennyzhuang avatar b41sh avatar tlightsky avatar wangzhen11aaa avatar junli1026 avatar jackwener avatar grapebaba avatar ariesdevil avatar taiyang-li avatar maplefu avatar jyz0309 avatar yjhmelody avatar cppcoffee avatar sgzw avatar gauss1314 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.