Coder Social home page Coder Social logo

cnosdb / cnosdb Goto Github PK

View Code? Open in Web Editor NEW
1.6K 126.0 312.0 15.95 MB

A cloud-native open source distributed time series database with high performance, high compression ratio and high availability. http://www.cnosdb.cloud

Home Page: https://www.cnosdb.com

License: GNU Affero General Public License v3.0

Makefile 0.02% Rust 98.70% Shell 1.23% Dockerfile 0.01% Lua 0.04%
database time-series-database distributed-database sql rust rust-lang time-series timeseries

cnosdb's Introduction

CnodSB Logo

CI Rust License Agpl 3.0 twitter linkedin

English | 简体中文

CnosDB is a high-performance, high-compression, and easy-to-use open-source distributed time-series database. It is primarily used in fields such as IoT, industrial internet, connected cars, and IT operations. All of the code is open-sourced and available on GitHub.

In its design, we fully utilize the characteristics of time-series data, including structured data, non-transactions, fewer deletions and updates, more writes and less reads, etc. As a result, CnosDB has a number of advantages that set it apart from other time-series databases:

  • High performance: CnosDB addresses the issue of time-series data expansion and theoretically supports unlimited time-series data. It supports aggregate queries along the timeline, including queries divided by equal intervals, queries divided by enumeration values of a column, and queries divided by the length of the time interval between adjacent time-series records. It also has caching capabilities for the latest data and the cache space can be configured for fast access to the latest data.

  • Easy to use: CnosDB provides clear and simple interfaces, easy configuration options, standard SQL support, seamless integration with third-party tools, and convenient data access functions. It supports schema-less writing mode and supports historical data supplement(including out of order writing).

  • Cloud native: CnosDB has a native distributed design, data sharding and partitioning, separation of storage and computing, Quorum mechanism, Kubernetes deployment and complete observability, ensuring final consistency. It can be deployed in public clouds, private clouds, and hybrid clouds. t also supports multi-tenancy and has role-based permission control. The computing and storage nodes support horizontal scaling.

    CnosDB Cloud is now live, click here to get started now.

Architecture

arch

Quick Start

Build&Run from source

Support Platform

We support the following platforms, if found to work on a platform not listed, Please report to us.

  • Linux x86(x86_64-unknown-linux-gnu)
  • Darwin arm(aarch64-apple-darwin)

Requirements

  1. Install Rust, You can check official website to download and install
  2. Install Cmake
# Debian or Ubuntu
apt-get install cmake
# Arch Linux
pacman -S cmake
# CentOS
yum install cmake
# Fedora
dnf install cmake
# macOS
brew install cmake
  1. Install FlatBuffers
# Arch Linux
pacman -S flatbuffers
# Fedora
dnf install flatbuffers
# Ubuntu
snap install flatbuffers
# macOS
brew install flatbuffers

If your system is not listed, you can install FlatBuffers as follows

$ git clone -b v22.9.29 --depth 1 https://github.com/google/flatbuffers.git && cd flatbuffers

# Choose one of the following commands depending on your operating system
$ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
$ cmake -G "Visual Studio 10" -DCMAKE_BUILD_TYPE=Release
$ cmake -G "Xcode" -DCMAKE_BUILD_TYPE=Release

$ sudo make install
  1. Install Protobuf
# Arch Linux
pacman -S protobuf
# Fedora
dnf install protobuf
# Ubuntu
snap install protobuf
# macOS
brew install protobuf

Compile

git clone https://github.com/cnosdb/cnosdb.git && cd cnosdb
make build

Run

Run CnosDB

The following is a single node startup. If you need to start a cluster, see the Deploy section.

./target/debug/cnosdb run -M singleton --config ./config/config.toml

Run CLI

cargo run --package client --bin cnosdb-cli

Run with Docker

  1. Install Docker

  2. Start container

docker run --name cnosdb -d cnosdb/cnosdb:community-latest cnosdb run -M singleton --config /etc/cnosdb/cnosdb.conf
  1. Run a command in the running container
docker exec -it cnosdb bash
  1. Run cnosdb-cli
cnosdb-cli

Quit \q Help \? For more details, check quick start

Write data

The following will show an example of using cli to write data by SQL

  1. CREATE TABLE
CREATE TABLE air (
    visibility DOUBLE,
    temperature DOUBLE,
    pressure DOUBLE,
    TAGS(station)
);
public ❯ CREATE TABLE air (
    visibility DOUBLE,
    temperature DOUBLE,
    pressure DOUBLE,
    TAGS(station)
);
Query took 0.063 seconds.
  1. Insert a row
INSERT INTO air (TIME, station, visibility, temperature, pressure) VALUES
                (1673591597000000000, 'XiaoMaiDao', 56, 69, 77);
public ❯ INSERT INTO air (TIME, station, visibility, temperature, pressure) VALUES
                (1673591597000000000, 'XiaoMaiDao', 56, 69, 77);
+------+
| rows |
+------+
| 1    |
+------+
Query took 0.032 seconds.
  1. insert multiple rows
INSERT INTO air (TIME, station, visibility, temperature, pressure) VALUES
                ('2023-01-11 06:40:00', 'XiaoMaiDao', 55, 68, 76),
                ('2023-01-11 07:40:00', 'DaMaiDao', 65, 68, 76);
public ❯ INSERT INTO air (TIME, station, visibility, temperature, pressure) VALUES
                ('2023-01-11 06:40:00', 'XiaoMaiDao', 55, 68, 76),
                ('2023-01-11 07:40:00', 'DaMaiDao', 65, 68, 76);
+------+
| rows |
+------+
| 2    |
+------+
Query took 0.038 seconds.

Query data

The following will show an example of SQL query using cli

-- query table data
SELECT * FROM air;
public ❯ -- query table data
SELECT * FROM air;
+---------------------+------------+------------+-------------+----------+
| time                | station    | visibility | temperature | pressure |
+---------------------+------------+------------+-------------+----------+
| 2023-01-11T06:40:00 | XiaoMaiDao | 55         | 68          | 76       |
| 2023-01-13T06:33:17 | XiaoMaiDao | 56         | 69          | 77       |
| 2023-01-11T07:40:00 | DaMaiDao   | 65         | 68          | 76       |
+---------------------+------------+------------+-------------+----------+
Query took 0.036 seconds.

Connector

CnosDB supports connections from various clients:

  • C/C++
  • Go
  • Java
  • Rust
  • Python
  • JDBC
  • ODBC
  • Arrow Filght SQL

Please refer to the "Connector" section in the documentation for the above examples. You can access it here.

Roadmap

Join the community

Welcome to join our developer community at discord:

https://discord.com/invite/D8cB4WGpP4

Contributing

Please refer to Contribution Guide to contribute to CnosDB.

Acknowledgement

  • CnosDB 2.0 uses Apache Arrow as the memory model.
  • CnosDB 2.0's query engine is powered by Apache Arrow DataFusion.
  • CnosDB 2.0's bug detection is powered by SQLancer.
  • CnosDB 2.0's integration test framework is powered by sqllogictest-rs.
  • CnosDB 2.0 combining LangChain to realize the natural language to communicate with the database。

cnosdb's People

Contributors

baiqiubai avatar bartliu827 avatar ben2077 avatar benxiaohai001 avatar bfrgb avatar cnos-db avatar cnoshb avatar djangopeng avatar gilbert-liang avatar guojidan avatar h4ofanya avatar heropku avatar ivangao01 avatar kree0 avatar liikeuforever avatar locustbaby avatar lunmer avatar lutengda avatar roseboy-liu avatar subsegment avatar vrg000 avatar xmh1011 avatar yuandongs avatar yukkit avatar yuluo-zy avatar yunnewh avatar zeliu avatar zipper-meng avatar zkkxu avatar zuotijia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cnosdb's Issues

Add disk utility

Is your feature request related to a problem? Please describe.

Add the existing maintenance tools in influxdb

example:

➜  ~ influx_inspect --help
Usage: influx_inspect [[command] [arguments]]

The commands are:

    deletetsm            bulk measurement deletion of raw tsm file
    dumptsi              dumps low-level details about tsi1 files
    dumptsm              dumps low-level details about tsm1 files
    export               exports raw data from a shard to line protocol
    buildtsi             generates tsi1 indexes from tsm1 data
    help                 display this help message
    report               displays a shard level cardinality report
    report-disk          displays a shard level disk usage report
    verify               verifies integrity of TSM files
    verify-seriesfile    verifies integrity of the Series file

"help" is the default command.

Use "influx_inspect [command] -help" for more information about a command.

Describe the solution you'd like

View detailed information about disk shards.
Export data from a shard to InfluxDB line protocol that can be inserted back into the database.
Convert TSM index shards to TSI index shards.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Use case
Why is this important (helps with prioritizing requests)?

Add feature cluster backup

Is your feature request related to a problem? Please describe.

Add feature cluster backup

Describe the solution you'd like

Creates a backup of a cluster’s metastore and shard data at that point in time and stores the copy in the specified directory.

Add feature gen-init

Is your feature request related to a problem? Please describe.

Add feature gen-init

Describe the solution you'd like

Generate Storage description.

Add feature reporttsi

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Use case
Why is this important (helps with prioritizing requests)?

RewriteRegexConditions can panic instead of erroring

Describe the bug.

RewriteRegexConditions can panic when given an invalid regex, e.g.

select * from cpu where ( host =~ /foo/ ^ other AND env =~ /bar/ ) and time >= now()-15m

Gives a panic:

panic:interface conversion: cnosql.Expr is *cnosql.BinaryExpr, not *cnosql.RegexLiteral

This should return an error without panic'ing

Add feature verify-seriesfile

Is your feature request related to a problem? Please describe.

Add feature series files integrity verification.

Describe the solution you'd like

Verifies the integrity of series files.

more info

Add InfluxQL compatibility | 兼容InfluxQL

In English | 中文版

Enhancement

Background

In terms of query, CnosDB would like to be compatible to the most popular TSDB - InfluxDB, where InfluxQL is the main query language.

Problem

There are some discrepancies between the two. See InfluxQL spec here: https://docs.influxdata.com/influxdb/v1.8/query_language/

Proposal

Following key terms should be renamed:

  • metric -> measurement
  • ttl -> retention policy
  • region -> shard group

中文版

优化

背景

至少在查询层面,CnosDB期望与当前最流行的时序数据库产品即InfluxDB保持兼容。其InfluxQL应参考学习。

问题

目前,有若干关键术语俩产品存在不一致。具体的标准可参考:https://docs.influxdata.com/influxdb/v1.8/query_language/

建议

建议如下术语应做统一更改:

  • metric -> measurement
  • ttl -> retention policy
  • region -> shard group

Add feature cluster restore

Is your feature request related to a problem? Please describe.

Add feature update data node's address.

Describe the solution you'd like

Updates a data node’s address in the meta store.

Add command to display program version

The application cannot display the version, the following applications should display the version:

cnosdb
cnosdb-cli
cnosdb-meta
cnosdb-ctl

Current:

➜  ~ cnosdb version
Error: unknown command "version" for "cnosdb"
Run 'cnosdb --help' for usage.
Error : unknown command "version" for "cnosdb"

Expect to get:

➜  ~ cnosdb version
CnosDB v0.9 (git: main 6c2add51df7bdbf5452cce5cb29a7acb4d913481)

Happy to see the open source timing database project in China?

Today I received an interview invitation out of the blue, and I took a look at your open source project.
It is very similar to the influxDB project I revamped earlier. Why did we revamp InfluxDB?
Because the InfluxDB open source project only supports the standalone version and does not support the cluster version?
So we modified him. Writes can reach about 1.8 million per second.
I looked at the cnoSDB code and I had an idea I wanted to be involved.
I'm glad to have an open source project in China. At present, there are few open source timing database projects in China.
And it's expensive to maintain.

Add feature copy-shard-status

Is your feature request related to a problem? Please describe.

Add feature copy-shard-status.

Describe the solution you'd like

Shows all in-progress copy shard operations, including the shard’s source node, destination node, database, retention policy, shard ID, total size, current size, and the operation’s start time.

Add feature truncate-shards

Is your feature request related to a problem? Please describe.

Add feature truncate-shards.

Describe the solution you'd like

Truncates hot shards, that is, shards that cover the time range that includes the current time (now()). The truncate-shards command creates a new shard and the system writes all new points to that shard.

Add Java SDK

Is your feature request related to a problem? Please describe.

Add Java SDK.

Describe the solution you'd like

Provide a Java client of CnosDB.

Add feature buildtsi

Is your feature request related to a problem? Please describe.

Builds TSI (Time Series Index) disk-based shard index files and associated series files.

Describe the solution you'd like

Builds TSI (Time Series Index) disk-based shard index files and associated series files. The index is written to a temporary location until complete and then moved to a permanent location. If an error occurs, then this operation will fall back to the original in-memory index.

more info

cnosdb can't run on Ubuntu

Is your feature request related to a problem? Please describe.
Yeah.I follow the steps mentioned in the Readme.md.But I can't run the latest cnosdb on my own Ubuntu.I test "$GOPATH/bin/cnosdb" and "cnosdb run" on the command line ,but they all turn out to be wrong with "[INFO] [run.go:82] ["No configuration provided, using default settings"]".

Describe the solution you'd like
I want it run successfully on my pc.

Describe alternatives you've considered
Sorry, I don't know.

Use case
Why is this important (helps with prioritizing requests)?

Add feature compact-shard

Is your feature request related to a problem? Please describe.

Add feature to compact shard

Describe the solution you'd like

Provide a manual way to compact a specified shard.

Add feature verify-tombstone

Is your feature request related to a problem? Please describe.

Add feature verify-tombstone

Describe the solution you'd like

Verifies the integrity of tombstones.

more info

Add feature gen-exec

Is your feature request related to a problem? Please describe.

Add feature gen-exec

Describe the solution you'd like

Generate Points per series per shard

Intra shard data outside current node cannot be queried

➜  ~ cnosdb-ctl show
Data Nodes:
==========

4      127.0.0.1:8088
5      127.0.0.1:8089

Meta Nodes:
==========

1      127.0.0.1:8091
2      127.0.0.1:8092
3      127.0.0.1:8093

➜  ~ cnosdb-cli --host 127.0.0.1 --port 8086
> create mydb
> show retention policies
name    duration groupDuration replicaN default
----    -------- ------------- -------- -------
autogen 0        168h0m0s      1        true
> insert cpu,host=hostname-01,region=Shanghai value=10
> insert cpu,host=hostname-01,region=Beijing value=10
id database rp      shard_group start_time           end_time             expiry_time          owners
-- -------- --      ----------- ----------           --------             -----------          ------
5  mydb     autogen 2           2022-01-24T00:00:00Z 2022-01-31T00:00:00Z 2022-03-02T00:00:00Z 4
6  mydb     autogen 2           2022-01-24T00:00:00Z 2022-01-31T00:00:00Z 2022-03-02T00:00:00Z 5
> select * from cpu
name: cpu
time                        host        region   value
----                        ----        ------   -----
2022-01-27T08:52:53.898811Z hostname-01 Shanghai 10

➜  ~ cnosdb-cli --host 127.0.0.1 --port 8085
> create mydb
> show retention policies
name    duration groupDuration replicaN default
----    -------- ------------- -------- -------
autogen 0        168h0m0s      1        true
id database rp      shard_group start_time           end_time             expiry_time          owners
-- -------- --      ----------- ----------           --------             -----------          ------
5  mydb     autogen 2           2022-01-24T00:00:00Z 2022-01-31T00:00:00Z 2022-03-02T00:00:00Z 4
6  mydb     autogen 2           2022-01-24T00:00:00Z 2022-01-31T00:00:00Z 2022-03-02T00:00:00Z 5
> select * from cpu
name: cpu
time                        host        region   value
----                        ----        ------   -----
2022-01-27T08:52:59.100617Z hostname-01 beijing  10

Write Your New Year Wishes On Welcome Screen | CnosDB新年FLAG挑战赛

English Version | 中文版

Wish Request

Make trivial but interesting contributions and start becoming a CnosDB contributor.

Describe the feature you'd like:

Please modify the logo file in cnosdb-cli module in develop branch.
Write down your New Year's resolutions and append them to the end of the file, and CC (the community host) will pick the best wishes to publish on the next release so that these wishes will be there on the welcome screen of the program!

中文版

Flag祈愿

2022,立下新年第一个Flag,一个有趣的贡献,你就踏入了CnosDB贡献者的圈子。

功能描述

2021我们开源了,2022我们发现,爱码士还是很羞嗒嗒,没有给我们一键三连(被我抓到是谁,你就完了,站到墙角去


为什么会这样,不应该啊? 于是CC去问胖梁,是成为我们的精英贡献者门槛过高吗?是我不配吗??


胖梁大惊失色道:怎么可能?成为贡献者很简单!


1月18日,CnosDB正式开启新年Flag挑战赛,此次活动主要是督促各位爱码士在新年赶紧加入到CnosDB的社区里来。通过建立新的计划和目标,立完Flag之后还可以获得CnosDB官方精美定制礼品哦~参加方式非常简单,往这里瞧:

  1. 进入GitHub/cnosdb/cnosdb 一键三连

  2. 进入Issue26,提出申请,我要立Flag
    在评论区输入GitHub User ID、目标、完成时间和完不成的惩罚

  3. 进入develop分支中,在cnosdb/cmd/cnosdb-cli/cli/,编辑logo file文件

  4. 最后PR(Pull request)哦

请写下你对2022年的期望,CC(即社区小助手)会挑选最好的愿望发布到程序的启动界面哦!
提交PR之后,请不要忘记给[email protected] ,发送截图和地址哦。请保持一键三连至少一个月哦,CC会每天Check,然后给你发礼物哦~



最后附上本期礼品 (By the way, 礼物很好看,模特也挺白)

还有每季度的大礼,会从每季度的贡献者里抽取哦,一闪一闪亮晶晶,满天都是CnosDB😆:

Add feature dumptsi

Is your feature request related to a problem? Please describe.

Add feature dumptsi.

Describe the solution you'd like

Dumps low-level details about TSI files, including .tsl log files and .tsi index files.

more info

Add influxdb-sync-diff-inspector | 增加与InfluxDB兼容的数据一致性校验的功能

English Version | 中文版

Feature Request

Offer schema and data consistency check between InfluxDB and CnosDB

Describe the feature you'd like:

Similar to what MySQL being migrated to TiDB, when users migrate InfluxDB to CnosDB, we could have a tool avaiable for us to validate the meta data and data.

Describe alternatives you've considered:

Or we have to run queries (https://docs.influxdata.com/influxdb/v1.8/query_language/explore-schema/) such as "SHOW DATABASES" line by line to explore the schema and data

Teachability, Documentation, Adoption, Migration Strategy:

You can refer to the tools similar to https://github.com/open-ch/influxdb-schema-updater and documentation similar to https://docs.pingcap.com/zh/tidb/stable/sync-diff-inspector-overview/

中文版

新功能

提供与InfluxDB兼容的数据一致性校验

功能描述

CnosDB与InfluxDB兼容,是否可以提供一些工具来进行相关的schema和数据的对比吗?这样更利于迁移测试。

其他权宜方案

否则当前仅能通过传统的查询(https://docs.influxdata.com/influxdb/v1.8/query_language/explore-schema/)譬如“SHOW DATABASES”一行一行的核查

该功能相关的普及、文档、采用及迁移方案:

相关文档可以参考: https://github.com/open-ch/influxdb-schema-updaterhttps://docs.pingcap.com/zh/tidb/stable/sync-diff-inspector-overview/

[Feature]Add database file inspector | 增加预览数据库文件的功能

English Version | 中文版

Feature Request

Describe the feature:

Time Range Infomation: min_time / max_time / duration Index Area Information: series_key / field_key / min_time / max_time / data_block_offset / data_block_size Data Area Information: offset / length / length(time) / length(value) / data_type / encoding(time) / encoding(value) / points_count / checksum Index Summary Information: total / size Data Summary Information: total / total_size / min_size / max_size / points_count Code Summary Information: data_type / unencoded_percent / encode_types / encoded_percent Compress Performance Information: bytes_per_block

中文版

新功能

功能描述

时间范围信息: min_time / max_time / duration 索引区域信息: series_key / field_key / min_time / max_time / data_block_offset / data_block_size数据区域信息: offset / length / length(time) / length(value) / data_type / encoding(time) / encoding(value) / points_count / checksum索引汇总信息: total / size数据汇总信息: total / total_size / min_size / max_size / points_count编码汇总信息: data_type / unencoded_percent / encode_types / encoded_percent压缩性能信息: bytes_per_block

Add docker image | 添加docker image

English Version | 中文版

Feature Request

Describe the feature you'd like:

Add a Dockerfile to create docker image and push it to Docker Hub.

Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

中文版

新功能

功能描述

增加Dockerfile用于打包docker image并托管到Docker Hub

其他权宜方案

该功能相关的普及、文档、采用及迁移方案:

Add feature copy-shard

Is your feature request related to a problem? Please describe.

Add feature copy shard.

Describe the solution you'd like

Copies a shard from a source data node to a destination data node.

Add feature kill-copy-shard

Is your feature request related to a problem? Please describe.

Add feature kill-copy-shard.

Describe the solution you'd like

Aborts an in-progress copy-shard command.

[Feature]Add UDP protocol support | 增加UDP协议支持

In English | 中文版

Feature Request

Describe the feature you'd like:

Configure ports for UDP support and its database & TTL setting;
Can listen to UDP request;
Can receive line protocol data

Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

中文版

新功能

功能描述

配置独立端口和写入的 Database 和 TTL ,监听 UDP 请求,接收 line protocol 格式数据

其他权宜方案

该功能相关的普及、文档、采用及迁移方案:

Add feature update-data

Is your feature request related to a problem? Please describe.

Add feature update data node's address.

Describe the solution you'd like

Updates a data node’s address in the meta store.

Add feature export shards

Is your feature request related to a problem? Please describe.

Add feature to export existing shards.

Describe the solution you'd like

Used with cnosdb-tools import, the export tool transforms existing shards to a new shard duration in order to consolidate into fewer shards. It is also possible to separate into a greater number of shards.

Add backup and restore feature

In order to maintain cnosdb service, backup and restore functions should be added to play a role in routine backup and data migration

Add feature import shards

Is your feature request related to a problem? Please describe.

Add feature gen-init

Describe the solution you'd like

Generate Storage description.

Add feature help

Is your feature request related to a problem? Please describe.

Add feature cnosdb-tools help

Describe the solution you'd like

Provide the cmd tool with easy-to-read manual.

Add feature deletetsm

Is your feature request related to a problem? Please describe.

Add feature deletetsdm.

Describe the solution you'd like

Use deletetsm -measurement to delete a measurement in a raw TSM file (from specified shards). Use deletetsm -sanitize to remove all tag and field keys containing non-printable Unicode characters in a raw TSM file (from specified shards).

more info

The /Ping HTTP endpoint not available

When used curl -sl -I http://localhost:8086/ping

expect get:

HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 9c353b0e-aadc-11e8-8023-000000000000
X-CnosDB-Build: OSS
X-CnosDB-Version: 0.9
X-Request-Id: 9c353b0e-aadc-11e8-8023-000000000000
Date: 30 Dec 2021 08:24:39 GMT

But I got:

HTTP/1.1 405 Method Not Allowed
Date: Thu, 30 Dec 2021 08:24:39 GMT

Execute command "cnosdb backup help" error

Execute command cnosdb backup help error

~ cnosdb backup help
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x515c56]

goroutine 1 [running]:
log.(*Logger).Output(0xc00021c730, 0x1a, {0xc0002120f0, 0x24})
	/usr/local/go/src/log/log.go:184 +0x356
log.(*Logger).Printf(0xc00020adc0, {0xdfd3ca, 0x9}, {0xc00011bbe8, 0xc00021c780, 0x4a6b26})
	/usr/local/go/src/log/log.go:191 +0x4c
github.com/cnosdatabase/cnosdb/cmd/cnosdb/backup.(*options).backupMetastore(0x152fdc0)
	/opt/cnosdb-ivan/cmd/cnosdb/backup/backup.go:359 +0x128
github.com/cnosdatabase/cnosdb/cmd/cnosdb/backup.GetCommand.func2(0xc00025d900, {0xc000207300, 0x1, 0x1})
	/opt/cnosdb-ivan/cmd/cnosdb/backup/backup.go:144 +0x1b7
github.com/spf13/cobra.(*Command).execute(0xc00025d900, {0xc0002072d0, 0x1, 0x1})
	/root/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x60e
github.com/spf13/cobra.(*Command).ExecuteC(0xc00025d180)
	/root/go/pkg/mod/github.com/spf13/[email protected]/command.go:974 +0x3bc
github.com/spf13/cobra.(*Command).Execute(...)
	/root/go/pkg/mod/github.com/spf13/[email protected]/command.go:902
main.main()
	/opt/cnosdb-ivan/cmd/cnosdb/main.go:53 +0x159

Add feature dumptsm

Is your feature request related to a problem? Please describe.

Dumps low-level details about TSM files.

Describe the solution you'd like

Dumps low-level details about TSM files, including TSM (.tsm) files and WAL (.wal) files.
more information

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Use case
Why is this important (helps with prioritizing requests)?

Add feature disk usage by shards and measurements

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Use case
Why is this important (helps with prioritizing requests)?

DROP SHARD <id> returns no error

Describe the bug

When using DROP SHARD in the cnosdb-cli REPL, there's no error message returned t the user if the meta store can't find the shard

Add Go SDK

Is your feature request related to a problem? Please describe.

Add Go SDK.

Describe the solution you'd like

Provide a Golang client of CnosDB.

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.