From 7e49493e34540e3dfec4c9809adecf5cce1ae4f0 Mon Sep 17 00:00:00 2001 From: xiaomin tang Date: Mon, 14 Nov 2022 16:46:09 +0800 Subject: [PATCH] docs: add more sections to readme (#478) * docs: add badges & logo * docs: add What_is_GreptimeDB section * docs: add Community&Documentation&License section * docs: simplify name of CI badge --- README.md | 71 ++++++++++++++++++++++++++++++++++--- docs/logo-text-padding.png | Bin 0 -> 18102 bytes 2 files changed, 67 insertions(+), 4 deletions(-) create mode 100755 docs/logo-text-padding.png diff --git a/README.md b/README.md index 51df854010..5a29cd9323 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,46 @@ -# GreptimeDB +

+ GreptimeDB Logo +

-[![codecov](https://codecov.io/gh/GrepTimeTeam/greptimedb/branch/develop/graph/badge.svg?token=FITFDI3J3C)](https://codecov.io/gh/GrepTimeTeam/greptimedb) +

+ The next-generation hybrid timeseries/analytics processing database in the cloud +

-GreptimeDB: the next-generation hybrid timeseries/analytics processing database in the cloud. +

+ +   + CI +   + +

+ +

+ +   + +

+ +## What is GreptimeDB + +GreptimeDB is an open-source time-series database with special focus on +scalability, analytical capabilities and efficiency. It's designed to work on +infrastructure of cloud era, and benefits from its elasticity and commodity +storage. + +The core developers of GreptimeDB have been building time-series data platform +for years. Based on their best-practices, GreptimeDB is born to give you: + +- A standalone binary that scales to highly-available distributed cluster, with transparent experience from user's perspective +- Columnar data layout optimised for time-series, compacted, compressed, stored on various storage backends +- Flexible index options, tackling high cardinality issues down +- Distributed parallel query execution, leveraging elastic computing resource +- Native SQL, and Python scripting for advanced analytical scenarios +- Widely adopted database protocols and APIs +- Extensible table engine architecture for extensive workloads ## Getting Started -### Prerequisites +### Prerequisite To compile GreptimeDB from source, you'll need the following: - Rust @@ -116,6 +150,35 @@ CREATE DATABASE hello_greptime; ``` You can delete your data by removing `/tmp/greptimedb`. +# Community + +The core team will be thrilled if you participate in any way you like. When you are stuck, try +asking for help by filing an issue with a detailed description of what you were trying to do +and what went wrong. If you have any questions or if you would like to get involved in our +community, please check out: + +- GreptimeDB Community on [Slack](https://greptime.com/slack) +- GreptimeDB GitHub [Discussions](https://github.com/GreptimeTeam/greptimedb/discussions) +- Greptime official [Website](https://greptime.com) + +In addition, you may: + +- View our official [Blog](https://greptime.com/blog) +- Connect us with [Linkedin](https://www.linkedin.com/company/greptime/) +- Follow us on [Twitter](https://twitter.com/greptime) + +## Documentation + +- GreptimeDB [User Guide](https://greptime.com/docs/user-guide) +- GreptimeDB [Developer Guide](https://greptime.com/docs/developer-guide) + +## License + +GreptimeDB uses the [Apache 2.0 license][1] to strike a balance between +open contributions and allowing you to use the software however you want. + +[1]: + ## Contributing Please refer to [contribution guidelines](CONTRIBUTING.md) for more information. diff --git a/docs/logo-text-padding.png b/docs/logo-text-padding.png new file mode 100755 index 0000000000000000000000000000000000000000..ebe53a285856a1e3b302b1ee3cc106582923a07b GIT binary patch literal 18102 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 YiMSP<@2pM(kC|ccboFyt=akR{01B1@?*IS* literal 0 HcmV?d00001