All Projects → ClickHouse → Clickhouse Cpp

ClickHouse / Clickhouse Cpp

Licence: apache-2.0
C++ client library for ClickHouse

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Clickhouse Cpp

Clickhouse Backup
Tool for easy ClickHouse backup and restore with cloud storages support
Stars: ✭ 359 (+378.67%)
Mutual labels:  clickhouse
Clickhouse Driver
ClickHouse Python Driver with native interface support
Stars: ✭ 562 (+649.33%)
Mutual labels:  clickhouse
Analytics
Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.
Stars: ✭ 9,469 (+12525.33%)
Mutual labels:  clickhouse
Sqlpad
Web-based SQL editor run in your own private cloud. Supports MySQL, Postgres, SQL Server, Vertica, Crate, ClickHouse, Trino, Presto, SAP HANA, Cassandra, Snowflake, BigQuery, SQLite, and more with ODBC
Stars: ✭ 4,113 (+5384%)
Mutual labels:  clickhouse
Clickhouse Presentations
Presentations, meetups and talks about ClickHouse
Stars: ✭ 483 (+544%)
Mutual labels:  clickhouse
Bifrost
Bifrost ---- 面向生产环境的 MySQL 同步到Redis,MongoDB,ClickHouse,MySQL等服务的异构中间件
Stars: ✭ 701 (+834.67%)
Mutual labels:  clickhouse
Clickhouse Native Jdbc
ClickHouse Native Protocol JDBC implementation
Stars: ✭ 310 (+313.33%)
Mutual labels:  clickhouse
Tabix
Tabix.io UI
Stars: ✭ 1,152 (+1436%)
Mutual labels:  clickhouse
Cds
Data syncing in golang for ClickHouse.
Stars: ✭ 501 (+568%)
Mutual labels:  clickhouse
Homebrew Clickhouse
Stars: ✭ 26 (-65.33%)
Mutual labels:  clickhouse
Phpclickhouse
php ClickHouse wrapper
Stars: ✭ 454 (+505.33%)
Mutual labels:  clickhouse
Clickhouse Operator
The ClickHouse Operator creates, configures and manages ClickHouse clusters running on Kubernetes
Stars: ✭ 478 (+537.33%)
Mutual labels:  clickhouse
Loghouse
Ready to use log management solution for Kubernetes storing data in ClickHouse and providing web UI.
Stars: ✭ 805 (+973.33%)
Mutual labels:  clickhouse
Mindsdb
Predictive AI layer for existing databases.
Stars: ✭ 4,199 (+5498.67%)
Mutual labels:  clickhouse
Gorose
GoRose(go orm), a mini database ORM for golang, which inspired by the famous php framwork laravle's eloquent. It will be friendly for php developer and python or ruby developer. Currently provides six major database drivers: mysql,sqlite3,postgres,oracle,mssql, Clickhouse.
Stars: ✭ 947 (+1162.67%)
Mutual labels:  clickhouse
Datafuse
Datafuse is a free Cloud-Native Analytics DBMS(Inspired by ClickHouse) implemented in Rust
Stars: ✭ 327 (+336%)
Mutual labels:  clickhouse
Clickhouse Jdbc
JDBC driver for ClickHouse
Stars: ✭ 612 (+716%)
Mutual labels:  clickhouse
Clickhouse Jdbc Bridge
A JDBC proxy from ClickHouse to external databases
Stars: ✭ 69 (-8%)
Mutual labels:  clickhouse
Homebrew Clickhouse
ClickHouse for MacOS Sierra and High Sierra.
Stars: ✭ 50 (-33.33%)
Mutual labels:  clickhouse
Szt Bigdata
深圳地铁大数据客流分析系统🚇🚄🌟
Stars: ✭ 826 (+1001.33%)
Mutual labels:  clickhouse

ClickHouse C++ client Build Status

C++ client for Yandex ClickHouse

Supported data types

  • Array(T)
  • Date
  • DateTime, DateTime64
  • DateTime([timezone]), DateTime64(N, [timezone])
  • Decimal32, Decimal64, Decimal128
  • Enum8, Enum16
  • FixedString(N)
  • Float32, Float64
  • IPv4, IPv6
  • Nullable(T)
  • String
  • Tuple
  • UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64

Building

$ mkdir build .
$ cd build
$ cmake .. [-DBUILD_TESTS=ON]
$ make

Example

#include <clickhouse/client.h>

using namespace clickhouse;

/// Initialize client connection.
Client client(ClientOptions().SetHost("localhost"));

/// Create a table.
client.Execute("CREATE TABLE IF NOT EXISTS test.numbers (id UInt64, name String) ENGINE = Memory");

/// Insert some values.
{
    Block block;

    auto id = std::make_shared<ColumnUInt64>();
    id->Append(1);
    id->Append(7);

    auto name = std::make_shared<ColumnString>();
    name->Append("one");
    name->Append("seven");

    block.AppendColumn("id"  , id);
    block.AppendColumn("name", name);

    client.Insert("test.numbers", block);
}

/// Select values inserted in the previous step.
client.Select("SELECT id, name FROM test.numbers", [] (const Block& block)
    {
        for (size_t i = 0; i < block.GetRowCount(); ++i) {
            std::cout << block[0]->As<ColumnUInt64>()->At(i) << " "
                      << block[1]->As<ColumnString>()->At(i) << "\n";
        }
    }
);

/// Delete table.
client.Execute("DROP TABLE test.numbers");
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].