This is an automated email from the ASF dual-hosted git repository. jiacai2050 pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/horaedb-docs.git
The following commit(s) were added to refs/heads/main by this push: new 36785ca refactor: use hugo to build website (#132) 36785ca is described below commit 36785ca3da45c2b6ac45fbd16916ead7ef98b2cf Author: Jiacai Liu <d...@liujiacai.net> AuthorDate: Wed Aug 21 10:34:40 2024 +0800 refactor: use hugo to build website (#132) --- .github/workflows/deploy.yml | 22 +- .gitignore | 7 + Makefile | 8 +- README.md | 18 +- archetypes/default.md | 5 + content/cn/_index.md | 35 ++ docs/src/cn/about.md => content/cn/docs/_index.md | 23 +- content/cn/docs/design/_index.md | 4 + .../cn => content/cn/docs}/design/architecture.md | 5 +- .../cn => content/cn/docs}/design/clustering.md | 7 +- .../cn/docs}/design/shared_nothing.md | 4 +- {docs/src/cn => content/cn/docs}/design/storage.md | 11 +- .../cn/docs}/design/table_partitioning.md | 6 +- .../cn => content/cn/docs}/design/wal_on_kafka.md | 4 +- .../cn/docs}/design/wal_on_rocksdb.md | 4 +- content/cn/docs/dev/_index.md | 4 + .../src/cn => content/cn/docs}/dev/compile_run.md | 5 + .../cn/docs/dev}/platform.md | 5 + {docs/src/cn => content/cn/docs}/dev/profiling.md | 5 +- {docs/src/cn => content/cn/docs}/dev/roadmap.md | 5 +- .../cn/docs/getting-started.md | 5 +- content/cn/docs/user-guide/_index.md | 4 + .../docs/user-guide/cluster_deployment/_index.md | 8 +- .../docs/user-guide}/cluster_deployment/no_meta.md | 6 +- .../user-guide}/cluster_deployment/with_meta.md | 10 +- .../cn/docs/user-guide/ecosystem/_index.md | 9 +- .../cn/docs/user-guide}/ecosystem/influxdb.md | 4 +- .../cn/docs/user-guide}/ecosystem/opentsdb.md | 4 +- .../cn/docs/user-guide}/ecosystem/prometheus.md | 4 +- .../cn/docs/user-guide/operation/_index.md | 11 +- .../cn/docs/user-guide}/operation/block_list.md | 4 +- .../cn/docs/user-guide}/operation/horaemeta.md | 4 +- .../cn/docs/user-guide}/operation/observability.md | 12 +- .../cn/docs/user-guide}/operation/system_table.md | 4 +- .../cn/docs/user-guide}/operation/table.md | 4 +- content/cn/docs/user-guide/sdk/_index.md | 4 + .../cn => content/cn/docs/user-guide}/sdk/go.md | 4 +- .../cn => content/cn/docs/user-guide}/sdk/java.md | 4 +- .../cn/docs/user-guide}/sdk/python.md | 4 +- .../cn => content/cn/docs/user-guide}/sdk/rust.md | 4 +- content/cn/docs/user-guide/sql/_index.md | 6 + .../cn/docs/user-guide/sql}/aggregate_functions.md | 4 +- content/cn/docs/user-guide/sql/ddl/_index.md | 6 + .../cn/docs/user-guide}/sql/ddl/alter_table.md | 4 +- .../cn/docs/user-guide}/sql/ddl/create_table.md | 4 +- .../cn/docs/user-guide}/sql/ddl/drop_table.md | 4 +- content/cn/docs/user-guide/sql/dml/_index.md | 6 + .../cn/docs/user-guide}/sql/dml/insert.md | 4 +- .../cn/docs/user-guide}/sql/dml/select.md | 4 +- .../cn/docs/user-guide}/sql/engine_options.md | 5 +- .../cn/docs/user-guide}/sql/identifier.md | 5 +- content/cn/docs/user-guide/sql/model/_index.md | 6 + .../cn/docs/user-guide}/sql/model/data_types.md | 4 +- .../docs/user-guide}/sql/model/special_columns.md | 4 +- .../cn/docs/user-guide/sql}/scalar_functions.md | 4 +- .../cn/docs/user-guide}/sql/utility.md | 5 +- content/en/_index.md | 34 ++ content/en/blog/2024/release-2.0.0.md | 236 ++++++++++++ content/en/blog/_index.md | 9 + content/en/community/_index.md | 7 + docs/src/en/about.md => content/en/docs/_index.md | 22 +- content/en/docs/contribution-guidelines.md | 104 +++++ content/en/docs/design/_index.md | 4 + .../en => content/en/docs}/design/architecture.md | 4 +- .../en => content/en/docs}/design/clustering.md | 5 +- {docs/src/en => content/en/docs}/design/storage.md | 6 +- .../en/docs}/design/table_partitioning.md | 5 +- {docs/src/en => content/en/docs}/design/wal.md | 4 +- .../en => content/en/docs}/design/wal_on_kafka.md | 4 +- .../en/docs}/design/wal_on_rocksdb.md | 4 +- content/en/docs/dev/_index.md | 4 + .../src/en => content/en/docs}/dev/compile_run.md | 5 + .../en/docs}/dev/conventional_commit.md | 5 +- .../en/docs/dev}/platform.md | 11 +- {docs/src/en => content/en/docs}/dev/profiling.md | 4 +- {docs/src/en => content/en/docs}/dev/roadmap.md | 4 +- .../src/en => content/en/docs}/dev/sdk_develop.md | 4 + .../src/en => content/en/docs}/dev/style_guide.md | 4 +- .../en/docs/getting-started.md | 5 +- content/en/docs/user-guide/_index.md | 4 + .../docs/user-guide/cluster_deployment/_index.md | 8 +- .../docs/user-guide}/cluster_deployment/no_meta.md | 7 +- .../user-guide}/cluster_deployment/with_meta.md | 11 +- content/en/docs/user-guide/ecosystem/_index.md | 6 + .../en/docs/user-guide}/ecosystem/influxdb.md | 4 +- .../en/docs/user-guide}/ecosystem/opentsdb.md | 4 +- .../en/docs/user-guide}/ecosystem/prometheus.md | 4 +- .../en/docs/user-guide/operation/_index.md | 11 +- .../en/docs/user-guide}/operation/block_list.md | 4 +- .../en/docs/user-guide}/operation/horaemeta.md | 4 +- .../en/docs/user-guide}/operation/observability.md | 12 +- .../en/docs/user-guide}/operation/system_table.md | 4 +- .../en/docs/user-guide}/operation/table.md | 4 +- content/en/docs/user-guide/sdk/_index.md | 4 + .../en => content/en/docs/user-guide}/sdk/go.md | 4 +- .../en => content/en/docs/user-guide}/sdk/java.md | 4 +- .../en/docs/user-guide}/sdk/python.md | 4 +- .../en => content/en/docs/user-guide}/sdk/rust.md | 4 +- content/en/docs/user-guide/sql/_index.md | 4 + .../en/docs/user-guide/sql}/aggregate_functions.md | 5 +- content/en/docs/user-guide/sql/ddl/_index.md | 6 + .../en/docs/user-guide}/sql/ddl/alter_table.md | 4 +- .../en/docs/user-guide}/sql/ddl/create_table.md | 4 +- .../en/docs/user-guide}/sql/ddl/drop_table.md | 4 +- content/en/docs/user-guide/sql/dml/_index.md | 6 + .../en/docs/user-guide}/sql/dml/insert.md | 4 +- .../en/docs/user-guide}/sql/dml/select.md | 4 +- .../en/docs/user-guide}/sql/engine_options.md | 5 +- .../en/docs/user-guide}/sql/identifier.md | 5 +- content/en/docs/user-guide/sql/model/_index.md | 6 + .../en/docs/user-guide}/sql/model/data_types.md | 4 +- .../docs/user-guide}/sql/model/special_columns.md | 4 +- .../en/docs/user-guide/sql}/scalar_functions.md | 5 +- .../en/docs/user-guide}/sql/utility.md | 5 +- docs/.gitignore | 1 - docs/book.toml | 29 -- docs/move.sh | 6 - docs/sidebar.js | 66 ---- docs/src/cn/SUMMARY.md | 66 ---- docs/src/cn/design/wal.md | 5 - docs/src/cn/dev/README.md | 1 - docs/src/cn/dev/conventional_commit.md | 3 - docs/src/cn/dev/platform.md | 7 - docs/src/cn/dev/style_guide.md | 3 - docs/src/cn/protocol.md | 1 - docs/src/cn/sdk/README.md | 6 - docs/src/cn/sql/README.md | 19 - docs/src/cn/sql/ddl/README.md | 7 - docs/src/cn/sql/dml/README.md | 6 - docs/src/cn/sql/model/README.md | 6 - docs/src/cn/trouble_shooting.md | 1 - docs/src/en/SUMMARY.md | 66 ---- docs/src/en/dev/README.md | 1 - docs/src/en/dev/platform.md | 7 - docs/src/en/ecosystem/README.md | 9 - docs/src/en/protocol.md | 1 - docs/src/en/sdk/README.md | 6 - docs/src/en/sql/README.md | 19 - docs/src/en/sql/ddl/README.md | 7 - docs/src/en/sql/dml/README.md | 6 - docs/src/en/sql/model/README.md | 6 - docs/src/en/trouble_shooting.md | 1 - docs/style.css | 54 --- docs/theme/index.hbs | 417 --------------------- go.mod | 5 + go.sum | 4 + hugo.toml | 87 +++++ layouts/partials/footer.html | 11 + .../config-horaedb-cluster0.toml | 0 .../config-horaedb-cluster1.toml | 0 .../config-horaemeta-cluster0.toml | 0 .../config-horaemeta-cluster1.toml | 0 .../config-horaemeta-cluster2.toml | 0 .../config-horaemeta-standalone.toml | 0 .../src/resources => static}/config_kafka_oss.toml | 0 .../src/resources => static}/config_local_oss.toml | 0 .../src/resources => static}/config_obkv_oss.toml | 0 .../resources => static}/grafana-dashboard.json | 0 static/{ => images}/dingtalk.jpg | Bin .../images/grafana-dashboard.png | Bin .../images/grafana-datasource.png | Bin .../images/grafana-horaedb-dashboard.png | Bin static/images/horaedb-banner-white-small.jpg | Bin 0 -> 56442 bytes .../images/storage-overview.svg | 0 static/images/weixin-mp.jpg | Bin 0 -> 136565 bytes 165 files changed, 999 insertions(+), 992 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0cf1156..006ee35 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -5,7 +5,6 @@ on: push: branches: - main - pull_request: # Allow one concurrent deployment concurrency: @@ -19,13 +18,26 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - run: make install + - name: Setup Hugo + uses: peaceiris/actions-hugo@v3 + with: + hugo-version: 'latest' + extended: true + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + run: | + npm i -D postcss postcss-cli autoprefixer + hugo mod get + hugo --minify - run: make build - # copy .asf.yaml to docs/book/html which asf site needs - - run: cp .asf.yaml docs/book/html + # copy .asf.yaml to ./public, asf site needs it. + - run: cp .asf.yaml ./public - uses: peaceiris/actions-gh-pages@v3 if: github.event_name != 'pull_request' with: github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./docs/book/html + publish_dir: ./public publish_branch: asf-site diff --git a/.gitignore b/.gitignore index 348ef20..4c95e2c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,10 @@ # vscode files .vscode + +/resources +*lock +/public +/node_modules +package.json +package-lock.json diff --git a/Makefile b/Makefile index 987bd46..1a0ffb2 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,8 @@ install: - cargo install mdbook@0.4.25 - cargo install mdbook-i18n --git https://github.com/chunshao90/mdbook-i18n.git --rev ca497cff369e0a5cedcd4024af6e1f05cc5050c5 + brew install hugo serve: - cd docs && mdbook serve - -build: - cd docs && mdbook build + hugo serve lint: find . -name '*.md' | xargs npx prettier@2.7.1 --write diff --git a/README.md b/README.md index f8d5fcf..1205788 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,25 @@ > > Please read the [DISCLAIMER](DISCLAIMER) and a full explanation of > ["incubating"](https://incubator.apache.org/policy/incubation.html). -This repository stores all the source files of [HoraeDB docs website](https://apache.github.io/incubator-horaedb-docs/), the website is generated with [mdbook](https://rust-lang.github.io/mdBook/). +This repository stores all the source files of [HoraeDB docs website](https://apache.github.io/horaedb-docs/), the website is generated with [hugo](https://gohugo.io/) and [docsy](https://www.docsy.dev/). **All files are written in standard markdown.** +## How to run + +```bash +# Download dependencies +hugo mod get + +# Start a local server for preview +hugo serve +``` + +By default hugo will listen on http://localhost:1313 + ## Contributing Welcome any contributions from the community. You can -- Open an [issue](https://github.com/apache/incubator-horaedb-docs/issues) with any suggestions, or -- Submit a [pull request](https://github.com/apache/incubator-horaedb-docs/pulls) to improve the website (trivial fixes are welcome). +- Open an [issue](https://github.com/apache/horaedb-docs/issues) with any suggestions, or +- Submit a [pull request](https://github.com/apache/horaedb-docs/pulls) to improve the website (trivial fixes are welcome). diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/content/cn/_index.md b/content/cn/_index.md new file mode 100644 index 0000000..0caab32 --- /dev/null +++ b/content/cn/_index.md @@ -0,0 +1,35 @@ +--- +title: "Horaedb" +--- + +{{% blocks/cover color="primary" title="Apache HoraeDB™ (incubating)" height="full" %}} +{{% param description %}} + +{.display-6} + +<a class="btn btn-lg btn-secondary" href="https://github.com/apache/horaedb">GitHub<i class="fab fa-github ms-2 "></i></a> +<a class="btn btn-lg btn-secondary" href="docs/getting-started/"> +快速开始<i class="fas fa-arrow-alt-circle-right ms-2"></i> +</a> +{.p-initial .my-5} + +{{% blocks/section type="row" %}} + +{{% blocks/feature icon="fa-lightbulb" title="特性" %}} +高性能低成本、简单易用、社区驱动 + +{{% /blocks/feature %}} + +{{% blocks/feature icon="fa fa-code" title="生态" url="docs/user-guide/ecosystem/" %}} + +积极拥抱开源生态,同时能够无缝对接各种开源组件。 +{{% /blocks/feature %}} + +{{% blocks/feature icon="fa-brands fa-github" title="100% 开源" url="/docs/contribution-guidelines/" %}} + +所有代码均在 GitHub 上开源,欢迎新用户的加入! +{{% /blocks/feature %}} + +{{% /blocks/section %}} + +{{% /blocks/cover %}} diff --git a/docs/src/cn/about.md b/content/cn/docs/_index.md similarity index 50% rename from docs/src/cn/about.md rename to content/cn/docs/_index.md index 6deb1d9..4eb0ecb 100644 --- a/docs/src/cn/about.md +++ b/content/cn/docs/_index.md @@ -1,8 +1,17 @@ - +--- +title: "文档" +weight: 1 +menu: + main: + weight: 20 + pre: <i class='fa-solid fa-book'></i> +--- + +  -[](https://github.com/apache/incubator-horaedb/actions/workflows/ci.yml) -[](https://github.com/apache/incubator-horaedb/issues) +[](https://github.com/apache/horaedb/actions/workflows/ci.yml) +[](https://github.com/apache/horaedb/issues) Apache HoraeDB™ (incubating) 是一款高性能、分布式的云原生时序数据库。 @@ -16,7 +25,7 @@ HoraeDB 的基础设计思想是采用混合存储格式和相应的查询方法 # 如何使用 HoraeDB? -- 查看 [快速开始](quick_start.md) 掌握快速使用 HoraeDB 的方式 -- HoraeDB 支持的数据模型请查看 [Data Model](sql/model/README.md) -- SQL 使用相关请查看 [SQL](sql/README.md) -- HoraeDB 支持的相关 SDK 请查看 [SDK](sdk/README.md) +- 查看 [快速开始]({{< ref "getting-started.md" >}}) 掌握快速使用 HoraeDB 的方式 +- HoraeDB 支持的数据模型请查看 [Data Model]({{< ref "user-guide/sql/model/_index.md" >}}) +- SQL 使用相关请查看[这里]({{< ref "user-guide/sql/_index.md" >}}) +- SDK 使用请查看[这里]({{< ref "user-guide/sdk/_index.md" >}}) diff --git a/content/cn/docs/design/_index.md b/content/cn/docs/design/_index.md new file mode 100644 index 0000000..58c8fdf --- /dev/null +++ b/content/cn/docs/design/_index.md @@ -0,0 +1,4 @@ +--- +title: "设计文档" +weight: 40 +--- diff --git a/docs/src/cn/design/architecture.md b/content/cn/docs/design/architecture.md similarity index 99% rename from docs/src/cn/design/architecture.md rename to content/cn/docs/design/architecture.md index 0c6dd1f..d54cb18 100644 --- a/docs/src/cn/design/architecture.md +++ b/content/cn/docs/design/architecture.md @@ -1,4 +1,7 @@ -# HoraeDB 架构介绍 +--- +title: "HoraeDB 架构介绍" +weight: 10 +--- ## 本文目标 diff --git a/docs/src/cn/design/clustering.md b/content/cn/docs/design/clustering.md similarity index 99% rename from docs/src/cn/design/clustering.md rename to content/cn/docs/design/clustering.md index e93d00b..0e78e3e 100644 --- a/docs/src/cn/design/clustering.md +++ b/content/cn/docs/design/clustering.md @@ -1,6 +1,9 @@ -注意:文章中提到的部分特性暂时还未实现。 +--- +title: "集群模式" +weight: 20 +--- -# HoraeDB 集群 +注意:文章中提到的部分特性暂时还未实现。 ## 整体架构 diff --git a/docs/src/cn/design/shared_nothing.md b/content/cn/docs/design/shared_nothing.md similarity index 99% rename from docs/src/cn/design/shared_nothing.md rename to content/cn/docs/design/shared_nothing.md index cbb5bb0..ea83c50 100644 --- a/docs/src/cn/design/shared_nothing.md +++ b/content/cn/docs/design/shared_nothing.md @@ -1,4 +1,6 @@ -# Shared Nothing 架构 +--- +title: "Shared Nothing 架构" +--- ## 背景 diff --git a/docs/src/cn/design/storage.md b/content/cn/docs/design/storage.md similarity index 92% rename from docs/src/cn/design/storage.md rename to content/cn/docs/design/storage.md index d6c4cf1..5850cc9 100644 --- a/docs/src/cn/design/storage.md +++ b/content/cn/docs/design/storage.md @@ -1,4 +1,7 @@ -# 存储引擎 +--- +title: "存储引擎" +weight: 30 +--- 存储引擎主要提供以下两个功能: @@ -11,7 +14,7 @@ HoraeDB 是一种基于 share-nothing 架构的分布式存储系统,不同服务器之间的数据相互隔离,互不影响。每一个单机中的存储引擎是 LSM(Log-structured merge-tree)的一个变种,针对时序场景做了优化,下图展示了其主要组件的运作方式: - + ## Write Ahead Log (WAL) @@ -24,9 +27,9 @@ HoraeDB 是一种基于 share-nothing 架构的分布式存储系统,不同服 另一方面,由于[分布式架构](cluster.md)的设计,要求 WAL 本身是高可用的,现在 HoraeDB 中,主要有以下几种实现: -- [本地磁盘](wal_on_rocksdb.md)(基于 [RocksDB](http://rocksdb.org/),无分布式高可用) +- [本地磁盘]({{< ref "wal_on_rocksdb.md" >}})(基于 [RocksDB](http://rocksdb.org/),无分布式高可用) - [Oceanbase](https://www.oceanbase.com) -- [Kafka](wal_on_kafka.md) +- [Kafka]({{< ref "wal_on_kafka.md" >}}) ## Memtable diff --git a/docs/src/cn/design/table_partitioning.md b/content/cn/docs/design/table_partitioning.md similarity index 99% rename from docs/src/cn/design/table_partitioning.md rename to content/cn/docs/design/table_partitioning.md index 8e429c7..6218610 100644 --- a/docs/src/cn/design/table_partitioning.md +++ b/content/cn/docs/design/table_partitioning.md @@ -1,6 +1,8 @@ -**注意:此功能仍在开发中,API 将来可能会发生变化。** +--- +title: "分区表" +--- -# 分区表 +**注意:此功能仍在开发中,API 将来可能会发生变化。** 本章讨论 `PartitionTable`。 diff --git a/docs/src/cn/design/wal_on_kafka.md b/content/cn/docs/design/wal_on_kafka.md similarity index 99% rename from docs/src/cn/design/wal_on_kafka.md rename to content/cn/docs/design/wal_on_kafka.md index 3a98346..cfd7e2c 100644 --- a/docs/src/cn/design/wal_on_kafka.md +++ b/content/cn/docs/design/wal_on_kafka.md @@ -1,4 +1,6 @@ -# 基于 Kafka 的 WAL +--- +title: "基于 Kafka 的 WAL" +--- ## 架构 diff --git a/docs/src/cn/design/wal_on_rocksdb.md b/content/cn/docs/design/wal_on_rocksdb.md similarity index 99% rename from docs/src/cn/design/wal_on_rocksdb.md rename to content/cn/docs/design/wal_on_rocksdb.md index 3e1e684..37f7738 100644 --- a/docs/src/cn/design/wal_on_rocksdb.md +++ b/content/cn/docs/design/wal_on_rocksdb.md @@ -1,4 +1,6 @@ -# 基于 RocksDB 的 WAL +--- +title: "基于 RocksDB 的 WAL" +--- ## 架构 diff --git a/content/cn/docs/dev/_index.md b/content/cn/docs/dev/_index.md new file mode 100644 index 0000000..fd31411 --- /dev/null +++ b/content/cn/docs/dev/_index.md @@ -0,0 +1,4 @@ +--- +title: "开发手册" +weight: 20 +--- diff --git a/docs/src/cn/dev/compile_run.md b/content/cn/docs/dev/compile_run.md similarity index 97% rename from docs/src/cn/dev/compile_run.md rename to content/cn/docs/dev/compile_run.md index 3517770..ba09a73 100644 --- a/docs/src/cn/dev/compile_run.md +++ b/content/cn/docs/dev/compile_run.md @@ -1,3 +1,8 @@ +--- +title: "编译" +weight: 10 +--- + 为了编译 HoraeDB, 首先需要安装相关的依赖(包括 `Rust` 的工具链)。 # 依赖(Ubuntu20.04) diff --git a/docs/src/cn/cluster_deployment/platform.md b/content/cn/docs/dev/platform.md similarity index 94% rename from docs/src/cn/cluster_deployment/platform.md rename to content/cn/docs/dev/platform.md index 97547a0..cd17942 100644 --- a/docs/src/cn/cluster_deployment/platform.md +++ b/content/cn/docs/dev/platform.md @@ -1,3 +1,8 @@ +--- +title: "支持平台" +weight: 10 +--- + 作为一个开源的数据库,HoraeDB 可以部署在基于英特尔 /ARM 架构的服务器,以及常见的虚拟环境。 | OS | status | diff --git a/docs/src/cn/dev/profiling.md b/content/cn/docs/dev/profiling.md similarity index 94% rename from docs/src/cn/dev/profiling.md rename to content/cn/docs/dev/profiling.md index 2463571..3caf298 100644 --- a/docs/src/cn/dev/profiling.md +++ b/content/cn/docs/dev/profiling.md @@ -1,4 +1,7 @@ -## 剖析 +--- +title: "性能诊断" +weight: 20 +--- ### CPU 剖析 diff --git a/docs/src/cn/dev/roadmap.md b/content/cn/docs/dev/roadmap.md similarity index 98% rename from docs/src/cn/dev/roadmap.md rename to content/cn/docs/dev/roadmap.md index 0e8ef16..b1442d8 100644 --- a/docs/src/cn/dev/roadmap.md +++ b/content/cn/docs/dev/roadmap.md @@ -1,4 +1,7 @@ -## RoadMap +--- +title: "RoadMap" +weight: 30 +--- ### v0.1.0 diff --git a/docs/src/cn/quick_start.md b/content/cn/docs/getting-started.md similarity index 98% rename from docs/src/cn/quick_start.md rename to content/cn/docs/getting-started.md index 497f6e2..7031f70 100644 --- a/docs/src/cn/quick_start.md +++ b/content/cn/docs/getting-started.md @@ -1,4 +1,7 @@ -# 快速开始 +--- +title: "快速开始" +weight: 1 +--- 本章介绍如何快速启动 HoraeDB。在这里你将会学到启动一个单机模式的 HoraeDB,然后使用 SQL 写入一些数据并查询结果。 diff --git a/content/cn/docs/user-guide/_index.md b/content/cn/docs/user-guide/_index.md new file mode 100644 index 0000000..46ef6ae --- /dev/null +++ b/content/cn/docs/user-guide/_index.md @@ -0,0 +1,4 @@ +--- +title: "用户指南" +weight: 10 +--- diff --git a/docs/src/cn/cluster_deployment/README.md b/content/cn/docs/user-guide/cluster_deployment/_index.md similarity index 84% rename from docs/src/cn/cluster_deployment/README.md rename to content/cn/docs/user-guide/cluster_deployment/_index.md index e5a7a9a..7dda00d 100644 --- a/docs/src/cn/cluster_deployment/README.md +++ b/content/cn/docs/user-guide/cluster_deployment/_index.md @@ -1,10 +1,10 @@ -# 集群部署 +--- +title: "集群部署" +weight: 20 +--- 在[快速开始](../quick_start.md)部分我们已经介绍过单机版本 HoraeDB 的部署。 除此之外,HoraeDB 作为一个分布式时序数据库,多个 HoraeDB 实例能够以集群的方式提供可伸缩和高可用的数据服务。 由于目前 HoraeDB 对于 Kubernetes 的支持还在开发之中,目前 HoraeDB 集群部署只能通过手动完成,集群部署的模式主要有两种,两者的区别在于是否需要部署 HoraeMeta,对于 `NoMeta` 的模式,我们仅建议在测试场景下使用。 - -- [NoMeta 模式(仅供测试使用)](no_meta.md) -- [WithMeta 模式](with_meta.md) diff --git a/docs/src/cn/cluster_deployment/no_meta.md b/content/cn/docs/user-guide/cluster_deployment/no_meta.md similarity index 99% rename from docs/src/cn/cluster_deployment/no_meta.md rename to content/cn/docs/user-guide/cluster_deployment/no_meta.md index bef35df..57e00bf 100644 --- a/docs/src/cn/cluster_deployment/no_meta.md +++ b/content/cn/docs/user-guide/cluster_deployment/no_meta.md @@ -1,6 +1,8 @@ -**注意:此功能仅供测试使用,不推荐生产使用,相关功能将来可能会发生变化。** +--- +title: "NoMeta 模式" +--- -# NoMeta 模式 +**注意:此功能仅供测试使用,不推荐生产使用,相关功能将来可能会发生变化。** 本章介绍如何部署一个静态(无 HoraeMeta)的 HoraeDB 集群。 diff --git a/docs/src/cn/cluster_deployment/with_meta.md b/content/cn/docs/user-guide/cluster_deployment/with_meta.md similarity index 95% rename from docs/src/cn/cluster_deployment/with_meta.md rename to content/cn/docs/user-guide/cluster_deployment/with_meta.md index d1abbf1..d9a37d7 100644 --- a/docs/src/cn/cluster_deployment/with_meta.md +++ b/content/cn/docs/user-guide/cluster_deployment/with_meta.md @@ -1,4 +1,6 @@ -# WithMeta 模式 +--- +title: "WithMeta 模式" +--- 本文展示如何部署一个由 HoraeMeta 控制的 HoraeDB 集群,有了 HoraeMeta 提供的服务,如果 HoraeDB 使用存储不在本地的话,就可以实现很多分布式特性,比如水平扩容、负载均衡、服务高可用等。 @@ -42,19 +44,19 @@ docker run -d --name horaemeta-server \ - 多节点 ```bash -wget https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster0.toml +wget https://horaedb.apache.org/config-horaemeta-cluster0.toml docker run -d --network=host --name horaemeta-server0 \ -v $(pwd)/config-horaemeta-cluster0.toml:/etc/horaemeta/horaemeta.toml \ ghcr.io/apache/horaemeta-server:nightly-20231225-ab067bf0 -wget https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster1.toml +wget https://horaedb.apache.org/config-horaemeta-cluster1.toml docker run -d --network=host --name horaemeta-server1 \ -v $(pwd)/config-horaemeta-cluster1.toml:/etc/horaemeta/horaemeta.toml \ ghcr.io/apache/horaemeta-server:nightly-20231225-ab067bf0 -wget https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster2.toml +wget https://horaedb.apache.org/config-horaemeta-cluster2.toml docker run -d --network=host --name horaemeta-server2 \ -v $(pwd)/config-horaemeta-cluster2.toml:/etc/horaemeta/horaemeta.toml \ diff --git a/docs/src/cn/ecosystem/README.md b/content/cn/docs/user-guide/ecosystem/_index.md similarity index 61% rename from docs/src/cn/ecosystem/README.md rename to content/cn/docs/user-guide/ecosystem/_index.md index 67851d6..9d9a8b1 100644 --- a/docs/src/cn/ecosystem/README.md +++ b/content/cn/docs/user-guide/ecosystem/_index.md @@ -1,7 +1,6 @@ -# 周边生态 +--- +title: "周边生态" +weight: 50 +--- HoraeDB 是一个开放的系统,鼓励合作和创新,允许开发者使用最适合其自身需求的系统。目前 HoraeDB 支持以下系统: - -- [Prometheus](prometheus.md) -- [InfluxDB](influxdb.md) -- [OpenTSDB](opentsdb.md) diff --git a/docs/src/cn/ecosystem/influxdb.md b/content/cn/docs/user-guide/ecosystem/influxdb.md similarity index 99% rename from docs/src/cn/ecosystem/influxdb.md rename to content/cn/docs/user-guide/ecosystem/influxdb.md index a470a79..4866977 100644 --- a/docs/src/cn/ecosystem/influxdb.md +++ b/content/cn/docs/user-guide/ecosystem/influxdb.md @@ -1,4 +1,6 @@ -# InfluxDB +--- +title: "InfluxDB" +--- [InfluxDB](https://www.influxdata.com/products/influxdb-overview/) 是一个时间序列数据库,旨在处理高写入和查询负载。它是 TICK 堆栈的一个组成部分。InfluxDB 旨在用作涉及大量时间戳数据的任何用例的后备存储,包括 DevOps 监控、应用程序指标、物联网传感器数据和实时分析。 diff --git a/docs/src/cn/ecosystem/opentsdb.md b/content/cn/docs/user-guide/ecosystem/opentsdb.md similarity index 98% rename from docs/src/cn/ecosystem/opentsdb.md rename to content/cn/docs/user-guide/ecosystem/opentsdb.md index 66f4afb..611363b 100644 --- a/docs/src/cn/ecosystem/opentsdb.md +++ b/content/cn/docs/user-guide/ecosystem/opentsdb.md @@ -1,4 +1,6 @@ -# OpenTSDB +--- +title: "OpenTSDB" +--- [OpenTSDB](http://opentsdb.net/) 是基于 HBase 的分布式、可伸缩的时间序列数据库。 diff --git a/docs/src/cn/ecosystem/prometheus.md b/content/cn/docs/user-guide/ecosystem/prometheus.md similarity index 98% rename from docs/src/cn/ecosystem/prometheus.md rename to content/cn/docs/user-guide/ecosystem/prometheus.md index c6d8630..8da26ec 100644 --- a/docs/src/cn/ecosystem/prometheus.md +++ b/content/cn/docs/user-guide/ecosystem/prometheus.md @@ -1,4 +1,6 @@ -# Prometheus +--- +title: "Prometheus" +--- [Prometheus](https://prometheus.io/)是一个流行的云原生监控工具,由于其可扩展性、可靠性和可伸缩性,被企业广泛采用。它用于从云原生服务(如 Kubernetes 和 OpenShift)中获取指标,并将其存储在时序数据库中。Prometheus 也很容易扩展,允许用户用其他数据库扩展其特性和功能。 diff --git a/docs/src/cn/operation/README.md b/content/cn/docs/user-guide/operation/_index.md similarity index 51% rename from docs/src/cn/operation/README.md rename to content/cn/docs/user-guide/operation/_index.md index 30a6156..20f1fcf 100644 --- a/docs/src/cn/operation/README.md +++ b/content/cn/docs/user-guide/operation/_index.md @@ -1,9 +1,6 @@ -# 运维文档 +--- +title: "运维文档" +weight: 40 +--- 本章介绍 HoraeDB 的运维相关的操作,包括表相关操作,设置访问黑名单,已经如何监控 HoraeDB。未来还会介绍集群扩容,容灾相关: - -- [表](./table.md) -- [系统表](./system_table.md) -- [黑名单](./block_list.md) -- [监控](./observability.md) -- [集群运维](./cluster.md) diff --git a/docs/src/cn/operation/block_list.md b/content/cn/docs/user-guide/operation/block_list.md similarity index 98% rename from docs/src/cn/operation/block_list.md rename to content/cn/docs/user-guide/operation/block_list.md index a028401..47f7878 100644 --- a/docs/src/cn/operation/block_list.md +++ b/content/cn/docs/user-guide/operation/block_list.md @@ -1,4 +1,6 @@ -# 黑名单 +--- +title: "黑名单" +--- ## 增加黑名单 diff --git a/docs/src/cn/operation/horaemeta.md b/content/cn/docs/user-guide/operation/horaemeta.md similarity index 99% rename from docs/src/cn/operation/horaemeta.md rename to content/cn/docs/user-guide/operation/horaemeta.md index d8a2e35..d0b6ae0 100644 --- a/docs/src/cn/operation/horaemeta.md +++ b/content/cn/docs/user-guide/operation/horaemeta.md @@ -1,4 +1,6 @@ -# 集群运维 +--- +title: "集群运维" +--- 集群运维接口的使用前提是,HoraeDB 部署为使用 HoraeMeta 的集群模式。 diff --git a/docs/src/cn/operation/observability.md b/content/cn/docs/user-guide/operation/observability.md similarity index 89% rename from docs/src/cn/operation/observability.md rename to content/cn/docs/user-guide/operation/observability.md index 7f6fa39..6974709 100644 --- a/docs/src/cn/operation/observability.md +++ b/content/cn/docs/user-guide/operation/observability.md @@ -1,4 +1,6 @@ -# 监控 +--- +title: "监控" +--- HoraeDB 支持使用 Prometheus 和 Grafana 做自监控。 @@ -65,21 +67,21 @@ docker run -d --name=grafana -p 3000:3000 grafana/grafana:9.3.6 注意: Prometheus 的 url 需要填写成这样 `http://your_ip:9090`, your_ip 换成本地地址。 -<img src="../../resources/images/grafana-datasource.png" height="400" width="200"/> +<img src="/images/grafana-datasource.png" height="400" width="200"/> 更详细的配置可以参考[这里](https://grafana.com/docs/grafana/latest/datasources/prometheus/)。 ### 导入监控页面 -<a href="../../resources/grafana-dashboard.json">页面 json</a> +<a href="/grafana-dashboard.json">页面 json</a> -<img src="../../resources/images/grafana-dashboard.png" height="400" width="200"/> +<img src="/images/grafana-dashboard.png" height="400" width="200"/> ## HoraeDB 指标 当导入完成后,你可以看到如下页面: -<img src="../../resources/images/grafana-horaedb-dashboard.png" height="400" width="600"/> +<img src="/images/grafana-horaedb-dashboard.png" height="400" width="600"/> ### Panels diff --git a/docs/src/cn/operation/system_table.md b/content/cn/docs/user-guide/operation/system_table.md similarity index 96% rename from docs/src/cn/operation/system_table.md rename to content/cn/docs/user-guide/operation/system_table.md index bf5065f..799b31d 100644 --- a/docs/src/cn/operation/system_table.md +++ b/content/cn/docs/user-guide/operation/system_table.md @@ -1,4 +1,6 @@ -# 系统表 +--- +title: "系统表" +--- ## 查询 Table 信息 diff --git a/docs/src/cn/operation/table.md b/content/cn/docs/user-guide/operation/table.md similarity index 98% rename from docs/src/cn/operation/table.md rename to content/cn/docs/user-guide/operation/table.md index be1acd5..85b3684 100644 --- a/docs/src/cn/operation/table.md +++ b/content/cn/docs/user-guide/operation/table.md @@ -1,4 +1,6 @@ -# 表操作 +--- +title: "表操作" +--- HoraeDB 支持标准的 SQL,用户可以使用 Http 协议创建表和读写表。更多内容可以参考 [SQL 语法](../sql/README.md) diff --git a/content/cn/docs/user-guide/sdk/_index.md b/content/cn/docs/user-guide/sdk/_index.md new file mode 100644 index 0000000..3252288 --- /dev/null +++ b/content/cn/docs/user-guide/sdk/_index.md @@ -0,0 +1,4 @@ +--- +title: "SDK 文档" +weight: 30 +--- diff --git a/docs/src/cn/sdk/go.md b/content/cn/docs/user-guide/sdk/go.md similarity index 99% rename from docs/src/cn/sdk/go.md rename to content/cn/docs/user-guide/sdk/go.md index 6eb69c1..7ec20f4 100644 --- a/docs/src/cn/sdk/go.md +++ b/content/cn/docs/user-guide/sdk/go.md @@ -1,4 +1,6 @@ -# Go +--- +title: "Go" +--- ## 安装 diff --git a/docs/src/cn/sdk/java.md b/content/cn/docs/user-guide/sdk/java.md similarity index 99% rename from docs/src/cn/sdk/java.md rename to content/cn/docs/user-guide/sdk/java.md index c8941b5..3cf993e 100644 --- a/docs/src/cn/sdk/java.md +++ b/content/cn/docs/user-guide/sdk/java.md @@ -1,4 +1,6 @@ -# Java 客户端使用文档 +--- +title: "Java" +--- ## 介绍 diff --git a/docs/src/cn/sdk/python.md b/content/cn/docs/user-guide/sdk/python.md similarity index 99% rename from docs/src/cn/sdk/python.md rename to content/cn/docs/user-guide/sdk/python.md index 7094d2c..9350107 100644 --- a/docs/src/cn/sdk/python.md +++ b/content/cn/docs/user-guide/sdk/python.md @@ -1,4 +1,6 @@ -# Python +--- +title: "Python" +--- ## 介绍 diff --git a/docs/src/cn/sdk/rust.md b/content/cn/docs/user-guide/sdk/rust.md similarity index 99% rename from docs/src/cn/sdk/rust.md rename to content/cn/docs/user-guide/sdk/rust.md index 91089a6..a8fc473 100644 --- a/docs/src/cn/sdk/rust.md +++ b/content/cn/docs/user-guide/sdk/rust.md @@ -1,4 +1,6 @@ -# Rust +--- +title: "Rust" +--- ## 安装 diff --git a/content/cn/docs/user-guide/sql/_index.md b/content/cn/docs/user-guide/sql/_index.md new file mode 100644 index 0000000..09dae2f --- /dev/null +++ b/content/cn/docs/user-guide/sql/_index.md @@ -0,0 +1,6 @@ +--- +title: "SQL 语法" +weight: 10 +--- + +本章介绍 HoraeDB 的 SQL 使用语法。 diff --git a/docs/src/cn/sql/functions/aggregate_functions.md b/content/cn/docs/user-guide/sql/aggregate_functions.md similarity index 98% rename from docs/src/cn/sql/functions/aggregate_functions.md rename to content/cn/docs/user-guide/sql/aggregate_functions.md index bb9e255..070ca39 100644 --- a/docs/src/cn/sql/functions/aggregate_functions.md +++ b/content/cn/docs/user-guide/sql/aggregate_functions.md @@ -1,4 +1,6 @@ -# 聚合函数 +--- +title: "聚合函数" +--- HoraeDB SQL 基于 [DataFusion](https://github.com/apache/arrow-datafusion) 实现,支持的聚合函数如下。更多详情请参考: [Datafusion](https://github.com/apache/arrow-datafusion/blob/master/docs/source/user-guide/sql/aggregate_functions.md) diff --git a/content/cn/docs/user-guide/sql/ddl/_index.md b/content/cn/docs/user-guide/sql/ddl/_index.md new file mode 100644 index 0000000..f446ab5 --- /dev/null +++ b/content/cn/docs/user-guide/sql/ddl/_index.md @@ -0,0 +1,6 @@ +--- +title: "表结构操作" +weight: 30 +--- + +本章介绍表结构相关 SQL 语句: diff --git a/docs/src/cn/sql/ddl/alter_table.md b/content/cn/docs/user-guide/sql/ddl/alter_table.md similarity index 98% rename from docs/src/cn/sql/ddl/alter_table.md rename to content/cn/docs/user-guide/sql/ddl/alter_table.md index 7362871..b559ca9 100644 --- a/docs/src/cn/sql/ddl/alter_table.md +++ b/content/cn/docs/user-guide/sql/ddl/alter_table.md @@ -1,4 +1,6 @@ -# ALTER TABLE +--- +title: "ALTER TABLE" +--- 使用 `ALTER TABLE` 可以改变表的结构和参数 . diff --git a/docs/src/cn/sql/ddl/create_table.md b/content/cn/docs/user-guide/sql/ddl/create_table.md similarity index 98% rename from docs/src/cn/sql/ddl/create_table.md rename to content/cn/docs/user-guide/sql/ddl/create_table.md index f0cff10..580a5a5 100644 --- a/docs/src/cn/sql/ddl/create_table.md +++ b/content/cn/docs/user-guide/sql/ddl/create_table.md @@ -1,4 +1,6 @@ -# 创建表 +--- +title: "创建表" +--- ## 基础语法 diff --git a/docs/src/cn/sql/ddl/drop_table.md b/content/cn/docs/user-guide/sql/ddl/drop_table.md similarity index 89% rename from docs/src/cn/sql/ddl/drop_table.md rename to content/cn/docs/user-guide/sql/ddl/drop_table.md index 846e55a..ba6cb0f 100644 --- a/docs/src/cn/sql/ddl/drop_table.md +++ b/content/cn/docs/user-guide/sql/ddl/drop_table.md @@ -1,4 +1,6 @@ -# DROP TABLE +--- +title: "DROP TABLE" +--- ## 基础语法 diff --git a/content/cn/docs/user-guide/sql/dml/_index.md b/content/cn/docs/user-guide/sql/dml/_index.md new file mode 100644 index 0000000..f574dc2 --- /dev/null +++ b/content/cn/docs/user-guide/sql/dml/_index.md @@ -0,0 +1,6 @@ +--- +title: "数据操作" +weight: 40 +--- + +本章介绍数据操作相关的 SQL. diff --git a/docs/src/cn/sql/dml/insert.md b/content/cn/docs/user-guide/sql/dml/insert.md similarity index 92% rename from docs/src/cn/sql/dml/insert.md rename to content/cn/docs/user-guide/sql/dml/insert.md index 12acb6f..8259ab5 100644 --- a/docs/src/cn/sql/dml/insert.md +++ b/content/cn/docs/user-guide/sql/dml/insert.md @@ -1,4 +1,6 @@ -# INSERT +--- +title: "INSERT" +--- ## 基础语法 diff --git a/docs/src/cn/sql/dml/select.md b/content/cn/docs/user-guide/sql/dml/select.md similarity index 94% rename from docs/src/cn/sql/dml/select.md rename to content/cn/docs/user-guide/sql/dml/select.md index f2d5ce3..2c61e0f 100644 --- a/docs/src/cn/sql/dml/select.md +++ b/content/cn/docs/user-guide/sql/dml/select.md @@ -1,4 +1,6 @@ -# SELECT +--- +title: "SELECT" +--- ## 基础语法 diff --git a/docs/src/cn/sql/engine_options.md b/content/cn/docs/user-guide/sql/engine_options.md similarity index 98% rename from docs/src/cn/sql/engine_options.md rename to content/cn/docs/user-guide/sql/engine_options.md index 6949081..362125f 100644 --- a/docs/src/cn/sql/engine_options.md +++ b/content/cn/docs/user-guide/sql/engine_options.md @@ -1,4 +1,7 @@ -# 配置项 +--- +title: "配置项" +weight: 60 +--- 建表时可以使用下列的选项配置引擎: diff --git a/docs/src/cn/sql/identifier.md b/content/cn/docs/user-guide/sql/identifier.md similarity index 86% rename from docs/src/cn/sql/identifier.md rename to content/cn/docs/user-guide/sql/identifier.md index c958e58..3a201b9 100644 --- a/docs/src/cn/sql/identifier.md +++ b/content/cn/docs/user-guide/sql/identifier.md @@ -1,3 +1,6 @@ -# 标识符 +--- +title: "标识符" +weight: 20 +--- HoraeDB 中表名、列名等标识符不能是保留关键字或以数字和标点符号开始,不过 HoraeDB 允许用反引号引用标识符(\`)。在这种情况下,它可以是任何字符串,如 `00_table` 或 `select`。 diff --git a/content/cn/docs/user-guide/sql/model/_index.md b/content/cn/docs/user-guide/sql/model/_index.md new file mode 100644 index 0000000..5b44709 --- /dev/null +++ b/content/cn/docs/user-guide/sql/model/_index.md @@ -0,0 +1,6 @@ +--- +title: "数据模型" +weight: 10 +--- + +本章介绍 HoraeDB 的数据模型。 diff --git a/docs/src/cn/sql/model/data_types.md b/content/cn/docs/user-guide/sql/model/data_types.md similarity index 96% rename from docs/src/cn/sql/model/data_types.md rename to content/cn/docs/user-guide/sql/model/data_types.md index af94c13..c61f364 100644 --- a/docs/src/cn/sql/model/data_types.md +++ b/content/cn/docs/user-guide/sql/model/data_types.md @@ -1,4 +1,6 @@ -# 数据类型 +--- +title: "数据类型" +--- HoraeDB 实现了 `Table` 模型,支持的数据类型和 MySQL 比较类似。 下列表格列出了 HoraeDB 的数据类型和 MySQL 的数据类型的对应关系。 diff --git a/docs/src/cn/sql/model/special_columns.md b/content/cn/docs/user-guide/sql/model/special_columns.md similarity index 98% rename from docs/src/cn/sql/model/special_columns.md rename to content/cn/docs/user-guide/sql/model/special_columns.md index 8b3f7de..6a5cdfe 100644 --- a/docs/src/cn/sql/model/special_columns.md +++ b/content/cn/docs/user-guide/sql/model/special_columns.md @@ -1,4 +1,6 @@ -# 特殊字段 +--- +title: "特殊字段" +--- HoraeDB 的表的约束如下: diff --git a/docs/src/cn/sql/functions/scalar_functions.md b/content/cn/docs/user-guide/sql/scalar_functions.md similarity index 99% rename from docs/src/cn/sql/functions/scalar_functions.md rename to content/cn/docs/user-guide/sql/scalar_functions.md index 21adb08..e7db656 100644 --- a/docs/src/cn/sql/functions/scalar_functions.md +++ b/content/cn/docs/user-guide/sql/scalar_functions.md @@ -1,4 +1,6 @@ -# 标量函数 +--- +title: "标量函数" +--- HoraeDB SQL 基于 [DataFusion](https://github.com/CeresDB/arrow-datafusion) 实现,支持的标量函数如下。更多详情请参考: [Datafusion](https://github.com/CeresDB/arrow-datafusion/blob/master/docs/source/user-guide/sql/scalar_functions.md) diff --git a/docs/src/cn/sql/utility.md b/content/cn/docs/user-guide/sql/utility.md similarity index 98% rename from docs/src/cn/sql/utility.md rename to content/cn/docs/user-guide/sql/utility.md index 0c36a00..3b85456 100644 --- a/docs/src/cn/sql/utility.md +++ b/content/cn/docs/user-guide/sql/utility.md @@ -1,4 +1,7 @@ -# 常用 SQL +--- +title: "常用 SQL" +weight: 50 +--- HoraeDB 中有许多实用的 SQL 工具,可以辅助表操作或查询检查。 diff --git a/content/en/_index.md b/content/en/_index.md new file mode 100644 index 0000000..1b3e0e0 --- /dev/null +++ b/content/en/_index.md @@ -0,0 +1,34 @@ +--- +title: "Horaedb" +--- + +{{% blocks/cover color="primary" title="Apache HoraeDB™ (incubating)" height="full" %}} +{{% param description %}} + +{.display-6} + +<a class="btn btn-lg btn-secondary" href="https://github.com/apache/horaedb">GitHub<i class="fab fa-github ms-2 "></i></a> +<a class="btn btn-lg btn-secondary" href="docs/getting-started/"> +Get started<i class="fas fa-arrow-alt-circle-right ms-2"></i> +</a> +{.p-initial .my-5} + +{{% blocks/section type="row" %}} + +{{% blocks/feature icon="fa-lightbulb" title="Features" %}} +High scalability, Cost-efficiency, Community-driven + +{{% /blocks/feature %}} + +{{% blocks/feature icon="fa fa-code" title="Ecosystem" url="docs/user-guide/ecosystem/" %}} + +HoraeDB has an open ecosystem that encourages collaboration and innovation, allowing developers to use what suits them best. +{{% /blocks/feature %}} + +{{% blocks/feature icon="fa-brands fa-github" title="Contributions welcome!" url="docs/contribution-guidelines/" %}} +We do a [Pull Request](https://github.com/apache/horaedb/pulls) contributions workflow on **GitHub**. New users are always welcome! +{{% /blocks/feature %}} + +{{% /blocks/section %}} + +{{% /blocks/cover %}} diff --git a/content/en/blog/2024/release-2.0.0.md b/content/en/blog/2024/release-2.0.0.md new file mode 100644 index 0000000..77ebca3 --- /dev/null +++ b/content/en/blog/2024/release-2.0.0.md @@ -0,0 +1,236 @@ +--- +title: Release 2.0.0 +date: 2024-04-23 +description: This is the first version after enter ASF incubator, thanks everyone for making it happen! +--- + +## Upgrade from 1.x.x to 2.0.0 + +The transition from CeresDB to Apache HoraeDB introduces several breaking changes. To facilitate upgrading from older versions to v2.0.0, specific alterations are necessary. + +#### Upgrade Steps + +1. Setup required envs + +``` +export HORAEDB_DEFAULT_CATALOG=ceresdb +``` + +2. Update config + +Etcd's root should be configured both in horaedb and horaemeta + +For horaedb + +``` +[cluster_deployment.etcd_client] +server_addrs = ['127.0.0.1:2379'] +root_path = "/rootPath" +``` + +For horaemeta + +``` +storage-root-path = "/rootPath" +``` + +3. Upgrade horaemeta + +Horaedb will throw following errors, which is expected + +``` +2024-01-23 14:37:57.726 ERRO [src/cluster/src/cluster_impl.rs:136] Send heartbeat to meta failed, err:Failed to send heartbeat, cluster:defaultCluster, err:status: Unimplemented, message: "unknown service meta_service.MetaRpcService", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc"} } +``` + +4. Upgrade horaedb + +After all server upgraded, the cluster should be ready for read/write, and old data could be queried like before. + +## What's Changed + +### Breaking Changes + +- refactor!: refactor shard version logic by @ZuLiangWang in https://github.com/apache/horaedb/pull/1286 + +### Features + +- feat: support re-acquire shard lock in a fast way by @ShiKaiWi in https://github.com/apache/horaedb/pull/1251 +- feat: support alter partition table by @chunshao90 in https://github.com/apache/horaedb/pull/1244 +- feat: support access etcd with tls by @ShiKaiWi in https://github.com/apache/horaedb/pull/1254 +- feat: support schema validate in remote write by @ShiKaiWi in https://github.com/apache/horaedb/pull/1256 +- feat: avoid flush when drop table by @jiacai2050 in https://github.com/apache/horaedb/pull/1257 +- feat: opentsdb api support gzip body by @tanruixiang in https://github.com/apache/horaedb/pull/1261 +- feat: infer timestamp constraint for single-timestamp column by @Dennis40816 in https://github.com/apache/horaedb/pull/1266 +- feat: primary keys support sample by @jiacai2050 in https://github.com/apache/horaedb/pull/1243 +- feat: cache space total memory by @jiacai2050 in https://github.com/apache/horaedb/pull/1278 +- feat: skip record column values for level0 sst by @jiacai2050 in https://github.com/apache/horaedb/pull/1282 +- feat: support write wal logs in columnar format by @ShiKaiWi in https://github.com/apache/horaedb/pull/1179 +- feat: support stack size of read threads configurable by @ShiKaiWi in https://github.com/apache/horaedb/pull/1305 +- feat: impl DoNothing wal by @jiacai2050 in https://github.com/apache/horaedb/pull/1311 +- feat: slow log include remote query by @jiacai2050 in https://github.com/apache/horaedb/pull/1316 +- feat: use string for request id by @jiacai2050 in https://github.com/apache/horaedb/pull/1349 +- feat: support metrics for number of bytes fetched from object storage by @ShiKaiWi in https://github.com/apache/horaedb/pull/1363 +- feat: avoid building dictionary for massive unique column values by @ShiKaiWi in https://github.com/apache/horaedb/pull/1365 +- feat: utilize the column cardinality for deciding whether to do dict by @ShiKaiWi in https://github.com/apache/horaedb/pull/1372 +- feat: avoid pulling unnecessary columns when querying append mode table by @Rachelint in https://github.com/apache/horaedb/pull/1307 +- feat: dist sql analyze by @baojinri in https://github.com/apache/horaedb/pull/1260 +- feat: impl priority runtime for read by @jiacai2050 in https://github.com/apache/horaedb/pull/1303 +- feat: upgrade horaedbproto by @chunshao90 in https://github.com/apache/horaedb/pull/1408 +- feat: block rules support query by @jiacai2050 in https://github.com/apache/horaedb/pull/1420 +- feat: try load page indexes by @jiacai2050 in https://github.com/apache/horaedb/pull/1425 +- feat: support setting meta_addr&etcd_addrs by env by @chunshao90 in https://github.com/apache/horaedb/pull/1427 +- feat: add table status check by @ZuLiangWang in https://github.com/apache/horaedb/pull/1418 +- feat: support docker-compose and update README by @chunshao90 in https://github.com/apache/horaedb/pull/1429 +- feat: impl layered memtable to reduce duplicated encode during scan by @Rachelint in https://github.com/apache/horaedb/pull/1271 +- feat: update disk cache in another thread to avoid blocking normal query process by @jiacai2050 in https://github.com/apache/horaedb/pull/1431 +- feat: update pgwire to 0.19 by @sunng87 in https://github.com/apache/horaedb/pull/1436 +- feat: filter out MySQL federated components' emitted statements by @chunshao90 in https://github.com/apache/horaedb/pull/1439 +- feat: add system_stats lib to collect system stats by @ShiKaiWi in https://github.com/apache/horaedb/pull/1442 +- feat(horaectl): initial commit by @chunshao90 in https://github.com/apache/horaedb/pull/1450 +- feat: support collect statistics about the engine by @ShiKaiWi in https://github.com/apache/horaedb/pull/1451 +- feat: persist sst meta size by @jiacai2050 in https://github.com/apache/horaedb/pull/1440 +- feat: add sst level config for benchmark by @zealchen in https://github.com/apache/horaedb/pull/1482 +- feat: add exponential backoff when retry by @zealchen in https://github.com/apache/horaedb/pull/1486 + +### Refactor + +- refactor: move wal structs and traits to wal crate by @tisonkun in https://github.com/apache/horaedb/pull/1263 +- refactor: improve error readability by @jiacai2050 in https://github.com/apache/horaedb/pull/1265 +- refactor: move wal crate to under src folder by @tisonkun in https://github.com/apache/horaedb/pull/1270 +- refactor: use `notifier::RequestNotifiers` instead of `dedup_requests::RequestNotifiers` by @baojinri in https://github.com/apache/horaedb/pull/1249 +- refactor: conditionally compile wal impls by @tisonkun in https://github.com/apache/horaedb/pull/1272 +- refactor: remove unused min/max timestamp in the RowGroup by @ShiKaiWi in https://github.com/apache/horaedb/pull/1297 +- refactor: avoid duplicate codes by @ShiKaiWi in https://github.com/apache/horaedb/pull/1371 +- refactor: avoid returning metrics in non-analyze sql by @baojinri in https://github.com/apache/horaedb/pull/1410 +- refactor: move sub crates to the src directory by @chunshao90 in https://github.com/apache/horaedb/pull/1443 +- refactor: adjust cpu's stats by @ShiKaiWi in https://github.com/apache/horaedb/pull/1457 +- refactor: refactor compaction process for remote compaction by @Rachelint in https://github.com/apache/horaedb/pull/1476 + +### Fixed + +- fix: dist query dedup by @Rachelint in https://github.com/apache/horaedb/pull/1269 +- fix: log third party crates by @jiacai2050 in https://github.com/apache/horaedb/pull/1289 +- fix: ensure primary key order by @jiacai2050 in https://github.com/apache/horaedb/pull/1292 +- fix: use flag in preflush to indicate whether reorder is required by @jiacai2050 in https://github.com/apache/horaedb/pull/1298 +- fix: alter partition table tag column by @chunshao90 in https://github.com/apache/horaedb/pull/1304 +- fix: increase wait duration for flush by @jiacai2050 in https://github.com/apache/horaedb/pull/1315 +- fix: add license to workspace members by @jiacai2050 in https://github.com/apache/horaedb/pull/1317 +- fix: ensure channel size non zero by @jiacai2050 in https://github.com/apache/horaedb/pull/1345 +- fix: fix create table result by @ZuLiangWang in https://github.com/apache/horaedb/pull/1354 +- Revert "fix: fix create table result" by @ZuLiangWang in https://github.com/apache/horaedb/pull/1355 +- fix: fix test create table result by @ZuLiangWang in https://github.com/apache/horaedb/pull/1357 +- fix: no write stall by @ShiKaiWi in https://github.com/apache/horaedb/pull/1388 +- fix: collect metrics for `get_ranges` by @ShiKaiWi in https://github.com/apache/horaedb/pull/1364 +- fix: ignore collecting fetched bytes stats when sst file is read only once by @ShiKaiWi in https://github.com/apache/horaedb/pull/1369 +- fix: publich nightly image by @chunshao90 in https://github.com/apache/horaedb/pull/1396 +- fix: missing and verbose logs by @ShiKaiWi in https://github.com/apache/horaedb/pull/1398 +- fix: fix broken link by @caicancai in https://github.com/apache/horaedb/pull/1399 +- fix: the broken link about the issue status by @ShiKaiWi in https://github.com/apache/horaedb/pull/1402 +- fix: skip wal encoding when data wal is disabled by @jiacai2050 in https://github.com/apache/horaedb/pull/1401 +- fix: disable percentile for distributed tables by @jiacai2050 in https://github.com/apache/horaedb/pull/1406 +- fix: compatible for old table options by @Rachelint in https://github.com/apache/horaedb/pull/1432 +- fix: get_ranges is not spawned in io-runtime by @ShiKaiWi in https://github.com/apache/horaedb/pull/1426 +- fix: table name is normalized when find timestamp column by @jiacai2050 in https://github.com/apache/horaedb/pull/1446 +- fix: changes required for migrate dev to main by @jiacai2050 in https://github.com/apache/horaedb/pull/1455 +- fix: missing filter index over the primary keys by @ShiKaiWi in https://github.com/apache/horaedb/pull/1456 +- fix: random failure of test_collect_system_stats by @ShiKaiWi in https://github.com/apache/horaedb/pull/1459 +- fix(ci): refactor ci trigger conditions by @jiacai2050 in https://github.com/apache/horaedb/pull/1474 + +### Docs + +- chore(docs): rename CeresDB to HoraeDB by @caicancai in https://github.com/apache/horaedb/pull/1337 +- chore/docs: remove broken link by @caicancai in https://github.com/apache/horaedb/pull/1341 +- docs: update CONTRIBUTING.md by @suyanhanx in https://github.com/apache/horaedb/pull/1382 +- doc: fix broken link by @caicancai in https://github.com/apache/horaedb/pull/1358 +- chore/doc: rename ceresdb to horaedb by @caicancai in https://github.com/apache/horaedb/pull/1332 +- doc: add MySQL-Client in README by @jackwener in https://github.com/apache/horaedb/pull/1331 +- doc: fix link in illegal markdown format by @jackwener in https://github.com/apache/horaedb/pull/1334 +- style: normalize comments/doc in rustfmt by @jackwener in https://github.com/apache/horaedb/pull/1335 +- docs: add sudo for install commands by @caicancai in https://github.com/apache/horaedb/pull/1347 +- docs: sync GH activities to commits only by @tisonkun in https://github.com/apache/horaedb/pull/1385 +- chore(docs): fix invalid repo links by @SYaoJun in https://github.com/apache/horaedb/pull/1452 +- chore(docs): fix invalid repo links by @Apricity001 in https://github.com/apache/horaedb/pull/1472 + +### Chore + +- chore(deps): bump golang.org/x/net from 0.5.0 to 0.17.0 in /integration_tests/sdk/go by @dependabot in https://github.com/apache/horaedb/pull/1258 +- chore: delete the configuration related to github cache by @tanruixiang in https://github.com/apache/horaedb/pull/1259 +- chore: remove backtrace of blocked table by @chunshao90 in https://github.com/apache/horaedb/pull/1267 +- ci: setup golang in CI by @tisonkun in https://github.com/apache/horaedb/pull/1275 +- chore: remove default features in analytic_engine by @jiacai2050 in https://github.com/apache/horaedb/pull/1277 +- chore(deps): bump google.golang.org/grpc from 1.53.0 to 1.56.3 in /integration_tests/sdk/go by @dependabot in https://github.com/apache/horaedb/pull/1280 +- test: simplify ceresmeta-server installation by @tisonkun in https://github.com/apache/horaedb/pull/1287 +- chore: enable blank issue by @ShiKaiWi in https://github.com/apache/horaedb/pull/1290 +- chore: add metrics to inspect write path by @Rachelint in https://github.com/apache/horaedb/pull/1264 +- chore: refactor build_meta.sh in integration-test by @chunshao90 in https://github.com/apache/horaedb/pull/1306 +- chore: rename ceresdb to horaedb by @chunshao90 in https://github.com/apache/horaedb/pull/1310 +- edit: add schema id, schema name, catalog name in TableData by @dust1 in https://github.com/apache/horaedb/pull/1294 +- chore: ignore seq check for DoNothing wal by @jiacai2050 in https://github.com/apache/horaedb/pull/1314 +- chore: remove community by @jiacai2050 in https://github.com/apache/horaedb/pull/1318 +- chore: try to clear ceresdb stuff by @tisonkun in https://github.com/apache/horaedb/pull/1320 +- chore: change copyright owner by @tisonkun in https://github.com/apache/horaedb/pull/1321 +- ci: stop release docker image before we finish the rename and transfer by @tisonkun in https://github.com/apache/horaedb/pull/1323 +- chore: bump deps by @jiacai2050 in https://github.com/apache/horaedb/pull/1325 +- chore: rename ceresmeta to horaemeta by @chunshao90 in https://github.com/apache/horaedb/pull/1327 +- chore: rename binary to horaedb-server and more by @tisonkun in https://github.com/apache/horaedb/pull/1330 +- chore(license): rename `license-header.txt`'s CeresDB to HoraeDB by @caicancai in https://github.com/apache/horaedb/pull/1336 +- chore: replace ceresdb with horaedb by @jackwener in https://github.com/apache/horaedb/pull/1338 +- chore: more rename to horaedb by @tisonkun in https://github.com/apache/horaedb/pull/1340 +- chore: update create table integration test result by @ZuLiangWang in https://github.com/apache/horaedb/pull/1344 +- chore: disable frequently failed tests by @jiacai2050 in https://github.com/apache/horaedb/pull/1352 +- test: add integration test for alter table options by @caicancai in https://github.com/apache/horaedb/pull/1346 +- chore: ignore flush failure when flush by @ShiKaiWi in https://github.com/apache/horaedb/pull/1362 +- chore: disable timeout for http api by @jiacai2050 in https://github.com/apache/horaedb/pull/1367 +- chore: disable block for http api by @jiacai2050 in https://github.com/apache/horaedb/pull/1368 +- config: add .asf.yaml by @chunshao90 in https://github.com/apache/horaedb/pull/1377 +- ci: remove missing Required status by @tisonkun in https://github.com/apache/horaedb/pull/1383 +- chore: git repo link type fix by @fengmk2 in https://github.com/apache/horaedb/pull/1378 +- chore: apply ASF license header by @tanruixiang in https://github.com/apache/horaedb/pull/1384 +- chore: add dev mail list and rename ceresdb to horaedb by @tanruixiang in https://github.com/apache/horaedb/pull/1375 +- chore: more rename to horaedb by @chunshao90 in https://github.com/apache/horaedb/pull/1387 +- chore: add push-nightly-image in workflow by @chunshao90 in https://github.com/apache/horaedb/pull/1389 +- chore: update README by @chunshao90 in https://github.com/apache/horaedb/pull/1390 +- chore: refactor for better readability by @jiacai2050 in https://github.com/apache/horaedb/pull/1400 +- chore: add error log for remote server by @jiacai2050 in https://github.com/apache/horaedb/pull/1407 +- chore: update website url by @chunshao90 in https://github.com/apache/horaedb/pull/1404 +- chore: upload horaedb logo by @chunshao90 in https://github.com/apache/horaedb/pull/1409 +- chore: add slack link by @tanruixiang in https://github.com/apache/horaedb/pull/1395 +- chore: update logo by @chunshao90 in https://github.com/apache/horaedb/pull/1414 +- chore: update horaedb logo by @chunshao90 in https://github.com/apache/horaedb/pull/1415 +- chore: rename ceresformat to logformat by @ZuLiangWang in https://github.com/apache/horaedb/pull/1417 +- chore: fix logo link in readme by @chunshao90 in https://github.com/apache/horaedb/pull/1416 +- chore: update github pages by @chunshao90 in https://github.com/apache/horaedb/pull/1421 +- chore: more rename to horaedb by @chunshao90 in https://github.com/apache/horaedb/pull/1419 +- chore: fix error message by @jiacai2050 in https://github.com/apache/horaedb/pull/1412 +- chore: remove github pages in asf.yaml by @chunshao90 in https://github.com/apache/horaedb/pull/1428 +- chore: skip wal seq check when wal is disabled by @jiacai2050 in https://github.com/apache/horaedb/pull/1430 +- chore: enable merge on github by @ShiKaiWi in https://github.com/apache/horaedb/pull/1435 +- chore: merge change sets on the dev branch by @ShiKaiWi in https://github.com/apache/horaedb/pull/1423 +- chore: fix issue status of README-CN.md by @ShiKaiWi in https://github.com/apache/horaedb/pull/1437 +- chore(deps): bump h2 from 0.3.17 to 0.3.24 by @dependabot in https://github.com/apache/horaedb/pull/1448 +- chore(deps): bump shlex from 1.1.0 to 1.3.0 by @dependabot in https://github.com/apache/horaedb/pull/1458 +- chore: update create tables result by @ZuLiangWang in https://github.com/apache/horaedb/pull/1454 +- chore: merge HoraeMeta code into HoreaDB repository by @ZuLiangWang in https://github.com/apache/horaedb/pull/1460 +- chore(deps): bump google.golang.org/grpc from 1.47.0 to 1.56.3 in /horaemeta by @dependabot in https://github.com/apache/horaedb/pull/1464 +- chore(deps): bump golang.org/x/net from 0.16.0 to 0.17.0 in /horaemeta by @dependabot in https://github.com/apache/horaedb/pull/1465 +- chore(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /horaemeta by @dependabot in https://github.com/apache/horaedb/pull/1462 +- chore: rename ci's prefix name by @tanruixiang in https://github.com/apache/horaedb/pull/1467 +- chore: fix github issue template by @ZuLiangWang in https://github.com/apache/horaedb/pull/1470 +- chore(horaemeta&horaectl): refactor clusters/diagnose response body by @chunshao90 in https://github.com/apache/horaedb/pull/1475 +- chore: free disk for ci by @jiacai2050 in https://github.com/apache/horaedb/pull/1484 +- deps: bump datafusion by @tanruixiang in https://github.com/apache/horaedb/pull/1445 +- horaectl: remove go implementation of horaectl by @chunshao90 in https://github.com/apache/horaedb/pull/1490 +- chore: update version to 2.0.0, prepare for releasing v2.0.0 by @chunshao90 in https://github.com/apache/horaedb/pull/1487 + +## New Contributors + +- @Dennis40816 made their first contribution in https://github.com/apache/horaedb/pull/1266 +- @caicancai made their first contribution in https://github.com/apache/horaedb/pull/1332 +- @jackwener made their first contribution in https://github.com/apache/horaedb/pull/1331 +- @suyanhanx made their first contribution in https://github.com/apache/horaedb/pull/1382 +- @fengmk2 made their first contribution in https://github.com/apache/horaedb/pull/1378 +- @sunng87 made their first contribution in https://github.com/apache/horaedb/pull/1436 +- @SYaoJun made their first contribution in https://github.com/apache/horaedb/pull/1452 +- @Apricity001 made their first contribution in https://github.com/apache/horaedb/pull/1472 + +**Full Changelog**: https://github.com/apache/horaedb/compare/v1.2.7...v2.0.0 diff --git a/content/en/blog/_index.md b/content/en/blog/_index.md new file mode 100644 index 0000000..3ede9ac --- /dev/null +++ b/content/en/blog/_index.md @@ -0,0 +1,9 @@ +--- +title: "Blog" +weight: 1 +simple_list: true +menu: + main: + weight: 30 + pre: <i class='fa-brands fa-blogger'></i> +--- diff --git a/content/en/community/_index.md b/content/en/community/_index.md new file mode 100644 index 0000000..fa01d87 --- /dev/null +++ b/content/en/community/_index.md @@ -0,0 +1,7 @@ +--- +title: "Community" +weight: 1 +menu: + main: + weight: 40 +--- diff --git a/docs/src/en/about.md b/content/en/docs/_index.md similarity index 55% rename from docs/src/en/about.md rename to content/en/docs/_index.md index 7e87d17..ac9ac72 100644 --- a/docs/src/en/about.md +++ b/content/en/docs/_index.md @@ -1,8 +1,17 @@ - +--- +title: "Docs" +weight: 1 +menu: + main: + weight: 20 + pre: <i class='fa-solid fa-book'></i> +--- + +  -[](https://github.com/apache/incubator-horaedb/actions/workflows/ci.yml) -[](https://github.com/apache/incubator-horaedb/issues) +[](https://github.com/apache/horaedb/actions/workflows/ci.yml) +[](https://github.com/apache/horaedb/issues) Apache HoraeDB™ (incubating) is a high-performance, distributed, cloud native time-series database. @@ -11,10 +20,3 @@ Apache HoraeDB™ (incubating) is a high-performance, distributed, cloud native In the classic timeseries database, the `Tag` columns (InfluxDB calls them `Tag` and Prometheus calls them `Label`) are normally indexed by generating an inverted index. However, it is found that the cardinality of `Tag` varies in different scenarios. And in some scenarios the cardinality of `Tag` is very high, and it takes a very high cost to store and retrieve the inverted index. On the other hand, it is observed that scanning+pruning often used by the analytical databases can do a goo [...] The basic design idea of HoraeDB is to adopt a hybrid storage format and the corresponding query method for a better performance in processing both timeseries and analytic workloads. - -# How does HoraeDB work? - -- See [Quick Start](quick_start.md) to learn about how to get started -- For data model of HoraeDB, see [Data Model](sql/model/README.md) -- For the supported SQL data types, operators, and commands, please navigate to [SQL reference](sql/README.md) -- For the supported SDKs, please navigate to [SDK](sdk/README.md) diff --git a/content/en/docs/contribution-guidelines.md b/content/en/docs/contribution-guidelines.md new file mode 100644 index 0000000..36aafbf --- /dev/null +++ b/content/en/docs/contribution-guidelines.md @@ -0,0 +1,104 @@ +--- +title: "Contribution Guidelines" +weight: 30 +--- + +Thank you for thinking of contributing! We very much welcome contributions from the community. +To make the process easier and more valuable for everyone involved we have a few rules and guidelines to follow. + +## Submitting Issues and Feature Requests + +Before you file an [issue](https://github.com/apache/horaedb/issues/new), please search existing issues in case the same or similar issues have already been filed. +If you find an existing open ticket covering your issue then please avoid adding "👍" or "me too" comments; GitHub notifications can cause a lot of noise for the project maintainers who triage the back-log. +However, if you have a new piece of information for an existing ticket, and you think it may help the investigation or resolution, then please do add it as a comment! +You can signal to the team that you're experiencing an existing issue with one of GitHub's emoji reactions (these are a good way to add "weight" to an issue from a prioritisation perspective). + +### Submitting an Issue + +The [New Issue](https://github.com/apache/horaedb/issues/new) page has templates for both bug reports and feature requests. +Please fill one of them out! +The issue templates provide details on what information we will find useful to help us fix an issue. +In short though, the more information you can provide us about your environment and what behaviour you're seeing, the easier we can fix the issue. +If you can push a PR with test cases that trigger a defect or bug, even better! + +As well as bug reports we also welcome feature requests (there is a dedicated issue template for these). +Typically, the maintainers will periodically review community feature requests and make decisions about if we want to add them. +For features, we don't plan to support we will close the feature request ticket (so, again, please check closed tickets for feature requests before submitting them). + +## Contributing Changes + +HoraeDB is written mostly in idiomatic Rust—please see the [Style Guide]({{< ref "style_guide.md" >}}) for more details. +All code must adhere to the `rustfmt` format, and pass all of the `clippy` checks we run in CI (there are more details further down this README). + +### Making a PR + +To open a PR you will need to have a GitHub account. +Fork the `horaedb` repo and work on a branch on your fork. +When you have completed your changes, or you want some incremental feedback make a Pull Request to HoraeDB [here](https://github.com/apache/horaedb/compare). + +If you want to discuss some work in progress then please prefix `[WIP]` to the +PR title. + +For PRs that you consider ready for review, verify the following locally before you submit it: + +- you have a coherent set of logical commits, with messages conforming to the [Conventional Commits]({{< ref "conventional_commit.md" >}}) specification; +- all the tests and/or benchmarks pass, including documentation tests; +- the code is correctly formatted and all `clippy` checks pass; and +- you haven't left any "code cruft" (commented out code blocks etc). + +There are some tips on verifying the above in the [next section](#running-tests). + +**After** submitting a PR, you should: + +- verify that all CI status checks pass and the PR is 💚; +- ask for help on the PR if any of the status checks are 🔴, and you don't know why; +- wait patiently for one of the team to review your PR, which could take a few days. + +## Running Tests + +The `cargo` build tool runs tests as well. Run: + +```shell +cargo test --workspace +``` + +### Enabling logging in tests + +To enable logging to stderr during a run of `cargo test` set the Rust +`RUST_LOG` environment variable. For example, to see all INFO messages: + +```shell +RUST_LOG=info cargo test --workspace +``` + +### Integration tests + +We have integration test suits in the SQL level so any change that may have influence on the user-facing query execution should be covered by the integration test. Refer to [this document](./integration_tests/README.md) for more information. + +## Running `rustfmt` and `clippy` + +CI will check the code formatting with [`rustfmt`](https://github.com/rust-lang/rustfmt) and Rust best practices with [`clippy`](https://github.com/rust-lang/rust-clippy). + +To automatically format your code according to `rustfmt` style, first make sure `rustfmt` is installed using `rustup`: + +```shell +rustup component add rustfmt +``` + +Then, whenever you make a change and want to reformat, run: + +```shell +cargo fmt --all +``` + +Similarly, with `clippy`, install with: + +```shell +rustup component add clippy +``` + +And run with: + +```shell +cargo clippy --all-targets --workspace -- -D warnings +``` diff --git a/content/en/docs/design/_index.md b/content/en/docs/design/_index.md new file mode 100644 index 0000000..031188d --- /dev/null +++ b/content/en/docs/design/_index.md @@ -0,0 +1,4 @@ +--- +title: "Technical and Design" +weight: 40 +--- diff --git a/docs/src/en/design/architecture.md b/content/en/docs/design/architecture.md similarity index 99% rename from docs/src/en/design/architecture.md rename to content/en/docs/design/architecture.md index eb5cd7e..8cfb92f 100644 --- a/docs/src/en/design/architecture.md +++ b/content/en/docs/design/architecture.md @@ -1,4 +1,6 @@ -# Introduction to HoraeDB's Architecture +--- +title: "Introduction to HoraeDB's Architecture" +--- ## Target diff --git a/docs/src/en/design/clustering.md b/content/en/docs/design/clustering.md similarity index 99% rename from docs/src/en/design/clustering.md rename to content/en/docs/design/clustering.md index 47a6b80..5d78754 100644 --- a/docs/src/en/design/clustering.md +++ b/content/en/docs/design/clustering.md @@ -1,6 +1,7 @@ -Note: Some of the features mentioned in the article have not yet been implemented. +--- -# Introduction to Architecture of HoraeDB Cluster +title: "Introduction to Architecture of HoraeDB Cluster" +---Note: Some of the features mentioned in the article have not yet been implemented. ## Overview diff --git a/docs/src/en/design/storage.md b/content/en/docs/design/storage.md similarity index 98% rename from docs/src/en/design/storage.md rename to content/en/docs/design/storage.md index 2829412..dfd1186 100644 --- a/docs/src/en/design/storage.md +++ b/content/en/docs/design/storage.md @@ -1,4 +1,6 @@ -# Storage +--- +title: "Storage" +--- The storage engine mainly provides the following two functions: @@ -13,7 +15,7 @@ HoraeDB is a distributed storage system based on the share-nothing architecture. Data between different servers is isolated from each other and does not affect each other. The storage engine in each stand-alone machine is a variant of [log-structured merge-tree](https://en.wikipedia.org/wiki/Log-structured_merge-tree), which is optimized for time-series scenarios. The following figure shows its core components: - + ## Write Ahead Log (WAL) diff --git a/docs/src/en/design/table_partitioning.md b/content/en/docs/design/table_partitioning.md similarity index 98% rename from docs/src/en/design/table_partitioning.md rename to content/en/docs/design/table_partitioning.md index 2f34e12..f115e0a 100644 --- a/docs/src/en/design/table_partitioning.md +++ b/content/en/docs/design/table_partitioning.md @@ -1,6 +1,7 @@ -**Note: This feature is still in development, and the API may change in the future.** +--- -# Table Partitioning +title: "Table Partitioning" +---**Note: This feature is still in development, and the API may change in the future.** This chapter discusses `PartitionTable`. diff --git a/docs/src/en/design/wal.md b/content/en/docs/design/wal.md similarity index 85% rename from docs/src/en/design/wal.md rename to content/en/docs/design/wal.md index 3df2846..078e5c0 100644 --- a/docs/src/en/design/wal.md +++ b/content/en/docs/design/wal.md @@ -1,4 +1,6 @@ -# Wal +--- +title: "Wal" +--- - [WAL on RocksDB](wal_on_rocksdb.md) - [WAL on Kafka](wal_on_kafka.md) diff --git a/docs/src/en/design/wal_on_kafka.md b/content/en/docs/design/wal_on_kafka.md similarity index 99% rename from docs/src/en/design/wal_on_kafka.md rename to content/en/docs/design/wal_on_kafka.md index 47a405e..bd373ed 100644 --- a/docs/src/en/design/wal_on_kafka.md +++ b/content/en/docs/design/wal_on_kafka.md @@ -1,4 +1,6 @@ -# WAL on Kafka +--- +title: "WAL on Kafka" +--- ## Architecture diff --git a/docs/src/en/design/wal_on_rocksdb.md b/content/en/docs/design/wal_on_rocksdb.md similarity index 99% rename from docs/src/en/design/wal_on_rocksdb.md rename to content/en/docs/design/wal_on_rocksdb.md index 92e8bf6..977b3da 100644 --- a/docs/src/en/design/wal_on_rocksdb.md +++ b/content/en/docs/design/wal_on_rocksdb.md @@ -1,4 +1,6 @@ -# WAL on RocksDB +--- +title: "WAL on RocksDB" +--- ## Architecture diff --git a/content/en/docs/dev/_index.md b/content/en/docs/dev/_index.md new file mode 100644 index 0000000..a0708f0 --- /dev/null +++ b/content/en/docs/dev/_index.md @@ -0,0 +1,4 @@ +--- +title: "Development" +weight: 20 +--- diff --git a/docs/src/en/dev/compile_run.md b/content/en/docs/dev/compile_run.md similarity index 98% rename from docs/src/en/dev/compile_run.md rename to content/en/docs/dev/compile_run.md index c4a90a8..21b31a3 100644 --- a/docs/src/en/dev/compile_run.md +++ b/content/en/docs/dev/compile_run.md @@ -1,3 +1,8 @@ +--- +title: "Compile" +weight: 30 +--- + In order to compile HoraeDB, some relevant dependencies(including the `Rust` toolchain) should be installed. # Dependencies(Ubuntu20.04) diff --git a/docs/src/en/dev/conventional_commit.md b/content/en/docs/dev/conventional_commit.md similarity index 97% rename from docs/src/en/dev/conventional_commit.md rename to content/en/docs/dev/conventional_commit.md index 295a288..b8f780c 100644 --- a/docs/src/en/dev/conventional_commit.md +++ b/content/en/docs/dev/conventional_commit.md @@ -1,4 +1,7 @@ -# Conventional Commit Guide +--- +title: "Conventional Commit Guide" +weight: 20 +--- This document describes how we use [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) in our development. diff --git a/docs/src/en/cluster_deployment/platform.md b/content/en/docs/dev/platform.md similarity index 63% rename from docs/src/en/cluster_deployment/platform.md rename to content/en/docs/dev/platform.md index 0d6af92..30d1b79 100644 --- a/docs/src/en/cluster_deployment/platform.md +++ b/content/en/docs/dev/platform.md @@ -1,4 +1,9 @@ -As an open source cloud-native, HoraeDB can be deployed in the Intel/ARM-based architecture server, and major virtualization environments. +--- +title: "Supported Platform" +weight: 10 +--- + +作为一个开源的数据库,HoraeDB 可以部署在基于英特尔 /ARM 架构的服务器,以及常见的虚拟环境。 | OS | status | | :------------------------------------------------: | :----: | @@ -8,5 +13,5 @@ As an open source cloud-native, HoraeDB can be deployed in the Intel/ARM-based a | macOS 11 or later | ✅ | | Windows | ❌ | -- For production workloads, Linux is the preferred platform. -- macOS is mainly used for development +- 生产环境下 , Linux 是首选平台。 +- macOS 主要用在开发环境。 diff --git a/docs/src/en/dev/profiling.md b/content/en/docs/dev/profiling.md similarity index 96% rename from docs/src/en/dev/profiling.md rename to content/en/docs/dev/profiling.md index 20d666a..d4d24ca 100644 --- a/docs/src/en/dev/profiling.md +++ b/content/en/docs/dev/profiling.md @@ -1,4 +1,6 @@ -## Profiling +--- +title: "Profiling" +--- ### CPU profiling diff --git a/docs/src/en/dev/roadmap.md b/content/en/docs/dev/roadmap.md similarity index 98% rename from docs/src/en/dev/roadmap.md rename to content/en/docs/dev/roadmap.md index 48c830b..4f3ebbc 100644 --- a/docs/src/en/dev/roadmap.md +++ b/content/en/docs/dev/roadmap.md @@ -1,4 +1,6 @@ -## RoadMap +--- +title: "RoadMap" +--- ### v0.1.0 diff --git a/docs/src/en/dev/sdk_develop.md b/content/en/docs/dev/sdk_develop.md similarity index 95% rename from docs/src/en/dev/sdk_develop.md rename to content/en/docs/dev/sdk_develop.md index 8d851e4..3554b92 100644 --- a/docs/src/en/dev/sdk_develop.md +++ b/content/en/docs/dev/sdk_develop.md @@ -1,3 +1,7 @@ +--- +title: "SDK Development" +--- + # Rust ```bash diff --git a/docs/src/en/dev/style_guide.md b/content/en/docs/dev/style_guide.md similarity index 99% rename from docs/src/en/dev/style_guide.md rename to content/en/docs/dev/style_guide.md index aeb1b79..2bd75f0 100644 --- a/docs/src/en/dev/style_guide.md +++ b/content/en/docs/dev/style_guide.md @@ -1,4 +1,6 @@ -# Rationale and Goals +--- +title: "Rationale and Goals" +--- As every Rust programmer knows, the language has many powerful features, and there are often several patterns which can express the same idea. Also, as every professional programmer comes to diff --git a/docs/src/en/quick_start.md b/content/en/docs/getting-started.md similarity index 98% rename from docs/src/en/quick_start.md rename to content/en/docs/getting-started.md index 7b6f99d..f654f37 100644 --- a/docs/src/en/quick_start.md +++ b/content/en/docs/getting-started.md @@ -1,4 +1,7 @@ -# Quick Start +--- +title: "Getting Started" +weight: 1 +--- This page shows you how to get started with HoraeDB quickly. You'll start a standalone HoraeDB server, and then insert and read some sample data using SQL. diff --git a/content/en/docs/user-guide/_index.md b/content/en/docs/user-guide/_index.md new file mode 100644 index 0000000..fd4787a --- /dev/null +++ b/content/en/docs/user-guide/_index.md @@ -0,0 +1,4 @@ +--- +title: "User Guide" +weight: 10 +--- diff --git a/docs/src/en/cluster_deployment/README.md b/content/en/docs/user-guide/cluster_deployment/_index.md similarity index 81% rename from docs/src/en/cluster_deployment/README.md rename to content/en/docs/user-guide/cluster_deployment/_index.md index 41fdc66..1f7e9c4 100644 --- a/docs/src/en/cluster_deployment/README.md +++ b/content/en/docs/user-guide/cluster_deployment/_index.md @@ -1,10 +1,10 @@ -# Cluster Deployment +--- +title: "Cluster Deployment" +weight: 20 +--- In the [Quick Start](../quick_start.md) section, we have introduced the deployment of single HoraeDB instance. Besides, as a distributed timeseries database, multiple HoraeDB instances can be deployed as a cluster to serve with high availability and scalability. Currently, work about the integration with kubernetes is still in process, so HoraeDB cluster can only be deployed manually. And there are two modes of cluster deployment: - -- [NoMeta Mode(Only for testing)](no_meta.md) -- [WithMeta Mode](with_meta.md) diff --git a/docs/src/en/cluster_deployment/no_meta.md b/content/en/docs/user-guide/cluster_deployment/no_meta.md similarity index 99% rename from docs/src/en/cluster_deployment/no_meta.md rename to content/en/docs/user-guide/cluster_deployment/no_meta.md index 04db40d..ef7aaab 100644 --- a/docs/src/en/cluster_deployment/no_meta.md +++ b/content/en/docs/user-guide/cluster_deployment/no_meta.md @@ -1,6 +1,9 @@ -**Note: This feature is for testing use only, not recommended for production use, related features may change in the future.** +--- +title: "NoMeta" +weight: 10 +--- -# NoMeta +**Note: This feature is for testing use only, not recommended for production use, related features may change in the future.** This guide shows how to deploy a HoraeDB cluster without HoraeMeta, but with static, rule-based routing. diff --git a/docs/src/en/cluster_deployment/with_meta.md b/content/en/docs/user-guide/cluster_deployment/with_meta.md similarity index 96% rename from docs/src/en/cluster_deployment/with_meta.md rename to content/en/docs/user-guide/cluster_deployment/with_meta.md index 45daa43..58bf720 100644 --- a/docs/src/en/cluster_deployment/with_meta.md +++ b/content/en/docs/user-guide/cluster_deployment/with_meta.md @@ -1,4 +1,7 @@ -# WithMeta +--- +title: "WithMeta" +weight: 20 +--- This guide shows how to deploy a HoraeDB cluster with HoraeMeta. And with the HoraeMeta, the whole HoraeDB cluster will feature: high availability, load balancing and horizontal scalability if the underlying storage used by HoraeDB is separated service. @@ -42,19 +45,19 @@ docker run -d --name horaemeta-server \ - Cluster ```bash -wget https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster0.toml +wget https://horaedb.apache.org/config-horaemeta-cluster0.toml docker run -d --network=host --name horaemeta-server0 \ -v $(pwd)/config-horaemeta-cluster0.toml:/etc/horaemeta/horaemeta.toml \ ghcr.io/apache/horaemeta-server:nightly-20231225-ab067bf0 -wget https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster1.toml +wget https://horaedb.apache.org/config-horaemeta-cluster1.toml docker run -d --network=host --name horaemeta-server1 \ -v $(pwd)/config-horaemeta-cluster1.toml:/etc/horaemeta/horaemeta.toml \ ghcr.io/apache/horaemeta-server:nightly-20231225-ab067bf0 -wget https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster2.toml +wget https://horaedb.apache.org/config-horaemeta-cluster2.toml docker run -d --network=host --name horaemeta-server2 \ -v $(pwd)/config-horaemeta-cluster2.toml:/etc/horaemeta/horaemeta.toml \ diff --git a/content/en/docs/user-guide/ecosystem/_index.md b/content/en/docs/user-guide/ecosystem/_index.md new file mode 100644 index 0000000..cf1cbed --- /dev/null +++ b/content/en/docs/user-guide/ecosystem/_index.md @@ -0,0 +1,6 @@ +--- +title: "Ecosystem" +weight: 50 +--- + +HoraeDB has an open ecosystem that encourages collaboration and innovation, allowing developers to use what suits them best. diff --git a/docs/src/en/ecosystem/influxdb.md b/content/en/docs/user-guide/ecosystem/influxdb.md similarity index 99% rename from docs/src/en/ecosystem/influxdb.md rename to content/en/docs/user-guide/ecosystem/influxdb.md index 0df3173..7d272ad 100644 --- a/docs/src/en/ecosystem/influxdb.md +++ b/content/en/docs/user-guide/ecosystem/influxdb.md @@ -1,4 +1,6 @@ -# InfluxDB +--- +title: "InfluxDB" +--- [InfluxDB](https://www.influxdata.com/products/influxdb-overview/) is a time series database designed to handle high write and query loads. It is an integral component of the TICK stack. InfluxDB is meant to be used as a backing store for any use case involving large amounts of timestamped data, including DevOps monitoring, application metrics, IoT sensor data, and real-time analytics. diff --git a/docs/src/en/ecosystem/opentsdb.md b/content/en/docs/user-guide/ecosystem/opentsdb.md similarity index 98% rename from docs/src/en/ecosystem/opentsdb.md rename to content/en/docs/user-guide/ecosystem/opentsdb.md index b1d846b..b697158 100644 --- a/docs/src/en/ecosystem/opentsdb.md +++ b/content/en/docs/user-guide/ecosystem/opentsdb.md @@ -1,4 +1,6 @@ -# OpenTSDB +--- +title: "OpenTSDB" +--- [OpenTSDB](http://opentsdb.net/) is a distributed and scalable time series database based on HBase. diff --git a/docs/src/en/ecosystem/prometheus.md b/content/en/docs/user-guide/ecosystem/prometheus.md similarity index 98% rename from docs/src/en/ecosystem/prometheus.md rename to content/en/docs/user-guide/ecosystem/prometheus.md index 2f8b6b6..6afe9c5 100644 --- a/docs/src/en/ecosystem/prometheus.md +++ b/content/en/docs/user-guide/ecosystem/prometheus.md @@ -1,4 +1,6 @@ -# Prometheus +--- +title: "Prometheus" +--- [Prometheus](https://prometheus.io/) is a popular cloud-native monitoring tool that is widely adopted by organizations due to its scalability, reliability, and scalability. It is used to scrape metrics from cloud-native services, such as Kubernetes and OpenShift, and stores it in a time-series database. Prometheus is also easily extensible, allowing users to extend its features and capabilities with other databases. diff --git a/docs/src/en/operation/README.md b/content/en/docs/user-guide/operation/_index.md similarity index 50% rename from docs/src/en/operation/README.md rename to content/en/docs/user-guide/operation/_index.md index 99f7338..fa92f4e 100644 --- a/docs/src/en/operation/README.md +++ b/content/en/docs/user-guide/operation/_index.md @@ -1,9 +1,6 @@ -# Operation and Maintenance +--- +title: "Operation and Maintenance" +weight: 40 +--- This guide introduces the operation and maintenance of HoraeDB, including cluster installation, database&table operations, fault tolerance, disaster recovery, data import and export, etc. - -- [Table](./table.md) -- [System Table](./system_table.md) -- [Block List](./block_list.md) -- [Observability](./observability.md) -- [Cluster](./cluster.md) diff --git a/docs/src/en/operation/block_list.md b/content/en/docs/user-guide/operation/block_list.md similarity index 97% rename from docs/src/en/operation/block_list.md rename to content/en/docs/user-guide/operation/block_list.md index 71ae32d..ce99cdb 100644 --- a/docs/src/en/operation/block_list.md +++ b/content/en/docs/user-guide/operation/block_list.md @@ -1,4 +1,6 @@ -# Block List +--- +title: "Block List" +--- ## Add block list diff --git a/docs/src/en/operation/horaemeta.md b/content/en/docs/user-guide/operation/horaemeta.md similarity index 99% rename from docs/src/en/operation/horaemeta.md rename to content/en/docs/user-guide/operation/horaemeta.md index 9dccafc..e5c071e 100644 --- a/docs/src/en/operation/horaemeta.md +++ b/content/en/docs/user-guide/operation/horaemeta.md @@ -1,4 +1,6 @@ -# Cluster Operation +--- +title: "Cluster Operation" +--- The Operations for HoraeDB cluster mode, it can only be used when HoraeMeta is deployed. diff --git a/docs/src/en/operation/observability.md b/content/en/docs/user-guide/operation/observability.md similarity index 89% rename from docs/src/en/operation/observability.md rename to content/en/docs/user-guide/operation/observability.md index 669fe42..539cdcd 100644 --- a/docs/src/en/operation/observability.md +++ b/content/en/docs/user-guide/operation/observability.md @@ -1,4 +1,6 @@ -# Observability +--- +title: "Observability" +--- HoraeDB is observable with Prometheus and Grafana. @@ -65,21 +67,21 @@ For more detailed installation methods, refer to [here](https://grafana.com/docs Note: The url of Prometheus is `http://your_ip:9090`. -<img src="../../resources/images/grafana-datasource.png" height="400" width="200"/> +<img src="/images/grafana-datasource.png" height="400" width="200"/> See more details [here](https://grafana.com/docs/grafana/latest/datasources/prometheus/). ### Import grafana dashboard -<a href="../../resources/grafana-dashboard.json">dashboard json</a> +<a href="/grafana-dashboard.json">dashboard json</a> -<img src="../../resources/images/grafana-dashboard.png" height="400" width="200"/> +<img src="/images/grafana-dashboard.png" height="400" width="200"/> ## HoraeDB Metrics After importing the dashboard, you will see the following page: -<img src="../../resources/images/grafana-horaedb-dashboard.png" height="400" width="600"/> +<img src="/images/grafana-horaedb-dashboard.png" height="400" width="600"/> ### Panels diff --git a/docs/src/en/operation/system_table.md b/content/en/docs/user-guide/operation/system_table.md similarity index 96% rename from docs/src/en/operation/system_table.md rename to content/en/docs/user-guide/operation/system_table.md index 8359d82..b708968 100644 --- a/docs/src/en/operation/system_table.md +++ b/content/en/docs/user-guide/operation/system_table.md @@ -1,4 +1,6 @@ -# Table Operation +--- +title: "Table Operation" +--- ## Query Table Information diff --git a/docs/src/en/operation/table.md b/content/en/docs/user-guide/operation/table.md similarity index 97% rename from docs/src/en/operation/table.md rename to content/en/docs/user-guide/operation/table.md index 031fa95..6a14bc8 100644 --- a/docs/src/en/operation/table.md +++ b/content/en/docs/user-guide/operation/table.md @@ -1,4 +1,6 @@ -# Table Operation +--- +title: "Table Operation" +--- HoraeDB supports standard SQL protocols and allows you to create tables and read/write data via http requests. More [SQL](../sql/README.md) diff --git a/content/en/docs/user-guide/sdk/_index.md b/content/en/docs/user-guide/sdk/_index.md new file mode 100644 index 0000000..47f4c41 --- /dev/null +++ b/content/en/docs/user-guide/sdk/_index.md @@ -0,0 +1,4 @@ +--- +title: "SDK" +weight: 30 +--- diff --git a/docs/src/en/sdk/go.md b/content/en/docs/user-guide/sdk/go.md similarity index 99% rename from docs/src/en/sdk/go.md rename to content/en/docs/user-guide/sdk/go.md index ec34d31..35b0faa 100644 --- a/docs/src/en/sdk/go.md +++ b/content/en/docs/user-guide/sdk/go.md @@ -1,4 +1,6 @@ -# Go +--- +title: "Go" +--- ## Installation diff --git a/docs/src/en/sdk/java.md b/content/en/docs/user-guide/sdk/java.md similarity index 99% rename from docs/src/en/sdk/java.md rename to content/en/docs/user-guide/sdk/java.md index d3fe0bc..433e26c 100644 --- a/docs/src/en/sdk/java.md +++ b/content/en/docs/user-guide/sdk/java.md @@ -1,4 +1,6 @@ -# Java +--- +title: "Java" +--- ## Introduction diff --git a/docs/src/en/sdk/python.md b/content/en/docs/user-guide/sdk/python.md similarity index 99% rename from docs/src/en/sdk/python.md rename to content/en/docs/user-guide/sdk/python.md index f90b394..70f98c8 100644 --- a/docs/src/en/sdk/python.md +++ b/content/en/docs/user-guide/sdk/python.md @@ -1,4 +1,6 @@ -# Python +--- +title: "Python" +--- ## Introduction diff --git a/docs/src/en/sdk/rust.md b/content/en/docs/user-guide/sdk/rust.md similarity index 99% rename from docs/src/en/sdk/rust.md rename to content/en/docs/user-guide/sdk/rust.md index 48358ab..bff985a 100644 --- a/docs/src/en/sdk/rust.md +++ b/content/en/docs/user-guide/sdk/rust.md @@ -1,4 +1,6 @@ -# Rust +--- +title: "Rust" +--- ## Install diff --git a/content/en/docs/user-guide/sql/_index.md b/content/en/docs/user-guide/sql/_index.md new file mode 100644 index 0000000..1e58784 --- /dev/null +++ b/content/en/docs/user-guide/sql/_index.md @@ -0,0 +1,4 @@ +--- +title: "SQL Syntax" +weight: 10 +--- diff --git a/docs/src/en/sql/functions/aggregate_functions.md b/content/en/docs/user-guide/sql/aggregate_functions.md similarity index 98% rename from docs/src/en/sql/functions/aggregate_functions.md rename to content/en/docs/user-guide/sql/aggregate_functions.md index f454e97..3f21402 100644 --- a/docs/src/en/sql/functions/aggregate_functions.md +++ b/content/en/docs/user-guide/sql/aggregate_functions.md @@ -1,4 +1,7 @@ -# Aggregate Functions +--- +title: "Aggregate Functions" +weight: 80 +--- HoraeDB SQL is implemented with [DataFusion](https://github.com/apache/arrow-datafusion), Here is the list of aggregate functions. See more detail, Refer to [Datafusion](https://github.com/apache/arrow-datafusion/blob/master/docs/source/user-guide/sql/aggregate_functions.md) diff --git a/content/en/docs/user-guide/sql/ddl/_index.md b/content/en/docs/user-guide/sql/ddl/_index.md new file mode 100644 index 0000000..cabf7b2 --- /dev/null +++ b/content/en/docs/user-guide/sql/ddl/_index.md @@ -0,0 +1,6 @@ +--- +title: "Data Definition Statements" +weight: 30 +--- + +This chapter introduces the data definition statements. diff --git a/docs/src/en/sql/ddl/alter_table.md b/content/en/docs/user-guide/sql/ddl/alter_table.md similarity index 98% rename from docs/src/en/sql/ddl/alter_table.md rename to content/en/docs/user-guide/sql/ddl/alter_table.md index 041d593..79a6e33 100644 --- a/docs/src/en/sql/ddl/alter_table.md +++ b/content/en/docs/user-guide/sql/ddl/alter_table.md @@ -1,4 +1,6 @@ -# ALTER TABLE +--- +title: "ALTER TABLE" +--- `ALTER TABLE` can change the schema or options of a table. diff --git a/docs/src/en/sql/ddl/create_table.md b/content/en/docs/user-guide/sql/ddl/create_table.md similarity index 98% rename from docs/src/en/sql/ddl/create_table.md rename to content/en/docs/user-guide/sql/ddl/create_table.md index 0b61c7f..0c0baa9 100644 --- a/docs/src/en/sql/ddl/create_table.md +++ b/content/en/docs/user-guide/sql/ddl/create_table.md @@ -1,4 +1,6 @@ -# CREATE TABLE +--- +title: "CREATE TABLE" +--- ## Basic syntax diff --git a/docs/src/en/sql/ddl/drop_table.md b/content/en/docs/user-guide/sql/ddl/drop_table.md similarity index 90% rename from docs/src/en/sql/ddl/drop_table.md rename to content/en/docs/user-guide/sql/ddl/drop_table.md index 6b4c3a9..2284fe1 100644 --- a/docs/src/en/sql/ddl/drop_table.md +++ b/content/en/docs/user-guide/sql/ddl/drop_table.md @@ -1,4 +1,6 @@ -# DROP TABLE +--- +title: "DROP TABLE" +--- ## Basic syntax diff --git a/content/en/docs/user-guide/sql/dml/_index.md b/content/en/docs/user-guide/sql/dml/_index.md new file mode 100644 index 0000000..b36826e --- /dev/null +++ b/content/en/docs/user-guide/sql/dml/_index.md @@ -0,0 +1,6 @@ +--- +title: "Data Manipulation Statements" +weight: 40 +--- + +This chapter introduces the data manipulation statements. diff --git a/docs/src/en/sql/dml/insert.md b/content/en/docs/user-guide/sql/dml/insert.md similarity index 92% rename from docs/src/en/sql/dml/insert.md rename to content/en/docs/user-guide/sql/dml/insert.md index 1fc72e9..0e949a6 100644 --- a/docs/src/en/sql/dml/insert.md +++ b/content/en/docs/user-guide/sql/dml/insert.md @@ -1,4 +1,6 @@ -# INSERT +--- +title: "INSERT" +--- ## Basic syntax diff --git a/docs/src/en/sql/dml/select.md b/content/en/docs/user-guide/sql/dml/select.md similarity index 95% rename from docs/src/en/sql/dml/select.md rename to content/en/docs/user-guide/sql/dml/select.md index ecf0873..f4a653a 100644 --- a/docs/src/en/sql/dml/select.md +++ b/content/en/docs/user-guide/sql/dml/select.md @@ -1,4 +1,6 @@ -# SELECT +--- +title: "SELECT" +--- ## Basic syntax diff --git a/docs/src/en/sql/engine_options.md b/content/en/docs/user-guide/sql/engine_options.md similarity index 99% rename from docs/src/en/sql/engine_options.md rename to content/en/docs/user-guide/sql/engine_options.md index 383e64c..8a7c7bf 100644 --- a/docs/src/en/sql/engine_options.md +++ b/content/en/docs/user-guide/sql/engine_options.md @@ -1,4 +1,7 @@ -# Options +--- +title: "Options" +weight: 60 +--- Options below can be used when create table for analytic engine diff --git a/docs/src/en/sql/identifier.md b/content/en/docs/user-guide/sql/identifier.md similarity index 87% rename from docs/src/en/sql/identifier.md rename to content/en/docs/user-guide/sql/identifier.md index 5eb975c..338e738 100644 --- a/docs/src/en/sql/identifier.md +++ b/content/en/docs/user-guide/sql/identifier.md @@ -1,3 +1,6 @@ -# Identifier +--- +title: "Identifier" +weight: 20 +--- Identifier in HoraeDB can be used as table name, column name etc. It cannot be preserved keywords or start with number and punctuation symbols. HoraeDB allows to quote identifiers with back quotes (\`). In this case it can be any string like `00_table` or `select`. diff --git a/content/en/docs/user-guide/sql/model/_index.md b/content/en/docs/user-guide/sql/model/_index.md new file mode 100644 index 0000000..4b9fa58 --- /dev/null +++ b/content/en/docs/user-guide/sql/model/_index.md @@ -0,0 +1,6 @@ +--- +title: "Data Model" +weight: 10 +--- + +This chapter introduces the data model of HoraeDB. diff --git a/docs/src/en/sql/model/data_types.md b/content/en/docs/user-guide/sql/model/data_types.md similarity index 96% rename from docs/src/en/sql/model/data_types.md rename to content/en/docs/user-guide/sql/model/data_types.md index 65abd65..8854990 100644 --- a/docs/src/en/sql/model/data_types.md +++ b/content/en/docs/user-guide/sql/model/data_types.md @@ -1,4 +1,6 @@ -# Data Types +--- +title: "Data Types" +--- HoraeDB implements table model, and the supported data types are similar to MySQL. The following table lists the mapping relationship between MySQL and HoraeDB. diff --git a/docs/src/en/sql/model/special_columns.md b/content/en/docs/user-guide/sql/model/special_columns.md similarity index 98% rename from docs/src/en/sql/model/special_columns.md rename to content/en/docs/user-guide/sql/model/special_columns.md index d12f283..21497b8 100644 --- a/docs/src/en/sql/model/special_columns.md +++ b/content/en/docs/user-guide/sql/model/special_columns.md @@ -1,4 +1,6 @@ -# Special Columns +--- +title: "Special Columns" +--- Tables in HoraeDB have the following constraints: diff --git a/docs/src/en/sql/functions/scalar_functions.md b/content/en/docs/user-guide/sql/scalar_functions.md similarity index 99% rename from docs/src/en/sql/functions/scalar_functions.md rename to content/en/docs/user-guide/sql/scalar_functions.md index 3923c56..a27b41f 100644 --- a/docs/src/en/sql/functions/scalar_functions.md +++ b/content/en/docs/user-guide/sql/scalar_functions.md @@ -1,4 +1,7 @@ -# Scalar Functions +--- +title: "Scalar Functions" +weight: 70 +--- HoraeDB SQL is implemented with [DataFusion](https://github.com/CeresDB/arrow-datafusion), Here is the list of scalar functions. See more detail, Refer to [Datafusion](https://github.com/CeresDB/arrow-datafusion/blob/master/docs/source/user-guide/sql/scalar_functions.md) diff --git a/docs/src/en/sql/utility.md b/content/en/docs/user-guide/sql/utility.md similarity index 98% rename from docs/src/en/sql/utility.md rename to content/en/docs/user-guide/sql/utility.md index 757c8fa..0b0235d 100644 --- a/docs/src/en/sql/utility.md +++ b/content/en/docs/user-guide/sql/utility.md @@ -1,4 +1,7 @@ -# Utility Statements +--- +title: "Utility Statements" +weight: 50 +--- There are serval utilities SQL in HoraeDB that can help in table manipulation or query inspection. diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index 7585238..0000000 --- a/docs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -book diff --git a/docs/book.toml b/docs/book.toml deleted file mode 100644 index 451b7b9..0000000 --- a/docs/book.toml +++ /dev/null @@ -1,29 +0,0 @@ -[book] -authors = ["HoraeDB Authors"] -language = "en" -multilingual = true -src = "src/en" -title = "HoraeDB Documentation" - -[build] -use-default-preprocessors = false - -[preprocessor.links] - -[[output.i18n.translations]] -src = "src/cn" -language = "cn" -translators = ["HoraeDB Authors"] -title = "HoraeDB 文档" - -[output.random] -command = "/bin/bash ../../move.sh" - -[output.html] -git-repository-url = "https://github.com/apache/incubator-horaedb" -edit-url-template = "https://github.com/apache/incubator-horaedb-docs/edit/main/docs/{path}" -additional-css = ["style.css"] -additional-js = ["sidebar.js"] - -[output.html.fold] -enable = true diff --git a/docs/move.sh b/docs/move.sh deleted file mode 100644 index af84258..0000000 --- a/docs/move.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -echo "ready to move files" -cp -R ../i18n/cn ../html/cn -cp -R ../i18n/en ../html/en -cp -R ../../src/resources ../../book/html/resources -echo "copy done" diff --git a/docs/sidebar.js b/docs/sidebar.js deleted file mode 100644 index 7a8f9d3..0000000 --- a/docs/sidebar.js +++ /dev/null @@ -1,66 +0,0 @@ -// Un-active everything when you click it -Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) { - el.addEventHandler("click", function() { - Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) { - el.classList.remove("active"); - }); - el.classList.add("active"); - }); -}); - -var updateFunction = function() { - - var id; - var elements = document.getElementsByClassName("header"); - Array.prototype.forEach.call(elements, function(el) { - if (window.pageYOffset >= el.offsetTop) { - id = el; - } - }); - - Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) { - el.classList.remove("active"); - }); - - Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function(el) { - if (id.href.localeCompare(el.href) == 0) { - el.classList.add("active"); - } - }); -}; - -// Populate sidebar on load -window.addEventListener('load', function() { - var pagetoc = document.getElementsByClassName("pagetoc")[0]; - var elements = document.getElementsByClassName("header"); - Array.prototype.forEach.call(elements, function(el) { - var link = document.createElement("a"); - - // Indent shows hierarchy - var indent = ""; - switch (el.parentElement.tagName) { - case "H2": - indent = "20px"; - break; - case "H3": - indent = "40px"; - break; - case "H4": - indent = "60px"; - break; - default: - break; - } - - link.appendChild(document.createTextNode(el.text)); - link.style.paddingLeft = indent; - link.href = el.href; - pagetoc.appendChild(link); - }); - updateFunction.call(); -}); - - - -// Handle active elements on scroll -window.addEventListener("scroll", updateFunction); diff --git a/docs/src/cn/SUMMARY.md b/docs/src/cn/SUMMARY.md deleted file mode 100644 index ada44e4..0000000 --- a/docs/src/cn/SUMMARY.md +++ /dev/null @@ -1,66 +0,0 @@ -# 目录 - -# 简介 - -- [什么是 HoraeDB](about.md) -- [快速开始](quick_start.md) - -# 用户手册 - -- [SQL 语法](sql/README.md) - - [数据模型](sql/model/README.md) - - [数据类型](sql/model/data_types.md) - - [特殊字段](sql/model/special_columns.md) - - [标识符](sql/identifier.md) - - [表结构操作](sql/ddl/README.md) - - [建表](sql/ddl/create_table.md) - - [表结构变更](sql/ddl/alter_table.md) - - [删除表](sql/ddl/drop_table.md) - - [数据操作](sql/dml/README.md) - - [数据写入](sql/dml/insert.md) - - [数据查询](sql/dml/select.md) - - [引擎配置](sql/engine_options.md) - - [常见 SQL](sql/utility.md) - - [标量函数](sql/functions/scalar_functions.md) - - [聚合函数](sql/functions/aggregate_functions.md) -- [集群部署](cluster_deployment/README.md) - - [支持平台](cluster_deployment/platform.md) - - [NoMeta 模式](cluster_deployment/no_meta.md) - - [WithMeta 模式](cluster_deployment/with_meta.md) -- [SDK](sdk/README.md) - - [Java SDK](sdk/java.md) - - [Go SDK](sdk/go.md) - - [Python SDK](sdk/python.md) - - [Rust SDK](sdk/rust.md) -- [运维](operation/README.md) - - [表](operation/table.md) - - [系统表](operation/system_table.md) - - [黑名单](operation/block_list.md) - - [监控](operation/observability.md) - - [HoraeMeta](operation/horaemeta.md) -- [周边生态](ecosystem/README.md) - - [Prometheus](ecosystem/prometheus.md) - - [InfluxDB](ecosystem/influxdb.md) - - [OpenTSDB](ecosystem/opentsdb.md) - -# 开发者手册 - -- [支持平台](dev/platform.md) -- [编译运行](dev/compile_run.md) - - [剖析](dev/profiling.md) -- [开发规约](dev/conventional_commit.md) -- [风格规范](dev/style_guide.md) -- [里程碑](dev/roadmap.md) - -# 技术系列文章 - -- [整体架构](design/architecture.md) -- [集群](design/clustering.md) -- [Shared-Nothing](design/shared_nothing.md) -- [存储](design/storage.md) -- [WAL](design/wal.md) - - [WAL on RocksDB](design/wal_on_rocksdb.md) - - [WAL on Kafka](design/wal_on_kafka.md) -- [分区表](design/table_partitioning.md) - -[//]: # "- [查询介绍](query.md)" diff --git a/docs/src/cn/design/wal.md b/docs/src/cn/design/wal.md deleted file mode 100644 index 7d907cf..0000000 --- a/docs/src/cn/design/wal.md +++ /dev/null @@ -1,5 +0,0 @@ -# Wal - -- [WAL on RocksDB](wal_on_rocksdb.md) -- [WAL on Kafka](wal_on_kafka.md) -- 基于 OceanBase 的 WAL 未来再做介绍 diff --git a/docs/src/cn/dev/README.md b/docs/src/cn/dev/README.md deleted file mode 100644 index a5b829e..0000000 --- a/docs/src/cn/dev/README.md +++ /dev/null @@ -1 +0,0 @@ -# 开发手册 diff --git a/docs/src/cn/dev/conventional_commit.md b/docs/src/cn/dev/conventional_commit.md deleted file mode 100644 index 6ad1530..0000000 --- a/docs/src/cn/dev/conventional_commit.md +++ /dev/null @@ -1,3 +0,0 @@ -# 开发规约 - -开发规约请参考英文版本[文档](../../en/dev/conventional_commit.md) diff --git a/docs/src/cn/dev/platform.md b/docs/src/cn/dev/platform.md deleted file mode 100644 index cf58663..0000000 --- a/docs/src/cn/dev/platform.md +++ /dev/null @@ -1,7 +0,0 @@ -| target | OS | status | -| :-----------------------: | :---------------: | :---------------------------------------------------------------------: | -| x86_64-unknown-linux-gnu | kernel 4.9+ | ✅ | -| x86_64-apple-darwin | 10.15+, Catalina+ | ✅ | -| aarch64-apple-darwin | 11+, Big Sur+ | ✅ | -| aarch64-unknown-linux-gnu | TBD | tracked on [#63](https://github.com/apache/incubator-horaedb/issues/63) | -| \*-windows | \* | ❌ | diff --git a/docs/src/cn/dev/style_guide.md b/docs/src/cn/dev/style_guide.md deleted file mode 100644 index 5941feb..0000000 --- a/docs/src/cn/dev/style_guide.md +++ /dev/null @@ -1,3 +0,0 @@ -# 风格规范 - -风格规范请参考英文版本[文档](../../en/dev/style_guide.md) diff --git a/docs/src/cn/protocol.md b/docs/src/cn/protocol.md deleted file mode 100644 index fbd34d1..0000000 --- a/docs/src/cn/protocol.md +++ /dev/null @@ -1 +0,0 @@ -# Protocol diff --git a/docs/src/cn/sdk/README.md b/docs/src/cn/sdk/README.md deleted file mode 100644 index dcca00d..0000000 --- a/docs/src/cn/sdk/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# SDK 文档 - -- [Rust](./rust.md) -- [Java](./java.md) -- [Python](./python.md) -- [Go](./go.md) diff --git a/docs/src/cn/sql/README.md b/docs/src/cn/sql/README.md deleted file mode 100644 index e6ff7a0..0000000 --- a/docs/src/cn/sql/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# SQL 语法 - -本章介绍 HoraeDB 的 SQL 使用语法。 - -- [数据模型](model/README.md) - - [数据类型](model/data_types.md) - - [特殊字段](model/special_columns.md) -- [标识符](identifier.md) -- [表结构操作](ddl/README.md) - - [建表](ddl/create_table.md) - - [表结构变更](ddl/alter_table.md) - - [删除表](ddl/drop_table.md) -- [数据操作](dml/README.md) - - [数据写入](dml/insert.md) - - [数据查询](dml/select.md) -- [引擎配置](engine_options.md) -- [常见 SQL](utility.md) -- [标量函数](functions/scalar_functions.md) -- [聚合函数](functions/aggregate_functions.md) diff --git a/docs/src/cn/sql/ddl/README.md b/docs/src/cn/sql/ddl/README.md deleted file mode 100644 index a1eb8ee..0000000 --- a/docs/src/cn/sql/ddl/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# 表结构操作 - -本章介绍表结构相关 SQL 语句: - -- [建表](create_table.md) -- [表结构变更](alter_table.md) -- [删除表](drop_table.md) diff --git a/docs/src/cn/sql/dml/README.md b/docs/src/cn/sql/dml/README.md deleted file mode 100644 index 33303da..0000000 --- a/docs/src/cn/sql/dml/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# 数据操作 - -本章介绍数据操作相关的 SQL. - -- [数据写入](./insert.md) -- [数据查询](./select.md) diff --git a/docs/src/cn/sql/model/README.md b/docs/src/cn/sql/model/README.md deleted file mode 100644 index 4a216d4..0000000 --- a/docs/src/cn/sql/model/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# 数据模型 - -本章介绍 HoraeDB 的数据模型。 - -- [数据类型](data_types.md) -- [特殊字段](special_columns.md) diff --git a/docs/src/cn/trouble_shooting.md b/docs/src/cn/trouble_shooting.md deleted file mode 100644 index 144aeb9..0000000 --- a/docs/src/cn/trouble_shooting.md +++ /dev/null @@ -1 +0,0 @@ -# Trouble Shooting diff --git a/docs/src/en/SUMMARY.md b/docs/src/en/SUMMARY.md deleted file mode 100644 index 28e1988..0000000 --- a/docs/src/en/SUMMARY.md +++ /dev/null @@ -1,66 +0,0 @@ -# Summary - -# Introduction - -- [What is HoraeDB](about.md) -- [Quick Start](quick_start.md) - -# User Guide - -- [SQL Syntax](sql/README.md) - - [Data Model](sql/model/README.md) - - [Data Types](sql/model/data_types.md) - - [Special Columns](sql/model/special_columns.md) - - [Identifier](sql/identifier.md) - - [Data Definition Statements](sql/ddl/README.md) - - [CREATE TABLE](sql/ddl/create_table.md) - - [ALTER TABLE](sql/ddl/alter_table.md) - - [DROP TABLE](sql/ddl/drop_table.md) - - [Data Manipulation Statements](sql/dml/README.md) - - [INSERT](sql/dml/insert.md) - - [SELECT](sql/dml/select.md) - - [Utility Statements](sql/utility.md) - - [Engine Options](sql/engine_options.md) - - [Scalar Functions](sql/functions/scalar_functions.md) - - [Aggregate Functions](sql/functions/aggregate_functions.md) -- [Cluster Deployment](cluster_deployment/README.md) - - [Supported Platform](cluster_deployment/platform.md) - - [NoMeta Mode](cluster_deployment/no_meta.md) - - [WithMeta Mode](cluster_deployment/with_meta.md) -- [SDK](sdk/README.md) - - [Java](sdk/java.md) - - [Go](sdk/go.md) - - [Python](sdk/python.md) - - [Rust](sdk/rust.md) -- [Operation](operation/README.md) - - [Table](operation/table.md) - - [System Table](operation/system_table.md) - - [Block List](operation/block_list.md) - - [Observability](operation/observability.md) - - [HoraeMeta](operation/horaemeta.md) -- [Ecosystem](ecosystem/README.md) - - [Prometheus](ecosystem/prometheus.md) - - [InfluxDB](ecosystem/influxdb.md) - - [OpenTSDB](ecosystem/opentsdb.md) - -# Dev Guide - -- [Supported Platform](dev/platform.md) -- [Compile and Running](dev/compile_run.md) - - [Profile](dev/profiling.md) -- [SDK Development](dev/sdk_develop.md) -- [Conventional Commit](dev/conventional_commit.md) -- [Style guide](dev/style_guide.md) -- [Roadmap](dev/roadmap.md) - -# Technical and Design - -- [Architecture](design/architecture.md) -- [Cluster](design/clustering.md) -- [Storage](design/storage.md) -- [WAL](design/wal.md) - - [WAL on RocksDB](design/wal_on_rocksdb.md) - - [WAL on Kafka](design/wal_on_kafka.md) -- [Table Partitioning](design/table_partitioning.md) - -[//]: # "- [Query](query.md)" diff --git a/docs/src/en/dev/README.md b/docs/src/en/dev/README.md deleted file mode 100644 index 459110d..0000000 --- a/docs/src/en/dev/README.md +++ /dev/null @@ -1 +0,0 @@ -# Development diff --git a/docs/src/en/dev/platform.md b/docs/src/en/dev/platform.md deleted file mode 100644 index cf58663..0000000 --- a/docs/src/en/dev/platform.md +++ /dev/null @@ -1,7 +0,0 @@ -| target | OS | status | -| :-----------------------: | :---------------: | :---------------------------------------------------------------------: | -| x86_64-unknown-linux-gnu | kernel 4.9+ | ✅ | -| x86_64-apple-darwin | 10.15+, Catalina+ | ✅ | -| aarch64-apple-darwin | 11+, Big Sur+ | ✅ | -| aarch64-unknown-linux-gnu | TBD | tracked on [#63](https://github.com/apache/incubator-horaedb/issues/63) | -| \*-windows | \* | ❌ | diff --git a/docs/src/en/ecosystem/README.md b/docs/src/en/ecosystem/README.md deleted file mode 100644 index 1a4b388..0000000 --- a/docs/src/en/ecosystem/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Ecosystem - -HoraeDB has an open ecosystem that encourages collaboration and innovation, allowing developers to use what suits them best. - -Currently following systems are supported: - -- [Prometheus](prometheus.md) -- [InfluxDB](influxdb.md) -- [OpenTSDB](opentsdb.md) diff --git a/docs/src/en/protocol.md b/docs/src/en/protocol.md deleted file mode 100644 index fbd34d1..0000000 --- a/docs/src/en/protocol.md +++ /dev/null @@ -1 +0,0 @@ -# Protocol diff --git a/docs/src/en/sdk/README.md b/docs/src/en/sdk/README.md deleted file mode 100644 index de44d3d..0000000 --- a/docs/src/en/sdk/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# SDK - -- [Rust](./rust.md) -- [Java](./java.md) -- [Python](./python.md) -- [Go](./go.md) diff --git a/docs/src/en/sql/README.md b/docs/src/en/sql/README.md deleted file mode 100644 index 4867d59..0000000 --- a/docs/src/en/sql/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# SQL Syntax - -This chapter introduces the SQL statements of HoraeDB. - -- [Data Model](model/README.md) - - [Data Types](model/data_types.md) - - [Special Columns](model/special_columns.md) -- [Identifier](identifier.md) -- [Data Definition Statements](ddl/README.md) - - [CREATE TABLE](ddl/create_table.md) - - [ALTER TABLE](ddl/alter_table.md) - - [DROP TABLE](ddl/drop_table.md) -- [Data Manipulation Statements](dml/README.md) - - [INSERT](dml/insert.md) - - [SELECT](dml/select.md) -- [Utility Statements](utility.md) -- [Engine Options](engine_options.md) -- [Scalar Functions](functions/scalar_functions.md) -- [Aggregate Functions](functions/aggregate_functions.md) diff --git a/docs/src/en/sql/ddl/README.md b/docs/src/en/sql/ddl/README.md deleted file mode 100644 index 3f7a6b0..0000000 --- a/docs/src/en/sql/ddl/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Data Definition Statements - -This chapter introduces the data definition statements. - -- [Create Table](./create_table.md) -- [Alter Table](./alter_table.md) -- [Drop Table](./drop_table.md) diff --git a/docs/src/en/sql/dml/README.md b/docs/src/en/sql/dml/README.md deleted file mode 100644 index 2b4e8b5..0000000 --- a/docs/src/en/sql/dml/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Data Manipulation Statements - -This chapter introduces the data manipulation statements. - -- [Insert](./insert.md) -- [Select](./select.md) diff --git a/docs/src/en/sql/model/README.md b/docs/src/en/sql/model/README.md deleted file mode 100644 index aaa29e1..0000000 --- a/docs/src/en/sql/model/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Data Model - -This chapter introduces the data model of HoraeDB. - -- [Data Types](data_types.md) -- [Special Columns](special_columns.md) diff --git a/docs/src/en/trouble_shooting.md b/docs/src/en/trouble_shooting.md deleted file mode 100644 index 144aeb9..0000000 --- a/docs/src/en/trouble_shooting.md +++ /dev/null @@ -1 +0,0 @@ -# Trouble Shooting diff --git a/docs/style.css b/docs/style.css deleted file mode 100644 index 4c4f16d..0000000 --- a/docs/style.css +++ /dev/null @@ -1,54 +0,0 @@ -@media only screen and (max-width:1439px) { - .sidetoc { - display: none; - } -} - -@media only screen and (min-width:1440px) { - main { - position: relative; - } - .sidetoc { - margin-left: auto; - margin-right: auto; - left: calc(100% + (var(--content-max-width))/4 - 140px); - position: absolute; - } - .pagetoc { - position: fixed; - width: 200px; - height: calc(100vh - var(--menu-bar-height) - 0.67em * 4); - overflow: auto; - } - .pagetoc a { - border-left: 1px solid var(--sidebar-bg); - color: var(--fg) !important; - display: block; - padding-bottom: 5px; - padding-top: 5px; - padding-left: 10px; - text-align: left; - text-decoration: none; - } - .pagetoc a:hover, - .pagetoc a.active { - background: var(--sidebar-bg); - color: var(--sidebar-fg) !important; - } - .pagetoc .active { - background: var(--sidebar-bg); - color: var(--sidebar-fg); - } -} - -@media print { - .sidetoc { - display: none; - } -} - -footer { - text-align: center; - padding: 3px; - font-size: 0.7em; -} diff --git a/docs/theme/index.hbs b/docs/theme/index.hbs deleted file mode 100644 index ee82884..0000000 --- a/docs/theme/index.hbs +++ /dev/null @@ -1,417 +0,0 @@ -<!DOCTYPE HTML> -<html lang="{{ language }}" class="sidebar-visible no-js {{ default_theme }}"> - <head> - <!-- Book generated using mdBook --> - <meta charset="UTF-8"> - <title>{{ title }}</title> - {{#if is_print }} - <meta name="robots" content="noindex" /> - {{/if}} - {{#if base_url}} - <base href="{{ base_url }}"> - {{/if}} - - - <!-- Custom HTML head --> - {{> head}} - - <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> - <meta name="description" content="{{ description }}"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta name="theme-color" content="#ffffff" /> - - {{#if favicon_svg}} - <link rel="icon" href="{{ path_to_root }}favicon.svg"> - {{/if}} - {{#if favicon_png}} - <link rel="shortcut icon" href="{{ path_to_root }}favicon.png"> - {{/if}} - <link rel="stylesheet" href="{{ path_to_root }}css/variables.css"> - <link rel="stylesheet" href="{{ path_to_root }}css/general.css"> - <link rel="stylesheet" href="{{ path_to_root }}css/chrome.css"> - {{#if print_enable}} - <link rel="stylesheet" href="{{ path_to_root }}css/print.css" media="print"> - {{/if}} - - <!-- Fonts --> - <link rel="stylesheet" href="{{ path_to_root }}FontAwesome/css/font-awesome.css"> - {{#if copy_fonts}} - <link rel="stylesheet" href="{{ path_to_root }}fonts/fonts.css"> - {{/if}} - - <!-- Highlight.js Stylesheets --> - <link rel="stylesheet" href="{{ path_to_root }}highlight.css"> - <link rel="stylesheet" href="{{ path_to_root }}tomorrow-night.css"> - <link rel="stylesheet" href="{{ path_to_root }}ayu-highlight.css"> - - <!-- Custom theme stylesheets --> - {{#each additional_css}} - <link rel="stylesheet" href="{{ ../path_to_root }}{{ this }}"> - {{/each}} - - {{#if mathjax_support}} - <!-- MathJax --> - <script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> - {{/if}} - </head> - <body> - <!-- Provide site root to javascript --> - <script> - var path_to_root = "{{ path_to_root }}"; - var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}"; - </script> - - <!-- Work around some values being stored in localStorage wrapped in quotes --> - <script> - try { - var theme = localStorage.getItem('mdbook-theme'); - var sidebar = localStorage.getItem('mdbook-sidebar'); - - if (theme.startsWith('"') && theme.endsWith('"')) { - localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1)); - } - - if (sidebar.startsWith('"') && sidebar.endsWith('"')) { - localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1)); - } - } catch (e) { } - </script> - - <!-- Set the theme before any content is loaded, prevents flash --> - <script> - var theme; - try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { } - if (theme === null || theme === undefined) { theme = default_theme; } - var html = document.querySelector('html'); - html.classList.remove('no-js') - html.classList.remove('{{ default_theme }}') - html.classList.add(theme); - html.classList.add('js'); - </script> - - <!-- Hide / unhide sidebar before it is displayed --> - <script> - var html = document.querySelector('html'); - var sidebar = 'hidden'; - if (document.body.clientWidth >= 1080) { - try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { } - sidebar = sidebar || 'visible'; - } - html.classList.remove('sidebar-visible'); - html.classList.add("sidebar-" + sidebar); - </script> - - <nav id="sidebar" class="sidebar" aria-label="Table of contents"> - <div class="sidebar-scrollbox"> - {{#toc}}{{/toc}} - </div> - <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div> - </nav> - - <div id="page-wrapper" class="page-wrapper"> - - <div class="page"> - {{> header}} - <div id="menu-bar-hover-placeholder"></div> - <div id="menu-bar" class="menu-bar sticky bordered"> - <div class="left-buttons"> - <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> - <i class="fa fa-bars"></i> - </button> - <button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list"> - <i class="fa fa-paint-brush"></i> - </button> - <ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu"> - <li role="none"><button role="menuitem" class="theme" id="light">{{ theme_option "Light" }}</button></li> - <li role="none"><button role="menuitem" class="theme" id="rust">{{ theme_option "Rust" }}</button></li> - <li role="none"><button role="menuitem" class="theme" id="coal">{{ theme_option "Coal" }}</button></li> - <li role="none"><button role="menuitem" class="theme" id="navy">{{ theme_option "Navy" }}</button></li> - <li role="none"><button role="menuitem" class="theme" id="ayu">{{ theme_option "Ayu" }}</button></li> - </ul> - {{#if search_enabled}} - <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> - <i class="fa fa-search"></i> - </button> - {{/if}} - </div> - - <h1 class="menu-title">{{ book_title }}</h1> - - <div class="right-buttons"> - - <button id="lang-toggle" class="icon-button" type="button" title="Change language" aria-label="Change language" aria-haspopup="true" aria-expanded="false" aria-controls="lang-list" > -<!-- <i class="fa fa-globe"></i> --> - <i> - <svg t="1675840511805" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2677" width="16" height="16"><path d="M511.573333 85.333333C276.053333 85.333333 85.333333 276.48 85.333333 512s190.72 426.666667 426.24 426.666667C747.52 938.666667 938.666667 747.52 938.666667 512S747.52 85.333333 511.573333 85.333333z m295.68 256h-125.866666a667.733333 667.733333 0 0 0-58.88-151.893333A342.613333 342.613333 0 0 1 807.253333 341.333 [...] - <a id="lang_comment"></a> - </i> - - </button> - <ul id="lang-list" class="theme-popup" style="left: auto;" aria-label="Languages" role="menu"> - <li role="none"><button role="menuitem" class="theme" id="en">English</button></li> - <li role="none"><button role="menuitem" class="theme" id="cn">中文</button></li> - </ul> - - {{#if print_enable}} - <a href="{{ path_to_root }}print.html" title="Print this book" aria-label="Print this book"> - <i id="print-button" class="fa fa-print"></i> - </a> - {{/if}} - {{#if git_repository_url}} - <a href="{{git_repository_url}}" title="Git repository" aria-label="Git repository"> - <i id="git-repository-button" class="fa {{git_repository_icon}}"></i> - </a> - {{/if}} - {{#if git_repository_edit_url}} - <a href="{{git_repository_edit_url}}" title="Suggest an edit" aria-label="Suggest an edit"> - <i id="git-edit-button" class="fa fa-edit"></i> - </a> - {{/if}} - - </div> - </div> - - <script> - window.onload = function(){ - var path_lang = window.location.pathname.split('/')[1]; - document.getElementById('lang_comment').innerHTML = path_lang=='cn'?"Language":"语言"; - }; - </script> - - {{#if search_enabled}} - <div id="search-wrapper" class="hidden"> - <form id="searchbar-outer" class="searchbar-outer"> - <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> - </form> - <div id="searchresults-outer" class="searchresults-outer hidden"> - <div id="searchresults-header" class="searchresults-header"></div> - <ul id="searchresults"> - </ul> - </div> - </div> - {{/if}} - - <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> - <script> - document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); - document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible'); - Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) { - link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1); - }); - </script> - - <div id="content" class="content"> - <main> - <!-- Page table of contents --> - <div class="sidetoc"><nav class="pagetoc"></nav></div> - - {{{ content }}} - </main> - - <nav class="nav-wrapper" aria-label="Page navigation"> - <!-- Mobile navigation buttons --> - {{#previous}} - <a rel="prev" href="{{ path_to_root }}{{link}}" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> - <i class="fa fa-angle-left"></i> - </a> - {{/previous}} - - {{#next}} - <a rel="next" href="{{ path_to_root }}{{link}}" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> - <i class="fa fa-angle-right"></i> - </a> - {{/next}} - - <div style="clear: both"></div> - </nav> - </div> - </div> - - <nav class="nav-wide-wrapper" aria-label="Page navigation"> - {{#previous}} - <a rel="prev" href="{{ path_to_root }}{{link}}" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> - <i class="fa fa-angle-left"></i> - </a> - {{/previous}} - - {{#next}} - <a rel="next" href="{{ path_to_root }}{{link}}" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> - <i class="fa fa-angle-right"></i> - </a> - {{/next}} - </nav> - - <footer> - <div> - <p> Apache HoraeDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate [...] - <p> - Copyright © 2024 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br/> - Apache HoraeDB, HoraeDB, Apache, and its feather logo, and the feather logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. - </p> - </div> - </footer> - </div> - - {{#if live_reload_endpoint}} - <!-- Livereload script (if served using the cli tool) --> - <script> - const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:'; - const wsAddress = wsProtocol + "//" + location.host + "/" + "{{{live_reload_endpoint}}}"; - const socket = new WebSocket(wsAddress); - socket.onmessage = function (event) { - if (event.data === "reload") { - socket.close(); - location.reload(); - } - }; - - window.onbeforeunload = function() { - socket.close(); - } - </script> - {{/if}} - - {{#if google_analytics}} - <!-- Google Analytics Tag --> - <script> - var localAddrs = ["localhost", "127.0.0.1", ""]; - - // make sure we don't activate google analytics if the developer is - // inspecting the book locally... - if (localAddrs.indexOf(document.location.hostname) === -1) { - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); - - ga('create', '{{google_analytics}}', 'auto'); - ga('send', 'pageview'); - } - </script> - {{/if}} - - {{#if playground_line_numbers}} - <script> - window.playground_line_numbers = true; - </script> - {{/if}} - - {{#if playground_copyable}} - <script> - window.playground_copyable = true; - </script> - {{/if}} - - {{#if playground_js}} - <script src="{{ path_to_root }}ace.js" charset="utf-8"></script> - <script src="{{ path_to_root }}editor.js" charset="utf-8"></script> - <script src="{{ path_to_root }}mode-rust.js" charset="utf-8"></script> - <script src="{{ path_to_root }}theme-dawn.js" charset="utf-8"></script> - <script src="{{ path_to_root }}theme-tomorrow_night.js" charset="utf-8"></script> - {{/if}} - - {{#if search_js}} - <script src="{{ path_to_root }}elasticlunr.min.js" charset="utf-8"></script> - <script src="{{ path_to_root }}mark.min.js" charset="utf-8"></script> - <script src="{{ path_to_root }}searcher.js" charset="utf-8"></script> - {{/if}} - - <script src="{{ path_to_root }}clipboard.min.js" charset="utf-8"></script> - <script src="{{ path_to_root }}highlight.js" charset="utf-8"></script> - <script src="{{ path_to_root }}book.js" charset="utf-8"></script> - - <!-- Custom JS scripts --> - {{#each additional_js}} - <script src="{{ ../path_to_root }}{{this}}"></script> - {{/each}} - - {{#if is_print}} - {{#if mathjax_support}} - <script> - window.addEventListener('load', function() { - MathJax.Hub.Register.StartupHook('End', function() { - window.setTimeout(window.print, 100); - }); - }); - </script> - {{else}} - <script> - window.addEventListener('load', function() { - window.setTimeout(window.print, 100); - }); - </script> - {{/if}} - {{/if}} - - <script type="text/javascript"> - let langs = [ - 'cn', - 'en' - ]; - - (function langs() { - var html = document.querySelector('html'); - var langToggleButton = document.getElementById('lang-toggle'); - var langPopup = document.getElementById('lang-list'); - - function showLangs() { - langPopup.style.display = 'block'; - langToggleButton.setAttribute('aria-expanded', true); - } - - function hideLangs() { - langPopup.style.display = 'none'; - langToggleButton.setAttribute('aria-expanded', false); - langToggleButton.focus(); - } - - langToggleButton.addEventListener('click', function () { - if (langPopup.style.display === 'block') { - hideLangs(); - } else { - showLangs(); - } - }); - - langPopup.addEventListener('click', function (e) { - let langs = [ - 'cn', - 'en' - ]; - var lang = e.target.id || e.target.parentElement.id; - var path_list=[]; - window.location.pathname.split('/').map((s, idx) => { - if (idx == 1){ - if(!langs.includes(s)){ - path_list.push(lang); - path_list.push(s); - }else{ - path_list.push(lang); - } - }else{ - path_list.push(s); - } - }); - console.log("path:"); - window.location.pathname = path_list.join('/'); - }); - - langPopup.addEventListener('focusout', function(e) { - // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below) - if (!!e.relatedTarget && !langToggleButton.contains(e.relatedTarget) && !langPopup.contains(e.relatedTarget)) { - hideLangs(); - } - }); - - // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang-nursery/mdBook/issues/628 - document.addEventListener('click', function(e) { - if (langPopup.style.display === 'block' && !langToggleButton.contains(e.target) && !langPopup.contains(e.target)) { - hideLangs(); - } - }); - - })(); - </script> - - </body> -</html> diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..89da8c9 --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module github.com/apache/horaedb-docs + +go 1.22 + +require github.com/google/docsy v0.10.0 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..78bc934 --- /dev/null +++ b/go.sum @@ -0,0 +1,4 @@ +github.com/FortAwesome/Font-Awesome v0.0.0-20240402185447-c0f460dca7f7/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/google/docsy v0.10.0 h1:6tMDacPwAyRWNCfvsn/9qGOZDQ8b0aRzjRZvnZPY5dg= +github.com/google/docsy v0.10.0/go.mod h1:c0nIAqmRTOuJ01F85U/wJPQtc3Zj9N58Kea9bOT2AJc= +github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..a05d0c8 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,87 @@ +baseURL = 'https://horaedb.apache.org/' +languageCode = 'en-us' +title = 'Apache HoraeDB' +contentDir = "content/en" +defaultContentLanguage = "en" +defaultContentLanguageInSubdir = false +enableMissingTranslationPlaceholders = true + +enableRobotsTXT = true + +# Will give values to .Lastmod etc. +enableGitInfo = true + +[languages] +[languages.en] +languageName ="English" +# Weight used for sorting. +weight = 1 +[languages.en.params] +description = "A high-performance, distributed, cloud native time-series database." + +[languages.cn] +languageName ="中文" +contentDir = "content/cn" +[languages.cn.params] +description = "一款高性能、分布式的云原生时序数据库" + +[markup] + [markup.goldmark] + [markup.goldmark.renderer] + unsafe = true + [markup.goldmark.parser.attribute] + block = true + [markup.highlight] + noClasses = false + style = "tango" + +[module] +proxy = "https://goproxy.cn,direct" +[[module.imports]] +path = "github.com/google/docsy" + +[params] +github_repo = "https://github.com/apache/horaedb-docs" +github_project_repo = "https://github.com/apache/horaedb" +offlineSearch = true + +[params.links] +[[params.links.user]] + name = "GitHub Discussions" + url = "https://github.com/apache/horaedb/discussions" + icon = "fab fa-github" + desc = "Discussion and help from your fellow users" +[[params.links.user]] + name = "Weixin Official Accounts" + url = "/images/weixin-mp.jpg" + icon = "fa-brands fa-weixin" + desc = "Follow us on Weixin Official Accounts(微信公众平台) to get the latest news!" +# Developer relevant links. These will show up on right side of footer and in the community page if you have one. +[[params.links.developer]] + name = "GitHub" + url = "https://github.com/apache/horaedb" + icon = "fab fa-github" + desc = "Development takes place here!" +[[params.links.developer]] + name = "DingTalk" + url = "/images/dingtalk.jpg" + icon = "fa-regular fa-comments" + desc = "Chat with other project developers on DingTalk" +[[params.links.developer]] + name = "Developer mailing list" + url = "mailto:dev-subscr...@horaedb.apache.org" + icon = "fa fa-envelope" + desc = "Discuss development issues around the project" + +[params.copyright] + authors = """The Apache Software Foundation, Licensed under the Apache License, Version 2.0. + +Apache, the names of Apache projects, and the feather logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.""" + from_year = 2023 + +[params.ui] +navbar_logo = false +sidebar_menu_compact = true +ul_show = 1 +sidebar_menu_foldable = true +showLightDarkModeMenu = true diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..992d6ff --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,11 @@ +<footer class="td-footer row d-print-none"> + <div class="container-fluid"> + <div class="row mx-md-2"> + <div class="td-footer__center"> + Apache HoraeDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the [...] + + {{ partial "footer/center.html" . }} + </div> + </div> + </div> +</footer> diff --git a/docs/src/resources/config-horaedb-cluster0.toml b/static/config-horaedb-cluster0.toml similarity index 100% rename from docs/src/resources/config-horaedb-cluster0.toml rename to static/config-horaedb-cluster0.toml diff --git a/docs/src/resources/config-horaedb-cluster1.toml b/static/config-horaedb-cluster1.toml similarity index 100% rename from docs/src/resources/config-horaedb-cluster1.toml rename to static/config-horaedb-cluster1.toml diff --git a/docs/src/resources/config-horaemeta-cluster0.toml b/static/config-horaemeta-cluster0.toml similarity index 100% rename from docs/src/resources/config-horaemeta-cluster0.toml rename to static/config-horaemeta-cluster0.toml diff --git a/docs/src/resources/config-horaemeta-cluster1.toml b/static/config-horaemeta-cluster1.toml similarity index 100% rename from docs/src/resources/config-horaemeta-cluster1.toml rename to static/config-horaemeta-cluster1.toml diff --git a/docs/src/resources/config-horaemeta-cluster2.toml b/static/config-horaemeta-cluster2.toml similarity index 100% rename from docs/src/resources/config-horaemeta-cluster2.toml rename to static/config-horaemeta-cluster2.toml diff --git a/docs/src/resources/config-horaemeta-standalone.toml b/static/config-horaemeta-standalone.toml similarity index 100% rename from docs/src/resources/config-horaemeta-standalone.toml rename to static/config-horaemeta-standalone.toml diff --git a/docs/src/resources/config_kafka_oss.toml b/static/config_kafka_oss.toml similarity index 100% rename from docs/src/resources/config_kafka_oss.toml rename to static/config_kafka_oss.toml diff --git a/docs/src/resources/config_local_oss.toml b/static/config_local_oss.toml similarity index 100% rename from docs/src/resources/config_local_oss.toml rename to static/config_local_oss.toml diff --git a/docs/src/resources/config_obkv_oss.toml b/static/config_obkv_oss.toml similarity index 100% rename from docs/src/resources/config_obkv_oss.toml rename to static/config_obkv_oss.toml diff --git a/docs/src/resources/grafana-dashboard.json b/static/grafana-dashboard.json similarity index 100% rename from docs/src/resources/grafana-dashboard.json rename to static/grafana-dashboard.json diff --git a/static/dingtalk.jpg b/static/images/dingtalk.jpg similarity index 100% rename from static/dingtalk.jpg rename to static/images/dingtalk.jpg diff --git a/docs/src/resources/images/grafana-dashboard.png b/static/images/grafana-dashboard.png similarity index 100% rename from docs/src/resources/images/grafana-dashboard.png rename to static/images/grafana-dashboard.png diff --git a/docs/src/resources/images/grafana-datasource.png b/static/images/grafana-datasource.png similarity index 100% rename from docs/src/resources/images/grafana-datasource.png rename to static/images/grafana-datasource.png diff --git a/docs/src/resources/images/grafana-horaedb-dashboard.png b/static/images/grafana-horaedb-dashboard.png similarity index 100% rename from docs/src/resources/images/grafana-horaedb-dashboard.png rename to static/images/grafana-horaedb-dashboard.png diff --git a/static/images/horaedb-banner-white-small.jpg b/static/images/horaedb-banner-white-small.jpg new file mode 100644 index 0000000..ee317db Binary files /dev/null and b/static/images/horaedb-banner-white-small.jpg differ diff --git a/docs/src/resources/images/storage-overview.svg b/static/images/storage-overview.svg similarity index 100% rename from docs/src/resources/images/storage-overview.svg rename to static/images/storage-overview.svg diff --git a/static/images/weixin-mp.jpg b/static/images/weixin-mp.jpg new file mode 100644 index 0000000..c14dc03 Binary files /dev/null and b/static/images/weixin-mp.jpg differ --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@horaedb.apache.org For additional commands, e-mail: commits-h...@horaedb.apache.org