{"id":13819137,"url":"https://github.com/openGemini/openGemini","last_synced_at":"2025-05-16T04:32:53.226Z","repository":{"id":40642333,"uuid":"507829396","full_name":"openGemini/openGemini","owner":"openGemini","description":"An open source distributed time-series database with high concurrency, high performance, and high scalability","archived":false,"fork":false,"pushed_at":"2024-04-11T09:31:27.000Z","size":96165,"stargazers_count":923,"open_issues_count":88,"forks_count":133,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-04-11T10:43:07.071Z","etag":null,"topics":["cloudnative","devops","distributed","iot","observability","time-series-database"],"latest_commit_sha":null,"homepage":"https://opengemini.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openGemini.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null}},"created_at":"2022-06-27T08:41:54.000Z","updated_at":"2024-04-15T14:41:57.590Z","dependencies_parsed_at":"2023-10-20T09:24:27.483Z","dependency_job_id":"9083c78e-9b88-4a40-8d3d-16e00d670289","html_url":"https://github.com/openGemini/openGemini","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openGemini%2FopenGemini","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openGemini%2FopenGemini/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openGemini%2FopenGemini/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openGemini%2FopenGemini/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openGemini","download_url":"https://codeload.github.com/openGemini/openGemini/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213893321,"owners_count":15653524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudnative","devops","distributed","iot","observability","time-series-database"],"created_at":"2024-08-04T08:00:40.963Z","updated_at":"2024-11-19T18:31:26.382Z","avatar_url":"https://github.com/openGemini.png","language":"Go","funding_links":[],"categories":["Go","时序数据库"],"sub_categories":[],"readme":"# README\n\n![color](./images/github_log_591x183.svg)\n\n![license](https://img.shields.io/badge/license-Apache2.0-green) ![language](https://img.shields.io/badge/Language-Go-blue.svg) ![codeCov](https://img.shields.io/codecov/c/gh/openGemini/openGemini) [![release](https://img.shields.io/github/v/tag/opengemini/opengemini?label=release\u0026color=blue)](https://github.com/opengemini/opengemini/releases)\nEnglish | [简体中文](README_CN.md)\n\n[Official Website](http://www.openGemini.org) | [Docs](https://docs.opengemini.org/guide) | [Contribution Guide](CONTRIBUTION.md) | [RoadMap](./ROADMAP.md) | [Performance](https://docs.opengemini.org/guide/introduction/performance.html)\n\n\n\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://next.ossinsight.io/widgets/official/compose-activity-trends/thumbnail.png?repo_id=507829396\u0026image_size=auto\u0026color_scheme=dark\" width=\"815\" height=\"auto\"\u003e\n    \u003cimg alt=\"Activity Trends of openGemini/openGemini - Last 28 days\" src=\"https://next.ossinsight.io/widgets/official/compose-activity-trends/thumbnail.png?repo_id=507829396\u0026image_size=auto\u0026color_scheme=light\" width=\"815\" height=\"auto\"\u003e\n  \u003c/picture\u003e\n\n\n## About openGemini\n\nopenGemini is a cloud-native distributed time series database, focusing on the storage and analysis of massive telemetry data.\n\nIf you have used openGemini, please let us know and [click submit Usage Information](https://github.com/openGemini/openGemini/issues/62)\n\n![cncf_logo](./images/cncf-logo.png)\n\nopenGemini is an sandbox project of the [Cloud Native Computing Foundation](https://cncf.io/) (CNCF). Please consider joining the CNCF if you are an organization that wants to take an active role in supporting the growth and evolution of the cloud native ecosystem.\n\n## Why openGemini\n\nCompared with other time series database, openGemini has the following advantages:\n\n- #### High Performance\n\n  Store and query data quickly and efficiently with automatic partitioning, LSM-based storage techniques,  and better data process engineering, see [performance reports](https://docs.opengemini.org/guide/introduction/performance.html)\n\n- #### High Scalability\n\n  Adopting MPP architecture, support distributed cluster deployment and can be flexibly expanded as business grows to meet higher load requirements, see [Architecture](https://docs.opengemini.org/guide/introduction/structure.html)\n\n- #### High Cardinality\n\n  A new high cardinality storage engine solves problems such as excessive index memory usage and low read and write performance, see [high cardinality storage engine](https://docs.opengemini.org/guide/features/high_series_cardinality.html)\n\n- #### Data Compression\n\n  Data is stored in column format, and different data types use dedicated data compression algorithms. The data compression ratio is as high as 15:1 or higher, see [Data compression algorithm](https://docs.opengemini.org/guide/kernel/data_compress.html)\n\n- #### Flexible Deployment\n\n  Supports stand-alone and cluster deployment, and supports various forms of deployment such as virtual machines, physical machines, containers, and clouds. Provides one-click container deployment tool ([openGemini-operator](https://github.com/openGemini/openGemini-operator)) and one-click normal installation and deployment tool ([gemix](https://github.com/openGemini/gemix))\n\n- #### Ecosystem compatibility\n\n  Compatible with **InfluxDB** v1.x Line Protocol, Influxql and read/write APIs, also compatible with existing **InfluxDB toolchain**\n\n## Support for Cloud Native Scenarios\n\n- Containerized deployment, refer to [openGemini-operator](https://github.com/openGemini/openGemini-operator)\n\n  \u003cimg src=\"./images/containerized.png\" alt=\"image-20220927210909436\" style=\"width:60%;\" /\u003e\n\n- openTelemetry backend storage, simplified architecture\n\n  \u003cimg src=\"./images/openTelemetry.png\" alt=\"image-20220927210909436\" style=\"width:60%;\" /\u003e\n\n- Prometheus backend storage，support remote read/write, and Support PromQL\n\n  \u003cimg src=\"./images/prometheus.png\" alt=\"\" style=\"width:60%;\" /\u003e\n\n- KubeEdge integration with openGemini, better manage edge device data\n\n  \u003cimg src=\"./images/kubeedge.png\" alt=\"image-20220927210909436\" style=\"width:60%;\" /\u003e\n\n## Application Scenes\n\n\u003cimg src=\"./images/scenario.png\" alt=\"image-20220927210909436\" style=\"width:90%;\" /\u003e\n\n## Quick Start\n\nFor a more detailed introduction, please visit our official website [User Guide](https://docs.opengemini.org/guide/quick_start/get_started.html)\n\nThis section mainly contains the following:\n\n- How to compile openGemini source code\n- How to run openGemini\n\n### Compiling environment information\n\n[GO](https://golang.org/dl/) version v1.20+\n\n[Python](https://www.python.org/downloads/) version v3.7+\n\n#### How to set GO environment variables\n\nOpen ~/.profile configuration file and add the following configurations to the end of the file:\n\n```\nexport GOPATH=/path/to/dir\nexport GOBIN=$GOPATH/bin\nexport GO111MODULE=on\nexport GONOSUMDB=*\nexport GOSUMDB=off\n```\n\n### Compiling\n\n1. Clone source codes from Github\n\n```\n\u003e cd $GOPATH\n\u003e mkdir -p {pkg,bin,src}\n\u003e cd src\n\u003e git clone https://github.com/openGemini/openGemini.git\n```\n\n2. Enter the home directory\n\n```\n\u003e cd openGemini\n```\n\n3. Compiling\n\n```\n\u003e export CGO_LDFLAGS=\"-Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -fPIE -ftrapv\"\n\u003e export CGO_CFLAGS=\"-fstack-protector-strong -D_FORTIFY_SOURCE=2 -O2\"\n\u003e python build.py\n```\n\nThe compiled binary file is in the build directory\n\n```\n\u003e ls build\nts-cli ts-meta ts-monitor ts-server  ts-sql  ts-store\n```\n\n### Configuration\n\nThe configuration file is in the conf directory. For more information about the configuration items, please refer to [User Guide --\u003e Reference --\u003e Configuration Files](https://docs.opengemini.org/guide/reference/configurations.html)\n\n### Run openGemini\n\nStandalone operation\n\n```\n\u003e cd openGemini\n\u003e mkdir -p /tmp/openGemini\n\u003e sh scripts/install.sh\n```\n\nRefer to cluster deployments in [User Guide](https://docs.opengemini.org/guide/quick_start/get_started.html)\n\n#### Using openGemini\n\nUse the client to connect to openGemini\n\n```shell\n\u003e ts-cli --host 127.0.0.1 --port 8086\n```\n\nAfter successful login, the following message will be displayed\n\n```sh\n\u003e ts-cli --host 127.0.0.1 --port 8086\nopenGemini CLI 0.1.0 (rev-revision)\nPlease use 'quit', 'exit' or 'Ctrl-D' to exit this program\n\u003e\n```\n\nCreate a database\n\n```\n\u003e create database sensordb\n\u003e use sensordb\n```\n\nThe openGemini supports three ways for creating a measurement.\n\n- Implicit creation, automatic creation measurement when data is written. By default, partition is based on time.\n- explicit creation, without specifying the partition key, as the same as implicit creation.\n\n```\n\u003e create measurement sensor\n```\n\n- explicit creation, specifying partition keys during table creation, During data storage, the table will be primarily partitioned by time, and then secondarily partitioned according to the specified partition keys.\n\n```shell\n\u003e create measurement sensor with shardkey farmID\n```\n\nWrite data\n\n```\ninsert sensor,farmID=f1,deviceID=d0 sensorID=\"s20\",value=50.98\n```\n\nQuery data\n\n```\n\u003e select * from sensor\nname: sensor\n+---------------------+----------+--------+----------+-------+\n| time                | deviceID | farmID | sensorID | value |\n+---------------------+----------+--------+----------+-------+\n| 1657959880895515464 | d0       | f1     | s20      | 50.98 |\n+---------------------+----------+--------+----------+-------+\n5 columns,1 rows in set\nElapsed: 7.723332ms\n```\n\n## Join \u0026 Contribute\n\n[Tips for Contribution](CONTRIBUTION.md)\n\n## Code of Conduct\n\nopenGemini follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).\n\n## Contact Us\n\n1. [Slack](https://join.slack.com/t/opengemini/shared_invite/zt-2naig1675-x3bcwgXR_Rw5OwDU5X~dUQ)\n\n2. [Twitter](https://twitter.com/openGemini)\n\n3. [Email](mailto:community.ts@opengemini.org)\n\n4. [mailing list](https://groups.google.com/g/openGemini)\n\n\n## License\n\nopenGemini is licensed under the Apache License 2.0. Refer to [LICENSE](https://github.com/openGemini/openGemini/blob/main/LICENSE) for more details.\n\nFor third-party software usage notice, see [Open_Source_Software_Notice](Open_Source_Software_Notice.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FopenGemini%2FopenGemini","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FopenGemini%2FopenGemini","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FopenGemini%2FopenGemini/lists"}