Go to file
benyucong 643a1b51c4 Merge branch 'fix-big-integer-readme' into 'cnch-ce-merge'
fix(clickhosuech@0000): Keep the BigInteger orignal README

See merge request dp/ClickHouse!10251
2023-05-31 18:48:53 +08:00
.github remove useless file 2023-05-12 18:29:43 +08:00
base Merge branch 'fix-big-integer-readme' into 'cnch-ce-merge' 2023-05-31 18:48:53 +08:00
ci_scripts Move unstable clickhouse_sql cases 2023-05-09 09:50:37 +00:00
cmake revert version 2023-03-09 18:45:02 +08:00
contrib fix #298, support to read partition columns for hive external table in ORC format (#311) 2023-05-31 14:44:20 +08:00
debian Auto version update to [21.8.7.1] [54453] 2021-09-17 23:24:46 +03:00
deploy change users.xml to correct target 2023-02-14 13:54:12 +08:00
doc add simple description for src structure 2023-01-20 15:42:22 +08:00
docker fix #298, support to read partition columns for hive external table in ORC format (#311) 2023-05-31 14:44:20 +08:00
packages Clean up the README files 2023-05-17 12:05:18 +08:00
programs fix listen_try logic on brpc 2023-05-19 17:33:49 +08:00
src Merge branch 'cherry-pick-8f90b2ee' into 'cnch-ce-merge' 2023-05-31 18:07:49 +08:00
tests disabled failing window test cases 2023-05-26 07:00:23 +00:00
utils Added the first version of release_note generation script 2023-05-17 21:44:59 +08:00
.arcignore Added .arcignore 2020-05-21 09:17:03 +03:00
.clang-format Fixed wrong code around Memory Profiler 2020-03-03 03:24:44 +03:00
.clang-tidy Enable clang-tidy for programs and utils 2020-05-18 04:19:50 +03:00
.editorconfig Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
.gitattributes Union merge for arcadia_skip_list.txt to avoid frequent conflicts 2021-03-10 08:50:32 +03:00
.gitignore Remove website source code in favor of byconity.github.io repo 2023-03-22 17:07:36 +08:00
.gitmodules initial commit 2023-01-05 14:19:18 +08:00
.potato.yml Fix yamllint issues 2021-02-20 23:25:21 +03:00
.pylintrc Add pylintrc config 2021-01-26 23:35:56 +03:00
.vimrc Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
.yamllint Drop truthy.check-keys from yamllint (does not supported on CI) 2021-02-21 06:15:36 +03:00
AUTHORS Update AUTHORS 2020-01-23 17:36:05 +03:00
ByConity-architecture.png initial commit 2023-01-05 14:19:18 +08:00
CHANGELOG.md initial commit 2023-01-05 14:19:18 +08:00
CMakeLists.txt build fdb from source 2023-02-19 22:04:52 +08:00
CODE_OF_CONDUCT.md Add minimal code of conduct #9676 2020-03-16 12:44:28 +03:00
CONTRIBUTING.md strip all trailing spaces 2023-01-06 14:28:46 +08:00
LICENSE minor update on license 2023-01-10 18:09:15 +08:00
PreLoad.cmake Check if XCODE_IDE is true and avoid enforcing ninja in that case 2021-01-06 03:06:03 +04:00
README.md Twitter and Youtube added to ReadMe 2023-05-23 15:48:44 -07:00
SECURITY.md initial commit 2023-01-05 14:19:18 +08:00
Testing.md add testing guideline 2023-04-04 18:15:34 +08:00
build_bin.sh fix build 2023-02-19 22:26:48 +08:00
docker-compose.yml Updated docker-compose.yml #1025 2017-07-26 20:05:32 +03:00
format_log.py initial commit 2023-01-05 14:19:18 +08:00
format_sources allow several <graphite> targets (#603) 2017-03-21 23:08:09 +04:00
release Remove rotten parts of release script 2021-04-25 02:11:31 +03:00
uncrustify.cfg Better .clang-format and uncrustify.cfg 2018-11-29 15:45:34 +03:00
unittest.sh initial commit 2023-01-05 14:19:18 +08:00
ya.make Changes required for auto-sync with Arcadia 2020-04-16 15:31:57 +03:00

README.md

ByConity

ByConity-architecture

ByConity is a data warehouse designed for changes in modern cloud architecture. It adopts a cloud-native architecture design to meet the requirements of data warehouse users for flexible scaling, separation of reads and writes, resource isolation, and strong data consistency. At the same time, it provides excellent query and write performance.

ByConity is using a large number of mature OLAP technologies, such as column storage engine, MPP execution, intelligent query optimization, vectorized execution, Codegen, indexing, and data compression; it also makes special technological innovations for the cloud scenarios and storage-computing separation architecture.

ByConity is built on top of ClickHouse. We appreciate the excellent work of the ClickHouse team.

Try ByConity

You can quickly bring up a ByConity playground by following this simple guide.

A minimal ByConity cluster include:

  • A FoundationDB database cluster to store meta data.
  • An HDFS cluster to store data.
  • A ByConity server to receive request from clients.
  • A ByConity read worker to carry execution of read requests forward from server.
  • A ByConity write worker to carry execution of write requests forward from server.
  • A ByConity TSO server to provide timestamp.
  • A ByConity daemon manager to manage background jobs that run in server.

Build ByConity

The easiest way to build ByConity is built in docker. ByConity executable file depend on Foundation DB library libfdb_c.so. So in order to run it, we need to install the FoundationDB client package. This link tells how to install. We can download client package from FoundationDB GitHub release pages, for example here.

It can also be built through the following operating systems in physical machine:

  • Linux

1. Prepare Prerequisites

The following packages are required:

  • Git
  • CMake 3.17 or newer
  • Ninja
  • C++ compiler: clang-11 or clang-12
  • Linker: lld
sudo apt-get update
sudo apt-get install git cmake ccache python3 ninja-build libssl-dev libsnappy-dev apt-transport-https

# install llvm 12
sudo apt install lsb-release wget software-properties-common gnupg # pre-requisites of llvm.sh
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 12

2. Checkout Source Code

git clone --recursive https://github.com/ByConity/ByConity.git

3. Build

cd ByConity
mkdir build && cd build
export CC=clang-12
export CXX=clang++-12
cmake ..
ninja

Then you can find the binary in the programs folder

clickhouse-client    # byconity client
clickhouse-server    # byconity server
clickhouse-worker    # byconity worker
tso_server           # byconity tso
daemon_manager       # byconity daemon manager
resource_manager     # byconity resource manager

Run ByConity Locally

The most convinience way for local development is to use docker-compose. You can use docker-compose to quickly create a byconity cluster from your local build binary. By using this approach, you do not need to worry about the setup of ByConity dependencies (FoundationDB and HDFS), it automatically launches them all. It is recommended to use this approach for ByConity development.

Deploy ByConity in cluster

There are ways to deploy ByConity to physical machines:

Test ByConity in development enviroment

To test ByConity in development enviroment, follow this guide.

Community