From 3f1af45d2ec1546cc70948c5b5c6dab8febea79e Mon Sep 17 00:00:00 2001 From: "Mingyu Chen (Rayner)" Date: Wed, 13 May 2026 21:32:05 -0700 Subject: [PATCH 1/6] [refactor] retire legacy docs/ current tree and clean up dead hooks Dev docs migrated to the docs-next plugin and the legacy plugin runs with includeCurrentVersion: false, so docs/ and i18n/zh-CN/.../current/ were no longer being compiled. Remove the source trees plus all the CI / governance / i18n hooks that still referenced them. Deletions: - docs/ (1504 files), i18n/zh-CN/docusaurus-plugin-content-docs/current/ (1518 files), and current.json - sidebars.ts (legacy plugin sidebar; unused under includeCurrentVersion: false) - .github/workflows/check-legacy-docs-frozen.yml (legacy-only gate) - crowdin.yml (dead config; no workflow invokes Crowdin and target i18n/ja does not exist) - tools/maintainers.json + tools/check_review.py + .github/workflows/approve-check.yml (dormant maintainer-approval gate; the workflow was entirely commented out) Updates: - docusaurus.config.js: drop sidebarPath for the legacy plugin - .github/workflows/build-check.yml: drop dead docs/* / zh-current / sidebars.ts case branches - .github/workflows/manual-i18n-translate-workflow.yaml: default source_dir docs -> docs-next - .docs-governance/rules.yml + owners.yml: drop 'current' version, the docs / zh-current content roots, related doc_type / sync_policy entries, and legacy paths in each owner block - scripts/docs-governance/{manifest,lint-i18n-sync}.js: drop legacy current branches from path resolution; STRONG_SYNC_VERSIONS no longer includes 'current' - local_build_docs.sh: stop populating legacy current dirs; only the versioned_docs reimport remains Co-Authored-By: Claude Opus 4.7 (1M context) --- .docs-governance/owners.yml | 19 - .docs-governance/rules.yml | 44 +- .github/workflows/approve-check.yml | 43 - .github/workflows/build-check.yml | 19 - .../workflows/check-legacy-docs-frozen.yml | 55 - .../manual-i18n-translate-workflow.yaml | 2 +- crowdin.yml | 3 - docs/admin-manual/audit-plugin.md | 70 - .../auth/authentication-and-authorization.md | 392 -- .../auth/authentication/internal.md | 150 - docs/admin-manual/auth/authentication/ldap.md | 326 -- docs/admin-manual/auth/authorization/data.md | 57 - .../auth/authorization/internal.md | 115 - .../admin-manual/auth/authorization/ranger.md | 354 -- docs/admin-manual/auth/certificate.md | 174 - docs/admin-manual/auth/encryption-function.md | 21 - docs/admin-manual/auth/fe-certificate.md | 24 - .../aws-authentication-and-authorization.md | 597 --- .../auth/integrations/aws-iam-role.md | 82 - docs/admin-manual/auth/security-overview.md | 33 - .../cluster-management/elastic-expansion.md | 126 - docs/admin-manual/cluster-management/fqdn.md | 79 - .../cluster-management/load-balancing.md | 595 --- .../cluster-management/time-zone.md | 255 -- .../cluster-management/upgrade.md | 227 -- docs/admin-manual/config/be-config.md | 1380 ------- docs/admin-manual/config/config-dir.md | 27 - docs/admin-manual/config/fe-config.md | 2769 -------------- docs/admin-manual/config/user-property.md | 55 - .../data-admin/backup-restore/backup.md | 245 -- .../data-admin/backup-restore/overview.md | 70 - .../data-admin/backup-restore/restore.md | 130 - docs/admin-manual/data-admin/ccr/config.md | 46 - docs/admin-manual/data-admin/ccr/feature.md | 256 -- docs/admin-manual/data-admin/ccr/manual.md | 336 -- docs/admin-manual/data-admin/ccr/overview.md | 96 - .../data-admin/ccr/performance.md | 60 - .../admin-manual/data-admin/ccr/quickstart.md | 82 - docs/admin-manual/data-admin/overview.md | 50 - docs/admin-manual/data-admin/recyclebin.md | 48 - docs/admin-manual/log-management/be-log.md | 139 - docs/admin-manual/log-management/fe-log.md | 174 - .../maint-monitor/automatic-service-start.md | 329 -- .../maint-monitor/disk-capacity.md | 151 - docs/admin-manual/maint-monitor/metrics.md | 333 -- .../maint-monitor/monitor-alert.md | 288 -- .../tablet-repair-and-balance.md | 787 ---- docs/admin-manual/open-api/be-http/be-vlog.md | 42 - .../open-api/be-http/check-rpc-channel.md | 53 - .../open-api/be-http/check-tablet-segment.md | 54 - .../admin-manual/open-api/be-http/checksum.md | 46 - .../open-api/be-http/compaction-run.md | 151 - .../open-api/be-http/compaction-status.md | 94 - docs/admin-manual/open-api/be-http/config.md | 89 - .../admin-manual/open-api/be-http/download.md | 41 - docs/admin-manual/open-api/be-http/health.md | 39 - docs/admin-manual/open-api/be-http/meta.md | 55 - docs/admin-manual/open-api/be-http/metrics.md | 49 - .../open-api/be-http/pad-rowset.md | 50 - .../open-api/be-http/reset-rpc-channel.md | 49 - .../admin-manual/open-api/be-http/snapshot.md | 44 - .../open-api/be-http/tablet-distribution.md | 74 - .../open-api/be-http/tablet-info.md | 59 - .../open-api/be-http/tablet-migration.md | 93 - .../open-api/be-http/tablet-reload.md | 47 - .../open-api/be-http/tablet-restore.md | 47 - .../open-api/be-http/version-info.md | 57 - .../open-api/fe-http/backends-action.md | 52 - .../open-api/fe-http/bootstrap-action.md | 106 - .../open-api/fe-http/cancel-load-action.md | 84 - .../fe-http/check-decommission-action.md | 66 - .../fe-http/check-storage-type-action.md | 66 - .../open-api/fe-http/cluster-action.md | 71 - .../open-api/fe-http/colocate-meta-action.md | 41 - .../open-api/fe-http/config-action.md | 67 - .../open-api/fe-http/connection-action.md | 64 - .../open-api/fe-http/debug-point-action.md | 322 -- .../open-api/fe-http/extra-basepath-action.md | 40 - .../fe-http/fe-version-info-action.md | 83 - .../open-api/fe-http/get-ddl-stmt-action.md | 74 - .../open-api/fe-http/get-load-info-action.md | 76 - .../open-api/fe-http/get-load-state.md | 76 - .../open-api/fe-http/get-log-file-action.md | 94 - .../open-api/fe-http/get-small-file.md | 84 - .../open-api/fe-http/get-wal-size-action.md | 74 - .../open-api/fe-http/ha-action.md | 77 - .../open-api/fe-http/hardware-info-action.md | 61 - .../open-api/fe-http/health-action.md | 43 - .../open-api/fe-http/help-action.md | 43 - .../open-api/fe-http/import-action.md | 35 - .../open-api/fe-http/log-action.md | 80 - .../open-api/fe-http/login-action.md | 52 - .../open-api/fe-http/logout-action.md | 41 - .../open-api/fe-http/meta-action.md | 46 - .../open-api/fe-http/meta-info-action-V2.md | 56 - .../open-api/fe-http/meta-info-action.md | 216 -- .../fe-http/meta-replay-state-action.md | 43 - .../open-api/fe-http/metrics-action.md | 37 - .../open-api/fe-http/node-action.md | 738 ---- .../open-api/fe-http/profile-action.md | 177 - .../open-api/fe-http/query-detail-action.md | 98 - .../query-profile-action-controller.md | 91 - .../open-api/fe-http/query-profile-action.md | 579 --- .../open-api/fe-http/query-schema-action.md | 90 - .../open-api/fe-http/query-stats-action.md | 77 - .../open-api/fe-http/row-count-action.md | 66 - .../open-api/fe-http/session-action.md | 102 - .../open-api/fe-http/set-config-action.md | 132 - .../open-api/fe-http/show-data-action.md | 93 - .../open-api/fe-http/show-meta-info-action.md | 120 - .../open-api/fe-http/show-proc-action.md | 86 - .../fe-http/show-runtime-info-action.md | 66 - .../fe-http/show-table-data-action.md | 145 - .../fe-http/statement-execution-action.md | 84 - .../open-api/fe-http/statistic-action.md | 40 - .../open-api/fe-http/system-action.md | 75 - .../fe-http/table-query-plan-action.md | 95 - .../fe-http/table-row-count-action.md | 70 - .../open-api/fe-http/table-schema-action.md | 137 - .../open-api/fe-http/upload-action.md | 141 - docs/admin-manual/open-api/overview.md | 33 - .../information_schema/active_queries.md | 32 - .../backend_active_tasks.md | 34 - .../backend_configuration.md | 27 - .../information_schema/backend_metrics.md | 27 - .../information_schema/backend_tablets.md | 59 - .../catalog_meta_cache_statistics.md | 65 - .../information_schema/character_sets.md | 26 - .../information_schema/collations.md | 28 - .../information_schema/column_privileges.md | 29 - .../information_schema/column_statistics.md | 29 - .../information_schema/columns.md | 46 - .../information_schema/engines.md | 29 - .../information_schema/events.md | 46 - .../file_cache_statistics.md | 96 - .../system-tables/information_schema/files.md | 60 - .../information_schema/frontend_metrics.md | 26 - .../information_schema/global_variables.md | 26 - .../information_schema/key_column_usage.md | 34 - .../information_schema/metadata_name_ids.md | 28 - .../information_schema/parameters.md | 38 - .../information_schema/partitions.md | 61 - .../information_schema/processlist.md | 36 - .../information_schema/profiling.md | 40 - .../referential_constraints.md | 33 - .../information_schema/routine_load_job.md | 69 - .../information_schema/routines.md | 45 - .../information_schema/rowsets.md | 35 - .../information_schema/schema_privileges.md | 27 - .../information_schema/schemata.md | 28 - .../information_schema/session_variables.md | 26 - .../information_schema/statistics.md | 38 - .../information_schema/table_constraints.md | 28 - .../information_schema/table_options.md | 31 - .../information_schema/table_privileges.md | 28 - .../information_schema/table_properties.md | 27 - .../information_schema/tables.md | 43 - .../information_schema/triggers.md | 43 - .../information_schema/user_privileges.md | 26 - .../system-tables/information_schema/views.md | 32 - .../workload_group_privileges.md | 26 - .../workload_group_resource_usage.md | 28 - .../information_schema/workload_groups.md | 39 - .../information_schema/workload_policy.md | 30 - .../internal_schema/audit_log.md | 63 - .../internal_schema/column_statistics.md | 39 - .../internal_schema/partition_statistics.md | 36 - .../system-tables/mysql/props_priv.md | 30 - docs/admin-manual/system-tables/mysql/user.md | 55 - docs/admin-manual/system-tables/overview.md | 37 - .../trouble-shooting/compaction-principles.md | 137 - .../trouble-shooting/compaction.md | 101 - .../trouble-shooting/frontend-lock-manager.md | 102 - .../doris-cache-memory-analysis.md | 131 - .../memory-analysis/global-memory-analysis.md | 70 - .../heap-profile-memory-analysis.md | 25 - .../jemalloc-memory-analysis.md | 109 - .../memory-analysis/load-memory-analysis.md | 33 - .../memory-analysis/memory-log-analysis.md | 76 - .../metadata-memory-analysis.md | 52 - .../memory-analysis/oom-crash-analysis.md | 61 - ...cancelled-after-process-memory-exceeded.md | 95 - ...y-cancelled-after-query-memory-exceeded.md | 49 - .../memory-analysis/query-memory-analysis.md | 122 - .../memory-feature/memory-control-strategy.md | 79 - .../memory-feature/memory-tracker.md | 91 - .../memory-management/memory-issue-faq.md | 85 - .../memory-management/overview.md | 149 - .../trouble-shooting/metadata-operation.md | 331 -- .../trouble-shooting/repairing-data.md | 36 - .../trouble-shooting/tablet-local-debug.md | 206 - .../trouble-shooting/tablet-meta-tool.md | 129 - .../workload-management/analysis-diagnosis.md | 122 - .../workload-management/compute-group.md | 135 - .../concurrency-control-and-queuing.md | 86 - .../workload-management/job-scheduler.md | 222 -- .../workload-management/kill-query.md | 156 - .../query-progress-monitor.md | 206 - .../workload-management/resource-group.md | 165 - .../workload-management/spill-disk.md | 276 -- .../workload-management/sql-blocking.md | 301 -- .../workload-group-bind-compute-group.md | 75 - .../workload-management/workload-group.md | 723 ---- .../workload-management-summary.md | 47 - docs/ai/ai-function-overview.md | 286 -- docs/ai/ai-overview.md | 124 - docs/ai/text-search/custom-analyzer.md | 411 -- docs/ai/text-search/custom-normalizer.md | 108 - docs/ai/text-search/overview.md | 272 -- docs/ai/text-search/scoring.md | 117 - docs/ai/text-search/search-function.md | 346 -- docs/ai/text-search/search-operators.md | 119 - docs/ai/vector-search/behind-index.md | 241 -- docs/ai/vector-search/hnsw.md | 392 -- docs/ai/vector-search/index-management.md | 282 -- docs/ai/vector-search/ivf-on-disk.md | 147 - docs/ai/vector-search/ivf.md | 366 -- docs/ai/vector-search/overview.md | 414 -- .../vector-search/performance-large-scale.md | 171 - docs/ai/vector-search/performance.md | 77 - docs/ai/vector-search/practical-guide.md | 285 -- docs/ai/vector-search/quantization-survey.md | 212 -- docs/ai/vector-search/resource-estimation.md | 154 - docs/benchmark/ssb.md | 371 -- docs/benchmark/tpcds.md | 263 -- docs/benchmark/tpch.md | 851 ----- .../before-deployment.md | 129 - .../compilation-and-deployment.md | 310 -- .../file-cache/file-cache-internals.md | 117 - .../file-cache/file-cache.md | 370 -- .../managing-compute-cluster.md | 224 -- .../managing-storage-vault.md | 233 -- docs/compute-storage-decoupled/overview.md | 83 - docs/compute-storage-decoupled/recycler.md | 286 -- ...le-cache-rw-compute-group-best-practice.md | 172 - .../rw/read-write-separation.md | 197 - docs/compute-storage-decoupled/upgrade.md | 230 -- docs/data-operate/delete/atomicity-replace.md | 46 - .../delete/batch-delete-manual.md | 178 - docs/data-operate/delete/delete-manual.md | 193 - docs/data-operate/delete/delete-overview.md | 64 - .../delete/table-temp-partition.md | 219 -- docs/data-operate/delete/truncate-manual.md | 44 - .../export/export-best-practice.md | 100 - docs/data-operate/export/export-manual.md | 392 -- docs/data-operate/export/export-overview.md | 126 - .../export/export-with-mysql-dump.md | 32 - docs/data-operate/export/outfile.md | 291 -- .../import/complex-types/array.md | 123 - .../import/complex-types/bitmap.md | 130 - docs/data-operate/import/complex-types/hll.md | 72 - .../data-operate/import/complex-types/json.md | 135 - docs/data-operate/import/complex-types/map.md | 123 - .../import/complex-types/struct.md | 133 - .../import/complex-types/variant.md | 237 -- .../import/data-source/aliyun-oss.md | 188 - .../import/data-source/amazon-s3.md | 173 - .../import/data-source/aws-msk.md | 170 - .../import/data-source/azure-storage.md | 186 - .../import/data-source/bigquery.md | 209 - docs/data-operate/import/data-source/flink.md | 66 - .../data-source/google-cloud-storage.md | 176 - docs/data-operate/import/data-source/hdfs.md | 168 - .../import/data-source/huawei-obs.md | 172 - docs/data-operate/import/data-source/kafka.md | 411 -- .../import/data-source/local-file.md | 169 - .../migrate-data-from-other-olap.md | 23 - .../migrate-data-from-other-oltp.md | 163 - docs/data-operate/import/data-source/minio.md | 191 - docs/data-operate/import/data-source/mysql.md | 248 -- .../import/data-source/postgresql.md | 250 -- .../import/data-source/redshift.md | 209 - .../import/data-source/s3-compatible.md | 178 - .../import/data-source/snowflake.md | 213 -- .../import/data-source/tencent-cos.md | 172 - docs/data-operate/import/file-format/csv.md | 462 --- docs/data-operate/import/file-format/json.md | 441 --- .../data-operate/import/file-format/native.md | 58 - docs/data-operate/import/file-format/orc.md | 62 - .../import/file-format/parquet.md | 61 - .../import/group-commit-manual.md | 759 ---- .../import/handling-messy-data.md | 201 - .../import/import-way/broker-load-manual.md | 856 ----- .../import/import-way/insert-into-manual.md | 383 -- .../import-way/insert-into-values-manual.md | 273 -- .../import/import-way/log-storage-analysis.md | 571 --- .../import/import-way/mysql-load-manual.md | 251 -- .../import/import-way/routine-load-manual.md | 1853 --------- .../import/import-way/stream-load-manual.md | 1029 ----- .../import/load-best-practices.md | 44 - docs/data-operate/import/load-data-convert.md | 1144 ------ .../import/load-high-availability.md | 105 - .../import/load-internals/load-internals.md | 214 -- .../load-internals/routine-load-internals.md | 166 - .../stream-load-in-complex-network.md | 134 - docs/data-operate/import/load-manual.md | 58 - .../continuous-load-mysql-database.md | 131 - .../continuous-load-mysql-table.md | 81 - .../streaming-job/continuous-load-overview.md | 165 - .../continuous-load-postgresql-database.md | 105 - .../continuous-load-postgresql-table.md | 83 - .../streaming-job/continuous-load-s3.md | 129 - .../prerequisites/amazon-aurora-mysql.md | 81 - .../prerequisites/amazon-aurora-postgresql.md | 81 - .../prerequisites/amazon-rds-mysql.md | 81 - .../prerequisites/amazon-rds-postgresql.md | 85 - .../images/mysql-binlog-setting.png | Bin 152513 -> 0 bytes .../prerequisites/images/pgwalsetting.png | Bin 141662 -> 0 bytes docs/data-operate/transaction.md | 489 --- .../multi-stream-update-for-unique-model.md | 261 -- .../update/partial-column-update.md | 424 --- .../unique-update-concurrent-control.md | 251 -- docs/data-operate/update/unique-update-sql.md | 123 - .../update/update-of-aggregate-model.md | 17 - .../update/update-of-unique-model.md | 17 - docs/data-operate/update/update-overview.md | 254 -- docs/db-connect/arrow-flight-sql-connect.md | 715 ---- docs/db-connect/database-connect.md | 96 - docs/ecosystem/automq-load.md | 111 - docs/ecosystem/bi/apache-superset.md | 131 - docs/ecosystem/bi/clouddm.md | 62 - docs/ecosystem/bi/datagrip.md | 71 - docs/ecosystem/bi/dbeaver.md | 104 - docs/ecosystem/bi/finebi.md | 77 - docs/ecosystem/bi/metabase.md | 270 -- docs/ecosystem/bi/powerbi.md | 188 - docs/ecosystem/bi/quickbi.md | 28 - docs/ecosystem/bi/quicksight.md | 131 - docs/ecosystem/bi/smartbi.md | 37 - docs/ecosystem/bi/tableau-back.md | 142 - docs/ecosystem/bi/tableau.md | 113 - docs/ecosystem/cloudcanal.md | 64 - docs/ecosystem/datax.md | 327 -- docs/ecosystem/dbt-doris-adapter.md | 505 --- .../doris-kafka-connector.md | 592 --- .../doris-kafka-connector/release-notes.md | 53 - .../doris-operator/doris-operator-overview.md | 75 - docs/ecosystem/doris-operator/on-alibaba.md | 140 - docs/ecosystem/doris-operator/on-aws.md | 78 - docs/ecosystem/doris-streamloader.md | 224 -- .../flink-doris-connector.md | 1160 ------ .../flink-doris-connector/release-notes.md | 74 - docs/ecosystem/hive-bitmap-udf.md | 142 - docs/ecosystem/hive-hll-udf.md | 227 -- docs/ecosystem/kettle.md | 61 - docs/ecosystem/kyuubi.md | 96 - docs/ecosystem/observability/beats.md | 358 -- docs/ecosystem/observability/fluentbit.md | 353 -- docs/ecosystem/observability/langfuse.md | 331 -- docs/ecosystem/observability/logstash.md | 411 -- .../ecosystem/observability/loongcollector.md | 347 -- docs/ecosystem/observability/opentelemetry.md | 372 -- docs/ecosystem/observability/vector.md | 470 --- docs/ecosystem/seatunnel.md | 305 -- .../spark-doris-connector/release-notes.md | 74 - .../spark-doris-connector.md | 598 --- docs/ecosystem/spark-load.md | 418 -- docs/faq/bi-faq.md | 47 - docs/faq/correctness-faq.md | 31 - docs/faq/data-faq.md | 164 - docs/faq/install-faq.md | 313 -- docs/faq/lakehouse-faq.md | 483 --- docs/faq/load-faq.md | 122 - docs/faq/sql-faq.md | 83 - .../alternative-to-clickhouse.mdx | 307 -- .../alternative-to-elasticsearch.mdx | 219 -- .../alternatives/alternative-to-trino.mdx | 185 - .../alternatives/demo-block/demo-block.css | 375 -- .../alternatives/demo-block/latest.tsx | 62 - .../alternatives/demo-block/page-hero-1.tsx | 60 - .../alternatives/demo-block/page-hero-2.tsx | 60 - .../alternatives/demo-block/page-hero.tsx | 60 - .../before-you-start-the-poc.md | 180 - docs/gettingStarted/quick-start.mdx | 268 -- docs/gettingStarted/what-is-apache-doris.md | 144 - ...egrated-storage-compute-deploy-manually.md | 302 -- ...arating-storage-compute-deploy-manually.md | 343 -- docs/install/deploy-on-cloud/doris-on-aws.md | 108 - .../access-cluster.md | 108 - .../cluster-operation.md | 341 -- .../install-config-cluster.md | 885 ----- .../install-doris-cluster.md | 43 - .../install-doris-operator.md | 40 - .../separating-storage-compute/config-cg.md | 214 -- .../config-cluster.md | 238 -- .../separating-storage-compute/config-fe.md | 275 -- .../separating-storage-compute/config-ms.md | 122 - .../install-doris-cluster.md | 145 - .../separating-storage-compute/install-fdb.md | 148 - docs/install/preparation/cluster-planning.md | 52 - docs/install/preparation/env-checking.md | 122 - docs/install/preparation/os-checking.md | 131 - .../best-practices/doris-aws-s3tables.md | 203 - .../best-practices/doris-dlf-iceberg.md | 120 - .../best-practices/doris-dlf-paimon.md | 151 - .../best-practices/doris-gravitino.md | 307 -- docs/lakehouse/best-practices/doris-hudi.md | 294 -- .../lakehouse/best-practices/doris-iceberg.md | 561 --- .../best-practices/doris-lakekeeper.md | 409 -- .../best-practices/doris-maxcompute.md | 237 -- docs/lakehouse/best-practices/doris-nessie.md | 367 -- .../lakehouse/best-practices/doris-onelake.md | 283 -- docs/lakehouse/best-practices/doris-paimon.md | 251 -- .../lakehouse/best-practices/doris-polaris.md | 383 -- .../best-practices/doris-unity-catalog.md | 173 - docs/lakehouse/best-practices/kerberos.md | 350 -- docs/lakehouse/best-practices/optimization.md | 147 - docs/lakehouse/best-practices/tpcds.md | 159 - docs/lakehouse/best-practices/tpch.md | 128 - docs/lakehouse/catalog-overview.md | 362 -- docs/lakehouse/catalogs/bigquery-catalog.md | 171 - docs/lakehouse/catalogs/delta-lake-catalog.md | 168 - docs/lakehouse/catalogs/doris-catalog.mdx | 288 -- docs/lakehouse/catalogs/es-catalog.md | 569 --- docs/lakehouse/catalogs/hive-catalog.mdx | 1176 ------ docs/lakehouse/catalogs/hudi-catalog.md | 285 -- docs/lakehouse/catalogs/iceberg-catalog.mdx | 3219 ---------------- .../catalogs/jdbc-catalog-overview.md | 465 --- .../catalogs/jdbc-clickhouse-catalog.md | 91 - .../lakehouse/catalogs/jdbc-ibmdb2-catalog.md | 82 - docs/lakehouse/catalogs/jdbc-mysql-catalog.md | 291 -- .../catalogs/jdbc-oceanbase-catalog.md | 46 - .../lakehouse/catalogs/jdbc-oracle-catalog.md | 76 - docs/lakehouse/catalogs/jdbc-pg-catalog.md | 111 - .../catalogs/jdbc-saphana-catalog.md | 71 - .../catalogs/jdbc-sqlserver-catalog.md | 119 - docs/lakehouse/catalogs/kafka-catalog.md | 358 -- docs/lakehouse/catalogs/kudu-catalog.md | 174 - docs/lakehouse/catalogs/maxcompute-catalog.md | 528 --- docs/lakehouse/catalogs/paimon-catalog.mdx | 1334 ------- docs/lakehouse/compute-node.md | 96 - docs/lakehouse/data-cache.md | 371 -- docs/lakehouse/file-analysis.md | 355 -- docs/lakehouse/file-formats/lance.md | 98 - docs/lakehouse/file-formats/orc.md | 66 - docs/lakehouse/file-formats/parquet.md | 60 - docs/lakehouse/file-formats/text.md | 84 - docs/lakehouse/huggingface.md | 129 - docs/lakehouse/lakehouse-overview.md | 157 - docs/lakehouse/meta-cache.md | 365 -- docs/lakehouse/metastores/aliyun-dlf.md | 92 - docs/lakehouse/metastores/aws-glue.md | 248 -- docs/lakehouse/metastores/filesystem.md | 11 - .../metastores/google-dataproc-metastore.md | 13 - docs/lakehouse/metastores/hive-metastore.md | 255 -- docs/lakehouse/metastores/iceberg-jdbc.md | 110 - docs/lakehouse/metastores/iceberg-rest.md | 200 - docs/lakehouse/metastores/paimon-jdbc.md | 74 - docs/lakehouse/statistics.md | 15 - docs/lakehouse/storages/aliyun-oss.md | 121 - docs/lakehouse/storages/azure-blob.md | 80 - docs/lakehouse/storages/baidu-bos.md | 10 - docs/lakehouse/storages/gcs.md | 14 - docs/lakehouse/storages/hdfs.md | 221 -- docs/lakehouse/storages/huawei-obs.md | 60 - docs/lakehouse/storages/juicefs.md | 97 - docs/lakehouse/storages/minio.md | 62 - docs/lakehouse/storages/ozone.md | 69 - docs/lakehouse/storages/s3.md | 264 -- docs/lakehouse/storages/tencent-cos.md | 56 - docs/observability/log.md | 488 --- docs/observability/overview.mdx | 159 - docs/observability/trace.md | 233 -- docs/query-acceleration/colocation-join.md | 408 -- docs/query-acceleration/condition-cache.md | 118 - docs/query-acceleration/dictionary.md | 661 ---- .../bitmap-precise-deduplication.md | 162 - .../hll-approximate-deduplication.md | 169 - .../high-concurrent-point-query.md | 187 - .../hints/distribute-hint.md | 120 - .../hints/hints-overview.md | 90 - docs/query-acceleration/hints/leading-hint.md | 489 --- .../async-materialized-view/faq.md | 494 --- .../functions-and-demands.md | 1314 ------- .../async-materialized-view/overview.md | 209 - .../async-materialized-view/use-advice.md | 144 - .../async-materialized-view/use-guide.md | 784 ---- .../materialized-view/overview.md | 55 - .../sync-materialized-view.md | 580 --- .../pipeline-execution-engine.md | 87 - .../query-optimizer.md | 53 - .../runtime-filter.md | 416 -- .../statistics.md | 484 --- .../topn-optimization.md | 140 - .../analysis-tools.md | 150 - .../diagnostic-tools.md | 118 - .../tuning-overview.md | 18 - .../tuning-process.md | 58 - docs/query-acceleration/query-cache.md | 231 -- docs/query-acceleration/query-profile.md | 440 --- docs/query-acceleration/sql-cache-manual.md | 221 -- .../adjustment-of-runtimefilter-wait-time.md | 101 - .../tuning-execution/data-skew-handling.md | 83 - .../tuning-execution/parallelism-tuning.md | 135 - .../tuning/tuning-parameters.md | 14 - .../accelerating-queries-with-sql-cache.md | 22 - .../tuning-plan/adjusting-join-shuffle.md | 81 - .../controlling-hints-with-cbo-rule.md | 69 - .../tuning/tuning-plan/dml-tuning-plan.md | 11 - .../optimizing-join-with-colocate-group.md | 15 - .../tuning-plan/optimizing-table-index.md | 81 - .../tuning-plan/optimizing-table-scanning.md | 66 - .../tuning-plan/optimizing-table-schema.md | 113 - .../reordering-join-with-leading-hint.md | 224 -- .../transparent-rewriting-with-async-mv.md | 150 - .../transparent-rewriting-with-sync-mv.md | 78 - docs/query-data/asof-join.md | 404 -- docs/query-data/complex-type.md | 13 - docs/query-data/cte.md | 157 - docs/query-data/join.md | 416 -- docs/query-data/lateral-view.md | 76 - .../query-data/multi-dimensional-analytics.md | 536 --- docs/query-data/mysql-compatibility.md | 270 -- docs/query-data/subquery.md | 317 -- docs/query-data/udf/alias-function.md | 53 - .../udf/java-user-defined-function.md | 564 --- .../udf/python-user-defined-function.md | 3378 ----------------- docs/query-data/window-function.md | 710 ---- docs/sql-manual/basic-element/comments.md | 34 - .../basic-element/file-path-pattern.md | 309 -- .../basic-element/literal/date-literal.md | 64 - .../basic-element/literal/numeric-literal.md | 33 - .../basic-element/literal/string-literal.md | 48 - docs/sql-manual/basic-element/nulls.md | 67 - .../basic-element/object-identifiers.md | 59 - .../operators/arithmetic-operators.mdx | 104 - .../operators/assignment-operators.md | 17 - .../operators/bitwise-operators.md | 22 - .../boolean-testing-operators.md | 19 - .../comparison-operators.md | 22 - .../conditional-operators/exists-operators.md | 17 - .../full-text-search-operators.md | 28 - .../conditional-operators/in-operators.md | 18 - .../logical-operators.md | 43 - .../pattern-matching-operators.md | 91 - .../operators/operator-precedence.md | 30 - .../basic-element/reserved-keywords.md | 190 - .../sql-data-types/aggregate/AGG-STATE.md | 83 - .../sql-data-types/aggregate/BITMAP.md | 56 - .../sql-data-types/aggregate/HLL.md | 31 - .../aggregate/QUANTILE-STATE.md | 57 - .../sql-data-types/binary-type/VARBINARY.md | 20 - .../conversion/array-conversion.md | 144 - .../conversion/boolean-conversion.md | 142 - .../sql-data-types/conversion/cast-expr.md | 126 - .../conversion/cast-to-string.md | 376 -- .../conversion/date-conversion.md | 492 --- .../conversion/datetime-conversion.md | 620 --- .../conversion/decimal-conversion.md | 275 -- .../conversion/float-double-conversion.md | 353 -- .../conversion/int-conversion.md | 335 -- .../conversion/ip-conversion.md | 236 -- .../conversion/json-conversion.md | 382 -- .../conversion/map-conversion.md | 145 - .../sql-data-types/conversion/overview.md | 110 - .../conversion/struct-conversion.md | 248 -- .../conversion/time-conversion.md | 322 -- .../conversion/timestamptz-conversion.md | 132 - .../sql-data-types/data-type-overview.md | 104 - .../sql-data-types/date-time/DATE.md | 51 - .../sql-data-types/date-time/DATETIME.md | 61 - .../sql-data-types/date-time/TIME.md | 49 - .../sql-data-types/date-time/TIMESTAMPTZ.md | 122 - .../basic-element/sql-data-types/ip/IPV4.md | 60 - .../basic-element/sql-data-types/ip/IPV6.md | 58 - .../sql-data-types/numeric/BIGINT.md | 15 - .../sql-data-types/numeric/BOOLEAN.md | 87 - .../sql-data-types/numeric/DECIMAL.md | 911 ----- .../sql-data-types/numeric/FLOATING-POINT.md | 192 - .../sql-data-types/numeric/INT.md | 15 - .../sql-data-types/numeric/LARGEINT.md | 15 - .../sql-data-types/numeric/SMALLINT.md | 15 - .../sql-data-types/numeric/TINYINT.md | 15 - .../sql-data-types/semi-structured/ARRAY.md | 330 -- .../sql-data-types/semi-structured/GEO.md | 398 -- .../sql-data-types/semi-structured/JSON.md | 1233 ------ .../sql-data-types/semi-structured/MAP.md | 224 -- .../sql-data-types/semi-structured/STRUCT.md | 228 -- .../sql-data-types/semi-structured/VARIANT.md | 580 --- .../semi-structured/variant-workload-guide.md | 315 -- .../sql-data-types/string-type/CHAR.md | 19 - .../sql-data-types/string-type/STRING.md | 17 - .../sql-data-types/string-type/VARCHAR.md | 17 - docs/sql-manual/basic-element/variables.md | 209 - .../aggregate-functions/ai-agg.md | 130 - .../aggregate-functions/any-value.md | 113 - .../approx-count-distinct.md | 136 - .../aggregate-functions/array-agg.md | 72 - .../aggregate-functions/avg-weighted.md | 108 - .../sql-functions/aggregate-functions/avg.md | 175 - .../aggregate-functions/bitmap-agg.md | 101 - .../aggregate-functions/bitmap-intersect.md | 78 - .../aggregate-functions/bitmap-union-count.md | 70 - .../aggregate-functions/bitmap-union-int.md | 69 - .../aggregate-functions/bitmap-union.md | 68 - .../aggregate-functions/bool-and.md | 146 - .../aggregate-functions/bool-or.md | 147 - .../aggregate-functions/bool-xor.md | 147 - .../aggregate-functions/collect-list.md | 71 - .../aggregate-functions/collect-set.md | 71 - .../aggregate-functions/corr-welford.md | 89 - .../sql-functions/aggregate-functions/corr.md | 84 - .../aggregate-functions/count-by-enum.md | 144 - .../aggregate-functions/count.md | 112 - .../aggregate-functions/covar-samp.md | 80 - .../aggregate-functions/covar.md | 81 - .../group-array-intersect.md | 67 - .../aggregate-functions/group-array-union.md | 82 - .../aggregate-functions/group-bit-and.md | 68 - .../aggregate-functions/group-bit-or.md | 68 - .../aggregate-functions/group-bit-xor.md | 68 - .../aggregate-functions/group-bitmap-xor.md | 72 - .../aggregate-functions/group-concat.md | 119 - .../aggregate-functions/histogram.md | 136 - .../aggregate-functions/hll-raw-agg.md | 74 - .../aggregate-functions/hll-union-agg.md | 69 - .../aggregate-functions/intersect-count.md | 64 - .../sql-functions/aggregate-functions/kurt.md | 82 - .../aggregate-functions/linear-histogram.md | 84 - .../aggregate-functions/map-agg.md | 94 - .../aggregate-functions/max-by.md | 96 - .../sql-functions/aggregate-functions/max.md | 124 - .../aggregate-functions/median.md | 57 - .../aggregate-functions/min-by.md | 96 - .../sql-functions/aggregate-functions/min.md | 123 - .../percentile-approx-weighted.md | 111 - .../aggregate-functions/percentile-approx.md | 107 - .../aggregate-functions/percentile-array.md | 104 - .../aggregate-functions/percentile.md | 103 - .../percentile_reservoir.md | 90 - .../aggregate-functions/quantile-union.md | 93 - .../aggregate-functions/regr-avgx.md | 64 - .../aggregate-functions/regr-avgy.md | 64 - .../aggregate-functions/regr-count.md | 66 - .../aggregate-functions/regr-intercept.md | 64 - .../aggregate-functions/regr-r2.md | 75 - .../aggregate-functions/regr-slope.md | 64 - .../aggregate-functions/regr-sxx.md | 64 - .../aggregate-functions/regr-sxy.md | 64 - .../aggregate-functions/regr-syy.md | 64 - .../aggregate-functions/retention.md | 165 - .../sql-functions/aggregate-functions/sem.md | 106 - .../aggregate-functions/sequence-count.md | 187 - .../aggregate-functions/sequence-match.md | 184 - .../sql-functions/aggregate-functions/skew.md | 93 - .../aggregate-functions/stddev-samp.md | 60 - .../aggregate-functions/stddev.md | 65 - .../sql-functions/aggregate-functions/sum.md | 61 - .../sql-functions/aggregate-functions/sum0.md | 64 - .../aggregate-functions/topn-array.md | 79 - .../aggregate-functions/topn-weighted.md | 83 - .../sql-functions/aggregate-functions/topn.md | 79 - .../aggregate-functions/var-samp.md | 68 - .../aggregate-functions/variance.md | 65 - .../aggregate-functions/window-funnel.md | 286 -- .../sql-functions/ai-functions/ai-classify.md | 77 - .../sql-functions/ai-functions/ai-extract.md | 79 - .../sql-functions/ai-functions/ai-filter.md | 81 - .../ai-functions/ai-fixgrammar.md | 76 - .../sql-functions/ai-functions/ai-generate.md | 76 - .../sql-functions/ai-functions/ai-mask.md | 79 - .../ai-functions/ai-sentiment.md | 80 - .../ai-functions/ai-similarity.md | 86 - .../ai-functions/ai-summarize.md | 77 - .../ai-functions/ai-translate.md | 77 - .../distance-functions/cosine-distance.md | 42 - .../ai-functions/distance-functions/embed.md | 169 - .../inner-product-approximate.md | 87 - .../distance-functions/inner-product.md | 42 - .../distance-functions/l1-distance.md | 42 - .../l2-distance-approximate.md | 87 - .../distance-functions/l2-distance.md | 42 - .../sql-functions/ai-functions/overview.md | 164 - .../sql-functions/combinators/foreach.md | 59 - .../sql-functions/combinators/merge.md | 28 - .../sql-functions/combinators/state.md | 28 - .../sql-functions/combinators/union.md | 28 - .../array-functions/array-apply.md | 182 - .../array-functions/array-avg.md | 162 - .../array-functions/array-compact.md | 175 - .../array-functions/array-concat.md | 200 - .../array-functions/array-contains.md | 215 -- .../array-functions/array-contains_all.md | 66 - .../array-functions/array-count.md | 190 - .../array-functions/array-cross-product.md | 125 - .../array-functions/array-cum-sum.md | 181 - .../array-functions/array-difference.md | 180 - .../array-functions/array-distinct.md | 167 - .../array-functions/array-enumerate-uniq.md | 154 - .../array-functions/array-enumerate.md | 130 - .../array-functions/array-except.md | 220 -- .../array-functions/array-exists.md | 170 - .../array-functions/array-filter.md | 257 -- .../array-functions/array-first-index.md | 162 - .../array-functions/array-first.md | 159 - .../array-functions/array-flatten.md | 47 - .../array-functions/array-intersect.md | 147 - .../array-functions/array-join.md | 165 - .../array-functions/array-last-index.md | 159 - .../array-functions/array-last.md | 146 - .../array-functions/array-map.md | 151 - .../array-functions/array-match-all.md | 59 - .../array-functions/array-match-any.md | 66 - .../array-functions/array-max.md | 162 - .../array-functions/array-min.md | 162 - .../array-functions/array-popback.md | 144 - .../array-functions/array-popfront.md | 144 - .../array-functions/array-position.md | 168 - .../array-functions/array-product.md | 138 - .../array-functions/array-pushback.md | 161 - .../array-functions/array-pushfront.md | 157 - .../array-functions/array-range.md | 73 - .../array-functions/array-remove.md | 47 - .../array-functions/array-repeat.md | 83 - .../array-functions/array-reverse-sort.md | 44 - .../array-functions/array-reverse-split.md | 54 - .../array-functions/array-shuffle.md | 42 - .../array-functions/array-size.md | 37 - .../array-functions/array-slice.md | 56 - .../array-functions/array-sort.md | 194 - .../array-functions/array-sortby.md | 54 - .../array-functions/array-split.md | 54 - .../array-functions/array-sum.md | 73 - .../array-functions/array-union.md | 95 - .../array-functions/array-with-constant.md | 83 - .../array-functions/array-zip.md | 81 - .../scalar-functions/array-functions/array.md | 142 - .../array-functions/arrays-overlap.md | 155 - .../array-functions/countequal.md | 46 - .../binary-functions/from-base64-binary.md | 73 - .../binary-functions/from_hex.md | 73 - .../binary-functions/sub-binary.md | 109 - .../binary-functions/to-base64-binary.md | 56 - .../binary-functions/to_hex.md | 75 - .../bitmap-functions/bitmap-and-count.md | 79 - .../bitmap-functions/bitmap-and-not-count.md | 59 - .../bitmap-functions/bitmap-and-not.md | 83 - .../bitmap-functions/bitmap-and.md | 66 - .../bitmap-functions/bitmap-contains.md | 55 - .../bitmap-functions/bitmap-count.md | 54 - .../bitmap-functions/bitmap-empty.md | 51 - .../bitmap-functions/bitmap-from-array.md | 67 - .../bitmap-functions/bitmap-from-base64.md | 79 - .../bitmap-functions/bitmap-from-string.md | 92 - .../bitmap-functions/bitmap-has-all.md | 80 - .../bitmap-functions/bitmap-has-any.md | 68 - .../bitmap-functions/bitmap-hash.md | 84 - .../bitmap-functions/bitmap-hash64.md | 60 - .../bitmap-functions/bitmap-max.md | 76 - .../bitmap-functions/bitmap-min.md | 76 - .../bitmap-functions/bitmap-not.md | 75 - .../bitmap-functions/bitmap-or-count.md | 112 - .../bitmap-functions/bitmap-or.md | 144 - .../bitmap-functions/bitmap-remove.md | 65 - .../bitmap-subset-in-range.md | 95 - .../bitmap-functions/bitmap-subset-limit.md | 107 - .../bitmap-functions/bitmap-to-array.md | 94 - .../bitmap-functions/bitmap-to-base64.md | 101 - .../bitmap-functions/bitmap-to-string.md | 94 - .../bitmap-functions/bitmap-xor-count.md | 129 - .../bitmap-functions/bitmap-xor.md | 113 - .../bitmap-functions/sub-bitmap.md | 95 - .../bitmap-functions/to-bitmap.md | 107 - .../bitwise-functions/bit-length.md | 48 - .../bitwise-functions/bit-test.md | 58 - .../bitwise-functions/bitand.md | 49 - .../bitwise-functions/bitcount.md | 47 - .../bitwise-functions/bitnot.md | 47 - .../bitwise-functions/bitor.md | 49 - .../bitwise-functions/bitshiftleft.md | 48 - .../bitwise-functions/bitshiftright.md | 52 - .../scalar-functions/bitwise-functions/xor.md | 50 - .../conditional-functions/coalesce.md | 63 - .../conditional-functions/greatest.md | 78 - .../conditional-functions/if.md | 72 - .../conditional-functions/ifnull.md | 64 - .../conditional-functions/least.md | 79 - .../not-null-or-empty.md | 36 - .../conditional-functions/null-or-empty.md | 36 - .../conditional-functions/nullif.md | 63 - .../conditional-functions/overview.md | 88 - .../date-time-functions/add-time.md | 108 - .../date-time-functions/century.md | 61 - .../date-time-functions/convert-tz.md | 106 - .../date-time-functions/curdate.md | 40 - .../date-time-functions/curtime.md | 68 - .../date-time-functions/date-add.md | 222 -- .../date-time-functions/date-ceil.md | 158 - .../date-time-functions/date-floor.md | 124 - .../date-time-functions/date-format.md | 179 - .../date-time-functions/date-sub.md | 184 - .../date-time-functions/date-trunc.md | 126 - .../date-time-functions/date.md | 63 - .../date-time-functions/datediff.md | 79 - .../date-time-functions/day-ceil.md | 168 - .../date-time-functions/day-floor.md | 151 - .../date-time-functions/day.md | 66 - .../date-time-functions/dayname.md | 200 - .../date-time-functions/dayofweek.md | 74 - .../date-time-functions/dayofyear.md | 77 - .../date-time-functions/extract.md | 133 - .../date-time-functions/from-days.md | 63 - .../date-time-functions/from-iso8601-date.md | 115 - .../date-time-functions/from-microsecond.md | 79 - .../date-time-functions/from-millisecond.md | 80 - .../date-time-functions/from-second.md | 67 - .../date-time-functions/from-unixtime.md | 130 - .../date-time-functions/get-format.md | 114 - .../date-time-functions/hour-ceil.md | 167 - .../date-time-functions/hour-floor.md | 147 - .../date-time-functions/hour.md | 92 - .../date-time-functions/hours-add.md | 95 - .../date-time-functions/hours-diff.md | 85 - .../date-time-functions/hours-sub.md | 89 - .../date-time-functions/last-day.md | 77 - .../date-time-functions/makedate.md | 79 - .../date-time-functions/maketime.md | 100 - .../microsecond-timestamp.md | 82 - .../date-time-functions/microsecond.md | 88 - .../date-time-functions/microseconds-add.md | 86 - .../date-time-functions/microseconds-diff.md | 77 - .../date-time-functions/microseconds-sub.md | 85 - .../millisecond-timestamp.md | 91 - .../date-time-functions/milliseconds-add.md | 75 - .../date-time-functions/milliseconds-diff.md | 87 - .../date-time-functions/milliseconds-sub.md | 74 - .../date-time-functions/minute-ceil.md | 155 - .../date-time-functions/minute-floor.md | 149 - .../date-time-functions/minute.md | 76 - .../date-time-functions/minutes-add.md | 96 - .../date-time-functions/minutes-diff.md | 87 - .../date-time-functions/minutes-sub.md | 96 - .../date-time-functions/month-ceil.md | 155 - .../date-time-functions/month-floor.md | 149 - .../date-time-functions/month.md | 68 - .../date-time-functions/monthname.md | 194 - .../date-time-functions/months-add.md | 102 - .../date-time-functions/months-between.md | 105 - .../date-time-functions/months-diff.md | 110 - .../date-time-functions/months-sub.md | 102 - .../date-time-functions/next-day.md | 101 - .../date-time-functions/now.md | 52 - .../date-time-functions/period-add.md | 81 - .../date-time-functions/period-diff.md | 63 - .../date-time-functions/previous-day.md | 98 - .../date-time-functions/quarter.md | 86 - .../date-time-functions/quarters-add.md | 111 - .../date-time-functions/quarters-sub.md | 112 - .../date-time-functions/sec-to-time.md | 99 - .../date-time-functions/second-ceil.md | 144 - .../date-time-functions/second-floor.md | 138 - .../date-time-functions/second.md | 94 - .../date-time-functions/seconds-add.md | 105 - .../date-time-functions/seconds-diff.md | 78 - .../date-time-functions/seconds-sub.md | 102 - .../date-time-functions/str-to-date.md | 137 - .../date-time-functions/sub-time.md | 108 - .../date-time-functions/time-format.md | 170 - .../date-time-functions/time-to-sec.md | 110 - .../date-time-functions/time.md | 44 - .../date-time-functions/timediff.md | 100 - .../date-time-functions/timestamp.md | 96 - .../date-time-functions/timestampadd.md | 99 - .../date-time-functions/timestampdiff.md | 112 - .../date-time-functions/to-date.md | 57 - .../date-time-functions/to-days.md | 55 - .../date-time-functions/to-iso8601.md | 88 - .../date-time-functions/to-monday.md | 82 - .../date-time-functions/to-seconds.md | 74 - .../date-time-functions/unix-timestamp.md | 115 - .../date-time-functions/utc-date.md | 37 - .../date-time-functions/utc-time.md | 53 - .../date-time-functions/utc-timestamp.md | 53 - .../date-time-functions/week-ceil.md | 135 - .../date-time-functions/week-floor.md | 129 - .../date-time-functions/week.md | 101 - .../date-time-functions/weekday.md | 68 - .../date-time-functions/weekofyear.md | 69 - .../date-time-functions/weeks-add.md | 90 - .../date-time-functions/weeks-diff.md | 112 - .../date-time-functions/weeks-sub.md | 94 - .../date-time-functions/year-ceil.md | 160 - .../date-time-functions/year-floor.md | 185 - .../date-time-functions/year-of-week.md | 108 - .../date-time-functions/year.md | 57 - .../date-time-functions/years-add.md | 107 - .../date-time-functions/years-diff.md | 96 - .../date-time-functions/years-sub.md | 98 - .../date-time-functions/yearweek.md | 96 - .../encrypt-digest-functions/aes-decrypt.md | 92 - .../encrypt-digest-functions/aes-encrypt.md | 79 - .../encrypt-digest-functions/crc32.md | 38 - .../encrypt-digest-functions/md5.md | 56 - .../encrypt-digest-functions/md5sum.md | 41 - .../murmur-hash3-32.md | 45 - .../murmur-hash3-64-v2.md | 68 - .../murmur-hash3-64.md | 48 - .../murmur-hash3-u64-v2.md | 67 - .../encrypt-digest-functions/sha.md | 60 - .../encrypt-digest-functions/sha2.md | 93 - .../encrypt-digest-functions/sm3.md | 56 - .../encrypt-digest-functions/sm3sum.md | 41 - .../encrypt-digest-functions/sm4-decrypt.md | 93 - .../encrypt-digest-functions/sm4-encrypt.md | 74 - .../encrypt-digest-functions/xxhash-32.md | 70 - .../encrypt-digest-functions/xxhash-64.md | 69 - .../hll-functions/hll-cardinality.md | 41 - .../hll-functions/hll-empty.md | 35 - .../hll-functions/hll-from-base64.md | 73 - .../hll-functions/hll-hash.md | 37 - .../hll-functions/hll-to-base64.md | 96 - .../scalar-functions/ip-functions/cut-ipv6.md | 110 - .../ip-functions/ipv4-cidr-to-range.md | 78 - .../ip-functions/ipv4-num-to-string.md | 60 - .../ipv4-string-to-num-or-default.md | 84 - .../ipv4-string-to-num-or-null.md | 53 - .../ip-functions/ipv4-string-to-num.md | 99 - .../ip-functions/ipv4-to-ipv6.md | 83 - .../ip-functions/ipv6-cidr-to-range.md | 79 - .../ip-functions/ipv6-num-to-string.md | 44 - .../ipv6-string-to-num-or-default.md | 80 - .../ipv6-string-to-num-or-null.md | 45 - .../ip-functions/ipv6-string-to-num.md | 72 - .../ip-functions/is-ip-address-in-range.md | 122 - .../ip-functions/is-ipv4-compat.md | 83 - .../ip-functions/is-ipv4-mapped.md | 81 - .../ip-functions/is-ipv4-string.md | 89 - .../ip-functions/is-ipv6-string.md | 89 - .../ip-functions/to-ipv4-or-default.md | 67 - .../ip-functions/to-ipv4-or-null.md | 67 - .../scalar-functions/ip-functions/to-ipv4.md | 59 - .../ip-functions/to-ipv6-or-default.md | 67 - .../ip-functions/to-ipv6-or-null.md | 67 - .../scalar-functions/ip-functions/to-ipv6.md | 59 - .../json-functions/get-json-bigint.md | 11 - .../json-functions/get-json-double.md | 11 - .../json-functions/get-json-int.md | 11 - .../json-functions/get-json-string.md | 11 - .../json-functions/json-array-ignore-null.md | 90 - .../json-functions/json-array.md | 104 - .../json-functions/json-contains.md | 96 - .../json-functions/json-exists-path.md | 71 - .../json-functions/json-extract-bigint.md | 87 - .../json-functions/json-extract-bool.md | 87 - .../json-functions/json-extract-double.md | 87 - .../json-functions/json-extract-int.md | 87 - .../json-functions/json-extract-isnull.md | 83 - .../json-functions/json-extract-largeint.md | 87 - .../json-functions/json-extract-string.md | 102 - .../json-functions/json-extract.md | 187 - .../json-functions/json-hash.md | 172 - .../json-functions/json-insert.md | 125 - .../json-functions/json-keys.md | 120 - .../json-functions/json-length.md | 121 - .../json-functions/json-object-flatten.md | 155 - .../json-functions/json-object.md | 165 - .../json-parse-error-to-null.md | 10 - .../json-parse-error-to-value.md | 10 - .../json-functions/json-parse.md | 160 - .../json-functions/json-quote.md | 95 - .../json-functions/json-remove.md | 71 - .../json-functions/json-replace.md | 91 - .../json-functions/json-search.md | 154 - .../json-functions/json-set.md | 81 - .../json-functions/json-type.md | 106 - .../json-functions/json-unquote.md | 102 - .../json-functions/json-valid.md | 87 - .../normalize-json-numbers-to-double.md | 142 - .../json-functions/sort-json-object-keys.md | 108 - .../json-functions/strip-null-value.md | 70 - .../json-functions/to-json.md | 262 -- .../map-functions/deduplicate-map.md | 42 - .../map-functions/map-contains-entry.md | 69 - .../map-functions/map-contains-key.md | 49 - .../map-functions/map-contains-value.md | 62 - .../map-functions/map-entries.md | 48 - .../map-functions/map-keys.md | 47 - .../map-functions/map-size.md | 51 - .../map-functions/map-values.md | 53 - .../scalar-functions/map-functions/map.md | 83 - .../map-functions/str-to-map.md | 44 - .../scalar-functions/numeric-functions/abs.md | 78 - .../numeric-functions/acos.md | 123 - .../numeric-functions/acosh.md | 122 - .../numeric-functions/asin.md | 123 - .../numeric-functions/asinh.md | 110 - .../numeric-functions/atan.md | 117 - .../numeric-functions/atan2.md | 201 - .../numeric-functions/atanh.md | 110 - .../scalar-functions/numeric-functions/bin.md | 78 - .../numeric-functions/cbrt.md | 107 - .../numeric-functions/ceil.md | 121 - .../numeric-functions/conv.md | 93 - .../scalar-functions/numeric-functions/cos.md | 106 - .../numeric-functions/cosh.md | 99 - .../scalar-functions/numeric-functions/cot.md | 96 - .../scalar-functions/numeric-functions/csc.md | 96 - .../numeric-functions/degrees.md | 87 - .../scalar-functions/numeric-functions/e.md | 26 - .../numeric-functions/even.md | 102 - .../scalar-functions/numeric-functions/exp.md | 71 - .../numeric-functions/factorial.md | 95 - .../numeric-functions/floor.md | 120 - .../numeric-functions/fmod.md | 68 - .../numeric-functions/format-round.md | 117 - .../scalar-functions/numeric-functions/gcd.md | 99 - .../numeric-functions/interval.md | 107 - .../numeric-functions/isinf.md | 85 - .../numeric-functions/isnan.md | 85 - .../scalar-functions/numeric-functions/lcm.md | 107 - .../scalar-functions/numeric-functions/ln.md | 97 - .../scalar-functions/numeric-functions/log.md | 130 - .../numeric-functions/log10.md | 98 - .../numeric-functions/log2.md | 92 - .../scalar-functions/numeric-functions/mod.md | 56 - .../numeric-functions/money-format.md | 67 - .../numeric-functions/negative.md | 80 - .../numeric-functions/normal-cdf.md | 72 - .../scalar-functions/numeric-functions/pi.md | 35 - .../numeric-functions/pmod.md | 81 - .../numeric-functions/positive.md | 79 - .../scalar-functions/numeric-functions/pow.md | 107 - .../numeric-functions/radians.md | 67 - .../numeric-functions/random.md | 81 - .../numeric-functions/round-bankers.md | 150 - .../numeric-functions/round.md | 136 - .../scalar-functions/numeric-functions/sec.md | 96 - .../numeric-functions/sign.md | 99 - .../numeric-functions/signbit.md | 97 - .../scalar-functions/numeric-functions/sin.md | 106 - .../numeric-functions/sinh.md | 104 - .../numeric-functions/sqrt.md | 135 - .../scalar-functions/numeric-functions/tan.md | 82 - .../numeric-functions/tanh.md | 80 - .../numeric-functions/truncate.md | 70 - .../numeric-functions/uniform.md | 162 - .../numeric-functions/uuid_numeric.md | 35 - .../numeric-functions/width-bucket.md | 141 - .../scalar-functions/numeric-functions/xor.md | 33 - .../other-functions/convert-to.md | 68 - .../other-functions/default.md | 183 - .../other-functions/esquery.md | 59 - .../scalar-functions/other-functions/field.md | 76 - .../scalar-functions/other-functions/g.md | 7 - .../other-functions/grouping-id.md | 98 - .../other-functions/grouping.md | 78 - .../quantile-functions/quantile-percent.md | 61 - .../quantile-state-empty.md | 37 - .../quantile-state-from-base64.md | 68 - .../quantile-state-to-base64.md | 91 - .../quantile-functions/to-quantile-state.md | 61 - .../spatial-functions/st-angle-sphere.md | 147 - .../spatial-functions/st-angle.md | 146 - .../spatial-functions/st-area-square-km.md | 171 - .../st-area-square-meters.md | 170 - .../spatial-functions/st-asbinary.md | 121 - .../spatial-functions/st-astext.md | 108 - .../spatial-functions/st-azimuth.md | 135 - .../spatial-functions/st-circle.md | 96 - .../spatial-functions/st-contains.md | 148 - .../spatial-functions/st-disjoint.md | 191 - .../spatial-functions/st-distance-sphere.md | 109 - .../spatial-functions/st-distance.md | 108 - .../spatial-functions/st-geometryfromtext.md | 189 - .../spatial-functions/st-geometryfromwkb.md | 158 - .../spatial-functions/st-geometrytype.md | 111 - .../spatial-functions/st-intersects.md | 259 -- .../spatial-functions/st-length.md | 127 - .../spatial-functions/st-linefromtext.md | 95 - .../spatial-functions/st-point.md | 91 - .../spatial-functions/st-polygon.md | 115 - .../spatial-functions/st-touches.md | 259 -- .../spatial-functions/st-x.md | 105 - .../spatial-functions/st-y.md | 101 - .../append-trailing-char-if-absent.md | 96 - .../string-functions/ascii.md | 143 - .../string-functions/auto-partition-name.md | 113 - .../string-functions/char-length.md | 88 - .../scalar-functions/string-functions/char.md | 86 - .../string-functions/compress.md | 81 - .../string-functions/concat-ws.md | 168 - .../string-functions/concat.md | 137 - .../string-functions/count_substrings.md | 135 - .../cut-to-first-significant-subdomain.md | 68 - .../string-functions/digital-masking.md | 94 - .../string-functions/domain-without-www.md | 39 - .../string-functions/domain.md | 41 - .../scalar-functions/string-functions/elt.md | 140 - .../string-functions/ends-with.md | 162 - .../string-functions/export-set.md | 156 - .../string-functions/extract-url-parameter.md | 48 - .../string-functions/find-in-set.md | 163 - .../first-significant-subdomain.md | 41 - .../string-functions/format-number.md | 87 - .../string-functions/format.md | 96 - .../string-functions/from-base64.md | 102 - .../string-functions/hamming_distance.md | 33 - .../scalar-functions/string-functions/hex.md | 104 - .../string-functions/initcap.md | 90 - .../string-functions/instr.md | 91 - .../string-functions/int-to-uuid.md | 55 - .../string-functions/is-uuid.md | 100 - .../string-functions/lcase.md | 76 - .../string-functions/length.md | 79 - .../string-functions/levenshtein.md | 33 - .../string-functions/locate.md | 81 - .../scalar-functions/string-functions/lpad.md | 79 - .../string-functions/ltrim-in.md | 71 - .../string-functions/ltrim.md | 78 - .../string-functions/make-set.md | 115 - .../string-functions/mask-first-n.md | 166 - .../string-functions/mask-last-n.md | 166 - .../scalar-functions/string-functions/mask.md | 168 - .../string-functions/multi-match-any.md | 36 - .../multi-search-all-positions.md | 101 - .../string-functions/ngram-search.md | 93 - .../string-functions/overlay.md | 102 - .../string-functions/overview.md | 126 - .../string-functions/parse-data-size.md | 132 - .../string-functions/parse-url.md | 61 - .../string-functions/position.md | 208 - .../string-functions/printf.md | 70 - .../string-functions/protocol.md | 59 - .../string-functions/quote.md | 107 - .../string-functions/random_bytes.md | 94 - .../string-functions/regexp-count.md | 249 -- .../string-functions/regexp-extract-all.md | 283 -- .../regexp-extract-or-null.md | 342 -- .../string-functions/regexp-extract.md | 295 -- .../string-functions/regexp-replace-one.md | 185 - .../string-functions/regexp-replace.md | 184 - .../string-functions/regexp.md | 303 -- .../string-functions/repeat.md | 211 - .../string-functions/replace-empty.md | 73 - .../string-functions/replace.md | 107 - .../string-functions/reverse.md | 205 - .../scalar-functions/string-functions/rpad.md | 164 - .../string-functions/rtrim-in.md | 124 - .../string-functions/rtrim.md | 135 - .../string-functions/soundex.md | 154 - .../string-functions/space.md | 84 - .../string-functions/split-by-regexp.md | 169 - .../string-functions/split-by-string.md | 166 - .../string-functions/split-part.md | 158 - .../string-functions/starts-with.md | 165 - .../string-functions/strcmp.md | 75 - .../string-functions/strleft.md | 138 - .../string-functions/strright.md | 150 - .../string-functions/sub-replace.md | 120 - .../string-functions/substring-index.md | 155 - .../string-functions/substring.md | 169 - .../string-functions/to-base64.md | 152 - .../string-functions/tokenize.md | 170 - .../string-functions/top-level-domain.md | 69 - .../string-functions/translate.md | 155 - .../string-functions/trim-in.md | 125 - .../scalar-functions/string-functions/trim.md | 135 - .../string-functions/ucase.md | 140 - .../string-functions/uncompress.md | 67 - .../string-functions/unhex.md | 136 - .../string-functions/unicode_normalize.md | 137 - .../string-functions/url-decode.md | 39 - .../string-functions/url-encode.md | 44 - .../scalar-functions/string-functions/uuid.md | 60 - .../string-functions/xpath-string.md | 100 - .../struct-functions/named-struct.md | 112 - .../struct-functions/struct-element.md | 108 - .../struct-functions/struct.md | 99 - .../system-functions/connection-id.md | 35 - .../system-functions/current-catalog.md | 35 - .../system-functions/current-user.md | 52 - .../system-functions/database.md | 45 - .../system-functions/last-query-id.md | 35 - .../system-functions/session-user.md | 36 - .../scalar-functions/system-functions/user.md | 37 - .../system-functions/version-function.md | 36 - .../variant-functions/element-at.md | 110 - .../variant-functions/variant-type.md | 57 - .../table-functions/explode-bitmap-outer.md | 86 - .../table-functions/explode-bitmap.md | 75 - .../explode-json-array-double-outer.md | 100 - .../explode-json-array-double.md | 88 - .../explode-json-array-int-outer.md | 102 - .../table-functions/explode-json-array-int.md | 90 - .../explode-json-array-json-outer.md | 83 - .../explode-json-array-json.md | 71 - .../explode-json-array-string-outer.md | 84 - .../explode-json-array-string.md | 72 - .../table-functions/explode-json-object.md | 84 - .../table-functions/explode-map-outer.md | 83 - .../table-functions/explode-map.md | 75 - .../table-functions/explode-numbers-outer.md | 77 - .../table-functions/explode-numbers.md | 76 - .../table-functions/explode-outer.md | 100 - .../table-functions/explode-split-outer.md | 111 - .../table-functions/explode-split.md | 103 - .../sql-functions/table-functions/explode.md | 92 - .../table-functions/json-each-outer.md | 91 - .../table-functions/json-each-text-outer.md | 94 - .../table-functions/json-each-text.md | 99 - .../table-functions/json-each.md | 97 - .../table-functions/posexplode-outer.md | 95 - .../table-functions/posexplode.md | 92 - .../sql-functions/table-functions/unnest.md | 208 - .../table-valued-functions/backends.md | 68 - .../table-valued-functions/catalogs.md | 71 - .../table-valued-functions/cdc-stream.md | 145 - .../table-valued-functions/file.md | 108 - .../table-valued-functions/frontends.md | 59 - .../table-valued-functions/frontends_disks.md | 82 - .../table-valued-functions/hdfs.md | 146 - .../table-valued-functions/http.md | 102 - .../table-valued-functions/hudi-meta.md | 74 - .../table-valued-functions/iceberg-meta.md | 128 - .../table-valued-functions/jobs.md | 92 - .../table-valued-functions/local.md | 146 - .../table-valued-functions/mv_infos.md | 67 - .../table-valued-functions/numbers.md | 70 - .../table-valued-functions/parquet-meta.md | 198 - .../partition-values.md | 75 - .../table-valued-functions/partitions.md | 99 - .../table-valued-functions/query.md | 91 - .../table-valued-functions/s3.md | 599 --- .../table-valued-functions/tasks.md | 103 - .../window-functions/cume-dist.md | 68 - .../window-functions/dense-rank.md | 43 - .../window-functions/first-value.md | 75 - .../sql-functions/window-functions/lag.md | 53 - .../window-functions/last-value.md | 95 - .../sql-functions/window-functions/lead.md | 58 - .../sql-functions/window-functions/ntile.md | 57 - .../window-functions/overview.md | 144 - .../window-functions/percent-rank.md | 107 - .../sql-functions/window-functions/rank.md | 51 - .../window-functions/row-number.md | 43 - .../account-management/ALTER-ROLE.md | 46 - .../account-management/ALTER-USER.md | 113 - .../account-management/CREATE-ROLE.md | 51 - .../account-management/CREATE-USER.md | 135 - .../account-management/DROP-ROLE.md | 43 - .../account-management/DROP-USER.md | 39 - .../account-management/GRANT-TO.md | 215 -- .../account-management/REFRESH-LDAP.md | 64 - .../account-management/REVOKE-FROM.md | 175 - .../SET-LDAP_ADMIN_PASSWORD.md | 38 - .../account-management/SET-PASSWORD.md | 62 - .../account-management/SET-PROPERTY.md | 106 - .../account-management/SHOW-CREATE-USER.md | 50 - .../account-management/SHOW-GRANTS.md | 104 - .../account-management/SHOW-PRIVILEGES.md | 53 - .../account-management/SHOW-PROPERTY.md | 125 - .../account-management/SHOW-ROLES.md | 51 - .../sql-statements/catalog/ALTER-CATALOG.md | 92 - .../sql-statements/catalog/CREATE-CATALOG.md | 164 - .../sql-statements/catalog/DROP-CATALOG.md | 38 - .../sql-statements/catalog/REFRESH.md | 80 - .../sql-statements/catalog/SHOW-CATALOG.md | 60 - .../sql-statements/catalog/SHOW-CATALOGS.md | 75 - .../catalog/SHOW-CREATE-CATALOG.md | 54 - .../character-set/SHOW-CHARSET.md | 41 - .../character-set/SHOW-COLLATION.md | 51 - .../compute-management/ALTER-RESOURCE.md | 63 - .../ALTER-WORKLOAD-GROUP.md | 39 - .../ALTER-WORKLOAD-POLICY.md | 43 - .../compute-management/CREATE-RESOURCE.md | 231 -- .../CREATE-WORKLOAD-GROUP.md | 43 - .../CREATE-WORKLOAD-POLICY.md | 54 - .../compute-management/DROP-RESOURCE.md | 29 - .../compute-management/DROP-WORKLOAD-GROUP.md | 25 - .../DROP-WORKLOAD-POLICY.md | 34 - .../compute-management/SHOW-COMPUTE-GROUPS.md | 48 - .../compute-management/SHOW-RESOURCES.md | 60 - .../SHOW-WORKLOAD-GROUPS.md | 98 - .../instance-management/ADD-BACKEND.md | 91 - .../instance-management/ADD-BROKER.md | 48 - .../instance-management/ADD-FOLLOWER.md | 50 - .../instance-management/ADD-OBSERVER.md | 48 - .../CANCEL-DECOMMISSION-BACKEND.md | 72 - .../DECOMMISSION-BACKEND.md | 75 - .../instance-management/DROP-BACKEND.md | 78 - .../instance-management/DROP-BROKER.md | 53 - .../instance-management/DROP-FOLLOWER.md | 50 - .../instance-management/DROP-OBSERVER.md | 48 - .../instance-management/MODIFY-BACKEND.md | 88 - .../MODIFY-FRONTEND-HOSTNAME.md | 42 - .../SET-FRONTEND-CONFIG.md | 45 - .../SHOW-BACKEND-CONFIG.md | 95 - .../instance-management/SHOW-BACKENDS.md | 76 - .../instance-management/SHOW-BROKER.md | 47 - .../SHOW-FRONTEND-CONFIG.md | 54 - .../SHOW-FRONTENDS-DISKS.md | 66 - .../instance-management/SHOW-FRONTENDS.md | 71 - .../ALTER-STORAGE-POLICY.md | 58 - .../storage-management/ALTER-STORAGE-VAULT.md | 64 - .../storage-management/CANCEL-WARM-UP.md | 64 - .../CREATE-STORAGE-POLICY.md | 62 - .../CREATE-STORAGE-VAULT.md | 229 -- .../storage-management/DROP-STORAGE-POLICY.md | 38 - .../SET-DEFAULT-STORAGE-VAULT.md | 35 - .../storage-management/SHOW-CACHE-HOTSPOT.md | 52 - .../storage-management/SHOW-STORAGE-POLICY.md | 77 - .../storage-management/SHOW-STORAGE-VAULTS.md | 37 - .../storage-management/SHOW-WARM-UP-JOB.md | 42 - .../UNSET-DEFAULT-STORAGE-VAULT.md | 28 - .../storage-management/WARM-UP.md | 60 - .../data-governance/ALTER-SQL_BLOCK_RULE.md | 51 - .../data-governance/CREATE-ROW-POLICY.md | 77 - .../data-governance/CREATE-SQL_BLOCK_RULE.md | 166 - .../data-governance/DROP-ROW-POLICY.md | 66 - .../data-governance/DROP-SQL_BLOCK_RULE.md | 39 - .../data-governance/SHOW-ROW-POLICY.md | 55 - .../data-governance/SHOW-SQL_BLOCK_RULE.md | 58 - .../data-modification/DML/DELETE.md | 204 - .../data-modification/DML/INSERT-OVERWRITE.md | 293 -- .../data-modification/DML/INSERT.md | 210 - .../data-modification/DML/MERGE-INTO.md | 203 - .../data-modification/DML/SHOW-DELETE.md | 58 - .../data-modification/DML/SHOW-LAST-INSERT.md | 53 - .../data-modification/DML/UPDATE.md | 177 - .../backup-and-restore/BACKUP.md | 127 - .../backup-and-restore/CANCEL-BACKUP.md | 37 - .../backup-and-restore/CANCEL-RESTORE.md | 41 - .../backup-and-restore/CREATE-REPOSITORY.md | 146 - .../backup-and-restore/DROP-REPOSITORY.md | 39 - .../backup-and-restore/RESTORE.md | 161 - .../SHOW-CREATE-REPOSITORY.md | 29 - .../backup-and-restore/SHOW-REPOSITORIES.md | 47 - .../backup-and-restore/SHOW-RESTORE.md | 64 - .../backup-and-restore/SHOW-SNAPSHOT.md | 62 - .../load-and-export/ALTER-ROUTINE-LOAD.md | 105 - .../load-and-export/BROKER-LOAD.md | 155 - .../load-and-export/CANCEL-EXPORT.md | 78 - .../load-and-export/CANCEL-LOAD.md | 79 - .../load-and-export/CLEAN-LABEL.md | 53 - .../load-and-export/CREATE-ROUTINE-LOAD.md | 386 -- .../load-and-export/EXPORT.md | 388 -- .../load-and-export/MYSQL-LOAD.md | 92 - .../load-and-export/OUTFILE.md | 392 -- .../load-and-export/PAUSE-ROUTINE-LOAD.md | 56 - .../load-and-export/RESUME-ROUTINE-LOAD.md | 57 - .../load-and-export/SHOW-CREATE-LOAD.md | 43 - .../SHOW-CREATE-ROUTINE-LOAD.md | 47 - .../load-and-export/SHOW-EXPORT.md | 98 - .../load-and-export/SHOW-LOAD-WARNINGS.md | 57 - .../load-and-export/SHOW-LOAD.md | 114 - .../load-and-export/SHOW-ROUTINE-LOAD-TASK.md | 61 - .../load-and-export/SHOW-ROUTINE-LOAD.md | 122 - .../load-and-export/SHOW-STREAM-LOAD.md | 76 - .../load-and-export/STOP-ROUTINE-LOAD.md | 55 - .../data-modification/load-and-export/SYNC.md | 30 - .../sql-statements/data-query/EXPLAIN.md | 639 ---- .../sql-statements/data-query/SELECT.md | 392 -- .../sql-statements/database/ALTER-DATABASE.md | 95 - .../database/CREATE-DATABASE.md | 87 - .../sql-statements/database/DROP-DATABASE.md | 48 - .../database/SHOW-CREATE-DATABASE.md | 72 - .../database/SHOW-DATABASE-ID.md | 52 - .../sql-statements/database/SHOW-DATABASES.md | 85 - .../function/CREATE-FUNCTION.md | 138 - .../sql-statements/function/DESC-FUNCTION.md | 45 - .../sql-statements/function/DROP-FUNCTION.md | 66 - .../function/SHOW-CREATE-FUNCTION.md | 78 - .../sql-statements/function/SHOW-FUNCTIONS.md | 140 - .../sql-statements/job/ALTER-JOB.md | 94 - .../sql-statements/job/CANCEL-TASK.md | 43 - .../sql-statements/job/CREATE-JOB.md | 145 - .../job/CREATE-STREAMING-JOB.md | 231 -- .../sql-manual/sql-statements/job/DROP-JOB.md | 40 - .../sql-statements/job/PAUSE-JOB.md | 39 - .../sql-statements/job/RESUME-JOB.md | 38 - .../sql-statements/plugin/INSTALL-PLUGIN.md | 68 - .../sql-statements/plugin/SHOW-PLUGINS.md | 56 - .../sql-statements/plugin/UNINSTALL-PLUGIN.md | 42 - .../recycle/DROP-CATALOG-RECYCLE-BIN.md | 67 - .../sql-statements/recycle/RECOVER.md | 141 - .../recycle/SHOW-CATALOG-RECYCLE-BIN.md | 68 - .../security/CREATE-ENCRYPTKEY.md | 85 - .../sql-statements/security/CREATE-FILE.md | 110 - .../security/DROP-ENCRYPTKEY.md | 51 - .../sql-statements/security/DROP-FILE.md | 67 - .../security/SHOW-ENCRYPTKEY.md | 90 - .../sql-statements/security/SHOW-FILE.md | 72 - .../session/connection/KILL-CONNECTION.md | 51 - .../session/context/SWITCH-CATALOG.md | 36 - .../session/context/USE-COMPUTE-GROUP.md | 75 - .../session/context/USE-DATABASE.md | 73 - .../session/queries/CLEAN-ALL-PROFILE.md | 34 - .../session/queries/CLEAN-ALL-QUERY-STATS.md | 69 - .../session/queries/KILL-QUERY.md | 87 - .../session/queries/PLAN-REPLAYER-DUMP.md | 80 - .../session/queries/PLAN-REPLAYER-PLAY.md | 33 - .../session/queries/SHOW-PROCESSLIST.md | 79 - .../session/queries/SHOW-QUERY-STATS.md | 199 - .../session/variable/SET-VARIABLE.md | 71 - .../session/variable/SHOW-VARIABLES.md | 79 - .../session/variable/UNSET-VARIABLE.md | 61 - .../sql-statements/statistics/ALTER-STATS.md | 93 - .../sql-statements/statistics/ANALYZE.md | 73 - .../statistics/DROP-ANALYZE-JOB.md | 39 - .../sql-statements/statistics/DROP-STATS.md | 58 - .../statistics/KILL-ANALYZE-JOB.md | 46 - .../sql-statements/statistics/SHOW-ANALYZE.md | 104 - .../sql-statements/statistics/SHOW-STATS.md | 95 - .../statistics/SHOW-TABLE-STATS.md | 66 - .../system-info-and-help/SHOW-PROC.md | 281 -- .../ALTER-ASYNC-MATERIALIZED-VIEW.md | 74 - .../CANCEL-MATERIALIZED-VIEW-TASK.md | 47 - .../CREATE-ASYNC-MATERIALIZED-VIEW.md | 301 -- .../DROP-ASYNC-MATERIALIZED-VIEW.md | 44 - .../PAUSE-MATERIALIZED-VIEW-JOB.md | 50 - .../REFRESH-MATERIALIZED-VIEW.md | 84 - .../RESUME-MATERIALIZED-VIEW-JOB.md | 48 - .../SHOW-CREATE-ASYNC-MATERIALIZED-VIEW.md | 46 - .../ADMIN-CHECK-TABLET.md | 59 - .../ADMIN-COPY-TABLET.md | 114 - .../ADMIN-SET-REPLICA-STATUS.md | 75 - .../ADMIN-SET-REPLICA-VERSION.md | 71 - .../CANCEL-REBALANCE-DISK.md | 58 - .../CANCEL-REPAIR-TABLE.md | 66 - .../data-and-status-management/CLEAN-TRASH.md | 46 - .../COMPACT-TABLE.md | 65 - .../DIAGNOSE-TABLET.md | 123 - .../REBALANCE-DISK.md | 59 - .../REPAIR-TABLE.md | 75 - .../SET-TABLE-PARTITION-VERSION.md | 45 - .../SET-TABLE-STATUS.md | 91 - .../SHOW-DATA-SKEW.md | 175 - .../data-and-status-management/SHOW-DATA.md | 162 - .../SHOW-REPLICA-DISTRIBUTION.md | 113 - .../SHOW-REPLICA-STATUS.md | 138 - .../SHOW-TABLET-DIAGNOSIS.md | 74 - .../SHOW-TABLET-STORAGE-FORMAT.md | 75 - .../data-and-status-management/SHOW-TABLET.md | 66 - .../SHOW-TABLETS-BELONG.md | 76 - .../data-and-status-management/SHOW-TRASH.md | 50 - .../table-and-view/index/BUILD-INDEX.md | 85 - .../index/CANCEL-BUILD-INDEX.md | 72 - .../table-and-view/index/CREATE-INDEX.md | 111 - .../table-and-view/index/DROP-INDEX.md | 44 - .../table-and-view/index/SHOW-BUILD-INDEX.md | 104 - .../table-and-view/index/SHOW-INDEX.md | 66 - .../CREATE-MATERIALIZED-VIEW.md | 119 - .../DROP-MATERIALIZED-VIEW.md | 47 - .../SHOW-ALTER-TABLE-MATERIALIZED-VIEW.md | 40 - .../SHOW-CREATE-MATERIALIZED-VIEW.md | 52 - .../table/ALTER-COLOCATE-GROUP.md | 60 - .../table/ALTER-TABLE-ADD-GENERATED-COLUMN.md | 46 - .../table/ALTER-TABLE-COLUMN.md | 287 -- .../table/ALTER-TABLE-COMMENT.md | 56 - .../table/ALTER-TABLE-DISTRIBUTION.md | 173 - .../table/ALTER-TABLE-PARTITION.md | 152 - .../table/ALTER-TABLE-PROPERTY.md | 270 -- .../table/ALTER-TABLE-RENAME.md | 99 - .../table/ALTER-TABLE-REPLACE.md | 73 - .../table/ALTER-TABLE-ROLLUP.md | 116 - .../table/CANCEL-ALTER-TABLE.md | 97 - .../table-and-view/table/CREATE-TABLE.md | 742 ---- .../table-and-view/table/DESC-TABLE.md | 100 - .../table-and-view/table/DROP-TABLE.md | 80 - .../table-and-view/table/SHOW-ALTER-TABLE.md | 74 - .../table-and-view/table/SHOW-COLUMNS.md | 78 - ...HOW-CONVERT-LIGHT-SCHEMA-CHANGE-PROCESS.md | 48 - .../table-and-view/table/SHOW-CREATE-TABLE.md | 68 - .../table/SHOW-DYNAMIC-PARTITION-TABLES.md | 82 - .../table-and-view/table/SHOW-PARTITION-ID.md | 40 - .../table-and-view/table/SHOW-PARTITION.md | 45 - .../table-and-view/table/SHOW-PARTITIONS.md | 140 - .../table-and-view/table/SHOW-TABLE-ID.md | 54 - .../table-and-view/table/SHOW-TABLE-STATUS.md | 92 - .../table-and-view/table/SHOW-TABLES.md | 100 - .../table-and-view/table/TRUNCATE-TABLE.md | 79 - .../table-and-view/view/ALTER-VIEW.md | 68 - .../table-and-view/view/CREATE-VIEW.md | 88 - .../table-and-view/view/DROP-VIEW.md | 45 - .../table-and-view/view/SHOW-CREATE-VIEW.md | 55 - .../table-and-view/view/SHOW-VIEW.md | 32 - .../sql-statements/transaction/BEGIN.md | 43 - .../sql-statements/transaction/COMMIT.md | 44 - .../sql-statements/transaction/ROLLBACK.md | 44 - .../transaction/SHOW-TRANSACTION.md | 83 - .../sql-statements/types/SHOW-DATA-TYPES.md | 71 - .../sql-statements/types/SHOW-TYPECAST.md | 83 - docs/table-design/auto-increment.md | 474 --- docs/table-design/best-practice.md | 452 --- docs/table-design/column-compression.md | 95 - docs/table-design/data-model/aggregate.md | 187 - docs/table-design/data-model/duplicate.md | 80 - docs/table-design/data-model/overview.md | 67 - docs/table-design/data-model/tips.md | 180 - docs/table-design/data-model/unique.md | 126 - .../data-partitioning/auto-partitioning.md | 307 -- .../data-partitioning/basic-concepts.mdx | 366 -- .../data-partitioning/common-issues.md | 37 - .../data-partitioning/data-bucketing.md | 197 - .../data-partitioning/data-distribution.md | 105 - .../data-partitioning/dynamic-partitioning.md | 213 -- .../data-partitioning/manual-partitioning.md | 223 -- docs/table-design/data-type.md | 67 - docs/table-design/index/bloomfilter.md | 112 - docs/table-design/index/index-overview.md | 59 - .../index/inverted-index/overview.md | 756 ---- .../index/ngram-bloomfilter-index.md | 220 -- docs/table-design/index/prefix-index.md | 85 - docs/table-design/overview.md | 43 - docs/table-design/row-store.md | 151 - docs/table-design/schema-change.md | 322 -- docs/table-design/storage-format.md | 84 - docs/table-design/temporary-table.md | 50 - docs/table-design/tiered-storage/overview.md | 17 - .../tiered-storage/remote-storage.md | 220 -- .../tiered-storage/tiered-ssd-hdd.md | 99 - docusaurus.config.js | 1 - .../current.json | 746 ---- .../current/admin-manual/audit-plugin.md | 70 - .../auth/authentication-and-authorization.md | 393 -- .../auth/authentication/internal.md | 150 - .../admin-manual/auth/authentication/ldap.md | 326 -- .../admin-manual/auth/authorization/data.md | 54 - .../auth/authorization/internal.md | 116 - .../admin-manual/auth/authorization/ranger.md | 381 -- .../current/admin-manual/auth/certificate.md | 174 - .../admin-manual/auth/encryption-function.md | 21 - .../admin-manual/auth/fe-certificate.md | 31 - .../aws-authentication-and-authorization.md | 616 --- .../auth/integrations/aws-iam-role.md | 82 - .../current/admin-manual/auth/ldap.md | 265 -- .../current/admin-manual/auth/ranger.md | 285 -- .../admin-manual/auth/security-overview.md | 33 - .../cluster-management/elastic-expansion.md | 122 - .../admin-manual/cluster-management/fqdn.md | 96 - .../cluster-management/load-balancing.md | 595 --- .../cluster-management/time-zone.md | 254 -- .../cluster-management/upgrade.md | 226 -- .../current/admin-manual/config/be-config.md | 1354 ------- .../current/admin-manual/config/config-dir.md | 31 - .../admin-manual/config/fe-config-template.md | 122 - .../current/admin-manual/config/fe-config.md | 2777 -------------- .../admin-manual/config/user-property.md | 53 - .../data-admin/backup-restore/backup.md | 246 -- .../data-admin/backup-restore/overview.md | 70 - .../data-admin/backup-restore/restore.md | 129 - .../admin-manual/data-admin/ccr/config.md | 45 - .../admin-manual/data-admin/ccr/feature.md | 257 -- .../admin-manual/data-admin/ccr/manual.md | 338 -- .../admin-manual/data-admin/ccr/overview.md | 91 - .../data-admin/ccr/performance.md | 60 - .../admin-manual/data-admin/ccr/quickstart.md | 79 - .../admin-manual/data-admin/overview.md | 50 - .../admin-manual/data-admin/recyclebin.md | 47 - .../admin-manual/log-management/be-log.md | 137 - .../admin-manual/log-management/fe-log.md | 173 - .../maint-monitor/automatic-service-start.md | 322 -- .../maint-monitor/disk-capacity.md | 155 - .../admin-manual/maint-monitor/metrics.md | 334 -- .../maint-monitor/monitor-alert.md | 288 -- .../tablet-repair-and-balance.md | 764 ---- .../admin-manual/open-api/be-http/be-vlog.md | 42 - .../open-api/be-http/check-rpc-channel.md | 53 - .../open-api/be-http/check-tablet-segment.md | 55 - .../admin-manual/open-api/be-http/checksum.md | 44 - .../open-api/be-http/compaction-run.md | 120 - .../open-api/be-http/compaction-status.md | 99 - .../admin-manual/open-api/be-http/config.md | 85 - .../admin-manual/open-api/be-http/download.md | 39 - .../admin-manual/open-api/be-http/health.md | 35 - .../admin-manual/open-api/be-http/meta.md | 53 - .../admin-manual/open-api/be-http/metrics.md | 49 - .../open-api/be-http/pad-rowset.md | 48 - .../open-api/be-http/reset-rpc-channel.md | 50 - .../admin-manual/open-api/be-http/snapshot.md | 42 - .../open-api/be-http/tablet-distribution.md | 72 - .../open-api/be-http/tablet-info.md | 57 - .../open-api/be-http/tablet-migration.md | 91 - .../open-api/be-http/tablet-reload.md | 45 - .../open-api/be-http/tablet-restore.md | 45 - .../open-api/be-http/version-info.md | 59 - .../open-api/fe-http/backends-action.md | 50 - .../open-api/fe-http/bootstrap-action.md | 108 - .../open-api/fe-http/cancel-load-action.md | 81 - .../fe-http/check-decommission-action.md | 64 - .../fe-http/check-storage-type-action.md | 64 - .../open-api/fe-http/cluster-action.md | 69 - .../open-api/fe-http/colocate-meta-action.md | 39 - .../open-api/fe-http/config-action.md | 65 - .../open-api/fe-http/connection-action.md | 62 - .../open-api/fe-http/debug-point-action.md | 308 -- .../open-api/fe-http/extra-basepath-action.md | 38 - .../fe-http/fe-version-info-action.md | 81 - .../open-api/fe-http/get-ddl-stmt-action.md | 72 - .../open-api/fe-http/get-load-info-action.md | 74 - .../open-api/fe-http/get-load-state.md | 78 - .../open-api/fe-http/get-log-file-action.md | 91 - .../open-api/fe-http/get-small-file.md | 81 - .../open-api/fe-http/get-wal-size-action.md | 74 - .../open-api/fe-http/ha-action.md | 75 - .../open-api/fe-http/hardware-info-action.md | 62 - .../open-api/fe-http/health-action.md | 41 - .../open-api/fe-http/help-action.md | 41 - .../open-api/fe-http/import-action.md | 33 - .../open-api/fe-http/log-action.md | 78 - .../open-api/fe-http/login-action.md | 50 - .../open-api/fe-http/logout-action.md | 38 - .../open-api/fe-http/meta-action.md | 38 - .../open-api/fe-http/meta-info-action-V2.md | 56 - .../open-api/fe-http/meta-info-action.md | 216 -- .../fe-http/meta-replay-state-action.md | 41 - .../open-api/fe-http/metrics-action.md | 35 - .../open-api/fe-http/node-action.md | 738 ---- .../open-api/fe-http/profile-action.md | 177 - .../open-api/fe-http/query-detail-action.md | 96 - .../query-profile-action-controller.md | 91 - .../open-api/fe-http/query-profile-action.md | 559 --- .../open-api/fe-http/query-schema-action.md | 86 - .../open-api/fe-http/query-stats-action.md | 78 - .../open-api/fe-http/row-count-action.md | 64 - .../open-api/fe-http/session-action.md | 104 - .../open-api/fe-http/set-config-action.md | 129 - .../open-api/fe-http/show-data-action.md | 91 - .../open-api/fe-http/show-meta-info-action.md | 118 - .../open-api/fe-http/show-proc-action.md | 84 - .../fe-http/show-runtime-info-action.md | 64 - .../fe-http/show-table-data-action.md | 143 - .../fe-http/statement-execution-action.md | 81 - .../open-api/fe-http/statistic-action.md | 38 - .../open-api/fe-http/system-action.md | 73 - .../fe-http/table-query-plan-action.md | 93 - .../fe-http/table-row-count-action.md | 68 - .../open-api/fe-http/table-schema-action.md | 135 - .../open-api/fe-http/upload-action.md | 139 - .../current/admin-manual/open-api/overview.md | 29 - .../admin-manual/plugin-development-manual.md | 300 -- .../current/admin-manual/small-file-mgr.md | 117 - .../information_schema/active_queries.md | 32 - .../backend_active_tasks.md | 34 - .../backend_configuration.md | 27 - .../information_schema/backend_metrics.md | 29 - .../information_schema/backend_tablets.md | 59 - .../catalog_meta_cache_statistics.md | 64 - .../information_schema/character_sets.md | 26 - .../information_schema/collations.md | 28 - .../information_schema/column_privileges.md | 29 - .../information_schema/column_statistics.md | 29 - .../information_schema/columns.md | 47 - .../information_schema/engines.md | 28 - .../information_schema/events.md | 46 - .../file_cache_statistics.md | 98 - .../system-tables/information_schema/files.md | 60 - .../information_schema/frontend_metrics.md | 28 - .../information_schema/global_variables.md | 26 - .../information_schema/key_column_usage.md | 34 - .../information_schema/metadata_name_ids.md | 28 - .../information_schema/parameters.md | 38 - .../information_schema/partitions.md | 61 - .../information_schema/processlist.md | 36 - .../information_schema/profiling.md | 40 - .../referential_constraints.md | 33 - .../information_schema/routine_load_job.md | 69 - .../information_schema/routines.md | 45 - .../information_schema/rowsets.md | 35 - .../information_schema/schema_privileges.md | 28 - .../information_schema/schemata.md | 28 - .../information_schema/session_variables.md | 26 - .../information_schema/statistics.md | 38 - .../information_schema/table_constraints.md | 28 - .../information_schema/table_options.md | 31 - .../information_schema/table_privileges.md | 28 - .../information_schema/table_properties.md | 27 - .../information_schema/tables.md | 43 - .../information_schema/triggers.md | 43 - .../information_schema/user_privileges.md | 26 - .../system-tables/information_schema/views.md | 32 - .../workload_group_privileges.md | 26 - .../workload_group_resource_usage.md | 28 - .../information_schema/workload_groups.md | 39 - .../information_schema/workload_policy.md | 30 - .../internal_schema/audit_log.md | 61 - .../internal_schema/column_statistics.md | 39 - .../internal_schema/partition_statistics.md | 36 - .../system-tables/mysql/props_priv.md | 30 - .../admin-manual/system-tables/mysql/user.md | 54 - .../admin-manual/system-tables/overview.md | 41 - .../trouble-shooting/compaction-principles.md | 146 - .../trouble-shooting/compaction.md | 113 - .../trouble-shooting/frontend-lock-manager.md | 108 - .../doris-cache-memory-analysis.md | 131 - .../memory-analysis/global-memory-analysis.md | 70 - .../heap-profile-memory-analysis.md | 25 - .../jemalloc-memory-analysis.md | 110 - .../memory-analysis/load-memory-analysis.md | 33 - .../memory-analysis/memory-log-analysis.md | 78 - .../metadata-memory-analysis.md | 52 - .../memory-analysis/oom-crash-analysis.md | 61 - ...cancelled-after-process-memory-exceeded.md | 98 - ...y-cancelled-after-query-memory-exceeded.md | 50 - .../memory-analysis/query-memory-analysis.md | 122 - .../memory-feature/memory-control-strategy.md | 79 - .../memory-feature/memory-tracker.md | 91 - .../memory-management/memory-issue-faq.md | 85 - .../memory-management/overview.md | 149 - .../trouble-shooting/metadata-operation.md | 329 -- .../trouble-shooting/repairing-data.md | 34 - .../trouble-shooting/tablet-local-debug.md | 208 - .../trouble-shooting/tablet-meta-tool.md | 130 - .../workload-management/analysis-diagnosis.md | 139 - .../workload-management/compute-group.md | 144 - .../concurrency-control-and-queuing.md | 85 - .../workload-management/job-scheduler.md | 206 - .../workload-management/kill-query.md | 157 - .../query-progress-monitor.md | 207 - .../workload-management/resource-group.md | 158 - .../workload-management/spill-disk.md | 328 -- .../workload-management/sql-blocking.md | 301 -- .../workload-group-bind-compute-group.md | 76 - .../workload-management/workload-group.md | 694 ---- .../workload-management-summary.md | 41 - .../current/ai/ai-function-overview.md | 285 -- .../current/ai/ai-overview.md | 122 - .../current/ai/text-search/custom-analyzer.md | 419 -- .../ai/text-search/custom-normalizer.md | 108 - .../current/ai/text-search/overview.md | 238 -- .../current/ai/text-search/scoring.md | 117 - .../current/ai/text-search/search-function.md | 346 -- .../ai/text-search/search-operators.md | 119 - .../current/ai/vector-search/behind-index.md | 252 -- .../current/ai/vector-search/hnsw.md | 335 -- .../ai/vector-search/index-management.md | 282 -- .../current/ai/vector-search/ivf-on-disk.md | 147 - .../current/ai/vector-search/ivf.md | 350 -- .../current/ai/vector-search/overview.md | 397 -- .../vector-search/performance-large-scale.md | 171 - .../current/ai/vector-search/performance.md | 74 - .../ai/vector-search/practical-guide.md | 282 -- .../ai/vector-search/quantization-survey.md | 213 -- .../ai/vector-search/resource-estimation.md | 155 - .../current/benchmark/ssb.md | 370 -- .../current/benchmark/tpcds.md | 264 -- .../current/benchmark/tpch.md | 850 ----- .../before-deployment.md | 132 - .../compilation-and-deployment.md | 310 -- .../file-cache/file-cache-internals.md | 115 - .../file-cache/file-cache.md | 355 -- .../managing-compute-cluster.md | 222 -- .../managing-storage-vault.md | 232 -- .../compute-storage-decoupled/overview.md | 75 - .../compute-storage-decoupled/recycler.md | 286 -- ...le-cache-rw-compute-group-best-practice.md | 165 - .../rw/read-write-separation.md | 197 - .../compute-storage-decoupled/upgrade.md | 230 -- .../data-operate/delete/atomicity-replace.md | 46 - .../delete/batch-delete-manual.md | 178 - .../data-operate/delete/delete-manual.md | 193 - .../data-operate/delete/delete-overview.md | 64 - .../delete/table-temp-partition.md | 218 -- .../data-operate/delete/truncate-manual.md | 42 - .../export/export-best-practice.md | 101 - .../data-operate/export/export-manual.md | 388 -- .../data-operate/export/export-overview.md | 126 - .../export/export-with-mysql-dump.md | 33 - .../current/data-operate/export/outfile.md | 288 -- .../import/complex-types/array.md | 123 - .../import/complex-types/bitmap.md | 130 - .../data-operate/import/complex-types/hll.md | 73 - .../data-operate/import/complex-types/json.md | 138 - .../data-operate/import/complex-types/map.md | 123 - .../import/complex-types/struct.md | 133 - .../import/complex-types/variant.md | 235 -- .../import/data-source/aliyun-oss.md | 188 - .../import/data-source/amazon-s3.md | 173 - .../import/data-source/aws-msk.md | 171 - .../import/data-source/azure-storage.md | 186 - .../import/data-source/bigquery.md | 206 - .../data-operate/import/data-source/flink.md | 66 - .../data-source/google-cloud-storage.md | 176 - .../data-operate/import/data-source/hdfs.md | 168 - .../import/data-source/huawei-obs.md | 172 - .../data-operate/import/data-source/kafka.md | 411 -- .../import/data-source/local-file.md | 230 -- .../migrate-data-from-other-olap.md | 22 - .../migrate-data-from-other-oltp.md | 163 - .../data-operate/import/data-source/minio.md | 191 - .../data-operate/import/data-source/mysql.md | 248 -- .../import/data-source/postgresql.md | 250 -- .../import/data-source/redshift.md | 209 - .../import/data-source/s3-compatible.md | 178 - .../import/data-source/snowflake.md | 211 - .../import/data-source/tencent-cos.md | 172 - .../data-operate/import/file-format/csv.md | 469 --- .../data-operate/import/file-format/json.md | 444 --- .../data-operate/import/file-format/native.md | 59 - .../data-operate/import/file-format/orc.md | 66 - .../import/file-format/parquet.md | 62 - .../import/group-commit-manual.md | 779 ---- .../import/handling-messy-data.md | 199 - .../import/import-way/broker-load-manual.md | 873 ----- .../import/import-way/insert-into-manual.md | 380 -- .../import-way/insert-into-values-manual.md | 272 -- .../import/import-way/log-storage-analysis.md | 548 --- .../import/import-way/mysql-load-manual.md | 255 -- .../import/import-way/routine-load-manual.md | 1852 --------- .../import/import-way/stream-load-manual.md | 1032 ----- .../import/load-best-practices.md | 44 - .../data-operate/import/load-data-convert.md | 1117 ------ .../import/load-high-availability.md | 104 - .../import/load-internals/load-internals.md | 209 - .../load-internals/routine-load-internals.md | 165 - .../stream-load-in-complex-network.md | 134 - .../data-operate/import/load-manual.md | 55 - .../continuous-load-mysql-database.md | 131 - .../continuous-load-mysql-table.md | 81 - .../streaming-job/continuous-load-overview.md | 165 - .../continuous-load-postgresql-database.md | 105 - .../continuous-load-postgresql-table.md | 83 - .../streaming-job/continuous-load-s3.md | 129 - .../prerequisites/amazon-aurora-mysql.md | 83 - .../prerequisites/amazon-aurora-postgresql.md | 82 - .../prerequisites/amazon-rds-mysql.md | 82 - .../prerequisites/amazon-rds-postgresql.md | 86 - .../images/mysql-binlog-setting.png | Bin 152513 -> 0 bytes .../prerequisites/images/pgwalsetting.png | Bin 141662 -> 0 bytes .../current/data-operate/transaction.md | 487 --- .../multi-stream-update-for-unique-model.md | 256 -- .../update/partial-column-update.md | 427 --- .../unique-update-concurrent-control.md | 251 -- .../data-operate/update/unique-update-sql.md | 123 - .../data-operate/update/unique-update.md | 122 - .../update/update-of-aggregate-model.md | 17 - .../update/update-of-unique-model.md | 17 - .../data-operate/update/update-overview.md | 254 -- .../db-connect/arrow-flight-sql-connect.md | 700 ---- .../current/db-connect/database-connect.md | 105 - .../current/ecosystem/automq-load.md | 108 - .../current/ecosystem/bi/apache-superset.md | 131 - .../current/ecosystem/bi/clouddm.md | 64 - .../current/ecosystem/bi/datagrip.md | 71 - .../current/ecosystem/bi/dbeaver.md | 109 - .../current/ecosystem/bi/finebi.md | 77 - .../current/ecosystem/bi/metabase.md | 269 -- .../current/ecosystem/bi/powerbi.md | 188 - .../current/ecosystem/bi/quickbi.md | 27 - .../current/ecosystem/bi/quicksight.md | 131 - .../current/ecosystem/bi/smartbi.md | 33 - .../current/ecosystem/bi/tableau-back.md | 141 - .../current/ecosystem/bi/tableau.md | 113 - .../current/ecosystem/cloudcanal.md | 64 - .../current/ecosystem/datax.md | 328 -- .../current/ecosystem/dbt-doris-adapter.md | 521 --- .../doris-kafka-connector.md | 593 --- .../doris-kafka-connector/release-notes.md | 53 - .../doris-operator/doris-operator-overview.md | 76 - .../ecosystem/doris-operator/on-alibaba.md | 137 - .../ecosystem/doris-operator/on-aws.md | 77 - .../current/ecosystem/doris-streamloader.md | 216 -- .../flink-doris-connector.md | 1160 ------ .../flink-doris-connector/release-notes.md | 74 - .../current/ecosystem/hive-bitmap-udf.md | 146 - .../current/ecosystem/hive-hll-udf.md | 226 -- .../current/ecosystem/kettle.md | 64 - .../current/ecosystem/kyuubi.md | 91 - .../current/ecosystem/observability/beats.md | 358 -- .../ecosystem/observability/fluentbit.md | 352 -- .../ecosystem/observability/langfuse.md | 333 -- .../ecosystem/observability/logstash.md | 412 -- .../ecosystem/observability/loongcollector.md | 347 -- .../ecosystem/observability/opentelemetry.md | 366 -- .../current/ecosystem/observability/vector.md | 468 --- .../current/ecosystem/seatunnel.md | 305 -- .../spark-doris-connector/release-notes.md | 74 - .../spark-doris-connector.md | 596 --- .../current/ecosystem/spark-load.md | 493 --- .../current/faq/bi-faq.md | 47 - .../current/faq/correctness-faq.md | 33 - .../current/faq/data-faq.md | 166 - .../current/faq/install-faq.md | 307 -- .../current/faq/lakehouse-faq.md | 510 --- .../current/faq/load-faq.md | 122 - .../current/faq/sql-faq.md | 78 - .../alternative-to-clickhouse.mdx | 295 -- .../alternative-to-elasticsearch.mdx | 210 - .../alternatives/alternative-to-trino.mdx | 185 - .../before-you-start-the-poc.md | 180 - .../gettingStarted/demo-block/demo-block.css | 394 -- .../gettingStarted/demo-block/latest.tsx | 68 - .../gettingStarted/demo-block/page-hero-1.tsx | 60 - .../gettingStarted/demo-block/page-hero-2.tsx | 60 - .../gettingStarted/demo-block/page-hero.tsx | 59 - .../current/gettingStarted/quick-start.mdx | 267 -- .../gettingStarted/what-is-apache-doris.md | 154 - ...egrated-storage-compute-deploy-manually.md | 307 -- ...arating-storage-compute-deploy-manually.md | 345 -- .../install/deploy-on-cloud/doris-on-aws.md | 112 - .../access-cluster.md | 141 - .../cluster-operation.md | 438 --- .../install-config-cluster.md | 1028 ----- .../install-doris-cluster.md | 54 - .../install-doris-operator.md | 52 - .../separating-storage-compute/config-cg.md | 205 - .../config-cluster.md | 283 -- .../separating-storage-compute/config-fe.md | 271 -- .../separating-storage-compute/config-ms.md | 122 - .../install-doris-cluster.md | 138 - .../separating-storage-compute/install-fdb.md | 126 - .../install/preparation/cluster-planning.md | 51 - .../install/preparation/env-checking.md | 123 - .../install/preparation/os-checking.md | 141 - .../lakehouse/best-practices/doris-aws-emr.md | 242 -- .../best-practices/doris-aws-s3tables.md | 203 - .../best-practices/doris-dlf-iceberg.md | 120 - .../best-practices/doris-dlf-paimon.md | 150 - .../best-practices/doris-gravitino.md | 307 -- .../lakehouse/best-practices/doris-hudi.md | 295 -- .../lakehouse/best-practices/doris-iceberg.md | 561 --- .../best-practices/doris-lakekeeper.md | 410 -- .../best-practices/doris-maxcompute.md | 237 -- .../lakehouse/best-practices/doris-nessie.md | 367 -- .../lakehouse/best-practices/doris-onelake.md | 263 -- .../lakehouse/best-practices/doris-paimon.md | 250 -- .../lakehouse/best-practices/doris-polaris.md | 379 -- .../best-practices/doris-unity-catalog.md | 173 - .../lakehouse/best-practices/kerberos.md | 346 -- .../lakehouse/best-practices/optimization.md | 147 - .../current/lakehouse/best-practices/tpcds.md | 159 - .../current/lakehouse/best-practices/tpch.md | 128 - .../current/lakehouse/catalog-overview.md | 362 -- .../lakehouse/catalogs/bigquery-catalog.md | 171 - .../lakehouse/catalogs/delta-lake-catalog.md | 169 - .../lakehouse/catalogs/doris-catalog.mdx | 288 -- .../current/lakehouse/catalogs/es-catalog.md | 569 --- .../lakehouse/catalogs/hive-catalog.mdx | 1196 ------ .../lakehouse/catalogs/hudi-catalog.md | 296 -- .../lakehouse/catalogs/iceberg-catalog.mdx | 3191 ---------------- .../catalogs/jdbc-catalog-overview.md | 465 --- .../catalogs/jdbc-clickhouse-catalog.md | 91 - .../lakehouse/catalogs/jdbc-ibmdb2-catalog.md | 82 - .../lakehouse/catalogs/jdbc-mysql-catalog.md | 291 -- .../catalogs/jdbc-oceanbase-catalog.md | 47 - .../lakehouse/catalogs/jdbc-oracle-catalog.md | 76 - .../lakehouse/catalogs/jdbc-pg-catalog.md | 111 - .../catalogs/jdbc-saphana-catalog.md | 71 - .../catalogs/jdbc-sqlserver-catalog.md | 120 - .../lakehouse/catalogs/kafka-catalog.md | 358 -- .../lakehouse/catalogs/kudu-catalog.md | 175 - .../lakehouse/catalogs/maxcompute-catalog.md | 531 --- .../lakehouse/catalogs/paimon-catalog.mdx | 1336 ------- .../current/lakehouse/compute-node.md | 96 - .../current/lakehouse/data-cache.md | 379 -- .../current/lakehouse/file-analysis.md | 357 -- .../current/lakehouse/file-formats/lance.md | 98 - .../current/lakehouse/file-formats/orc.md | 75 - .../current/lakehouse/file-formats/parquet.md | 69 - .../current/lakehouse/file-formats/text.md | 90 - .../current/lakehouse/huggingface.md | 129 - .../current/lakehouse/lakehouse-overview.md | 153 - .../current/lakehouse/meta-cache.md | 365 -- .../lakehouse/metastores/aliyun-dlf.md | 92 - .../current/lakehouse/metastores/aws-glue.md | 248 -- .../lakehouse/metastores/filesystem.md | 11 - .../metastores/google-dataproc-metastore.md | 14 - .../lakehouse/metastores/hive-metastore.md | 256 -- .../lakehouse/metastores/iceberg-jdbc.md | 110 - .../lakehouse/metastores/iceberg-rest.md | 200 - .../lakehouse/metastores/paimon-jdbc.md | 74 - .../current/lakehouse/statistics.md | 16 - .../current/lakehouse/storages/aliyun-oss.md | 122 - .../current/lakehouse/storages/azure-blob.md | 80 - .../current/lakehouse/storages/baidu-bos.md | 9 - .../current/lakehouse/storages/gcs.md | 14 - .../current/lakehouse/storages/hdfs.md | 225 -- .../current/lakehouse/storages/huawei-obs.md | 60 - .../current/lakehouse/storages/juicefs.md | 97 - .../current/lakehouse/storages/minio.md | 62 - .../current/lakehouse/storages/ozone.md | 69 - .../current/lakehouse/storages/s3.md | 264 -- .../current/lakehouse/storages/tencent-cos.md | 56 - .../observability/log-storage-analysis.md | 467 --- .../current/observability/log.md | 493 --- .../current/observability/overview.mdx | 139 - .../current/observability/trace.md | 235 -- .../query-acceleration/colocation-join.md | 425 --- .../query-acceleration/condition-cache.md | 109 - .../current/query-acceleration/dictionary.md | 663 ---- .../bitmap-precise-deduplication.md | 149 - .../hll-approximate-deduplication.md | 156 - .../high-concurrent-point-query.md | 185 - .../hints/distribute-hint.md | 121 - .../hints/hints-overview.md | 89 - .../query-acceleration/hints/leading-hint.md | 489 --- .../async-materialized-view/faq.md | 485 --- .../functions-and-demands.md | 1521 -------- .../async-materialized-view/overview.md | 220 -- .../async-materialized-view/use-advice.md | 156 - .../async-materialized-view/use-guide.md | 789 ---- .../materialized-view/overview.md | 55 - .../sync-materialized-view.md | 609 --- .../pipeline-execution-engine.md | 78 - .../query-optimizer.md | 57 - .../runtime-filter.md | 411 -- .../statistics.md | 484 --- .../topn-optimization.md | 142 - .../analysis-tools.md | 149 - .../diagnostic-tools.md | 120 - .../tuning-overview.md | 18 - .../tuning-process.md | 58 - .../current/query-acceleration/query-cache.md | 238 -- .../query-acceleration/query-profile.md | 583 --- .../query-acceleration/sql-cache-manual.md | 221 -- .../tuning/parallelism-tuning.md | 67 - .../adjustment-of-runtimefilter-wait-time.md | 101 - .../tuning-execution/data-skew-handling.md | 85 - .../tuning-execution/parallelism-tuning.md | 144 - .../tuning/tuning-parameters.md | 15 - .../accelerating-queries-with-sql-cache.md | 25 - .../tuning-plan/adjusting-join-shuffle.md | 82 - .../controlling-hints-with-cbo-rule.md | 70 - .../tuning/tuning-plan/dml-tuning-plan.md | 11 - .../optimizing-join-with-colocate-group.md | 16 - .../tuning-plan/optimizing-table-index.md | 79 - .../tuning-plan/optimizing-table-scanning.md | 64 - .../tuning-plan/optimizing-table-schema.md | 107 - .../reordering-join-with-leading-hint.md | 224 -- .../transparent-rewriting-with-async-mv.md | 150 - .../transparent-rewriting-with-sync-mv.md | 78 - .../current/query-data/asof-join.md | 404 -- .../current/query-data/complex-type.md | 13 - .../current/query-data/cte.md | 159 - .../current/query-data/join.md | 422 -- .../current/query-data/lateral-view.md | 81 - .../query-data/multi-dimensional-analytics.md | 534 --- .../current/query-data/mysql-compatibility.md | 271 -- .../current/query-data/subquery.md | 315 -- .../current/query-data/udf/alias-function.md | 54 - .../udf/java-user-defined-function.md | 552 --- .../udf/python-user-defined-function.md | 3376 ---------------- .../current/query-data/window-function.md | 691 ---- .../sql-manual/basic-element/comments.md | 34 - .../basic-element/file-path-pattern.md | 309 -- .../basic-element/literal/date-literal.md | 64 - .../basic-element/literal/numeric-literal.md | 33 - .../basic-element/literal/string-literal.md | 48 - .../current/sql-manual/basic-element/nulls.md | 67 - .../basic-element/object-identifiers.md | 59 - .../operators/arithmetic-operators.mdx | 105 - .../operators/assignment-operators.md | 17 - .../operators/bitwise-operators.md | 20 - .../boolean-testing-operators.md | 19 - .../comparison-operators.md | 22 - .../conditional-operators/exists-operators.md | 17 - .../full-text-search-operators.md | 28 - .../conditional-operators/in-operators.md | 18 - .../logical-operators.md | 43 - .../pattern-matching-operators.md | 90 - .../operators/operator-precedence.md | 30 - .../basic-element/reserved-keywords.md | 192 - .../sql-data-types/aggregate/AGG-STATE.md | 76 - .../sql-data-types/aggregate/BITMAP.md | 57 - .../sql-data-types/aggregate/HLL.md | 30 - .../aggregate/QUANTILE-STATE.md | 53 - .../sql-data-types/binary-type/VARBINARY.md | 22 - .../conversion/array-conversion.md | 142 - .../conversion/boolean-conversion.md | 142 - .../sql-data-types/conversion/cast-expr.md | 123 - .../conversion/cast-to-string.md | 391 -- .../conversion/date-conversion.md | 494 --- .../conversion/datetime-conversion.md | 623 --- .../conversion/decimal-conversion.md | 275 -- .../conversion/float-double-conversion.md | 353 -- .../conversion/int-conversion.md | 335 -- .../conversion/ip-conversion.md | 236 -- .../conversion/json-conversion.md | 384 -- .../conversion/map-conversion.md | 145 - .../sql-data-types/conversion/overview.md | 110 - .../conversion/struct-conversion.md | 260 -- .../conversion/time-conversion.md | 330 -- .../conversion/timestamptz-conversion.md | 132 - .../sql-data-types/data-type-overview.md | 93 - .../sql-data-types/date-time/DATE.md | 51 - .../sql-data-types/date-time/DATETIME.md | 61 - .../sql-data-types/date-time/TIME.md | 49 - .../sql-data-types/date-time/TIMESTAMPTZ.md | 124 - .../basic-element/sql-data-types/ip/IPV4.md | 60 - .../basic-element/sql-data-types/ip/IPV6.md | 58 - .../sql-data-types/numeric/BIGINT.md | 16 - .../sql-data-types/numeric/BOOLEAN.md | 87 - .../sql-data-types/numeric/DECIMAL.md | 907 ----- .../sql-data-types/numeric/FLOATING-POINT.md | 192 - .../sql-data-types/numeric/INT.md | 16 - .../sql-data-types/numeric/LARGEINT.md | 15 - .../sql-data-types/numeric/SMALLINT.md | 16 - .../sql-data-types/numeric/TINYINT.md | 16 - .../sql-data-types/semi-structured/ARRAY.md | 330 -- .../sql-data-types/semi-structured/GEO.md | 379 -- .../sql-data-types/semi-structured/JSON.md | 1228 ------ .../sql-data-types/semi-structured/MAP.md | 217 -- .../sql-data-types/semi-structured/STRUCT.md | 207 - .../sql-data-types/semi-structured/VARIANT.md | 580 --- .../semi-structured/variant-workload-guide.md | 315 -- .../sql-data-types/string-type/CHAR.md | 21 - .../sql-data-types/string-type/STRING.md | 22 - .../sql-data-types/string-type/VARCHAR.md | 19 - .../sql-manual/basic-element/variables.md | 210 - .../aggregate-functions/ai-agg.md | 130 - .../aggregate-functions/any-value.md | 114 - .../approx-count-distinct.md | 137 - .../aggregate-functions/array-agg.md | 69 - .../aggregate-functions/avg-weighted.md | 108 - .../sql-functions/aggregate-functions/avg.md | 175 - .../aggregate-functions/bitmap-agg.md | 88 - .../aggregate-functions/bitmap-intersect.md | 77 - .../aggregate-functions/bitmap-union-count.md | 72 - .../aggregate-functions/bitmap-union-int.md | 70 - .../aggregate-functions/bitmap-union.md | 69 - .../aggregate-functions/bool-and.md | 147 - .../aggregate-functions/bool-or.md | 146 - .../aggregate-functions/bool-xor.md | 146 - .../aggregate-functions/collect-list.md | 73 - .../aggregate-functions/collect-set.md | 72 - .../aggregate-functions/corr-welford.md | 84 - .../sql-functions/aggregate-functions/corr.md | 85 - .../aggregate-functions/count-by-enum.md | 143 - .../aggregate-functions/count.md | 112 - .../aggregate-functions/covar-samp.md | 76 - .../aggregate-functions/covar.md | 83 - .../group-array-intersect.md | 67 - .../aggregate-functions/group-array-union.md | 80 - .../aggregate-functions/group-bit-and.md | 69 - .../aggregate-functions/group-bit-or.md | 68 - .../aggregate-functions/group-bit-xor.md | 69 - .../aggregate-functions/group-bitmap-xor.md | 74 - .../aggregate-functions/group-concat.md | 119 - .../aggregate-functions/histogram.md | 136 - .../aggregate-functions/hll-raw-agg.md | 75 - .../aggregate-functions/hll-union-agg.md | 73 - .../aggregate-functions/intersect-count.md | 75 - .../sql-functions/aggregate-functions/kurt.md | 82 - .../aggregate-functions/linear-histogram.md | 87 - .../aggregate-functions/map-agg.md | 82 - .../aggregate-functions/max-by.md | 96 - .../sql-functions/aggregate-functions/max.md | 123 - .../aggregate-functions/median.md | 75 - .../aggregate-functions/min-by.md | 96 - .../sql-functions/aggregate-functions/min.md | 123 - .../percentile-approx-weighted.md | 109 - .../aggregate-functions/percentile-approx.md | 106 - .../aggregate-functions/percentile-array.md | 102 - .../aggregate-functions/percentile.md | 103 - .../percentile_reservoir.md | 92 - .../aggregate-functions/quantile-union.md | 93 - .../aggregate-functions/regr-avgx.md | 64 - .../aggregate-functions/regr-avgy.md | 64 - .../aggregate-functions/regr-count.md | 66 - .../aggregate-functions/regr-intercept.md | 64 - .../aggregate-functions/regr-r2.md | 75 - .../aggregate-functions/regr-slope.md | 64 - .../aggregate-functions/regr-sxx.md | 64 - .../aggregate-functions/regr-sxy.md | 64 - .../aggregate-functions/regr-syy.md | 64 - .../aggregate-functions/retention.md | 165 - .../sql-functions/aggregate-functions/sem.md | 106 - .../aggregate-functions/sequence-count.md | 187 - .../aggregate-functions/sequence-match.md | 185 - .../sql-functions/aggregate-functions/skew.md | 93 - .../aggregate-functions/stddev-samp.md | 60 - .../aggregate-functions/stddev.md | 65 - .../sql-functions/aggregate-functions/sum.md | 60 - .../sql-functions/aggregate-functions/sum0.md | 64 - .../aggregate-functions/topn-array.md | 79 - .../aggregate-functions/topn-weighted.md | 82 - .../sql-functions/aggregate-functions/topn.md | 79 - .../aggregate-functions/var-samp.md | 68 - .../aggregate-functions/variance.md | 65 - .../aggregate-functions/window-funnel.md | 287 -- .../sql-functions/ai-functions/ai-classify.md | 78 - .../sql-functions/ai-functions/ai-extract.md | 78 - .../sql-functions/ai-functions/ai-filter.md | 81 - .../ai-functions/ai-fixgrammar.md | 77 - .../sql-functions/ai-functions/ai-generate.md | 77 - .../sql-functions/ai-functions/ai-mask.md | 80 - .../ai-functions/ai-sentiment.md | 81 - .../ai-functions/ai-similarity.md | 87 - .../ai-functions/ai-summarize.md | 78 - .../ai-functions/ai-translate.md | 78 - .../distance-functions/cosine-distance.md | 42 - .../ai-functions/distance-functions/embed.md | 171 - .../inner-product-approximate.md | 87 - .../distance-functions/inner-product.md | 42 - .../distance-functions/l1-distance.md | 42 - .../l2-distance-approximate.md | 87 - .../distance-functions/l2-distance.md | 42 - .../sql-functions/ai-functions/overview.md | 155 - .../sql-functions/combinators/foreach.md | 58 - .../sql-functions/combinators/merge.md | 28 - .../sql-functions/combinators/state.md | 28 - .../sql-functions/combinators/union.md | 28 - .../array-functions/array-apply.md | 181 - .../array-functions/array-avg.md | 148 - .../array-functions/array-compact.md | 174 - .../array-functions/array-concat.md | 200 - .../array-functions/array-contains.md | 215 -- .../array-functions/array-contains_all.md | 65 - .../array-functions/array-count.md | 232 -- .../array-functions/array-cross-product.md | 125 - .../array-functions/array-cum-sum.md | 176 - .../array-functions/array-difference.md | 176 - .../array-functions/array-distinct.md | 168 - .../array-functions/array-enumerate-uniq.md | 152 - .../array-functions/array-enumerate.md | 130 - .../array-functions/array-except.md | 219 -- .../array-functions/array-exists.md | 170 - .../array-functions/array-filter.md | 257 -- .../array-functions/array-first-index.md | 162 - .../array-functions/array-first.md | 159 - .../array-functions/array-flatten.md | 47 - .../array-functions/array-intersect.md | 146 - .../array-functions/array-join.md | 165 - .../array-functions/array-last-index.md | 159 - .../array-functions/array-last.md | 147 - .../array-functions/array-map.md | 145 - .../array-functions/array-match-all.md | 60 - .../array-functions/array-match-any.md | 66 - .../array-functions/array-max.md | 162 - .../array-functions/array-min.md | 162 - .../array-functions/array-popback.md | 144 - .../array-functions/array-popfront.md | 148 - .../array-functions/array-position.md | 166 - .../array-functions/array-product.md | 137 - .../array-functions/array-pushback.md | 162 - .../array-functions/array-pushfront.md | 158 - .../array-functions/array-range.md | 72 - .../array-functions/array-remove.md | 46 - .../array-functions/array-repeat.md | 82 - .../array-functions/array-reverse-sort.md | 41 - .../array-functions/array-reverse-split.md | 53 - .../array-functions/array-shuffle.md | 41 - .../array-functions/array-size.md | 36 - .../array-functions/array-slice.md | 55 - .../array-functions/array-sort.md | 194 - .../array-functions/array-sortby.md | 51 - .../array-functions/array-split.md | 53 - .../array-functions/array-sum.md | 73 - .../array-functions/array-union.md | 95 - .../array-functions/array-with-constant.md | 83 - .../array-functions/array-zip.md | 82 - .../scalar-functions/array-functions/array.md | 142 - .../array-functions/arrays-overlap.md | 154 - .../array-functions/countequal.md | 45 - .../binary-functions/from-base64-binary.md | 72 - .../binary-functions/from_hex.md | 72 - .../binary-functions/sub-binary.md | 108 - .../binary-functions/to-base64-binary.md | 56 - .../binary-functions/to_hex.md | 76 - .../bitmap-functions/bitmap-and-count.md | 79 - .../bitmap-functions/bitmap-and-not-count.md | 59 - .../bitmap-functions/bitmap-and-not.md | 83 - .../bitmap-functions/bitmap-and.md | 68 - .../bitmap-functions/bitmap-contains.md | 56 - .../bitmap-functions/bitmap-count.md | 53 - .../bitmap-functions/bitmap-empty.md | 51 - .../bitmap-functions/bitmap-from-array.md | 66 - .../bitmap-functions/bitmap-from-base64.md | 78 - .../bitmap-functions/bitmap-from-string.md | 92 - .../bitmap-functions/bitmap-has-all.md | 80 - .../bitmap-functions/bitmap-has-any.md | 78 - .../bitmap-functions/bitmap-hash.md | 85 - .../bitmap-functions/bitmap-hash64.md | 60 - .../bitmap-functions/bitmap-max.md | 76 - .../bitmap-functions/bitmap-min.md | 76 - .../bitmap-functions/bitmap-not.md | 75 - .../bitmap-functions/bitmap-or-count.md | 112 - .../bitmap-functions/bitmap-or.md | 144 - .../bitmap-functions/bitmap-remove.md | 65 - .../bitmap-subset-in-range.md | 95 - .../bitmap-functions/bitmap-subset-limit.md | 106 - .../bitmap-functions/bitmap-to-array.md | 94 - .../bitmap-functions/bitmap-to-base64.md | 101 - .../bitmap-functions/bitmap-to-string.md | 94 - .../bitmap-functions/bitmap-xor-count.md | 130 - .../bitmap-functions/bitmap-xor.md | 113 - .../bitmap-functions/sub-bitmap.md | 94 - .../bitmap-functions/to-bitmap.md | 107 - .../bitwise-functions/bit-length.md | 48 - .../bitwise-functions/bit-test.md | 58 - .../bitwise-functions/bitand.md | 49 - .../bitwise-functions/bitcount.md | 47 - .../bitwise-functions/bitnot.md | 47 - .../bitwise-functions/bitor.md | 49 - .../bitwise-functions/bitshiftleft.md | 48 - .../bitwise-functions/bitshiftright.md | 52 - .../scalar-functions/bitwise-functions/xor.md | 46 - .../conditional-functions/coalesce.md | 63 - .../conditional-functions/greatest.md | 78 - .../conditional-functions/if.md | 72 - .../conditional-functions/ifnull.md | 65 - .../conditional-functions/least.md | 80 - .../not-null-or-empty.md | 36 - .../conditional-functions/null-or-empty.md | 36 - .../conditional-functions/nullif.md | 63 - .../conditional-functions/overview.md | 88 - .../date-time-functions/add-time.md | 110 - .../date-time-functions/century.md | 61 - .../date-time-functions/convert-tz.md | 103 - .../date-time-functions/curdate.md | 40 - .../date-time-functions/curtime.md | 66 - .../date-time-functions/date-add.md | 221 -- .../date-time-functions/date-ceil.md | 152 - .../date-time-functions/date-floor.md | 123 - .../date-time-functions/date-format.md | 174 - .../date-time-functions/date-sub.md | 186 - .../date-time-functions/date-trunc.md | 120 - .../date-time-functions/date.md | 64 - .../date-time-functions/datediff.md | 80 - .../date-time-functions/day-ceil.md | 164 - .../date-time-functions/day-floor.md | 151 - .../date-time-functions/day.md | 67 - .../date-time-functions/dayname.md | 199 - .../date-time-functions/dayofweek.md | 73 - .../date-time-functions/dayofyear.md | 75 - .../date-time-functions/extract.md | 131 - .../date-time-functions/from-days.md | 63 - .../date-time-functions/from-iso8601-date.md | 113 - .../date-time-functions/from-microsecond.md | 76 - .../date-time-functions/from-millisecond.md | 77 - .../date-time-functions/from-second.md | 66 - .../date-time-functions/from-unixtime.md | 128 - .../date-time-functions/get-format.md | 114 - .../date-time-functions/hour-ceil.md | 164 - .../date-time-functions/hour-floor.md | 146 - .../date-time-functions/hour.md | 92 - .../date-time-functions/hours-add.md | 95 - .../date-time-functions/hours-diff.md | 84 - .../date-time-functions/hours-sub.md | 89 - .../date-time-functions/last-day.md | 81 - .../date-time-functions/makedate.md | 79 - .../date-time-functions/maketime.md | 99 - .../microsecond-timestamp.md | 81 - .../date-time-functions/microsecond.md | 87 - .../date-time-functions/microseconds-add.md | 87 - .../date-time-functions/microseconds-diff.md | 79 - .../date-time-functions/microseconds-sub.md | 85 - .../millisecond-timestamp.md | 91 - .../date-time-functions/milliseconds-add.md | 119 - .../date-time-functions/milliseconds-diff.md | 86 - .../date-time-functions/milliseconds-sub.md | 74 - .../date-time-functions/minute-ceil.md | 155 - .../date-time-functions/minute-floor.md | 151 - .../date-time-functions/minute.md | 76 - .../date-time-functions/minutes-add.md | 95 - .../date-time-functions/minutes-diff.md | 87 - .../date-time-functions/minutes-sub.md | 99 - .../date-time-functions/month-ceil.md | 155 - .../date-time-functions/month-floor.md | 150 - .../date-time-functions/month.md | 68 - .../date-time-functions/monthname.md | 195 - .../date-time-functions/months-add.md | 102 - .../date-time-functions/months-between.md | 104 - .../date-time-functions/months-diff.md | 110 - .../date-time-functions/months-sub.md | 103 - .../date-time-functions/next-day.md | 104 - .../date-time-functions/now.md | 52 - .../date-time-functions/period-add.md | 81 - .../date-time-functions/period-diff.md | 63 - .../date-time-functions/previous-day.md | 101 - .../date-time-functions/quarter.md | 86 - .../date-time-functions/quarters-add.md | 109 - .../date-time-functions/quarters-sub.md | 111 - .../date-time-functions/sec-to-time.md | 96 - .../date-time-functions/second-ceil.md | 142 - .../date-time-functions/second-floor.md | 137 - .../date-time-functions/second.md | 92 - .../date-time-functions/seconds-add.md | 103 - .../date-time-functions/seconds-diff.md | 78 - .../date-time-functions/seconds-sub.md | 102 - .../date-time-functions/str-to-date.md | 137 - .../date-time-functions/sub-time.md | 109 - .../date-time-functions/time-format.md | 170 - .../date-time-functions/time-to-sec.md | 108 - .../date-time-functions/time.md | 44 - .../date-time-functions/timediff.md | 99 - .../date-time-functions/timestamp.md | 91 - .../date-time-functions/timestampadd.md | 100 - .../date-time-functions/timestampdiff.md | 112 - .../date-time-functions/to-date.md | 56 - .../date-time-functions/to-days.md | 52 - .../date-time-functions/to-iso8601.md | 75 - .../date-time-functions/to-monday.md | 83 - .../date-time-functions/to-seconds.md | 71 - .../date-time-functions/unix-timestamp.md | 142 - .../date-time-functions/utc-date.md | 38 - .../date-time-functions/utc-time.md | 54 - .../date-time-functions/utc-timestamp.md | 54 - .../date-time-functions/week-ceil.md | 156 - .../date-time-functions/week-floor.md | 160 - .../date-time-functions/week.md | 110 - .../date-time-functions/weekday.md | 67 - .../date-time-functions/weekofyear.md | 94 - .../date-time-functions/weeks-add.md | 96 - .../date-time-functions/weeks-diff.md | 112 - .../date-time-functions/weeks-sub.md | 94 - .../date-time-functions/year-ceil.md | 163 - .../date-time-functions/year-floor.md | 186 - .../date-time-functions/year-of-week.md | 107 - .../date-time-functions/year.md | 59 - .../date-time-functions/years-add.md | 109 - .../date-time-functions/years-diff.md | 95 - .../date-time-functions/years-sub.md | 96 - .../date-time-functions/yearweek.md | 95 - .../encrypt-digest-functions/aes-decrypt.md | 92 - .../encrypt-digest-functions/aes-encrypt.md | 80 - .../encrypt-digest-functions/crc32.md | 38 - .../encrypt-digest-functions/md5.md | 55 - .../encrypt-digest-functions/md5sum.md | 40 - .../murmur-hash3-32.md | 47 - .../murmur-hash3-64-v2.md | 68 - .../murmur-hash3-64.md | 45 - .../murmur-hash3-u64-v2.md | 72 - .../encrypt-digest-functions/sha.md | 60 - .../encrypt-digest-functions/sha2.md | 93 - .../encrypt-digest-functions/sm3.md | 55 - .../encrypt-digest-functions/sm3sum.md | 40 - .../encrypt-digest-functions/sm4-decrypt.md | 93 - .../encrypt-digest-functions/sm4-encrypt.md | 74 - .../encrypt-digest-functions/xxhash-32.md | 70 - .../encrypt-digest-functions/xxhash-64.md | 69 - .../hll-functions/hll-cardinality.md | 41 - .../hll-functions/hll-empty.md | 35 - .../hll-functions/hll-from-base64.md | 73 - .../hll-functions/hll-hash.md | 44 - .../hll-functions/hll-to-base64.md | 96 - .../scalar-functions/ip-functions/cut-ipv6.md | 85 - .../scalar-functions/ip-functions/cut_ipv6.md | 113 - .../ip-functions/ipv4-cidr-to-range.md | 83 - .../ip-functions/ipv4-num-to-string.md | 57 - .../ipv4-string-to-num-or-default.md | 84 - .../ipv4-string-to-num-or-null.md | 52 - .../ip-functions/ipv4-string-to-num.md | 99 - .../ip-functions/ipv4-to-ipv6.md | 84 - .../ip-functions/ipv4_cidr_to_range.md | 107 - .../ip-functions/ipv6-cidr-to-range.md | 84 - .../ip-functions/ipv6-num-to-string.md | 44 - .../ipv6-string-to-num-or-default.md | 80 - .../ipv6-string-to-num-or-null.md | 44 - .../ip-functions/ipv6-string-to-num.md | 72 - .../ip-functions/ipv6_cidr_to_range.md | 100 - .../ip-functions/is-ip-address-in-range.md | 123 - .../ip-functions/is-ipv4-compat.md | 85 - .../ip-functions/is-ipv4-mapped.md | 82 - .../ip-functions/is-ipv4-string.md | 88 - .../ip-functions/is-ipv6-string.md | 89 - .../ip-functions/to-ipv4-or-default.md | 67 - .../ip-functions/to-ipv4-or-null.md | 67 - .../scalar-functions/ip-functions/to-ipv4.md | 59 - .../ip-functions/to-ipv6-or-default.md | 67 - .../ip-functions/to-ipv6-or-null.md | 67 - .../scalar-functions/ip-functions/to-ipv6.md | 61 - .../json-functions/get-json-bigint.md | 11 - .../json-functions/get-json-double.md | 11 - .../json-functions/get-json-int.md | 11 - .../json-functions/get-json-string.md | 11 - .../json-functions/json-array-ignore-null.md | 87 - .../json-functions/json-array.md | 98 - .../json-functions/json-contains.md | 96 - .../json-functions/json-exists-path.md | 71 - .../json-functions/json-extract-bigint.md | 87 - .../json-functions/json-extract-bool.md | 87 - .../json-functions/json-extract-double.md | 87 - .../json-functions/json-extract-int.md | 87 - .../json-functions/json-extract-isnull.md | 83 - .../json-functions/json-extract-largeint.md | 87 - .../json-functions/json-extract-string.md | 101 - .../json-functions/json-extract.md | 187 - .../json-functions/json-hash.md | 172 - .../json-functions/json-insert.md | 125 - .../json-functions/json-keys.md | 120 - .../json-functions/json-length.md | 121 - .../json-functions/json-object-flatten.md | 155 - .../json-functions/json-object.md | 164 - .../json-parse-error-to-null.md | 10 - .../json-parse-error-to-value.md | 10 - .../json-functions/json-parse.md | 160 - .../json-functions/json-quote.md | 95 - .../json-functions/json-remove.md | 71 - .../json-functions/json-replace.md | 91 - .../json-functions/json-search.md | 154 - .../json-functions/json-set.md | 81 - .../json-functions/json-type.md | 100 - .../json-functions/json-unquote.md | 102 - .../json-functions/json-valid.md | 83 - .../normalize-json-numbers-to-double.md | 146 - .../json-functions/sort-json-object-keys.md | 108 - .../json-functions/strip-null-value.md | 70 - .../json-functions/to-json.md | 269 -- .../map-functions/deduplicate-map.md | 42 - .../map-functions/map-contains-entry.md | 71 - .../map-functions/map-contains-key.md | 49 - .../map-functions/map-contains-value.md | 62 - .../map-functions/map-entries.md | 47 - .../map-functions/map-keys.md | 47 - .../map-functions/map-size.md | 51 - .../map-functions/map-values.md | 53 - .../scalar-functions/map-functions/map.md | 84 - .../map-functions/str-to-map.md | 45 - .../scalar-functions/numeric-functions/abs.md | 77 - .../numeric-functions/acos.md | 123 - .../numeric-functions/acosh.md | 122 - .../numeric-functions/asin.md | 123 - .../numeric-functions/asinh.md | 109 - .../numeric-functions/atan.md | 149 - .../numeric-functions/atan2.md | 202 - .../numeric-functions/atanh.md | 110 - .../scalar-functions/numeric-functions/bin.md | 78 - .../numeric-functions/cbrt.md | 107 - .../numeric-functions/ceil.md | 121 - .../numeric-functions/conv.md | 93 - .../scalar-functions/numeric-functions/cos.md | 106 - .../numeric-functions/cosh.md | 99 - .../scalar-functions/numeric-functions/cot.md | 97 - .../scalar-functions/numeric-functions/csc.md | 96 - .../numeric-functions/degrees.md | 87 - .../scalar-functions/numeric-functions/e.md | 28 - .../numeric-functions/even.md | 104 - .../scalar-functions/numeric-functions/exp.md | 73 - .../numeric-functions/factorial.md | 95 - .../numeric-functions/floor.md | 120 - .../numeric-functions/fmod.md | 68 - .../numeric-functions/format-round.md | 117 - .../scalar-functions/numeric-functions/gcd.md | 99 - .../numeric-functions/interval.md | 107 - .../numeric-functions/isinf.md | 88 - .../numeric-functions/isnan.md | 86 - .../scalar-functions/numeric-functions/lcm.md | 106 - .../scalar-functions/numeric-functions/ln.md | 98 - .../scalar-functions/numeric-functions/log.md | 130 - .../numeric-functions/log10.md | 72 - .../numeric-functions/log2.md | 92 - .../scalar-functions/numeric-functions/mod.md | 56 - .../numeric-functions/money-format.md | 67 - .../numeric-functions/negative.md | 82 - .../numeric-functions/normal-cdf.md | 72 - .../scalar-functions/numeric-functions/pi.md | 35 - .../numeric-functions/pmod.md | 81 - .../numeric-functions/positive.md | 79 - .../scalar-functions/numeric-functions/pow.md | 107 - .../numeric-functions/radians.md | 67 - .../numeric-functions/random.md | 81 - .../numeric-functions/round-bankers.md | 150 - .../numeric-functions/round.md | 134 - .../scalar-functions/numeric-functions/sec.md | 96 - .../numeric-functions/sign.md | 99 - .../numeric-functions/signbit.md | 97 - .../scalar-functions/numeric-functions/sin.md | 124 - .../numeric-functions/sinh.md | 105 - .../numeric-functions/sqrt.md | 135 - .../scalar-functions/numeric-functions/tan.md | 82 - .../numeric-functions/tanh.md | 80 - .../numeric-functions/truncate.md | 70 - .../numeric-functions/uniform.md | 162 - .../numeric-functions/uuid_numeric.md | 35 - .../numeric-functions/width-bucket.md | 141 - .../scalar-functions/numeric-functions/xor.md | 33 - .../other-functions/convert-to.md | 68 - .../other-functions/default.md | 183 - .../other-functions/esquery.md | 61 - .../scalar-functions/other-functions/field.md | 96 - .../scalar-functions/other-functions/g.md | 8 - .../other-functions/grouping-id.md | 100 - .../other-functions/grouping.md | 80 - .../quantile-functions/quantile-percent.md | 63 - .../quantile-state-empty.md | 37 - .../quantile-state-from-base64.md | 67 - .../quantile-state-to-base64.md | 92 - .../quantile-functions/to-quantile-state.md | 61 - .../spatial-functions/st-angle-sphere.md | 146 - .../spatial-functions/st-angle.md | 146 - .../spatial-functions/st-area-square-km.md | 170 - .../st-area-square-meters.md | 170 - .../spatial-functions/st-asbinary.md | 123 - .../spatial-functions/st-astext.md | 128 - .../spatial-functions/st-azimuth.md | 135 - .../spatial-functions/st-circle.md | 96 - .../spatial-functions/st-contains.md | 171 - .../spatial-functions/st-disjoint.md | 191 - .../spatial-functions/st-distance-sphere.md | 110 - .../spatial-functions/st-distance.md | 108 - .../spatial-functions/st-geometryfromtext.md | 187 - .../spatial-functions/st-geometryfromwkb.md | 135 - .../spatial-functions/st-geometrytype.md | 111 - .../spatial-functions/st-intersects.md | 261 -- .../spatial-functions/st-length.md | 127 - .../spatial-functions/st-linefromtext.md | 95 - .../spatial-functions/st-point.md | 92 - .../spatial-functions/st-polygon.md | 95 - .../spatial-functions/st-touches.md | 261 -- .../spatial-functions/st-x.md | 104 - .../spatial-functions/st-y.md | 100 - .../append-trailing-char-if-absent.md | 96 - .../string-functions/ascii.md | 143 - .../string-functions/auto-partition-name.md | 113 - .../string-functions/char-length.md | 88 - .../scalar-functions/string-functions/char.md | 85 - .../string-functions/compress.md | 81 - .../string-functions/concat-ws.md | 167 - .../string-functions/concat.md | 137 - .../string-functions/count_substrings.md | 122 - .../cut-to-first-significant-subdomain.md | 68 - .../string-functions/digital-masking.md | 94 - .../string-functions/domain-without-www.md | 41 - .../string-functions/domain.md | 41 - .../scalar-functions/string-functions/elt.md | 140 - .../string-functions/ends-with.md | 162 - .../string-functions/export-set.md | 158 - .../string-functions/extract-url-parameter.md | 48 - .../string-functions/find-in-set.md | 163 - .../first-significant-subdomain.md | 41 - .../string-functions/format-number.md | 87 - .../string-functions/format.md | 96 - .../string-functions/from-base64.md | 162 - .../string-functions/hamming_distance.md | 33 - .../scalar-functions/string-functions/hex.md | 152 - .../string-functions/initcap.md | 162 - .../string-functions/instr.md | 163 - .../string-functions/int-to-uuid.md | 55 - .../string-functions/is-uuid.md | 99 - .../string-functions/lcase.md | 124 - .../string-functions/length.md | 151 - .../string-functions/levenshtein.md | 33 - .../string-functions/locate.md | 165 - .../scalar-functions/string-functions/lpad.md | 151 - .../string-functions/ltrim-in.md | 71 - .../string-functions/ltrim.md | 162 - .../string-functions/make-set.md | 115 - .../string-functions/mask-first-n.md | 181 - .../string-functions/mask-last-n.md | 181 - .../scalar-functions/string-functions/mask.md | 183 - .../string-functions/multi-match-any.md | 36 - .../multi-search-all-positions.md | 101 - .../string-functions/ngram-search.md | 93 - .../string-functions/overlay.md | 101 - .../string-functions/overview.md | 126 - .../string-functions/parse-data-size.md | 132 - .../string-functions/parse-url.md | 61 - .../string-functions/position.md | 165 - .../string-functions/printf.md | 70 - .../string-functions/protocol.md | 59 - .../string-functions/quote.md | 107 - .../string-functions/random_bytes.md | 94 - .../string-functions/regexp-count.md | 251 -- .../string-functions/regexp-extract-all.md | 302 -- .../regexp-extract-or-null.md | 344 -- .../string-functions/regexp-extract.md | 318 -- .../string-functions/regexp-replace-one.md | 185 - .../string-functions/regexp-replace.md | 185 - .../string-functions/regexp.md | 304 -- .../string-functions/repeat.md | 162 - .../string-functions/replace-empty.md | 100 - .../string-functions/replace.md | 155 - .../string-functions/reverse.md | 157 - .../scalar-functions/string-functions/rpad.md | 164 - .../string-functions/rtrim-in.md | 122 - .../string-functions/rtrim.md | 163 - .../string-functions/soundex.md | 149 - .../string-functions/space.md | 81 - .../string-functions/split-by-regexp.md | 165 - .../string-functions/split-by-string.md | 162 - .../string-functions/split-part.md | 163 - .../string-functions/starts-with.md | 161 - .../string-functions/strcmp.md | 71 - .../string-functions/strleft.md | 153 - .../string-functions/strright.md | 154 - .../string-functions/sub-replace.md | 125 - .../string-functions/substring-index.md | 151 - .../string-functions/substring.md | 177 - .../string-functions/to-base64.md | 148 - .../string-functions/tokenize.md | 170 - .../string-functions/top-level-domain.md | 69 - .../string-functions/translate.md | 163 - .../string-functions/trim-in.md | 113 - .../scalar-functions/string-functions/trim.md | 125 - .../string-functions/ucase.md | 136 - .../string-functions/uncompress.md | 63 - .../string-functions/unhex.md | 157 - .../string-functions/unicode_normalize.md | 137 - .../string-functions/url-decode.md | 42 - .../string-functions/url-encode.md | 43 - .../scalar-functions/string-functions/uuid.md | 56 - .../string-functions/xpath-string.md | 147 - .../struct-functions/named-struct.md | 111 - .../struct-functions/struct-element.md | 107 - .../struct-functions/struct.md | 102 - .../system-functions/connection-id.md | 37 - .../system-functions/current-catalog.md | 36 - .../system-functions/current-user.md | 52 - .../system-functions/database.md | 45 - .../system-functions/last-query-id.md | 35 - .../system-functions/session-user.md | 36 - .../scalar-functions/system-functions/user.md | 39 - .../system-functions/version-function.md | 36 - .../variant-functions/element-at.md | 112 - .../variant-functions/variant-type.md | 60 - .../table-functions/explode-bitmap-outer.md | 86 - .../table-functions/explode-bitmap.md | 75 - .../explode-json-array-double-outer.md | 100 - .../explode-json-array-double.md | 88 - .../explode-json-array-int-outer.md | 86 - .../table-functions/explode-json-array-int.md | 90 - .../explode-json-array-json-outer.md | 86 - .../explode-json-array-json.md | 71 - .../explode-json-array-string-outer.md | 84 - .../explode-json-array-string.md | 72 - .../table-functions/explode-json-object.md | 83 - .../table-functions/explode-map-outer.md | 83 - .../table-functions/explode-map.md | 75 - .../table-functions/explode-numbers-outer.md | 77 - .../table-functions/explode-numbers.md | 76 - .../table-functions/explode-outer.md | 100 - .../table-functions/explode-split-outer.md | 111 - .../table-functions/explode-split.md | 103 - .../sql-functions/table-functions/explode.md | 92 - .../table-functions/json-each-outer.md | 95 - .../table-functions/json-each-text-outer.md | 98 - .../table-functions/json-each-text.md | 103 - .../table-functions/json-each.md | 100 - .../table-functions/posexplode-outer.md | 95 - .../table-functions/posexplode.md | 92 - .../sql-functions/table-functions/unnest.md | 208 - .../table-valued-functions/backends.md | 68 - .../table-valued-functions/catalogs.md | 70 - .../table-valued-functions/cdc-stream.md | 124 - .../table-valued-functions/file.md | 107 - .../table-valued-functions/frontends.md | 61 - .../table-valued-functions/frontends_disks.md | 80 - .../table-valued-functions/hdfs.md | 131 - .../table-valued-functions/http.md | 102 - .../table-valued-functions/hudi-meta.md | 75 - .../table-valued-functions/iceberg-meta.md | 128 - .../table-valued-functions/jobs.md | 92 - .../table-valued-functions/local.md | 150 - .../table-valued-functions/mv_infos.md | 69 - .../table-valued-functions/numbers.md | 68 - .../table-valued-functions/parquet-meta.md | 198 - .../partition-values.md | 75 - .../table-valued-functions/partitions.md | 99 - .../table-valued-functions/query.md | 90 - .../table-valued-functions/s3.md | 599 --- .../table-valued-functions/tasks.md | 103 - .../window-functions/cume-dist.md | 69 - .../window-functions/dense-rank.md | 44 - .../window-functions/first-value.md | 75 - .../sql-functions/window-functions/lag.md | 54 - .../window-functions/last-value.md | 96 - .../sql-functions/window-functions/lead.md | 59 - .../sql-functions/window-functions/ntile.md | 59 - .../window-functions/overview.md | 153 - .../window-functions/percent-rank.md | 109 - .../sql-functions/window-functions/rank.md | 53 - .../window-functions/row-number.md | 45 - .../account-management/ALTER-ROLE.md | 43 - .../account-management/ALTER-USER.md | 115 - .../account-management/CREATE-ROLE.md | 52 - .../account-management/CREATE-USER.md | 136 - .../account-management/DROP-ROLE.md | 44 - .../account-management/DROP-USER.md | 40 - .../account-management/GRANT-TO.md | 214 -- .../account-management/REFRESH-LDAP.md | 64 - .../account-management/REVOKE-FROM.md | 175 - .../SET-LDAP_ADMIN_PASSWORD.md | 38 - .../account-management/SET-PASSWORD.md | 61 - .../account-management/SET-PROPERTY.md | 119 - .../account-management/SHOW-CREATE-USER.md | 48 - .../account-management/SHOW-GRANTS.md | 104 - .../account-management/SHOW-PRIVILEGES.md | 53 - .../account-management/SHOW-PROPERTY.md | 126 - .../account-management/SHOW-ROLES.md | 52 - .../sql-statements/catalog/ALTER-CATALOG.md | 88 - .../sql-statements/catalog/CREATE-CATALOG.md | 171 - .../sql-statements/catalog/DROP-CATALOG.md | 36 - .../sql-statements/catalog/REFRESH.md | 81 - .../sql-statements/catalog/SHOW-CATALOG.md | 60 - .../sql-statements/catalog/SHOW-CATALOGS.md | 75 - .../catalog/SHOW-CREATE-CATALOG.md | 52 - .../character-set/SHOW-CHARSET.md | 41 - .../character-set/SHOW-COLLATION.md | 51 - .../compute-management/ALTER-RESOURCE.md | 57 - .../ALTER-WORKLOAD-GROUP.md | 40 - .../ALTER-WORKLOAD-POLICY.md | 39 - .../compute-management/CREATE-RESOURCE.md | 228 -- .../CREATE-WORKLOAD-GROUP.md | 41 - .../CREATE-WORKLOAD-POLICY.md | 58 - .../compute-management/DROP-RESOURCE.md | 29 - .../compute-management/DROP-WORKLOAD-GROUP.md | 26 - .../DROP-WORKLOAD-POLICY.md | 33 - .../compute-management/SHOW-COMPUTE-GROUPS.md | 48 - .../compute-management/SHOW-RESOURCES.md | 60 - .../SHOW-WORKLOAD-GROUPS.md | 101 - .../instance-management/ADD-BACKEND.md | 91 - .../instance-management/ADD-BROKER.md | 49 - .../instance-management/ADD-FOLLOWER.md | 50 - .../instance-management/ADD-OBSERVER.md | 49 - .../CANCEL-DECOMMISSION-BACKEND.md | 72 - .../DECOMMISSION-BACKEND.md | 75 - .../instance-management/DROP-BACKEND.md | 78 - .../instance-management/DROP-BROKER.md | 55 - .../instance-management/DROP-FOLLOWER.md | 50 - .../instance-management/DROP-OBSERVER.md | 48 - .../instance-management/MODIFY-BACKEND.md | 88 - .../MODIFY-FRONTEND-HOSTNAME.md | 39 - .../SET-FRONTEND-CONFIG.md | 47 - .../SHOW-BACKEND-CONFIG.md | 96 - .../instance-management/SHOW-BACKENDS.md | 77 - .../instance-management/SHOW-BROKER.md | 46 - .../instance-management/SHOW-CONFIG.md | 53 - .../SHOW-FRONTEND-CONFIG.md | 53 - .../SHOW-FRONTENDS-DISKS.md | 66 - .../instance-management/SHOW-FRONTENDS.md | 71 - .../ALTER-STORAGE-POLICY.md | 49 - .../storage-management/ALTER-STORAGE-VAULT.md | 67 - .../storage-management/CANCEL-WARM-UP.md | 67 - .../CREATE-STORAGE-POLICY.md | 63 - .../CREATE-STORAGE-VAULT.md | 227 -- .../storage-management/DROP-STORAGE-POLICY.md | 41 - .../SET-DEFAULT-STORAGE-VAULT.md | 35 - .../storage-management/SHOW-CACHE-HOTSPOT.md | 50 - .../storage-management/SHOW-STORAGE-POLICY.md | 76 - .../storage-management/SHOW-STORAGE-VAULTS.md | 37 - .../storage-management/SHOW-WARM-UP-JOB.md | 42 - .../UNSET-DEFAULT-STORAGE-VAULT.md | 29 - .../storage-management/WARM-UP.md | 61 - .../data-governance/ALTER-SQL_BLOCK_RULE.md | 49 - .../data-governance/CREATE-ROW-POLICY.md | 66 - .../data-governance/CREATE-SQL_BLOCK_RULE.md | 160 - .../data-governance/DROP-ROW-POLICY.md | 57 - .../data-governance/DROP-SQL_BLOCK_RULE.md | 39 - .../data-governance/SHOW-ROW-POLICY.md | 51 - .../data-governance/SHOW-SQL_BLOCK_RULE.md | 59 - .../data-modification/DML/DELETE.md | 199 - .../data-modification/DML/INSERT-OVERWRITE.md | 292 -- .../data-modification/DML/INSERT.md | 211 - .../data-modification/DML/MERGE-INTO.md | 202 - .../data-modification/DML/SHOW-DELETE.md | 57 - .../data-modification/DML/SHOW-LAST-INSERT.md | 53 - .../data-modification/DML/UPDATE.md | 175 - .../backup-and-restore/BACKUP.md | 127 - .../backup-and-restore/CANCEL-BACKUP.md | 37 - .../backup-and-restore/CANCEL-RESTORE.md | 41 - .../backup-and-restore/CREATE-REPOSITORY.md | 148 - .../backup-and-restore/DROP-REPOSITORY.md | 38 - .../backup-and-restore/RESTORE.md | 159 - .../SHOW-CREATE-REPOSITORY.md | 29 - .../backup-and-restore/SHOW-REPOSITORIES.md | 45 - .../backup-and-restore/SHOW-RESTORE.md | 64 - .../backup-and-restore/SHOW-SNAPSHOT.md | 62 - .../load-and-export/ALTER-ROUTINE-LOAD.md | 106 - .../load-and-export/BROKER-LOAD.md | 155 - .../load-and-export/CANCEL-EXPORT.md | 78 - .../load-and-export/CANCEL-LOAD.md | 81 - .../load-and-export/CLEAN-LABEL.md | 54 - .../load-and-export/CREATE-ROUTINE-LOAD.md | 387 -- .../load-and-export/EXPORT.md | 385 -- .../load-and-export/MYSQL-LOAD.md | 93 - .../load-and-export/OUTFILE.md | 395 -- .../load-and-export/PAUSE-ROUTINE-LOAD.md | 56 - .../load-and-export/RESUME-ROUTINE-LOAD.md | 57 - .../load-and-export/SHOW-CREATE-LOAD.md | 44 - .../SHOW-CREATE-ROUTINE-LOAD.md | 48 - .../load-and-export/SHOW-EXPORT.md | 99 - .../load-and-export/SHOW-LOAD-WARNINGS.md | 58 - .../load-and-export/SHOW-LOAD.md | 114 - .../load-and-export/SHOW-ROUTINE-LOAD-TASK.md | 61 - .../load-and-export/SHOW-ROUTINE-LOAD.md | 123 - .../load-and-export/SHOW-STREAM-LOAD.md | 77 - .../load-and-export/STOP-ROUTINE-LOAD.md | 55 - .../data-modification/load-and-export/SYNC.md | 29 - .../sql-statements/data-query/EXPLAIN.md | 401 -- .../sql-statements/data-query/SELECT.md | 391 -- .../sql-statements/database/ALTER-DATABASE.md | 95 - .../database/CREATE-DATABASE.md | 87 - .../sql-statements/database/DROP-DATABASE.md | 48 - .../database/SHOW-CREATE-DATABASE.md | 72 - .../database/SHOW-DATABASE-ID.md | 53 - .../sql-statements/database/SHOW-DATABASES.md | 85 - .../function/CREATE-FUNCTION.md | 127 - .../sql-statements/function/DESC-FUNCTION.md | 43 - .../sql-statements/function/DROP-FUNCTION.md | 66 - .../function/SHOW-CREATE-FUNCTION.md | 78 - .../sql-statements/function/SHOW-FUNCTIONS.md | 140 - .../sql-statements/job/ALTER-JOB.md | 93 - .../sql-statements/job/CANCEL-TASK.md | 38 - .../sql-statements/job/CREATE-JOB.md | 147 - .../job/CREATE-STREAMING-JOB.md | 255 -- .../sql-manual/sql-statements/job/DROP-JOB.md | 39 - .../sql-statements/job/PAUSE-JOB.md | 41 - .../sql-statements/job/RESUME-JOB.md | 38 - .../sql-statements/plugin/INSTALL-PLUGIN.md | 68 - .../sql-statements/plugin/SHOW-PLUGINS.md | 56 - .../sql-statements/plugin/UNINSTALL-PLUGIN.md | 42 - .../recycle/DROP-CATALOG-RECYCLE-BIN.md | 67 - .../sql-statements/recycle/RECOVER.md | 141 - .../recycle/SHOW-CATALOG-RECYCLE-BIN.md | 69 - .../security/CREATE-ENCRYPTKEY.md | 83 - .../sql-statements/security/CREATE-FILE.md | 102 - .../security/DROP-ENCRYPTKEY.md | 52 - .../sql-statements/security/DROP-FILE.md | 69 - .../security/SHOW-ENCRYPTKEY.md | 91 - .../sql-statements/security/SHOW-FILE.md | 72 - .../session/connection/KILL-CONNECTION.md | 51 - .../session/context/SWITCH-CATALOG.md | 38 - .../session/context/USE-COMPUTE-GROUP.md | 73 - .../session/context/USE-DATABASE.md | 73 - .../session/queries/CLEAN-ALL-PROFILE.md | 34 - .../session/queries/CLEAN-ALL-QUERY-STATS.md | 69 - .../session/queries/KILL-QUERY.md | 87 - .../session/queries/PLAN-REPLAYER-DUMP.md | 79 - .../session/queries/PLAN-REPLAYER-PLAY.md | 32 - .../session/queries/SHOW-PROCESSLIST.md | 77 - .../session/queries/SHOW-QUERY-STATS.md | 199 - .../session/variable/SET-VARIABLE.md | 68 - .../session/variable/SHOW-VARIABLES.md | 77 - .../session/variable/UNSET-VARIABLE.md | 64 - .../sql-statements/statistics/ALTER-STATS.md | 88 - .../sql-statements/statistics/ANALYZE.md | 74 - .../statistics/DROP-ANALYZE-JOB.md | 37 - .../sql-statements/statistics/DROP-STATS.md | 55 - .../statistics/KILL-ANALYZE-JOB.md | 45 - .../sql-statements/statistics/SHOW-ANALYZE.md | 104 - .../sql-statements/statistics/SHOW-STATS.md | 95 - .../statistics/SHOW-TABLE-STATS.md | 66 - .../statistics/SHOW_QUEUED_ANALYZE_JOBS.md | 80 - .../system-info-and-help/SHOW-PROC.md | 280 -- .../ALTER-ASYNC-MATERIALIZED-VIEW.md | 79 - .../CANCEL-MATERIALIZED-VIEW-TASK.md | 50 - .../CREATE-ASYNC-MATERIALIZED-VIEW.md | 308 -- .../DROP-ASYNC-MATERIALIZED-VIEW.md | 44 - .../PAUSE-MATERIALIZED-VIEW-JOB.md | 51 - .../REFRESH-MATERIALIZED-VIEW.md | 85 - .../RESUME-MATERIALIZED-VIEW-JOB.md | 49 - .../SHOW-CREATE-ASYNC-MATERIALIZED-VIEW.md | 46 - .../ADMIN-CHECK-TABLET.md | 58 - .../ADMIN-COPY-TABLET.md | 113 - .../ADMIN-SET-REPLICA-STATUS.md | 72 - .../ADMIN-SET-REPLICA-VERSION.md | 70 - .../CANCEL-REBALANCE-DISK.md | 58 - .../CANCEL-REPAIR-TABLE.md | 66 - .../data-and-status-management/CLEAN-TRASH.md | 45 - .../COMPACT-TABLE.md | 59 - .../DIAGNOSE-TABLET.md | 97 - .../REBALANCE-DISK.md | 59 - .../REPAIR-TABLE.md | 76 - .../SET-TABLE-PARTITION-VERSION.md | 39 - .../SET-TABLE-STATUS.md | 91 - .../SHOW-DATA-SKEW.md | 174 - .../data-and-status-management/SHOW-DATA.md | 162 - .../SHOW-REPLICA-DISTRIBUTION.md | 108 - .../SHOW-REPLICA-STATUS.md | 138 - .../SHOW-TABLET-DIAGNOSIS.md | 74 - .../SHOW-TABLET-STORAGE-FORMAT.md | 74 - .../data-and-status-management/SHOW-TABLET.md | 66 - .../SHOW-TABLETS-BELONG.md | 76 - .../data-and-status-management/SHOW-TRASH.md | 48 - .../table-and-view/index/BUILD-INDEX.md | 89 - .../index/CANCEL-BUILD-INDEX.md | 72 - .../table-and-view/index/CREATE-INDEX.md | 104 - .../table-and-view/index/DROP-INDEX.md | 44 - .../table-and-view/index/SHOW-BUILD-INDEX.md | 106 - .../table-and-view/index/SHOW-INDEX.md | 68 - .../CREATE-MATERIALIZED-VIEW.md | 120 - .../DROP-MATERIALIZED-VIEW.md | 45 - .../SHOW-ALTER-TABLE-MATERIALIZED-VIEW.md | 39 - .../SHOW-CREATE-MATERIALIZED-VIEW.md | 51 - .../table/ALTER-COLOCATE-GROUP.md | 64 - .../table/ALTER-TABLE-ADD-GENERATED-COLUMN.md | 47 - .../table/ALTER-TABLE-COLUMN.md | 286 -- .../table/ALTER-TABLE-COMMENT.md | 56 - .../table/ALTER-TABLE-DISTRIBUTION.md | 173 - .../table/ALTER-TABLE-PARTITION.md | 163 - .../table/ALTER-TABLE-PROPERTY.md | 278 -- .../table/ALTER-TABLE-RENAME.md | 92 - .../table/ALTER-TABLE-REPLACE.md | 72 - .../table/ALTER-TABLE-ROLLUP.md | 115 - .../table/CANCEL-ALTER-TABLE.md | 97 - .../table-and-view/table/CREATE-TABLE.md | 741 ---- .../table-and-view/table/DESC-TABLE.md | 133 - .../table-and-view/table/DROP-TABLE.md | 80 - .../table-and-view/table/SHOW-ALTER-TABLE.md | 74 - .../table-and-view/table/SHOW-COLUMNS.md | 79 - ...HOW-CONVERT-LIGHT-SCHEMA-CHANGE-PROCESS.md | 48 - .../table-and-view/table/SHOW-CREATE-TABLE.md | 68 - .../table/SHOW-DYNAMIC-PARTITION-TABLES.md | 82 - .../table-and-view/table/SHOW-PARTITION-ID.md | 43 - .../table-and-view/table/SHOW-PARTITION.md | 45 - .../table-and-view/table/SHOW-PARTITIONS.md | 141 - .../table-and-view/table/SHOW-TABLE-ID.md | 56 - .../table-and-view/table/SHOW-TABLE-STATUS.md | 91 - .../table-and-view/table/SHOW-TABLES.md | 99 - .../table-and-view/table/TRUNCATE-TABLE.md | 78 - .../table-and-view/view/ALTER-VIEW.md | 70 - .../table-and-view/view/CREATE-VIEW.md | 91 - .../table-and-view/view/DROP-VIEW.md | 48 - .../table-and-view/view/SHOW-CREATE-VIEW.md | 58 - .../table-and-view/view/SHOW-VIEW.md | 31 - .../sql-statements/transaction/BEGIN.md | 43 - .../sql-statements/transaction/COMMIT.md | 44 - .../sql-statements/transaction/ROLLBACK.md | 44 - .../transaction/SHOW-TRANSACTION.md | 84 - .../sql-statements/types/SHOW-DATA-TYPES.md | 70 - .../sql-statements/types/SHOW-TYPECAST.md | 86 - .../current/table-design/auto-increment.md | 468 --- .../current/table-design/best-practice.md | 526 --- .../table-design/column-compression.md | 96 - .../table-design/data-model/aggregate.md | 172 - .../table-design/data-model/duplicate.md | 79 - .../table-design/data-model/overview.md | 65 - .../current/table-design/data-model/tips.md | 172 - .../current/table-design/data-model/unique.md | 123 - .../data-partitioning/auto-partitioning.md | 292 -- .../data-partitioning/basic-concepts.mdx | 367 -- .../data-partitioning/common-issues.md | 45 - .../data-partitioning/data-bucketing.md | 197 - .../data-partitioning/data-distribution.md | 105 - .../data-partitioning/dynamic-partitioning.md | 218 -- .../data-partitioning/manual-partitioning.md | 210 - .../current/table-design/data-type.md | 65 - .../current/table-design/index/bloomfilter.md | 118 - .../table-design/index/index-overview.md | 63 - .../index/inverted-index/overview.md | 809 ---- .../index/ngram-bloomfilter-index.md | 227 -- .../table-design/index/prefix-index.md | 90 - .../current/table-design/overview.md | 39 - .../current/table-design/row-store.md | 151 - .../current/table-design/schema-change.md | 323 -- .../current/table-design/storage-format.md | 84 - .../current/table-design/temporary-table.md | 49 - .../table-design/tiered-storage/overview.md | 17 - .../tiered-storage/remote-storage.md | 222 -- .../tiered-storage/tiered-ssd-hdd.md | 99 - local_build_docs.sh | 10 - scripts/docs-governance/lint-i18n-sync.js | 4 +- scripts/docs-governance/manifest.js | 26 - sidebars.ts | 2669 ------------- tools/check_review.py | 96 - tools/maintainers.json | 13 - 3037 files changed, 6 insertions(+), 424389 deletions(-) delete mode 100644 .github/workflows/approve-check.yml delete mode 100644 .github/workflows/check-legacy-docs-frozen.yml delete mode 100644 crowdin.yml delete mode 100644 docs/admin-manual/audit-plugin.md delete mode 100644 docs/admin-manual/auth/authentication-and-authorization.md delete mode 100644 docs/admin-manual/auth/authentication/internal.md delete mode 100644 docs/admin-manual/auth/authentication/ldap.md delete mode 100644 docs/admin-manual/auth/authorization/data.md delete mode 100644 docs/admin-manual/auth/authorization/internal.md delete mode 100644 docs/admin-manual/auth/authorization/ranger.md delete mode 100644 docs/admin-manual/auth/certificate.md delete mode 100644 docs/admin-manual/auth/encryption-function.md delete mode 100644 docs/admin-manual/auth/fe-certificate.md delete mode 100644 docs/admin-manual/auth/integrations/aws-authentication-and-authorization.md delete mode 100644 docs/admin-manual/auth/integrations/aws-iam-role.md delete mode 100644 docs/admin-manual/auth/security-overview.md delete mode 100644 docs/admin-manual/cluster-management/elastic-expansion.md delete mode 100644 docs/admin-manual/cluster-management/fqdn.md delete mode 100644 docs/admin-manual/cluster-management/load-balancing.md delete mode 100644 docs/admin-manual/cluster-management/time-zone.md delete mode 100644 docs/admin-manual/cluster-management/upgrade.md delete mode 100644 docs/admin-manual/config/be-config.md delete mode 100644 docs/admin-manual/config/config-dir.md delete mode 100644 docs/admin-manual/config/fe-config.md delete mode 100644 docs/admin-manual/config/user-property.md delete mode 100644 docs/admin-manual/data-admin/backup-restore/backup.md delete mode 100644 docs/admin-manual/data-admin/backup-restore/overview.md delete mode 100644 docs/admin-manual/data-admin/backup-restore/restore.md delete mode 100644 docs/admin-manual/data-admin/ccr/config.md delete mode 100644 docs/admin-manual/data-admin/ccr/feature.md delete mode 100644 docs/admin-manual/data-admin/ccr/manual.md delete mode 100644 docs/admin-manual/data-admin/ccr/overview.md delete mode 100644 docs/admin-manual/data-admin/ccr/performance.md delete mode 100644 docs/admin-manual/data-admin/ccr/quickstart.md delete mode 100644 docs/admin-manual/data-admin/overview.md delete mode 100644 docs/admin-manual/data-admin/recyclebin.md delete mode 100644 docs/admin-manual/log-management/be-log.md delete mode 100644 docs/admin-manual/log-management/fe-log.md delete mode 100644 docs/admin-manual/maint-monitor/automatic-service-start.md delete mode 100644 docs/admin-manual/maint-monitor/disk-capacity.md delete mode 100644 docs/admin-manual/maint-monitor/metrics.md delete mode 100644 docs/admin-manual/maint-monitor/monitor-alert.md delete mode 100644 docs/admin-manual/maint-monitor/tablet-repair-and-balance.md delete mode 100644 docs/admin-manual/open-api/be-http/be-vlog.md delete mode 100644 docs/admin-manual/open-api/be-http/check-rpc-channel.md delete mode 100644 docs/admin-manual/open-api/be-http/check-tablet-segment.md delete mode 100644 docs/admin-manual/open-api/be-http/checksum.md delete mode 100644 docs/admin-manual/open-api/be-http/compaction-run.md delete mode 100644 docs/admin-manual/open-api/be-http/compaction-status.md delete mode 100644 docs/admin-manual/open-api/be-http/config.md delete mode 100644 docs/admin-manual/open-api/be-http/download.md delete mode 100644 docs/admin-manual/open-api/be-http/health.md delete mode 100644 docs/admin-manual/open-api/be-http/meta.md delete mode 100644 docs/admin-manual/open-api/be-http/metrics.md delete mode 100644 docs/admin-manual/open-api/be-http/pad-rowset.md delete mode 100644 docs/admin-manual/open-api/be-http/reset-rpc-channel.md delete mode 100644 docs/admin-manual/open-api/be-http/snapshot.md delete mode 100644 docs/admin-manual/open-api/be-http/tablet-distribution.md delete mode 100644 docs/admin-manual/open-api/be-http/tablet-info.md delete mode 100644 docs/admin-manual/open-api/be-http/tablet-migration.md delete mode 100644 docs/admin-manual/open-api/be-http/tablet-reload.md delete mode 100644 docs/admin-manual/open-api/be-http/tablet-restore.md delete mode 100644 docs/admin-manual/open-api/be-http/version-info.md delete mode 100644 docs/admin-manual/open-api/fe-http/backends-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/bootstrap-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/cancel-load-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/check-decommission-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/check-storage-type-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/cluster-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/colocate-meta-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/config-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/connection-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/debug-point-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/extra-basepath-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/fe-version-info-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/get-ddl-stmt-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/get-load-info-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/get-load-state.md delete mode 100644 docs/admin-manual/open-api/fe-http/get-log-file-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/get-small-file.md delete mode 100644 docs/admin-manual/open-api/fe-http/get-wal-size-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/ha-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/hardware-info-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/health-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/help-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/import-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/log-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/login-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/logout-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/meta-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/meta-info-action-V2.md delete mode 100644 docs/admin-manual/open-api/fe-http/meta-info-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/meta-replay-state-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/metrics-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/node-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/profile-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/query-detail-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/query-profile-action-controller.md delete mode 100644 docs/admin-manual/open-api/fe-http/query-profile-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/query-schema-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/query-stats-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/row-count-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/session-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/set-config-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/show-data-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/show-meta-info-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/show-proc-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/show-runtime-info-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/show-table-data-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/statement-execution-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/statistic-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/system-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/table-query-plan-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/table-row-count-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/table-schema-action.md delete mode 100644 docs/admin-manual/open-api/fe-http/upload-action.md delete mode 100644 docs/admin-manual/open-api/overview.md delete mode 100644 docs/admin-manual/system-tables/information_schema/active_queries.md delete mode 100644 docs/admin-manual/system-tables/information_schema/backend_active_tasks.md delete mode 100644 docs/admin-manual/system-tables/information_schema/backend_configuration.md delete mode 100644 docs/admin-manual/system-tables/information_schema/backend_metrics.md delete mode 100644 docs/admin-manual/system-tables/information_schema/backend_tablets.md delete mode 100644 docs/admin-manual/system-tables/information_schema/catalog_meta_cache_statistics.md delete mode 100644 docs/admin-manual/system-tables/information_schema/character_sets.md delete mode 100644 docs/admin-manual/system-tables/information_schema/collations.md delete mode 100644 docs/admin-manual/system-tables/information_schema/column_privileges.md delete mode 100644 docs/admin-manual/system-tables/information_schema/column_statistics.md delete mode 100644 docs/admin-manual/system-tables/information_schema/columns.md delete mode 100644 docs/admin-manual/system-tables/information_schema/engines.md delete mode 100644 docs/admin-manual/system-tables/information_schema/events.md delete mode 100644 docs/admin-manual/system-tables/information_schema/file_cache_statistics.md delete mode 100644 docs/admin-manual/system-tables/information_schema/files.md delete mode 100644 docs/admin-manual/system-tables/information_schema/frontend_metrics.md delete mode 100644 docs/admin-manual/system-tables/information_schema/global_variables.md delete mode 100644 docs/admin-manual/system-tables/information_schema/key_column_usage.md delete mode 100644 docs/admin-manual/system-tables/information_schema/metadata_name_ids.md delete mode 100644 docs/admin-manual/system-tables/information_schema/parameters.md delete mode 100644 docs/admin-manual/system-tables/information_schema/partitions.md delete mode 100644 docs/admin-manual/system-tables/information_schema/processlist.md delete mode 100644 docs/admin-manual/system-tables/information_schema/profiling.md delete mode 100644 docs/admin-manual/system-tables/information_schema/referential_constraints.md delete mode 100644 docs/admin-manual/system-tables/information_schema/routine_load_job.md delete mode 100644 docs/admin-manual/system-tables/information_schema/routines.md delete mode 100644 docs/admin-manual/system-tables/information_schema/rowsets.md delete mode 100644 docs/admin-manual/system-tables/information_schema/schema_privileges.md delete mode 100644 docs/admin-manual/system-tables/information_schema/schemata.md delete mode 100644 docs/admin-manual/system-tables/information_schema/session_variables.md delete mode 100644 docs/admin-manual/system-tables/information_schema/statistics.md delete mode 100644 docs/admin-manual/system-tables/information_schema/table_constraints.md delete mode 100644 docs/admin-manual/system-tables/information_schema/table_options.md delete mode 100644 docs/admin-manual/system-tables/information_schema/table_privileges.md delete mode 100644 docs/admin-manual/system-tables/information_schema/table_properties.md delete mode 100644 docs/admin-manual/system-tables/information_schema/tables.md delete mode 100644 docs/admin-manual/system-tables/information_schema/triggers.md delete mode 100644 docs/admin-manual/system-tables/information_schema/user_privileges.md delete mode 100644 docs/admin-manual/system-tables/information_schema/views.md delete mode 100644 docs/admin-manual/system-tables/information_schema/workload_group_privileges.md delete mode 100644 docs/admin-manual/system-tables/information_schema/workload_group_resource_usage.md delete mode 100644 docs/admin-manual/system-tables/information_schema/workload_groups.md delete mode 100644 docs/admin-manual/system-tables/information_schema/workload_policy.md delete mode 100644 docs/admin-manual/system-tables/internal_schema/audit_log.md delete mode 100644 docs/admin-manual/system-tables/internal_schema/column_statistics.md delete mode 100644 docs/admin-manual/system-tables/internal_schema/partition_statistics.md delete mode 100644 docs/admin-manual/system-tables/mysql/props_priv.md delete mode 100644 docs/admin-manual/system-tables/mysql/user.md delete mode 100644 docs/admin-manual/system-tables/overview.md delete mode 100644 docs/admin-manual/trouble-shooting/compaction-principles.md delete mode 100644 docs/admin-manual/trouble-shooting/compaction.md delete mode 100644 docs/admin-manual/trouble-shooting/frontend-lock-manager.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/doris-cache-memory-analysis.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/global-memory-analysis.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/heap-profile-memory-analysis.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/jemalloc-memory-analysis.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/load-memory-analysis.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/memory-log-analysis.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/metadata-memory-analysis.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/oom-crash-analysis.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-analysis/query-memory-analysis.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-feature/memory-control-strategy.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-feature/memory-tracker.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/memory-issue-faq.md delete mode 100644 docs/admin-manual/trouble-shooting/memory-management/overview.md delete mode 100644 docs/admin-manual/trouble-shooting/metadata-operation.md delete mode 100644 docs/admin-manual/trouble-shooting/repairing-data.md delete mode 100644 docs/admin-manual/trouble-shooting/tablet-local-debug.md delete mode 100644 docs/admin-manual/trouble-shooting/tablet-meta-tool.md delete mode 100644 docs/admin-manual/workload-management/analysis-diagnosis.md delete mode 100644 docs/admin-manual/workload-management/compute-group.md delete mode 100644 docs/admin-manual/workload-management/concurrency-control-and-queuing.md delete mode 100644 docs/admin-manual/workload-management/job-scheduler.md delete mode 100644 docs/admin-manual/workload-management/kill-query.md delete mode 100644 docs/admin-manual/workload-management/query-progress-monitor.md delete mode 100644 docs/admin-manual/workload-management/resource-group.md delete mode 100644 docs/admin-manual/workload-management/spill-disk.md delete mode 100644 docs/admin-manual/workload-management/sql-blocking.md delete mode 100644 docs/admin-manual/workload-management/workload-group-bind-compute-group.md delete mode 100644 docs/admin-manual/workload-management/workload-group.md delete mode 100644 docs/admin-manual/workload-management/workload-management-summary.md delete mode 100644 docs/ai/ai-function-overview.md delete mode 100644 docs/ai/ai-overview.md delete mode 100644 docs/ai/text-search/custom-analyzer.md delete mode 100644 docs/ai/text-search/custom-normalizer.md delete mode 100644 docs/ai/text-search/overview.md delete mode 100644 docs/ai/text-search/scoring.md delete mode 100644 docs/ai/text-search/search-function.md delete mode 100644 docs/ai/text-search/search-operators.md delete mode 100644 docs/ai/vector-search/behind-index.md delete mode 100644 docs/ai/vector-search/hnsw.md delete mode 100644 docs/ai/vector-search/index-management.md delete mode 100644 docs/ai/vector-search/ivf-on-disk.md delete mode 100644 docs/ai/vector-search/ivf.md delete mode 100644 docs/ai/vector-search/overview.md delete mode 100644 docs/ai/vector-search/performance-large-scale.md delete mode 100644 docs/ai/vector-search/performance.md delete mode 100644 docs/ai/vector-search/practical-guide.md delete mode 100644 docs/ai/vector-search/quantization-survey.md delete mode 100644 docs/ai/vector-search/resource-estimation.md delete mode 100644 docs/benchmark/ssb.md delete mode 100644 docs/benchmark/tpcds.md delete mode 100644 docs/benchmark/tpch.md delete mode 100644 docs/compute-storage-decoupled/before-deployment.md delete mode 100644 docs/compute-storage-decoupled/compilation-and-deployment.md delete mode 100644 docs/compute-storage-decoupled/file-cache/file-cache-internals.md delete mode 100644 docs/compute-storage-decoupled/file-cache/file-cache.md delete mode 100644 docs/compute-storage-decoupled/managing-compute-cluster.md delete mode 100644 docs/compute-storage-decoupled/managing-storage-vault.md delete mode 100644 docs/compute-storage-decoupled/overview.md delete mode 100644 docs/compute-storage-decoupled/recycler.md delete mode 100644 docs/compute-storage-decoupled/rw/file-cache-rw-compute-group-best-practice.md delete mode 100644 docs/compute-storage-decoupled/rw/read-write-separation.md delete mode 100644 docs/compute-storage-decoupled/upgrade.md delete mode 100644 docs/data-operate/delete/atomicity-replace.md delete mode 100644 docs/data-operate/delete/batch-delete-manual.md delete mode 100644 docs/data-operate/delete/delete-manual.md delete mode 100644 docs/data-operate/delete/delete-overview.md delete mode 100644 docs/data-operate/delete/table-temp-partition.md delete mode 100644 docs/data-operate/delete/truncate-manual.md delete mode 100644 docs/data-operate/export/export-best-practice.md delete mode 100644 docs/data-operate/export/export-manual.md delete mode 100644 docs/data-operate/export/export-overview.md delete mode 100644 docs/data-operate/export/export-with-mysql-dump.md delete mode 100644 docs/data-operate/export/outfile.md delete mode 100644 docs/data-operate/import/complex-types/array.md delete mode 100644 docs/data-operate/import/complex-types/bitmap.md delete mode 100644 docs/data-operate/import/complex-types/hll.md delete mode 100644 docs/data-operate/import/complex-types/json.md delete mode 100644 docs/data-operate/import/complex-types/map.md delete mode 100644 docs/data-operate/import/complex-types/struct.md delete mode 100644 docs/data-operate/import/complex-types/variant.md delete mode 100644 docs/data-operate/import/data-source/aliyun-oss.md delete mode 100644 docs/data-operate/import/data-source/amazon-s3.md delete mode 100644 docs/data-operate/import/data-source/aws-msk.md delete mode 100644 docs/data-operate/import/data-source/azure-storage.md delete mode 100644 docs/data-operate/import/data-source/bigquery.md delete mode 100644 docs/data-operate/import/data-source/flink.md delete mode 100644 docs/data-operate/import/data-source/google-cloud-storage.md delete mode 100644 docs/data-operate/import/data-source/hdfs.md delete mode 100644 docs/data-operate/import/data-source/huawei-obs.md delete mode 100644 docs/data-operate/import/data-source/kafka.md delete mode 100644 docs/data-operate/import/data-source/local-file.md delete mode 100644 docs/data-operate/import/data-source/migrate-data-from-other-olap.md delete mode 100644 docs/data-operate/import/data-source/migrate-data-from-other-oltp.md delete mode 100644 docs/data-operate/import/data-source/minio.md delete mode 100644 docs/data-operate/import/data-source/mysql.md delete mode 100644 docs/data-operate/import/data-source/postgresql.md delete mode 100644 docs/data-operate/import/data-source/redshift.md delete mode 100644 docs/data-operate/import/data-source/s3-compatible.md delete mode 100644 docs/data-operate/import/data-source/snowflake.md delete mode 100644 docs/data-operate/import/data-source/tencent-cos.md delete mode 100644 docs/data-operate/import/file-format/csv.md delete mode 100644 docs/data-operate/import/file-format/json.md delete mode 100644 docs/data-operate/import/file-format/native.md delete mode 100644 docs/data-operate/import/file-format/orc.md delete mode 100644 docs/data-operate/import/file-format/parquet.md delete mode 100644 docs/data-operate/import/group-commit-manual.md delete mode 100644 docs/data-operate/import/handling-messy-data.md delete mode 100644 docs/data-operate/import/import-way/broker-load-manual.md delete mode 100644 docs/data-operate/import/import-way/insert-into-manual.md delete mode 100644 docs/data-operate/import/import-way/insert-into-values-manual.md delete mode 100644 docs/data-operate/import/import-way/log-storage-analysis.md delete mode 100644 docs/data-operate/import/import-way/mysql-load-manual.md delete mode 100644 docs/data-operate/import/import-way/routine-load-manual.md delete mode 100644 docs/data-operate/import/import-way/stream-load-manual.md delete mode 100644 docs/data-operate/import/load-best-practices.md delete mode 100644 docs/data-operate/import/load-data-convert.md delete mode 100644 docs/data-operate/import/load-high-availability.md delete mode 100644 docs/data-operate/import/load-internals/load-internals.md delete mode 100644 docs/data-operate/import/load-internals/routine-load-internals.md delete mode 100644 docs/data-operate/import/load-internals/stream-load-in-complex-network.md delete mode 100644 docs/data-operate/import/load-manual.md delete mode 100644 docs/data-operate/import/streaming-job/continuous-load-mysql-database.md delete mode 100644 docs/data-operate/import/streaming-job/continuous-load-mysql-table.md delete mode 100644 docs/data-operate/import/streaming-job/continuous-load-overview.md delete mode 100644 docs/data-operate/import/streaming-job/continuous-load-postgresql-database.md delete mode 100644 docs/data-operate/import/streaming-job/continuous-load-postgresql-table.md delete mode 100644 docs/data-operate/import/streaming-job/continuous-load-s3.md delete mode 100644 docs/data-operate/import/streaming-job/prerequisites/amazon-aurora-mysql.md delete mode 100644 docs/data-operate/import/streaming-job/prerequisites/amazon-aurora-postgresql.md delete mode 100644 docs/data-operate/import/streaming-job/prerequisites/amazon-rds-mysql.md delete mode 100644 docs/data-operate/import/streaming-job/prerequisites/amazon-rds-postgresql.md delete mode 100644 docs/data-operate/import/streaming-job/prerequisites/images/mysql-binlog-setting.png delete mode 100644 docs/data-operate/import/streaming-job/prerequisites/images/pgwalsetting.png delete mode 100644 docs/data-operate/transaction.md delete mode 100644 docs/data-operate/update/multi-stream-update-for-unique-model.md delete mode 100644 docs/data-operate/update/partial-column-update.md delete mode 100644 docs/data-operate/update/unique-update-concurrent-control.md delete mode 100644 docs/data-operate/update/unique-update-sql.md delete mode 100644 docs/data-operate/update/update-of-aggregate-model.md delete mode 100644 docs/data-operate/update/update-of-unique-model.md delete mode 100644 docs/data-operate/update/update-overview.md delete mode 100644 docs/db-connect/arrow-flight-sql-connect.md delete mode 100644 docs/db-connect/database-connect.md delete mode 100644 docs/ecosystem/automq-load.md delete mode 100644 docs/ecosystem/bi/apache-superset.md delete mode 100644 docs/ecosystem/bi/clouddm.md delete mode 100644 docs/ecosystem/bi/datagrip.md delete mode 100644 docs/ecosystem/bi/dbeaver.md delete mode 100644 docs/ecosystem/bi/finebi.md delete mode 100644 docs/ecosystem/bi/metabase.md delete mode 100644 docs/ecosystem/bi/powerbi.md delete mode 100644 docs/ecosystem/bi/quickbi.md delete mode 100644 docs/ecosystem/bi/quicksight.md delete mode 100644 docs/ecosystem/bi/smartbi.md delete mode 100644 docs/ecosystem/bi/tableau-back.md delete mode 100644 docs/ecosystem/bi/tableau.md delete mode 100644 docs/ecosystem/cloudcanal.md delete mode 100644 docs/ecosystem/datax.md delete mode 100644 docs/ecosystem/dbt-doris-adapter.md delete mode 100644 docs/ecosystem/doris-kafka-connector/doris-kafka-connector.md delete mode 100644 docs/ecosystem/doris-kafka-connector/release-notes.md delete mode 100644 docs/ecosystem/doris-operator/doris-operator-overview.md delete mode 100644 docs/ecosystem/doris-operator/on-alibaba.md delete mode 100644 docs/ecosystem/doris-operator/on-aws.md delete mode 100644 docs/ecosystem/doris-streamloader.md delete mode 100644 docs/ecosystem/flink-doris-connector/flink-doris-connector.md delete mode 100644 docs/ecosystem/flink-doris-connector/release-notes.md delete mode 100644 docs/ecosystem/hive-bitmap-udf.md delete mode 100644 docs/ecosystem/hive-hll-udf.md delete mode 100644 docs/ecosystem/kettle.md delete mode 100644 docs/ecosystem/kyuubi.md delete mode 100644 docs/ecosystem/observability/beats.md delete mode 100644 docs/ecosystem/observability/fluentbit.md delete mode 100644 docs/ecosystem/observability/langfuse.md delete mode 100644 docs/ecosystem/observability/logstash.md delete mode 100644 docs/ecosystem/observability/loongcollector.md delete mode 100644 docs/ecosystem/observability/opentelemetry.md delete mode 100644 docs/ecosystem/observability/vector.md delete mode 100644 docs/ecosystem/seatunnel.md delete mode 100644 docs/ecosystem/spark-doris-connector/release-notes.md delete mode 100644 docs/ecosystem/spark-doris-connector/spark-doris-connector.md delete mode 100644 docs/ecosystem/spark-load.md delete mode 100644 docs/faq/bi-faq.md delete mode 100644 docs/faq/correctness-faq.md delete mode 100644 docs/faq/data-faq.md delete mode 100644 docs/faq/install-faq.md delete mode 100644 docs/faq/lakehouse-faq.md delete mode 100644 docs/faq/load-faq.md delete mode 100644 docs/faq/sql-faq.md delete mode 100644 docs/gettingStarted/alternatives/alternative-to-clickhouse.mdx delete mode 100644 docs/gettingStarted/alternatives/alternative-to-elasticsearch.mdx delete mode 100644 docs/gettingStarted/alternatives/alternative-to-trino.mdx delete mode 100644 docs/gettingStarted/alternatives/demo-block/demo-block.css delete mode 100644 docs/gettingStarted/alternatives/demo-block/latest.tsx delete mode 100644 docs/gettingStarted/alternatives/demo-block/page-hero-1.tsx delete mode 100644 docs/gettingStarted/alternatives/demo-block/page-hero-2.tsx delete mode 100644 docs/gettingStarted/alternatives/demo-block/page-hero.tsx delete mode 100644 docs/gettingStarted/before-you-start-the-poc.md delete mode 100644 docs/gettingStarted/quick-start.mdx delete mode 100644 docs/gettingStarted/what-is-apache-doris.md delete mode 100644 docs/install/deploy-manually/integrated-storage-compute-deploy-manually.md delete mode 100644 docs/install/deploy-manually/separating-storage-compute-deploy-manually.md delete mode 100644 docs/install/deploy-on-cloud/doris-on-aws.md delete mode 100644 docs/install/deploy-on-kubernetes/integrated-storage-compute/access-cluster.md delete mode 100644 docs/install/deploy-on-kubernetes/integrated-storage-compute/cluster-operation.md delete mode 100644 docs/install/deploy-on-kubernetes/integrated-storage-compute/install-config-cluster.md delete mode 100644 docs/install/deploy-on-kubernetes/integrated-storage-compute/install-doris-cluster.md delete mode 100644 docs/install/deploy-on-kubernetes/integrated-storage-compute/install-doris-operator.md delete mode 100644 docs/install/deploy-on-kubernetes/separating-storage-compute/config-cg.md delete mode 100644 docs/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md delete mode 100644 docs/install/deploy-on-kubernetes/separating-storage-compute/config-fe.md delete mode 100644 docs/install/deploy-on-kubernetes/separating-storage-compute/config-ms.md delete mode 100644 docs/install/deploy-on-kubernetes/separating-storage-compute/install-doris-cluster.md delete mode 100644 docs/install/deploy-on-kubernetes/separating-storage-compute/install-fdb.md delete mode 100644 docs/install/preparation/cluster-planning.md delete mode 100644 docs/install/preparation/env-checking.md delete mode 100644 docs/install/preparation/os-checking.md delete mode 100644 docs/lakehouse/best-practices/doris-aws-s3tables.md delete mode 100644 docs/lakehouse/best-practices/doris-dlf-iceberg.md delete mode 100644 docs/lakehouse/best-practices/doris-dlf-paimon.md delete mode 100644 docs/lakehouse/best-practices/doris-gravitino.md delete mode 100644 docs/lakehouse/best-practices/doris-hudi.md delete mode 100644 docs/lakehouse/best-practices/doris-iceberg.md delete mode 100644 docs/lakehouse/best-practices/doris-lakekeeper.md delete mode 100644 docs/lakehouse/best-practices/doris-maxcompute.md delete mode 100644 docs/lakehouse/best-practices/doris-nessie.md delete mode 100644 docs/lakehouse/best-practices/doris-onelake.md delete mode 100644 docs/lakehouse/best-practices/doris-paimon.md delete mode 100644 docs/lakehouse/best-practices/doris-polaris.md delete mode 100644 docs/lakehouse/best-practices/doris-unity-catalog.md delete mode 100644 docs/lakehouse/best-practices/kerberos.md delete mode 100644 docs/lakehouse/best-practices/optimization.md delete mode 100644 docs/lakehouse/best-practices/tpcds.md delete mode 100644 docs/lakehouse/best-practices/tpch.md delete mode 100644 docs/lakehouse/catalog-overview.md delete mode 100644 docs/lakehouse/catalogs/bigquery-catalog.md delete mode 100644 docs/lakehouse/catalogs/delta-lake-catalog.md delete mode 100644 docs/lakehouse/catalogs/doris-catalog.mdx delete mode 100644 docs/lakehouse/catalogs/es-catalog.md delete mode 100644 docs/lakehouse/catalogs/hive-catalog.mdx delete mode 100644 docs/lakehouse/catalogs/hudi-catalog.md delete mode 100644 docs/lakehouse/catalogs/iceberg-catalog.mdx delete mode 100644 docs/lakehouse/catalogs/jdbc-catalog-overview.md delete mode 100644 docs/lakehouse/catalogs/jdbc-clickhouse-catalog.md delete mode 100644 docs/lakehouse/catalogs/jdbc-ibmdb2-catalog.md delete mode 100644 docs/lakehouse/catalogs/jdbc-mysql-catalog.md delete mode 100644 docs/lakehouse/catalogs/jdbc-oceanbase-catalog.md delete mode 100644 docs/lakehouse/catalogs/jdbc-oracle-catalog.md delete mode 100644 docs/lakehouse/catalogs/jdbc-pg-catalog.md delete mode 100644 docs/lakehouse/catalogs/jdbc-saphana-catalog.md delete mode 100644 docs/lakehouse/catalogs/jdbc-sqlserver-catalog.md delete mode 100644 docs/lakehouse/catalogs/kafka-catalog.md delete mode 100644 docs/lakehouse/catalogs/kudu-catalog.md delete mode 100644 docs/lakehouse/catalogs/maxcompute-catalog.md delete mode 100644 docs/lakehouse/catalogs/paimon-catalog.mdx delete mode 100644 docs/lakehouse/compute-node.md delete mode 100644 docs/lakehouse/data-cache.md delete mode 100644 docs/lakehouse/file-analysis.md delete mode 100644 docs/lakehouse/file-formats/lance.md delete mode 100644 docs/lakehouse/file-formats/orc.md delete mode 100644 docs/lakehouse/file-formats/parquet.md delete mode 100644 docs/lakehouse/file-formats/text.md delete mode 100644 docs/lakehouse/huggingface.md delete mode 100644 docs/lakehouse/lakehouse-overview.md delete mode 100644 docs/lakehouse/meta-cache.md delete mode 100644 docs/lakehouse/metastores/aliyun-dlf.md delete mode 100644 docs/lakehouse/metastores/aws-glue.md delete mode 100644 docs/lakehouse/metastores/filesystem.md delete mode 100644 docs/lakehouse/metastores/google-dataproc-metastore.md delete mode 100644 docs/lakehouse/metastores/hive-metastore.md delete mode 100644 docs/lakehouse/metastores/iceberg-jdbc.md delete mode 100644 docs/lakehouse/metastores/iceberg-rest.md delete mode 100644 docs/lakehouse/metastores/paimon-jdbc.md delete mode 100644 docs/lakehouse/statistics.md delete mode 100644 docs/lakehouse/storages/aliyun-oss.md delete mode 100644 docs/lakehouse/storages/azure-blob.md delete mode 100644 docs/lakehouse/storages/baidu-bos.md delete mode 100644 docs/lakehouse/storages/gcs.md delete mode 100644 docs/lakehouse/storages/hdfs.md delete mode 100644 docs/lakehouse/storages/huawei-obs.md delete mode 100644 docs/lakehouse/storages/juicefs.md delete mode 100644 docs/lakehouse/storages/minio.md delete mode 100644 docs/lakehouse/storages/ozone.md delete mode 100644 docs/lakehouse/storages/s3.md delete mode 100644 docs/lakehouse/storages/tencent-cos.md delete mode 100644 docs/observability/log.md delete mode 100644 docs/observability/overview.mdx delete mode 100644 docs/observability/trace.md delete mode 100644 docs/query-acceleration/colocation-join.md delete mode 100644 docs/query-acceleration/condition-cache.md delete mode 100644 docs/query-acceleration/dictionary.md delete mode 100644 docs/query-acceleration/distinct-counts/bitmap-precise-deduplication.md delete mode 100644 docs/query-acceleration/distinct-counts/hll-approximate-deduplication.md delete mode 100644 docs/query-acceleration/high-concurrent-point-query.md delete mode 100644 docs/query-acceleration/hints/distribute-hint.md delete mode 100644 docs/query-acceleration/hints/hints-overview.md delete mode 100644 docs/query-acceleration/hints/leading-hint.md delete mode 100644 docs/query-acceleration/materialized-view/async-materialized-view/faq.md delete mode 100644 docs/query-acceleration/materialized-view/async-materialized-view/functions-and-demands.md delete mode 100644 docs/query-acceleration/materialized-view/async-materialized-view/overview.md delete mode 100644 docs/query-acceleration/materialized-view/async-materialized-view/use-advice.md delete mode 100644 docs/query-acceleration/materialized-view/async-materialized-view/use-guide.md delete mode 100644 docs/query-acceleration/materialized-view/overview.md delete mode 100644 docs/query-acceleration/materialized-view/sync-materialized-view.md delete mode 100644 docs/query-acceleration/optimization-technology-principle/pipeline-execution-engine.md delete mode 100644 docs/query-acceleration/optimization-technology-principle/query-optimizer.md delete mode 100644 docs/query-acceleration/optimization-technology-principle/runtime-filter.md delete mode 100644 docs/query-acceleration/optimization-technology-principle/statistics.md delete mode 100644 docs/query-acceleration/optimization-technology-principle/topn-optimization.md delete mode 100644 docs/query-acceleration/performance-tuning-overview/analysis-tools.md delete mode 100644 docs/query-acceleration/performance-tuning-overview/diagnostic-tools.md delete mode 100644 docs/query-acceleration/performance-tuning-overview/tuning-overview.md delete mode 100644 docs/query-acceleration/performance-tuning-overview/tuning-process.md delete mode 100644 docs/query-acceleration/query-cache.md delete mode 100644 docs/query-acceleration/query-profile.md delete mode 100644 docs/query-acceleration/sql-cache-manual.md delete mode 100644 docs/query-acceleration/tuning/tuning-execution/adjustment-of-runtimefilter-wait-time.md delete mode 100644 docs/query-acceleration/tuning/tuning-execution/data-skew-handling.md delete mode 100644 docs/query-acceleration/tuning/tuning-execution/parallelism-tuning.md delete mode 100644 docs/query-acceleration/tuning/tuning-parameters.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/accelerating-queries-with-sql-cache.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/adjusting-join-shuffle.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/controlling-hints-with-cbo-rule.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/dml-tuning-plan.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/optimizing-join-with-colocate-group.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/optimizing-table-index.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/optimizing-table-scanning.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/optimizing-table-schema.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/reordering-join-with-leading-hint.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-async-mv.md delete mode 100644 docs/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-sync-mv.md delete mode 100644 docs/query-data/asof-join.md delete mode 100644 docs/query-data/complex-type.md delete mode 100644 docs/query-data/cte.md delete mode 100644 docs/query-data/join.md delete mode 100644 docs/query-data/lateral-view.md delete mode 100644 docs/query-data/multi-dimensional-analytics.md delete mode 100644 docs/query-data/mysql-compatibility.md delete mode 100644 docs/query-data/subquery.md delete mode 100644 docs/query-data/udf/alias-function.md delete mode 100644 docs/query-data/udf/java-user-defined-function.md delete mode 100644 docs/query-data/udf/python-user-defined-function.md delete mode 100644 docs/query-data/window-function.md delete mode 100644 docs/sql-manual/basic-element/comments.md delete mode 100644 docs/sql-manual/basic-element/file-path-pattern.md delete mode 100644 docs/sql-manual/basic-element/literal/date-literal.md delete mode 100644 docs/sql-manual/basic-element/literal/numeric-literal.md delete mode 100644 docs/sql-manual/basic-element/literal/string-literal.md delete mode 100644 docs/sql-manual/basic-element/nulls.md delete mode 100644 docs/sql-manual/basic-element/object-identifiers.md delete mode 100644 docs/sql-manual/basic-element/operators/arithmetic-operators.mdx delete mode 100644 docs/sql-manual/basic-element/operators/assignment-operators.md delete mode 100644 docs/sql-manual/basic-element/operators/bitwise-operators.md delete mode 100644 docs/sql-manual/basic-element/operators/conditional-operators/boolean-testing-operators.md delete mode 100644 docs/sql-manual/basic-element/operators/conditional-operators/comparison-operators.md delete mode 100644 docs/sql-manual/basic-element/operators/conditional-operators/exists-operators.md delete mode 100644 docs/sql-manual/basic-element/operators/conditional-operators/full-text-search-operators.md delete mode 100644 docs/sql-manual/basic-element/operators/conditional-operators/in-operators.md delete mode 100644 docs/sql-manual/basic-element/operators/conditional-operators/logical-operators.md delete mode 100644 docs/sql-manual/basic-element/operators/conditional-operators/pattern-matching-operators.md delete mode 100644 docs/sql-manual/basic-element/operators/operator-precedence.md delete mode 100644 docs/sql-manual/basic-element/reserved-keywords.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/aggregate/AGG-STATE.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/aggregate/BITMAP.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/aggregate/HLL.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/aggregate/QUANTILE-STATE.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/binary-type/VARBINARY.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/array-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/boolean-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/cast-expr.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/cast-to-string.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/date-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/datetime-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/decimal-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/float-double-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/int-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/ip-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/json-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/map-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/overview.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/struct-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/time-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/conversion/timestamptz-conversion.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/data-type-overview.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/date-time/DATE.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/date-time/DATETIME.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/date-time/TIME.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/date-time/TIMESTAMPTZ.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/ip/IPV4.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/ip/IPV6.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/numeric/BIGINT.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/numeric/BOOLEAN.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/numeric/DECIMAL.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/numeric/FLOATING-POINT.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/numeric/INT.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/numeric/LARGEINT.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/numeric/SMALLINT.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/numeric/TINYINT.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/semi-structured/ARRAY.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/semi-structured/GEO.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/semi-structured/JSON.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/semi-structured/MAP.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/semi-structured/STRUCT.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/semi-structured/variant-workload-guide.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/string-type/CHAR.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/string-type/STRING.md delete mode 100644 docs/sql-manual/basic-element/sql-data-types/string-type/VARCHAR.md delete mode 100644 docs/sql-manual/basic-element/variables.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/ai-agg.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/any-value.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/approx-count-distinct.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/array-agg.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/avg-weighted.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/avg.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/bitmap-agg.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/bitmap-intersect.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/bitmap-union-count.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/bitmap-union-int.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/bitmap-union.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/bool-and.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/bool-or.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/bool-xor.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/collect-list.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/collect-set.md delete mode 100755 docs/sql-manual/sql-functions/aggregate-functions/corr-welford.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/corr.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/count-by-enum.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/count.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/covar-samp.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/covar.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/group-array-intersect.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/group-array-union.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/group-bit-and.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/group-bit-or.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/group-bit-xor.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/group-bitmap-xor.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/group-concat.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/histogram.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/hll-raw-agg.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/hll-union-agg.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/intersect-count.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/kurt.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/linear-histogram.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/map-agg.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/max-by.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/max.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/median.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/min-by.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/min.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/percentile-approx-weighted.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/percentile-approx.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/percentile-array.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/percentile.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/percentile_reservoir.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/quantile-union.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/regr-avgx.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/regr-avgy.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/regr-count.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/regr-intercept.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/regr-r2.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/regr-slope.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/regr-sxx.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/regr-sxy.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/regr-syy.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/retention.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/sem.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/sequence-count.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/sequence-match.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/skew.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/stddev-samp.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/stddev.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/sum.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/sum0.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/topn-array.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/topn-weighted.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/topn.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/var-samp.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/variance.md delete mode 100644 docs/sql-manual/sql-functions/aggregate-functions/window-funnel.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/ai-classify.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/ai-extract.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/ai-filter.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/ai-fixgrammar.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/ai-generate.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/ai-mask.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/ai-sentiment.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/ai-similarity.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/ai-summarize.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/ai-translate.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/distance-functions/cosine-distance.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/distance-functions/embed.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/distance-functions/inner-product-approximate.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/distance-functions/inner-product.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/distance-functions/l1-distance.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/distance-functions/l2-distance-approximate.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/distance-functions/l2-distance.md delete mode 100644 docs/sql-manual/sql-functions/ai-functions/overview.md delete mode 100644 docs/sql-manual/sql-functions/combinators/foreach.md delete mode 100644 docs/sql-manual/sql-functions/combinators/merge.md delete mode 100644 docs/sql-manual/sql-functions/combinators/state.md delete mode 100644 docs/sql-manual/sql-functions/combinators/union.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-apply.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-avg.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-compact.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-concat.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-contains.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-contains_all.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-count.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-cross-product.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-cum-sum.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-difference.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-distinct.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-enumerate-uniq.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-enumerate.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-except.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-exists.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-filter.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-first-index.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-first.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-flatten.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-intersect.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-join.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-last-index.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-last.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-map.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-match-all.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-match-any.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-max.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-min.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-popback.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-popfront.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-position.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-product.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-pushback.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-pushfront.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-range.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-remove.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-repeat.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-reverse-sort.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-reverse-split.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-size.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-slice.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-sortby.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-split.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-sum.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-union.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-with-constant.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array-zip.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/array.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/arrays-overlap.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/array-functions/countequal.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/binary-functions/from-base64-binary.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/binary-functions/from_hex.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/binary-functions/sub-binary.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/binary-functions/to-base64-binary.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/binary-functions/to_hex.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-and-count.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-and-not-count.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-and-not.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-and.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-contains.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-count.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-empty.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-from-array.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-from-base64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-from-string.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-has-all.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-has-any.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-hash.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-hash64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-max.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-min.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-not.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-or-count.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-or.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-remove.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-subset-in-range.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-subset-limit.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-to-array.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-to-base64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-to-string.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-xor-count.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-xor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/sub-bitmap.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitmap-functions/to-bitmap.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitwise-functions/bit-length.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitwise-functions/bit-test.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitand.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitcount.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitnot.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitshiftleft.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitshiftright.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/bitwise-functions/xor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/conditional-functions/coalesce.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/conditional-functions/greatest.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/conditional-functions/if.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/conditional-functions/ifnull.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/conditional-functions/least.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/conditional-functions/not-null-or-empty.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/conditional-functions/null-or-empty.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/conditional-functions/nullif.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/conditional-functions/overview.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/add-time.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/century.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/convert-tz.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/curdate.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/curtime.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/date-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/date-ceil.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/date-floor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/date-format.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/date-sub.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/date-trunc.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/date.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/datediff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/day-ceil.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/day-floor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/day.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/dayname.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/dayofweek.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/dayofyear.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/extract.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/from-days.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/from-iso8601-date.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/from-microsecond.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/from-millisecond.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/from-second.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/from-unixtime.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/get-format.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/hour-ceil.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/hour-floor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/hour.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/hours-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/hours-diff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/hours-sub.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/last-day.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/makedate.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/maketime.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/microsecond-timestamp.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/microsecond.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/microseconds-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/microseconds-diff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/microseconds-sub.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/millisecond-timestamp.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/milliseconds-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/milliseconds-diff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/milliseconds-sub.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/minute-ceil.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/minute-floor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/minute.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/minutes-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/minutes-diff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/minutes-sub.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/month-ceil.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/month-floor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/month.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/monthname.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/months-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/months-diff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/months-sub.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/now.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/period-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/period-diff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/previous-day.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/quarter.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/quarters-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/quarters-sub.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/sec-to-time.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/second-ceil.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/second-floor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/second.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/seconds-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/seconds-diff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/seconds-sub.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/str-to-date.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/sub-time.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/time-format.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/time-to-sec.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/time.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/timediff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/timestamp.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/timestampadd.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/timestampdiff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/to-date.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/to-days.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/to-iso8601.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/to-monday.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/to-seconds.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/unix-timestamp.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-date.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-time.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-timestamp.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/weekday.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/weekofyear.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/weeks-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/weeks-diff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/weeks-sub.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/year-ceil.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/year-floor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/year-of-week.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/year.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/years-add.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/years-diff.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/years-sub.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/date-time-functions/yearweek.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/aes-decrypt.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/aes-encrypt.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/crc32.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/md5.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/md5sum.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/murmur-hash3-32.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/murmur-hash3-64-v2.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/murmur-hash3-64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/murmur-hash3-u64-v2.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sha.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sha2.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm3.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm3sum.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm4-decrypt.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm4-encrypt.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/xxhash-32.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/xxhash-64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/hll-functions/hll-cardinality.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/hll-functions/hll-empty.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/hll-functions/hll-from-base64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/hll-functions/hll-hash.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/hll-functions/hll-to-base64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/cut-ipv6.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-cidr-to-range.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-num-to-string.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-string-to-num-or-default.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-string-to-num-or-null.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-string-to-num.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-to-ipv6.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6-cidr-to-range.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6-num-to-string.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6-string-to-num-or-default.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6-string-to-num-or-null.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6-string-to-num.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/is-ip-address-in-range.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/is-ipv4-compat.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/is-ipv4-mapped.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/is-ipv4-string.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/is-ipv6-string.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv4-or-default.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv4-or-null.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv4.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv6-or-default.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv6-or-null.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv6.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/get-json-bigint.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/get-json-double.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/get-json-int.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/get-json-string.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-array-ignore-null.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-array.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-contains.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-exists-path.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-bigint.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-bool.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-double.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-int.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-isnull.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-largeint.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-hash.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-insert.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-keys.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-length.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-object-flatten.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-object.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-parse-error-to-null.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-parse-error-to-value.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-parse.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-quote.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-remove.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-replace.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-search.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-set.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-type.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-unquote.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/json-valid.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/normalize-json-numbers-to-double.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/sort-json-object-keys.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/strip-null-value.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/json-functions/to-json.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/map-functions/deduplicate-map.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/map-functions/map-contains-entry.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/map-functions/map-contains-key.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/map-functions/map-contains-value.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/map-functions/map-entries.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/map-functions/map-keys.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/map-functions/map-size.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/map-functions/map-values.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/map-functions/map.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/abs.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/acos.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/acosh.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/asin.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/asinh.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/atan.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/atan2.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/atanh.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/bin.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/cbrt.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/ceil.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/conv.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/cos.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/cosh.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/cot.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/csc.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/degrees.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/e.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/even.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/exp.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/factorial.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/floor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/fmod.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/gcd.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/interval.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/isinf.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/isnan.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/lcm.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/ln.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/log.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/log10.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/log2.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/mod.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/money-format.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/negative.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/normal-cdf.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/pi.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/pmod.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/positive.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/pow.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/radians.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/random.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/round-bankers.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/round.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/sec.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/sign.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/signbit.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/sin.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/sinh.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/sqrt.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/tan.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/tanh.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/truncate.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/uniform.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/uuid_numeric.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/width-bucket.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/numeric-functions/xor.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/other-functions/convert-to.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/other-functions/default.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/other-functions/esquery.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/other-functions/field.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/other-functions/g.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/other-functions/grouping-id.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/other-functions/grouping.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/quantile-functions/quantile-percent.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/quantile-functions/quantile-state-empty.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/quantile-functions/quantile-state-from-base64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/quantile-functions/quantile-state-to-base64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/quantile-functions/to-quantile-state.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-angle-sphere.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-angle.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-area-square-km.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-area-square-meters.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-asbinary.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-astext.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-azimuth.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-circle.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-contains.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-disjoint.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-distance-sphere.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-distance.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-geometryfromtext.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-geometryfromwkb.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-geometrytype.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-intersects.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-length.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-linefromtext.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-point.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-polygon.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-touches.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-x.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/spatial-functions/st-y.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/append-trailing-char-if-absent.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/ascii.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/auto-partition-name.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/char-length.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/char.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/compress.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/concat-ws.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/concat.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/count_substrings.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/cut-to-first-significant-subdomain.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/digital-masking.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/domain-without-www.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/domain.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/elt.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/ends-with.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/export-set.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/extract-url-parameter.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/find-in-set.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/first-significant-subdomain.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/format-number.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/format.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/from-base64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/hamming_distance.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/hex.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/initcap.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/instr.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/int-to-uuid.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/is-uuid.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/lcase.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/length.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/levenshtein.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/locate.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/lpad.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/ltrim-in.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/ltrim.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/make-set.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/mask-first-n.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/mask-last-n.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/mask.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/multi-search-all-positions.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/ngram-search.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/overlay.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/overview.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/parse-data-size.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/parse-url.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/position.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/printf.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/protocol.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/quote.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/random_bytes.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/regexp-count.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/regexp-extract-all.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/regexp-extract-or-null.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/regexp-extract.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/regexp-replace-one.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/regexp-replace.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/regexp.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/repeat.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/replace-empty.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/replace.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/reverse.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/rpad.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/rtrim-in.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/rtrim.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/soundex.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/space.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/split-by-regexp.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/split-by-string.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/split-part.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/starts-with.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/strcmp.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/strleft.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/strright.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/sub-replace.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/substring-index.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/substring.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/to-base64.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/tokenize.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/top-level-domain.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/translate.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/trim-in.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/trim.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/ucase.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/uncompress.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/unhex.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/unicode_normalize.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/url-decode.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/url-encode.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/uuid.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/struct-functions/named-struct.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/struct-functions/struct-element.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/struct-functions/struct.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/system-functions/connection-id.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/system-functions/current-catalog.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/system-functions/current-user.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/system-functions/database.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/system-functions/last-query-id.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/system-functions/session-user.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/system-functions/user.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/system-functions/version-function.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/variant-functions/element-at.md delete mode 100644 docs/sql-manual/sql-functions/scalar-functions/variant-functions/variant-type.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-bitmap-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-bitmap.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-json-array-double-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-json-array-double.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-json-array-int-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-json-array-int.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-json-array-json-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-json-array-json.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-json-array-string-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-json-array-string.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-json-object.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-map-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-map.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-numbers-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-numbers.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-split-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode-split.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/explode.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/json-each-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/json-each-text-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/json-each-text.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/json-each.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/posexplode-outer.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/posexplode.md delete mode 100644 docs/sql-manual/sql-functions/table-functions/unnest.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/backends.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/catalogs.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/cdc-stream.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/file.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/frontends.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/frontends_disks.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/hdfs.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/http.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/hudi-meta.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/iceberg-meta.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/jobs.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/local.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/mv_infos.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/numbers.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/parquet-meta.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/partition-values.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/partitions.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/query.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/s3.md delete mode 100644 docs/sql-manual/sql-functions/table-valued-functions/tasks.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/cume-dist.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/dense-rank.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/first-value.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/lag.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/last-value.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/lead.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/ntile.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/overview.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/percent-rank.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/rank.md delete mode 100644 docs/sql-manual/sql-functions/window-functions/row-number.md delete mode 100644 docs/sql-manual/sql-statements/account-management/ALTER-ROLE.md delete mode 100644 docs/sql-manual/sql-statements/account-management/ALTER-USER.md delete mode 100644 docs/sql-manual/sql-statements/account-management/CREATE-ROLE.md delete mode 100644 docs/sql-manual/sql-statements/account-management/CREATE-USER.md delete mode 100644 docs/sql-manual/sql-statements/account-management/DROP-ROLE.md delete mode 100644 docs/sql-manual/sql-statements/account-management/DROP-USER.md delete mode 100644 docs/sql-manual/sql-statements/account-management/GRANT-TO.md delete mode 100644 docs/sql-manual/sql-statements/account-management/REFRESH-LDAP.md delete mode 100644 docs/sql-manual/sql-statements/account-management/REVOKE-FROM.md delete mode 100644 docs/sql-manual/sql-statements/account-management/SET-LDAP_ADMIN_PASSWORD.md delete mode 100644 docs/sql-manual/sql-statements/account-management/SET-PASSWORD.md delete mode 100644 docs/sql-manual/sql-statements/account-management/SET-PROPERTY.md delete mode 100644 docs/sql-manual/sql-statements/account-management/SHOW-CREATE-USER.md delete mode 100644 docs/sql-manual/sql-statements/account-management/SHOW-GRANTS.md delete mode 100644 docs/sql-manual/sql-statements/account-management/SHOW-PRIVILEGES.md delete mode 100644 docs/sql-manual/sql-statements/account-management/SHOW-PROPERTY.md delete mode 100644 docs/sql-manual/sql-statements/account-management/SHOW-ROLES.md delete mode 100644 docs/sql-manual/sql-statements/catalog/ALTER-CATALOG.md delete mode 100644 docs/sql-manual/sql-statements/catalog/CREATE-CATALOG.md delete mode 100644 docs/sql-manual/sql-statements/catalog/DROP-CATALOG.md delete mode 100644 docs/sql-manual/sql-statements/catalog/REFRESH.md delete mode 100644 docs/sql-manual/sql-statements/catalog/SHOW-CATALOG.md delete mode 100644 docs/sql-manual/sql-statements/catalog/SHOW-CATALOGS.md delete mode 100644 docs/sql-manual/sql-statements/catalog/SHOW-CREATE-CATALOG.md delete mode 100644 docs/sql-manual/sql-statements/character-set/SHOW-CHARSET.md delete mode 100644 docs/sql-manual/sql-statements/character-set/SHOW-COLLATION.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/ALTER-RESOURCE.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/ALTER-WORKLOAD-GROUP.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/ALTER-WORKLOAD-POLICY.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/CREATE-RESOURCE.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/CREATE-WORKLOAD-GROUP.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/CREATE-WORKLOAD-POLICY.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/DROP-RESOURCE.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/DROP-WORKLOAD-GROUP.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/DROP-WORKLOAD-POLICY.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/SHOW-COMPUTE-GROUPS.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/SHOW-RESOURCES.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/compute-management/SHOW-WORKLOAD-GROUPS.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/ADD-BACKEND.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/ADD-BROKER.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/ADD-FOLLOWER.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/ADD-OBSERVER.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/CANCEL-DECOMMISSION-BACKEND.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/DECOMMISSION-BACKEND.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/DROP-BACKEND.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/DROP-BROKER.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/DROP-FOLLOWER.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/DROP-OBSERVER.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/MODIFY-BACKEND.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/MODIFY-FRONTEND-HOSTNAME.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/SET-FRONTEND-CONFIG.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/SHOW-BACKEND-CONFIG.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/SHOW-BACKENDS.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/SHOW-BROKER.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/SHOW-FRONTEND-CONFIG.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/SHOW-FRONTENDS-DISKS.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/instance-management/SHOW-FRONTENDS.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/ALTER-STORAGE-POLICY.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/ALTER-STORAGE-VAULT.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/CANCEL-WARM-UP.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-POLICY.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/DROP-STORAGE-POLICY.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/SET-DEFAULT-STORAGE-VAULT.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/SHOW-CACHE-HOTSPOT.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/SHOW-STORAGE-POLICY.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/SHOW-STORAGE-VAULTS.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/SHOW-WARM-UP-JOB.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/UNSET-DEFAULT-STORAGE-VAULT.md delete mode 100644 docs/sql-manual/sql-statements/cluster-management/storage-management/WARM-UP.md delete mode 100644 docs/sql-manual/sql-statements/data-governance/ALTER-SQL_BLOCK_RULE.md delete mode 100644 docs/sql-manual/sql-statements/data-governance/CREATE-ROW-POLICY.md delete mode 100644 docs/sql-manual/sql-statements/data-governance/CREATE-SQL_BLOCK_RULE.md delete mode 100644 docs/sql-manual/sql-statements/data-governance/DROP-ROW-POLICY.md delete mode 100644 docs/sql-manual/sql-statements/data-governance/DROP-SQL_BLOCK_RULE.md delete mode 100644 docs/sql-manual/sql-statements/data-governance/SHOW-ROW-POLICY.md delete mode 100644 docs/sql-manual/sql-statements/data-governance/SHOW-SQL_BLOCK_RULE.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/DML/DELETE.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/DML/INSERT-OVERWRITE.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/DML/INSERT.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/DML/MERGE-INTO.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/DML/SHOW-DELETE.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/DML/SHOW-LAST-INSERT.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/DML/UPDATE.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/backup-and-restore/BACKUP.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/backup-and-restore/CANCEL-BACKUP.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/backup-and-restore/CANCEL-RESTORE.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/backup-and-restore/CREATE-REPOSITORY.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/backup-and-restore/DROP-REPOSITORY.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/backup-and-restore/RESTORE.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/backup-and-restore/SHOW-CREATE-REPOSITORY.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/backup-and-restore/SHOW-REPOSITORIES.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/backup-and-restore/SHOW-RESTORE.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/backup-and-restore/SHOW-SNAPSHOT.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/ALTER-ROUTINE-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/BROKER-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/CANCEL-EXPORT.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/CANCEL-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/CLEAN-LABEL.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/CREATE-ROUTINE-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/EXPORT.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/MYSQL-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/OUTFILE.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/PAUSE-ROUTINE-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/RESUME-ROUTINE-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/SHOW-CREATE-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/SHOW-CREATE-ROUTINE-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/SHOW-EXPORT.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/SHOW-LOAD-WARNINGS.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/SHOW-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/SHOW-ROUTINE-LOAD-TASK.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/SHOW-ROUTINE-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/SHOW-STREAM-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/STOP-ROUTINE-LOAD.md delete mode 100644 docs/sql-manual/sql-statements/data-modification/load-and-export/SYNC.md delete mode 100644 docs/sql-manual/sql-statements/data-query/EXPLAIN.md delete mode 100644 docs/sql-manual/sql-statements/data-query/SELECT.md delete mode 100644 docs/sql-manual/sql-statements/database/ALTER-DATABASE.md delete mode 100644 docs/sql-manual/sql-statements/database/CREATE-DATABASE.md delete mode 100644 docs/sql-manual/sql-statements/database/DROP-DATABASE.md delete mode 100644 docs/sql-manual/sql-statements/database/SHOW-CREATE-DATABASE.md delete mode 100644 docs/sql-manual/sql-statements/database/SHOW-DATABASE-ID.md delete mode 100644 docs/sql-manual/sql-statements/database/SHOW-DATABASES.md delete mode 100644 docs/sql-manual/sql-statements/function/CREATE-FUNCTION.md delete mode 100644 docs/sql-manual/sql-statements/function/DESC-FUNCTION.md delete mode 100644 docs/sql-manual/sql-statements/function/DROP-FUNCTION.md delete mode 100644 docs/sql-manual/sql-statements/function/SHOW-CREATE-FUNCTION.md delete mode 100644 docs/sql-manual/sql-statements/function/SHOW-FUNCTIONS.md delete mode 100644 docs/sql-manual/sql-statements/job/ALTER-JOB.md delete mode 100644 docs/sql-manual/sql-statements/job/CANCEL-TASK.md delete mode 100644 docs/sql-manual/sql-statements/job/CREATE-JOB.md delete mode 100644 docs/sql-manual/sql-statements/job/CREATE-STREAMING-JOB.md delete mode 100644 docs/sql-manual/sql-statements/job/DROP-JOB.md delete mode 100644 docs/sql-manual/sql-statements/job/PAUSE-JOB.md delete mode 100644 docs/sql-manual/sql-statements/job/RESUME-JOB.md delete mode 100644 docs/sql-manual/sql-statements/plugin/INSTALL-PLUGIN.md delete mode 100644 docs/sql-manual/sql-statements/plugin/SHOW-PLUGINS.md delete mode 100644 docs/sql-manual/sql-statements/plugin/UNINSTALL-PLUGIN.md delete mode 100644 docs/sql-manual/sql-statements/recycle/DROP-CATALOG-RECYCLE-BIN.md delete mode 100644 docs/sql-manual/sql-statements/recycle/RECOVER.md delete mode 100644 docs/sql-manual/sql-statements/recycle/SHOW-CATALOG-RECYCLE-BIN.md delete mode 100644 docs/sql-manual/sql-statements/security/CREATE-ENCRYPTKEY.md delete mode 100644 docs/sql-manual/sql-statements/security/CREATE-FILE.md delete mode 100644 docs/sql-manual/sql-statements/security/DROP-ENCRYPTKEY.md delete mode 100644 docs/sql-manual/sql-statements/security/DROP-FILE.md delete mode 100644 docs/sql-manual/sql-statements/security/SHOW-ENCRYPTKEY.md delete mode 100644 docs/sql-manual/sql-statements/security/SHOW-FILE.md delete mode 100644 docs/sql-manual/sql-statements/session/connection/KILL-CONNECTION.md delete mode 100644 docs/sql-manual/sql-statements/session/context/SWITCH-CATALOG.md delete mode 100644 docs/sql-manual/sql-statements/session/context/USE-COMPUTE-GROUP.md delete mode 100644 docs/sql-manual/sql-statements/session/context/USE-DATABASE.md delete mode 100644 docs/sql-manual/sql-statements/session/queries/CLEAN-ALL-PROFILE.md delete mode 100644 docs/sql-manual/sql-statements/session/queries/CLEAN-ALL-QUERY-STATS.md delete mode 100644 docs/sql-manual/sql-statements/session/queries/KILL-QUERY.md delete mode 100644 docs/sql-manual/sql-statements/session/queries/PLAN-REPLAYER-DUMP.md delete mode 100644 docs/sql-manual/sql-statements/session/queries/PLAN-REPLAYER-PLAY.md delete mode 100644 docs/sql-manual/sql-statements/session/queries/SHOW-PROCESSLIST.md delete mode 100644 docs/sql-manual/sql-statements/session/queries/SHOW-QUERY-STATS.md delete mode 100644 docs/sql-manual/sql-statements/session/variable/SET-VARIABLE.md delete mode 100644 docs/sql-manual/sql-statements/session/variable/SHOW-VARIABLES.md delete mode 100644 docs/sql-manual/sql-statements/session/variable/UNSET-VARIABLE.md delete mode 100644 docs/sql-manual/sql-statements/statistics/ALTER-STATS.md delete mode 100644 docs/sql-manual/sql-statements/statistics/ANALYZE.md delete mode 100644 docs/sql-manual/sql-statements/statistics/DROP-ANALYZE-JOB.md delete mode 100644 docs/sql-manual/sql-statements/statistics/DROP-STATS.md delete mode 100644 docs/sql-manual/sql-statements/statistics/KILL-ANALYZE-JOB.md delete mode 100644 docs/sql-manual/sql-statements/statistics/SHOW-ANALYZE.md delete mode 100644 docs/sql-manual/sql-statements/statistics/SHOW-STATS.md delete mode 100644 docs/sql-manual/sql-statements/statistics/SHOW-TABLE-STATS.md delete mode 100644 docs/sql-manual/sql-statements/system-info-and-help/SHOW-PROC.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/async-materialized-view/ALTER-ASYNC-MATERIALIZED-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/async-materialized-view/CANCEL-MATERIALIZED-VIEW-TASK.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/async-materialized-view/CREATE-ASYNC-MATERIALIZED-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/async-materialized-view/DROP-ASYNC-MATERIALIZED-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/async-materialized-view/PAUSE-MATERIALIZED-VIEW-JOB.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/async-materialized-view/REFRESH-MATERIALIZED-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/async-materialized-view/RESUME-MATERIALIZED-VIEW-JOB.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/async-materialized-view/SHOW-CREATE-ASYNC-MATERIALIZED-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/ADMIN-CHECK-TABLET.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/ADMIN-COPY-TABLET.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/ADMIN-SET-REPLICA-STATUS.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/ADMIN-SET-REPLICA-VERSION.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/CANCEL-REBALANCE-DISK.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/CANCEL-REPAIR-TABLE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/CLEAN-TRASH.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/COMPACT-TABLE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/DIAGNOSE-TABLET.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/REBALANCE-DISK.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/REPAIR-TABLE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SET-TABLE-PARTITION-VERSION.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SET-TABLE-STATUS.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-DATA-SKEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-DATA.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-REPLICA-DISTRIBUTION.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-REPLICA-STATUS.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-TABLET-DIAGNOSIS.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-TABLET-STORAGE-FORMAT.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-TABLET.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-TABLETS-BELONG.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-TRASH.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/index/BUILD-INDEX.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/index/CANCEL-BUILD-INDEX.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/index/CREATE-INDEX.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/index/SHOW-BUILD-INDEX.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/index/SHOW-INDEX.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/sync-materialized-view/CREATE-MATERIALIZED-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/sync-materialized-view/DROP-MATERIALIZED-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/sync-materialized-view/SHOW-ALTER-TABLE-MATERIALIZED-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/sync-materialized-view/SHOW-CREATE-MATERIALIZED-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/ALTER-COLOCATE-GROUP.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-ADD-GENERATED-COLUMN.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-COLUMN.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-COMMENT.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-DISTRIBUTION.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PARTITION.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-RENAME.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-REPLACE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-ROLLUP.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/CANCEL-ALTER-TABLE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/DROP-TABLE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-ALTER-TABLE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-COLUMNS.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-CONVERT-LIGHT-SCHEMA-CHANGE-PROCESS.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-CREATE-TABLE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-DYNAMIC-PARTITION-TABLES.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-PARTITION-ID.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-PARTITION.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-PARTITIONS.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-TABLE-ID.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-TABLE-STATUS.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/SHOW-TABLES.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/table/TRUNCATE-TABLE.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/view/ALTER-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/view/CREATE-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/view/DROP-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/view/SHOW-CREATE-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/table-and-view/view/SHOW-VIEW.md delete mode 100644 docs/sql-manual/sql-statements/transaction/BEGIN.md delete mode 100644 docs/sql-manual/sql-statements/transaction/COMMIT.md delete mode 100644 docs/sql-manual/sql-statements/transaction/ROLLBACK.md delete mode 100644 docs/sql-manual/sql-statements/transaction/SHOW-TRANSACTION.md delete mode 100644 docs/sql-manual/sql-statements/types/SHOW-DATA-TYPES.md delete mode 100644 docs/sql-manual/sql-statements/types/SHOW-TYPECAST.md delete mode 100644 docs/table-design/auto-increment.md delete mode 100644 docs/table-design/best-practice.md delete mode 100644 docs/table-design/column-compression.md delete mode 100644 docs/table-design/data-model/aggregate.md delete mode 100644 docs/table-design/data-model/duplicate.md delete mode 100644 docs/table-design/data-model/overview.md delete mode 100644 docs/table-design/data-model/tips.md delete mode 100644 docs/table-design/data-model/unique.md delete mode 100644 docs/table-design/data-partitioning/auto-partitioning.md delete mode 100644 docs/table-design/data-partitioning/basic-concepts.mdx delete mode 100644 docs/table-design/data-partitioning/common-issues.md delete mode 100644 docs/table-design/data-partitioning/data-bucketing.md delete mode 100644 docs/table-design/data-partitioning/data-distribution.md delete mode 100644 docs/table-design/data-partitioning/dynamic-partitioning.md delete mode 100644 docs/table-design/data-partitioning/manual-partitioning.md delete mode 100644 docs/table-design/data-type.md delete mode 100644 docs/table-design/index/bloomfilter.md delete mode 100644 docs/table-design/index/index-overview.md delete mode 100644 docs/table-design/index/inverted-index/overview.md delete mode 100644 docs/table-design/index/ngram-bloomfilter-index.md delete mode 100644 docs/table-design/index/prefix-index.md delete mode 100644 docs/table-design/overview.md delete mode 100644 docs/table-design/row-store.md delete mode 100644 docs/table-design/schema-change.md delete mode 100644 docs/table-design/storage-format.md delete mode 100644 docs/table-design/temporary-table.md delete mode 100644 docs/table-design/tiered-storage/overview.md delete mode 100644 docs/table-design/tiered-storage/remote-storage.md delete mode 100644 docs/table-design/tiered-storage/tiered-ssd-hdd.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current.json delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/audit-plugin.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/authentication-and-authorization.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/authentication/internal.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/authentication/ldap.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/authorization/data.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/authorization/internal.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/authorization/ranger.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/certificate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/encryption-function.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/fe-certificate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/integrations/aws-authentication-and-authorization.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/integrations/aws-iam-role.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/ldap.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/ranger.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/auth/security-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/cluster-management/elastic-expansion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/cluster-management/fqdn.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/cluster-management/load-balancing.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/cluster-management/time-zone.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/cluster-management/upgrade.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/config/be-config.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/config/config-dir.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/config/fe-config-template.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/config/fe-config.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/config/user-property.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/backup-restore/backup.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/backup-restore/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/backup-restore/restore.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/ccr/config.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/ccr/feature.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/ccr/manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/ccr/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/ccr/performance.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/ccr/quickstart.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/data-admin/recyclebin.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/log-management/be-log.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/log-management/fe-log.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/maint-monitor/automatic-service-start.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/maint-monitor/disk-capacity.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/maint-monitor/metrics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/maint-monitor/monitor-alert.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/maint-monitor/tablet-repair-and-balance.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/be-vlog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/check-rpc-channel.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/check-tablet-segment.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/checksum.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/compaction-run.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/compaction-status.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/config.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/download.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/health.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/meta.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/metrics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/pad-rowset.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/reset-rpc-channel.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/snapshot.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/tablet-distribution.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/tablet-info.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/tablet-migration.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/tablet-reload.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/tablet-restore.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/be-http/version-info.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/backends-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/bootstrap-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/cancel-load-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/check-decommission-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/check-storage-type-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/cluster-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/colocate-meta-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/config-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/connection-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/debug-point-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/extra-basepath-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/fe-version-info-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/get-ddl-stmt-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/get-load-info-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/get-load-state.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/get-log-file-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/get-small-file.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/get-wal-size-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/ha-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/hardware-info-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/health-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/help-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/import-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/log-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/login-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/logout-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/meta-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/meta-info-action-V2.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/meta-info-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/meta-replay-state-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/metrics-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/node-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/profile-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/query-detail-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/query-profile-action-controller.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/query-profile-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/query-schema-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/query-stats-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/row-count-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/session-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/set-config-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/show-data-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/show-meta-info-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/show-proc-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/show-runtime-info-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/show-table-data-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/statement-execution-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/statistic-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/system-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/table-query-plan-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/table-row-count-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/table-schema-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/fe-http/upload-action.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/open-api/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/plugin-development-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/small-file-mgr.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/active_queries.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/backend_active_tasks.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/backend_configuration.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/backend_metrics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/backend_tablets.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/catalog_meta_cache_statistics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/character_sets.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/collations.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/column_privileges.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/column_statistics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/columns.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/engines.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/events.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/file_cache_statistics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/files.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/frontend_metrics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/global_variables.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/key_column_usage.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/metadata_name_ids.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/parameters.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/partitions.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/processlist.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/profiling.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/referential_constraints.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/routine_load_job.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/routines.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/rowsets.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/schema_privileges.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/schemata.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/session_variables.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/statistics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/table_constraints.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/table_options.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/table_privileges.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/table_properties.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/tables.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/triggers.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/user_privileges.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/views.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/workload_group_privileges.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/workload_group_resource_usage.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/workload_groups.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/information_schema/workload_policy.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/internal_schema/audit_log.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/internal_schema/column_statistics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/internal_schema/partition_statistics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/mysql/props_priv.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/mysql/user.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/system-tables/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/compaction-principles.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/compaction.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/frontend-lock-manager.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/doris-cache-memory-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/global-memory-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/heap-profile-memory-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/jemalloc-memory-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/load-memory-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/memory-log-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/metadata-memory-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/oom-crash-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-analysis/query-memory-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-feature/memory-control-strategy.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-feature/memory-tracker.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/memory-issue-faq.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/memory-management/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/metadata-operation.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/repairing-data.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/tablet-local-debug.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/trouble-shooting/tablet-meta-tool.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/analysis-diagnosis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/compute-group.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/concurrency-control-and-queuing.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/job-scheduler.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/kill-query.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/query-progress-monitor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/resource-group.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/spill-disk.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/sql-blocking.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/workload-group-bind-compute-group.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/workload-group.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/workload-management-summary.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/ai-function-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/ai-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/text-search/custom-analyzer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/text-search/custom-normalizer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/text-search/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/text-search/scoring.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/text-search/search-function.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/text-search/search-operators.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/behind-index.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/hnsw.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/index-management.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/ivf-on-disk.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/ivf.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/performance-large-scale.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/performance.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/practical-guide.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/quantization-survey.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/vector-search/resource-estimation.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/benchmark/ssb.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/benchmark/tpcds.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/benchmark/tpch.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/before-deployment.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/compilation-and-deployment.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/file-cache/file-cache-internals.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/file-cache/file-cache.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/managing-compute-cluster.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/managing-storage-vault.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/recycler.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/rw/file-cache-rw-compute-group-best-practice.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/rw/read-write-separation.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/upgrade.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/delete/atomicity-replace.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/delete/batch-delete-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/delete/delete-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/delete/delete-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/delete/table-temp-partition.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/delete/truncate-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/export/export-best-practice.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/export/export-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/export/export-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/export/export-with-mysql-dump.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/export/outfile.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/complex-types/array.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/complex-types/bitmap.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/complex-types/hll.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/complex-types/json.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/complex-types/map.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/complex-types/struct.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/complex-types/variant.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/aliyun-oss.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/amazon-s3.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/aws-msk.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/azure-storage.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/bigquery.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/flink.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/google-cloud-storage.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/hdfs.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/huawei-obs.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/kafka.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/local-file.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/migrate-data-from-other-olap.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/migrate-data-from-other-oltp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/minio.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/mysql.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/postgresql.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/redshift.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/s3-compatible.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/snowflake.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/tencent-cos.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/file-format/csv.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/file-format/json.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/file-format/native.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/file-format/orc.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/file-format/parquet.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/group-commit-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/handling-messy-data.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/import-way/broker-load-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/import-way/insert-into-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/import-way/insert-into-values-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/import-way/log-storage-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/import-way/mysql-load-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/import-way/routine-load-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/import-way/stream-load-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/load-best-practices.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/load-data-convert.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/load-high-availability.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/load-internals/load-internals.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/load-internals/routine-load-internals.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/load-internals/stream-load-in-complex-network.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/load-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/continuous-load-mysql-database.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/continuous-load-mysql-table.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/continuous-load-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/continuous-load-postgresql-database.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/continuous-load-postgresql-table.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/continuous-load-s3.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/prerequisites/amazon-aurora-mysql.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/prerequisites/amazon-aurora-postgresql.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/prerequisites/amazon-rds-mysql.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/prerequisites/amazon-rds-postgresql.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/prerequisites/images/mysql-binlog-setting.png delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/prerequisites/images/pgwalsetting.png delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/transaction.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/update/multi-stream-update-for-unique-model.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/update/partial-column-update.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/update/unique-update-concurrent-control.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/update/unique-update-sql.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/update/unique-update.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/update/update-of-aggregate-model.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/update/update-of-unique-model.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/update/update-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/db-connect/arrow-flight-sql-connect.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/db-connect/database-connect.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/automq-load.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/apache-superset.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/clouddm.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/datagrip.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/dbeaver.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/finebi.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/metabase.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/powerbi.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/quickbi.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/quicksight.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/smartbi.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/tableau-back.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/bi/tableau.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/cloudcanal.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/datax.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/dbt-doris-adapter.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/doris-kafka-connector/doris-kafka-connector.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/doris-kafka-connector/release-notes.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/doris-operator/doris-operator-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/doris-operator/on-alibaba.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/doris-operator/on-aws.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/doris-streamloader.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/flink-doris-connector/flink-doris-connector.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/flink-doris-connector/release-notes.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/hive-bitmap-udf.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/hive-hll-udf.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/kettle.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/kyuubi.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/observability/beats.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/observability/fluentbit.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/observability/langfuse.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/observability/logstash.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/observability/loongcollector.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/observability/opentelemetry.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/observability/vector.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/seatunnel.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/spark-doris-connector/release-notes.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/spark-doris-connector/spark-doris-connector.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/spark-load.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/faq/bi-faq.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/faq/correctness-faq.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/faq/data-faq.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/faq/install-faq.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/faq/lakehouse-faq.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/faq/load-faq.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/faq/sql-faq.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/alternatives/alternative-to-clickhouse.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/alternatives/alternative-to-elasticsearch.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/alternatives/alternative-to-trino.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/before-you-start-the-poc.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/demo-block/demo-block.css delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/demo-block/latest.tsx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/demo-block/page-hero-1.tsx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/demo-block/page-hero-2.tsx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/demo-block/page-hero.tsx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/quick-start.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/what-is-apache-doris.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-manually/integrated-storage-compute-deploy-manually.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-manually/separating-storage-compute-deploy-manually.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-cloud/doris-on-aws.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/integrated-storage-compute/access-cluster.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/integrated-storage-compute/cluster-operation.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/integrated-storage-compute/install-config-cluster.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/integrated-storage-compute/install-doris-cluster.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/integrated-storage-compute/install-doris-operator.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/separating-storage-compute/config-cg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/separating-storage-compute/config-fe.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/separating-storage-compute/config-ms.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/separating-storage-compute/install-doris-cluster.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/separating-storage-compute/install-fdb.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/preparation/cluster-planning.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/preparation/env-checking.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/install/preparation/os-checking.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-aws-emr.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-aws-s3tables.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-dlf-iceberg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-dlf-paimon.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-gravitino.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-hudi.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-iceberg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-lakekeeper.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-maxcompute.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-nessie.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-onelake.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-paimon.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-polaris.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/doris-unity-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/kerberos.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/optimization.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/tpcds.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/best-practices/tpch.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalog-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/bigquery-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/delta-lake-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/doris-catalog.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/es-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/hive-catalog.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/hudi-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/iceberg-catalog.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/jdbc-catalog-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/jdbc-clickhouse-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/jdbc-ibmdb2-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/jdbc-mysql-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/jdbc-oceanbase-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/jdbc-oracle-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/jdbc-pg-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/jdbc-saphana-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/jdbc-sqlserver-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/kafka-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/kudu-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/maxcompute-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/catalogs/paimon-catalog.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/compute-node.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/data-cache.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/file-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/file-formats/lance.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/file-formats/orc.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/file-formats/parquet.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/file-formats/text.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/huggingface.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/lakehouse-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/meta-cache.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/metastores/aliyun-dlf.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/metastores/aws-glue.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/metastores/filesystem.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/metastores/google-dataproc-metastore.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/metastores/hive-metastore.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/metastores/iceberg-jdbc.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/metastores/iceberg-rest.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/metastores/paimon-jdbc.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/statistics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/aliyun-oss.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/azure-blob.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/baidu-bos.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/gcs.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/hdfs.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/huawei-obs.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/juicefs.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/minio.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/ozone.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/s3.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/tencent-cos.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/observability/log-storage-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/observability/log.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/observability/overview.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/observability/trace.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/colocation-join.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/condition-cache.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/dictionary.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/distinct-counts/bitmap-precise-deduplication.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/distinct-counts/hll-approximate-deduplication.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/high-concurrent-point-query.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/distribute-hint.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/hints-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/leading-hint.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/materialized-view/async-materialized-view/faq.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/materialized-view/async-materialized-view/functions-and-demands.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/materialized-view/async-materialized-view/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/materialized-view/async-materialized-view/use-advice.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/materialized-view/async-materialized-view/use-guide.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/materialized-view/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/materialized-view/sync-materialized-view.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/optimization-technology-principle/pipeline-execution-engine.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/optimization-technology-principle/query-optimizer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/optimization-technology-principle/runtime-filter.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/optimization-technology-principle/statistics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/optimization-technology-principle/topn-optimization.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/performance-tuning-overview/analysis-tools.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/performance-tuning-overview/diagnostic-tools.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/performance-tuning-overview/tuning-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/performance-tuning-overview/tuning-process.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/query-cache.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/query-profile.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/sql-cache-manual.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/parallelism-tuning.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-execution/adjustment-of-runtimefilter-wait-time.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-execution/data-skew-handling.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-execution/parallelism-tuning.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-parameters.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/accelerating-queries-with-sql-cache.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/adjusting-join-shuffle.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/controlling-hints-with-cbo-rule.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/dml-tuning-plan.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-join-with-colocate-group.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-table-index.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-table-scanning.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-table-schema.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/reordering-join-with-leading-hint.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-async-mv.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-sync-mv.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/asof-join.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/complex-type.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/cte.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/join.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/lateral-view.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/multi-dimensional-analytics.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/mysql-compatibility.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/subquery.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/udf/alias-function.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/udf/java-user-defined-function.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/udf/python-user-defined-function.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/window-function.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/comments.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/file-path-pattern.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/literal/date-literal.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/literal/numeric-literal.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/literal/string-literal.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/nulls.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/object-identifiers.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/arithmetic-operators.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/assignment-operators.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/bitwise-operators.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/conditional-operators/boolean-testing-operators.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/conditional-operators/comparison-operators.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/conditional-operators/exists-operators.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/conditional-operators/full-text-search-operators.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/conditional-operators/in-operators.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/conditional-operators/logical-operators.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/conditional-operators/pattern-matching-operators.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/operators/operator-precedence.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/reserved-keywords.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/aggregate/AGG-STATE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/aggregate/BITMAP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/aggregate/HLL.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/aggregate/QUANTILE-STATE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/binary-type/VARBINARY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/array-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/boolean-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/cast-expr.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/cast-to-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/date-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/datetime-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/decimal-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/float-double-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/int-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/ip-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/json-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/map-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/struct-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/time-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/conversion/timestamptz-conversion.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/data-type-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/date-time/DATE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/date-time/DATETIME.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/date-time/TIME.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/date-time/TIMESTAMPTZ.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/ip/IPV4.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/ip/IPV6.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/numeric/BIGINT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/numeric/BOOLEAN.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/numeric/DECIMAL.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/numeric/FLOATING-POINT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/numeric/INT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/numeric/LARGEINT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/numeric/SMALLINT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/numeric/TINYINT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/ARRAY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/GEO.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/JSON.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/MAP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/STRUCT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/variant-workload-guide.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/string-type/CHAR.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/string-type/STRING.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/string-type/VARCHAR.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/variables.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/ai-agg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/any-value.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/approx-count-distinct.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/array-agg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/avg-weighted.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/avg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/bitmap-agg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/bitmap-intersect.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/bitmap-union-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/bitmap-union-int.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/bitmap-union.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/bool-and.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/bool-or.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/bool-xor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/collect-list.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/collect-set.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/corr-welford.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/corr.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/count-by-enum.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/covar-samp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/covar.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/group-array-intersect.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/group-array-union.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/group-bit-and.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/group-bit-or.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/group-bit-xor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/group-bitmap-xor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/group-concat.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/histogram.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/hll-raw-agg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/hll-union-agg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/intersect-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/kurt.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/linear-histogram.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/map-agg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/max-by.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/max.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/median.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/min-by.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/min.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/percentile-approx-weighted.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/percentile-approx.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/percentile-array.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/percentile.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/percentile_reservoir.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/quantile-union.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/regr-avgx.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/regr-avgy.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/regr-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/regr-intercept.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/regr-r2.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/regr-slope.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/regr-sxx.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/regr-sxy.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/regr-syy.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/retention.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/sem.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/sequence-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/sequence-match.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/skew.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/stddev-samp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/stddev.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/sum.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/sum0.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/topn-array.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/topn-weighted.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/topn.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/var-samp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/variance.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/window-funnel.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/ai-classify.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/ai-extract.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/ai-filter.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/ai-fixgrammar.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/ai-generate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/ai-mask.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/ai-sentiment.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/ai-similarity.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/ai-summarize.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/ai-translate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/distance-functions/cosine-distance.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/distance-functions/embed.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/distance-functions/inner-product-approximate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/distance-functions/inner-product.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/distance-functions/l1-distance.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/distance-functions/l2-distance-approximate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/distance-functions/l2-distance.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/combinators/foreach.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/combinators/merge.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/combinators/state.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/combinators/union.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-apply.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-avg.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-compact.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-concat.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-contains.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-contains_all.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-cross-product.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-cum-sum.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-difference.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-distinct.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-enumerate-uniq.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-enumerate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-except.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-exists.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-filter.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-first-index.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-first.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-flatten.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-intersect.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-join.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-last-index.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-last.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-map.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-match-all.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-match-any.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-max.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-min.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-popback.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-popfront.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-position.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-product.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-pushback.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-pushfront.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-range.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-remove.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-repeat.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-reverse-sort.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-reverse-split.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-size.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-slice.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sortby.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-split.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sum.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-union.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-with-constant.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-zip.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/arrays-overlap.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/countequal.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/binary-functions/from-base64-binary.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/binary-functions/from_hex.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/binary-functions/sub-binary.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/binary-functions/to-base64-binary.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/binary-functions/to_hex.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-and-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-and-not-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-and-not.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-and.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-contains.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-empty.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-from-array.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-from-base64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-from-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-has-all.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-has-any.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-hash.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-hash64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-max.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-min.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-not.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-or-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-or.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-remove.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-subset-in-range.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-subset-limit.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-to-array.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-to-base64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-to-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-xor-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/bitmap-xor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/sub-bitmap.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitmap-functions/to-bitmap.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitwise-functions/bit-length.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitwise-functions/bit-test.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitand.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitcount.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitnot.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitshiftleft.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitwise-functions/bitshiftright.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/bitwise-functions/xor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/conditional-functions/coalesce.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/conditional-functions/greatest.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/conditional-functions/if.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/conditional-functions/ifnull.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/conditional-functions/least.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/conditional-functions/not-null-or-empty.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/conditional-functions/null-or-empty.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/conditional-functions/nullif.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/conditional-functions/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/add-time.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/century.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/convert-tz.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/curdate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/curtime.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/date-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/date-ceil.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/date-floor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/date-format.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/date-sub.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/date-trunc.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/date.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/datediff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/day-ceil.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/day-floor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/day.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/dayname.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/dayofweek.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/dayofyear.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/extract.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/from-days.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/from-iso8601-date.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/from-microsecond.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/from-millisecond.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/from-second.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/from-unixtime.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/get-format.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/hour-ceil.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/hour-floor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/hour.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/hours-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/hours-diff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/hours-sub.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/last-day.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/makedate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/maketime.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/microsecond-timestamp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/microsecond.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/microseconds-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/microseconds-diff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/microseconds-sub.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/millisecond-timestamp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/milliseconds-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/milliseconds-diff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/milliseconds-sub.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/minute-ceil.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/minute-floor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/minute.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/minutes-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/minutes-diff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/minutes-sub.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/month-ceil.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/month-floor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/month.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/monthname.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/months-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/months-diff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/months-sub.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/now.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/period-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/period-diff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/previous-day.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/quarter.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/quarters-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/quarters-sub.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/sec-to-time.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/second-ceil.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/second-floor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/second.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/seconds-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/seconds-diff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/seconds-sub.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/str-to-date.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/sub-time.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/time-format.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/time-to-sec.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/time.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/timediff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/timestamp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/timestampadd.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/timestampdiff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/to-date.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/to-days.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/to-iso8601.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/to-monday.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/to-seconds.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/unix-timestamp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-date.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-time.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-timestamp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/weekday.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/weekofyear.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/weeks-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/weeks-diff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/weeks-sub.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/year-ceil.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/year-floor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/year-of-week.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/year.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/years-add.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/years-diff.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/years-sub.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/yearweek.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/aes-decrypt.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/aes-encrypt.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/crc32.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/md5.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/md5sum.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/murmur-hash3-32.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/murmur-hash3-64-v2.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/murmur-hash3-64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/murmur-hash3-u64-v2.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sha.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sha2.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm3.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm3sum.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm4-decrypt.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm4-encrypt.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/xxhash-32.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/xxhash-64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/hll-functions/hll-cardinality.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/hll-functions/hll-empty.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/hll-functions/hll-from-base64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/hll-functions/hll-hash.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/hll-functions/hll-to-base64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/cut-ipv6.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/cut_ipv6.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-cidr-to-range.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-num-to-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-string-to-num-or-default.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-string-to-num-or-null.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-string-to-num.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4-to-ipv6.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv4_cidr_to_range.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6-cidr-to-range.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6-num-to-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6-string-to-num-or-default.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6-string-to-num-or-null.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6-string-to-num.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/ipv6_cidr_to_range.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/is-ip-address-in-range.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/is-ipv4-compat.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/is-ipv4-mapped.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/is-ipv4-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/is-ipv6-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv4-or-default.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv4-or-null.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv4.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv6-or-default.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv6-or-null.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/ip-functions/to-ipv6.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/get-json-bigint.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/get-json-double.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/get-json-int.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/get-json-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-array-ignore-null.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-array.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-contains.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-exists-path.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-bigint.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-bool.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-double.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-int.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-isnull.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-largeint.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-hash.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-insert.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-keys.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-length.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-object-flatten.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-object.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-parse-error-to-null.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-parse-error-to-value.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-parse.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-quote.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-remove.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-replace.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-search.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-set.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-type.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-unquote.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-valid.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/normalize-json-numbers-to-double.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/sort-json-object-keys.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/strip-null-value.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/to-json.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/deduplicate-map.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/map-contains-entry.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/map-contains-key.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/map-contains-value.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/map-entries.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/map-keys.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/map-size.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/map-values.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/map.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/abs.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/acos.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/acosh.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/asin.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/asinh.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/atan.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/atan2.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/atanh.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/bin.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/cbrt.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/ceil.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/conv.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/cos.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/cosh.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/cot.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/csc.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/degrees.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/e.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/even.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/exp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/factorial.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/floor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/fmod.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/gcd.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/interval.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/isinf.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/isnan.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/lcm.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/ln.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/log.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/log10.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/log2.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/mod.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/money-format.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/negative.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/normal-cdf.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/pi.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/pmod.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/positive.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/pow.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/radians.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/random.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/round-bankers.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/round.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/sec.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/sign.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/signbit.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/sin.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/sinh.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/sqrt.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/tan.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/tanh.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/truncate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/uniform.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/uuid_numeric.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/width-bucket.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/xor.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/other-functions/convert-to.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/other-functions/default.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/other-functions/esquery.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/other-functions/field.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/other-functions/g.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/other-functions/grouping-id.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/other-functions/grouping.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/quantile-functions/quantile-percent.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/quantile-functions/quantile-state-empty.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/quantile-functions/quantile-state-from-base64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/quantile-functions/quantile-state-to-base64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/quantile-functions/to-quantile-state.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-angle-sphere.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-angle.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-area-square-km.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-area-square-meters.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-asbinary.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-astext.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-azimuth.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-circle.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-contains.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-disjoint.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-distance-sphere.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-distance.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-geometryfromtext.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-geometryfromwkb.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-geometrytype.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-intersects.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-length.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-linefromtext.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-point.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-polygon.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-touches.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-x.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/spatial-functions/st-y.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/append-trailing-char-if-absent.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/ascii.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/auto-partition-name.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/char-length.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/char.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/compress.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/concat-ws.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/concat.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/count_substrings.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/cut-to-first-significant-subdomain.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/digital-masking.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/domain-without-www.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/domain.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/elt.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/ends-with.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/export-set.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/extract-url-parameter.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/find-in-set.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/first-significant-subdomain.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/format-number.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/format.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/from-base64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/hamming_distance.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/hex.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/initcap.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/instr.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/int-to-uuid.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/is-uuid.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/lcase.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/length.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/levenshtein.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/locate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/lpad.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/ltrim-in.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/ltrim.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/make-set.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/mask-first-n.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/mask-last-n.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/mask.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-search-all-positions.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/ngram-search.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/overlay.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/parse-data-size.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/parse-url.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/position.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/printf.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/protocol.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/quote.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/random_bytes.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/regexp-count.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/regexp-extract-all.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/regexp-extract-or-null.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/regexp-extract.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/regexp-replace-one.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/regexp-replace.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/regexp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/repeat.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/replace-empty.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/replace.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/reverse.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/rpad.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/rtrim-in.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/rtrim.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/soundex.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/space.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/split-by-regexp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/split-by-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/split-part.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/starts-with.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/strcmp.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/strleft.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/strright.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/sub-replace.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/substring-index.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/substring.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/to-base64.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/tokenize.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/top-level-domain.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/translate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/trim-in.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/trim.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/ucase.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/uncompress.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/unhex.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/unicode_normalize.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/url-decode.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/url-encode.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/uuid.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/struct-functions/named-struct.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/struct-functions/struct-element.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/struct-functions/struct.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/system-functions/connection-id.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/system-functions/current-catalog.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/system-functions/current-user.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/system-functions/database.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/system-functions/last-query-id.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/system-functions/session-user.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/system-functions/user.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/system-functions/version-function.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/variant-functions/element-at.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/variant-functions/variant-type.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-bitmap-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-bitmap.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-json-array-double-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-json-array-double.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-json-array-int-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-json-array-int.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-json-array-json-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-json-array-json.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-json-array-string-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-json-array-string.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-json-object.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-map-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-map.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-numbers-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-numbers.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-split-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode-split.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/explode.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/json-each-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/json-each-text-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/json-each-text.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/json-each.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/posexplode-outer.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/posexplode.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-functions/unnest.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/backends.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/catalogs.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/cdc-stream.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/file.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/frontends.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/frontends_disks.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/hdfs.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/http.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/hudi-meta.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/iceberg-meta.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/jobs.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/local.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/mv_infos.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/numbers.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/parquet-meta.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/partition-values.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/partitions.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/query.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/s3.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/table-valued-functions/tasks.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/cume-dist.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/dense-rank.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/first-value.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/lag.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/last-value.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/lead.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/ntile.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/percent-rank.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/rank.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/row-number.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/ALTER-ROLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/ALTER-USER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/CREATE-ROLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/CREATE-USER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/DROP-ROLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/DROP-USER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/GRANT-TO.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/REFRESH-LDAP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/REVOKE-FROM.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/SET-LDAP_ADMIN_PASSWORD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/SET-PASSWORD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/SET-PROPERTY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/SHOW-CREATE-USER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/SHOW-GRANTS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/SHOW-PRIVILEGES.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/SHOW-PROPERTY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/account-management/SHOW-ROLES.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/catalog/ALTER-CATALOG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/catalog/CREATE-CATALOG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/catalog/DROP-CATALOG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/catalog/REFRESH.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/catalog/SHOW-CATALOG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/catalog/SHOW-CATALOGS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/catalog/SHOW-CREATE-CATALOG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/character-set/SHOW-CHARSET.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/character-set/SHOW-COLLATION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/ALTER-RESOURCE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/ALTER-WORKLOAD-GROUP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/ALTER-WORKLOAD-POLICY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/CREATE-RESOURCE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/CREATE-WORKLOAD-GROUP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/CREATE-WORKLOAD-POLICY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/DROP-RESOURCE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/DROP-WORKLOAD-GROUP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/DROP-WORKLOAD-POLICY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/SHOW-COMPUTE-GROUPS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/SHOW-RESOURCES.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/compute-management/SHOW-WORKLOAD-GROUPS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/ADD-BACKEND.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/ADD-BROKER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/ADD-FOLLOWER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/ADD-OBSERVER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/CANCEL-DECOMMISSION-BACKEND.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/DECOMMISSION-BACKEND.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/DROP-BACKEND.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/DROP-BROKER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/DROP-FOLLOWER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/DROP-OBSERVER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/MODIFY-BACKEND.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/MODIFY-FRONTEND-HOSTNAME.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/SET-FRONTEND-CONFIG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/SHOW-BACKEND-CONFIG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/SHOW-BACKENDS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/SHOW-BROKER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/SHOW-CONFIG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/SHOW-FRONTEND-CONFIG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/SHOW-FRONTENDS-DISKS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/instance-management/SHOW-FRONTENDS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/ALTER-STORAGE-POLICY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/ALTER-STORAGE-VAULT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/CANCEL-WARM-UP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-POLICY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/DROP-STORAGE-POLICY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/SET-DEFAULT-STORAGE-VAULT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/SHOW-CACHE-HOTSPOT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/SHOW-STORAGE-POLICY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/SHOW-STORAGE-VAULTS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/SHOW-WARM-UP-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/UNSET-DEFAULT-STORAGE-VAULT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/WARM-UP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-governance/ALTER-SQL_BLOCK_RULE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-governance/CREATE-ROW-POLICY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-governance/CREATE-SQL_BLOCK_RULE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-governance/DROP-ROW-POLICY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-governance/DROP-SQL_BLOCK_RULE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-governance/SHOW-ROW-POLICY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-governance/SHOW-SQL_BLOCK_RULE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/DML/DELETE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/DML/INSERT-OVERWRITE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/DML/INSERT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/DML/MERGE-INTO.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/DML/SHOW-DELETE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/DML/SHOW-LAST-INSERT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/DML/UPDATE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/backup-and-restore/BACKUP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/backup-and-restore/CANCEL-BACKUP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/backup-and-restore/CANCEL-RESTORE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/backup-and-restore/CREATE-REPOSITORY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/backup-and-restore/DROP-REPOSITORY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/backup-and-restore/RESTORE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/backup-and-restore/SHOW-CREATE-REPOSITORY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/backup-and-restore/SHOW-REPOSITORIES.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/backup-and-restore/SHOW-RESTORE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/backup-and-restore/SHOW-SNAPSHOT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/ALTER-ROUTINE-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/BROKER-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/CANCEL-EXPORT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/CANCEL-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/CLEAN-LABEL.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/CREATE-ROUTINE-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/EXPORT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/MYSQL-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/OUTFILE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/PAUSE-ROUTINE-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/RESUME-ROUTINE-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/SHOW-CREATE-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/SHOW-CREATE-ROUTINE-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/SHOW-EXPORT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/SHOW-LOAD-WARNINGS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/SHOW-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/SHOW-ROUTINE-LOAD-TASK.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/SHOW-ROUTINE-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/SHOW-STREAM-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/STOP-ROUTINE-LOAD.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-modification/load-and-export/SYNC.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-query/EXPLAIN.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-query/SELECT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/database/ALTER-DATABASE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/database/CREATE-DATABASE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/database/DROP-DATABASE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/database/SHOW-CREATE-DATABASE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/database/SHOW-DATABASE-ID.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/database/SHOW-DATABASES.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/function/CREATE-FUNCTION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/function/DESC-FUNCTION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/function/DROP-FUNCTION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/function/SHOW-CREATE-FUNCTION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/function/SHOW-FUNCTIONS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/job/ALTER-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/job/CANCEL-TASK.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/job/CREATE-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/job/CREATE-STREAMING-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/job/DROP-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/job/PAUSE-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/job/RESUME-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/plugin/INSTALL-PLUGIN.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/plugin/SHOW-PLUGINS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/plugin/UNINSTALL-PLUGIN.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/recycle/DROP-CATALOG-RECYCLE-BIN.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/recycle/RECOVER.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/recycle/SHOW-CATALOG-RECYCLE-BIN.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/security/CREATE-ENCRYPTKEY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/security/CREATE-FILE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/security/DROP-ENCRYPTKEY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/security/DROP-FILE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/security/SHOW-ENCRYPTKEY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/security/SHOW-FILE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/connection/KILL-CONNECTION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/context/SWITCH-CATALOG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/context/USE-COMPUTE-GROUP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/context/USE-DATABASE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/queries/CLEAN-ALL-PROFILE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/queries/CLEAN-ALL-QUERY-STATS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/queries/KILL-QUERY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/queries/PLAN-REPLAYER-DUMP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/queries/PLAN-REPLAYER-PLAY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/queries/SHOW-PROCESSLIST.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/queries/SHOW-QUERY-STATS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/variable/SET-VARIABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/variable/SHOW-VARIABLES.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/session/variable/UNSET-VARIABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/statistics/ALTER-STATS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/statistics/ANALYZE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/statistics/DROP-ANALYZE-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/statistics/DROP-STATS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/statistics/KILL-ANALYZE-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/statistics/SHOW-ANALYZE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/statistics/SHOW-STATS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/statistics/SHOW-TABLE-STATS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/statistics/SHOW_QUEUED_ANALYZE_JOBS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/system-info-and-help/SHOW-PROC.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/async-materialized-view/ALTER-ASYNC-MATERIALIZED-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/async-materialized-view/CANCEL-MATERIALIZED-VIEW-TASK.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/async-materialized-view/CREATE-ASYNC-MATERIALIZED-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/async-materialized-view/DROP-ASYNC-MATERIALIZED-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/async-materialized-view/PAUSE-MATERIALIZED-VIEW-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/async-materialized-view/REFRESH-MATERIALIZED-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/async-materialized-view/RESUME-MATERIALIZED-VIEW-JOB.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/async-materialized-view/SHOW-CREATE-ASYNC-MATERIALIZED-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/ADMIN-CHECK-TABLET.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/ADMIN-COPY-TABLET.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/ADMIN-SET-REPLICA-STATUS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/ADMIN-SET-REPLICA-VERSION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/CANCEL-REBALANCE-DISK.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/CANCEL-REPAIR-TABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/CLEAN-TRASH.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/COMPACT-TABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/DIAGNOSE-TABLET.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/REBALANCE-DISK.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/REPAIR-TABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SET-TABLE-PARTITION-VERSION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SET-TABLE-STATUS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-DATA-SKEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-DATA.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-REPLICA-DISTRIBUTION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-REPLICA-STATUS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-TABLET-DIAGNOSIS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-TABLET-STORAGE-FORMAT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-TABLET.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-TABLETS-BELONG.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/data-and-status-management/SHOW-TRASH.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/index/BUILD-INDEX.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/index/CANCEL-BUILD-INDEX.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/index/CREATE-INDEX.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/index/SHOW-BUILD-INDEX.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/index/SHOW-INDEX.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/sync-materialized-view/CREATE-MATERIALIZED-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/sync-materialized-view/DROP-MATERIALIZED-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/sync-materialized-view/SHOW-ALTER-TABLE-MATERIALIZED-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/sync-materialized-view/SHOW-CREATE-MATERIALIZED-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/ALTER-COLOCATE-GROUP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-ADD-GENERATED-COLUMN.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-COLUMN.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-COMMENT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-DISTRIBUTION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PARTITION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-RENAME.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-REPLACE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-ROLLUP.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/CANCEL-ALTER-TABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/DROP-TABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-ALTER-TABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-COLUMNS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-CONVERT-LIGHT-SCHEMA-CHANGE-PROCESS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-CREATE-TABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-DYNAMIC-PARTITION-TABLES.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-PARTITION-ID.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-PARTITION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-PARTITIONS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-TABLE-ID.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-TABLE-STATUS.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/SHOW-TABLES.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/TRUNCATE-TABLE.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/view/ALTER-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/view/CREATE-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/view/DROP-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/view/SHOW-CREATE-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/view/SHOW-VIEW.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/transaction/BEGIN.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/transaction/COMMIT.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/transaction/ROLLBACK.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/transaction/SHOW-TRANSACTION.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/types/SHOW-DATA-TYPES.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/types/SHOW-TYPECAST.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/auto-increment.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/best-practice.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/column-compression.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-model/aggregate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-model/duplicate.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-model/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-model/tips.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-model/unique.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-partitioning/auto-partitioning.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-partitioning/basic-concepts.mdx delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-partitioning/common-issues.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-partitioning/data-bucketing.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-partitioning/data-distribution.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-partitioning/dynamic-partitioning.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-partitioning/manual-partitioning.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/data-type.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/index/bloomfilter.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/index/index-overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/index/inverted-index/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/index/ngram-bloomfilter-index.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/index/prefix-index.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/row-store.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/schema-change.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/storage-format.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/temporary-table.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/tiered-storage/overview.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/tiered-storage/remote-storage.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/tiered-storage/tiered-ssd-hdd.md delete mode 100644 sidebars.ts delete mode 100644 tools/check_review.py delete mode 100644 tools/maintainers.json diff --git a/.docs-governance/owners.yml b/.docs-governance/owners.yml index 91b8ff9686ba4..0ed9711d1050b 100644 --- a/.docs-governance/owners.yml +++ b/.docs-governance/owners.yml @@ -11,9 +11,7 @@ owners: - name: sql-functions owner: "@zclllyybb" paths: - - "docs/sql-manual/sql-functions/**" - "versioned_docs/version-*/sql-manual/sql-functions/**" - - "i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/**" - "i18n/zh-CN/docusaurus-plugin-content-docs/version-*/sql-manual/sql-functions/**" doc_types: - sql_function @@ -21,64 +19,47 @@ owners: - name: sql-statements owner: "@apache/doris-sql-reviewers" paths: - - "docs/sql-manual/sql-statements/**" - "versioned_docs/version-*/sql-manual/sql-statements/**" - - "i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/**" - "i18n/zh-CN/docusaurus-plugin-content-docs/version-*/sql-manual/sql-statements/**" - name: install-and-deploy owner: "@apache/doris-website-maintainers" paths: - - "docs/install/**" - "versioned_docs/version-*/install/**" - - "i18n/zh-CN/docusaurus-plugin-content-docs/current/install/**" - "i18n/zh-CN/docusaurus-plugin-content-docs/version-*/install/**" - name: lakehouse-and-ecosystem owner: "@apache/doris-website-maintainers" paths: - - "docs/lakehouse/**" - - "docs/ecosystem/**" - "versioned_docs/version-*/lakehouse/**" - "versioned_docs/version-*/ecosystem/**" - - "i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/**" - - "i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/**" - "i18n/zh-CN/docusaurus-plugin-content-docs/version-*/lakehouse/**" - "i18n/zh-CN/docusaurus-plugin-content-docs/version-*/ecosystem/**" - name: data-operate owner: "@apache/doris-website-maintainers" paths: - - "docs/data-operate/**" - "versioned_docs/version-*/data-operate/**" - - "i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/**" - "i18n/zh-CN/docusaurus-plugin-content-docs/version-*/data-operate/**" - name: admin-and-observability owner: "@apache/doris-website-maintainers" paths: - - "docs/admin-manual/**" - - "docs/observability/**" - "versioned_docs/version-*/admin-manual/**" - "versioned_docs/version-*/observability/**" - - "i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/**" - - "i18n/zh-CN/docusaurus-plugin-content-docs/current/observability/**" - "i18n/zh-CN/docusaurus-plugin-content-docs/version-*/admin-manual/**" - "i18n/zh-CN/docusaurus-plugin-content-docs/version-*/observability/**" - name: ai-docs owner: "@apache/doris-website-maintainers" paths: - - "docs/ai/**" - "versioned_docs/version-*/ai/**" - - "i18n/zh-CN/docusaurus-plugin-content-docs/current/ai/**" - "i18n/zh-CN/docusaurus-plugin-content-docs/version-*/ai/**" - name: website-framework owner: "@apache/doris-website-maintainers" paths: - "docusaurus.config.js" - - "sidebars.ts" - "sidebarsCommunity.json" - "sidebarsReleases.json" - "versioned_sidebars/**" diff --git a/.docs-governance/rules.yml b/.docs-governance/rules.yml index f1f459d21dafe..b15efcfb98f40 100644 --- a/.docs-governance/rules.yml +++ b/.docs-governance/rules.yml @@ -31,27 +31,15 @@ versions: - "4.x" - "3.x" - "2.1" - - current archived: - "2.0" - "1.2" default_version: "4.x" - current_route_version: dev blocking_scope: active_versions: true archived_versions: false - version_labels: - current: Dev content_roots: - docs: - plugin: main_docs - locale: en - version: current - source_root: docs - route_base: "/docs/dev" - sidebar: sidebars.ts - blocking_scope: true versioned_docs: plugin: main_docs locale: en @@ -60,14 +48,6 @@ content_roots: route_base_pattern: "/docs/{version}" sidebar_pattern: "versioned_sidebars/version-{version}-sidebars.json" blocking_scope: active_versions_only - zh_current_docs: - plugin: main_docs - locale: zh-CN - version: current - source_root: i18n/zh-CN/docusaurus-plugin-content-docs/current - route_base: "/zh-CN/docs/dev" - sidebar: sidebars.ts - blocking_scope: true zh_versioned_docs: plugin: main_docs locale: zh-CN @@ -164,9 +144,6 @@ doc_id: - "Prefix plugin name for non-main-docs content, for example community:join-community." - "Do not include locale or version in doc_id." examples: - - source_path: "docs/gettingStarted/what-is-apache-doris.md" - doc_id: "gettingStarted/what-is-apache-doris" - sync_group_id: "main_docs:gettingStarted/what-is-apache-doris" - source_path: "versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/string-functions/concat.md" doc_id: "sql-manual/sql-functions/scalar-functions/string-functions/concat" sync_group_id: "main_docs:sql-manual/sql-functions/scalar-functions/string-functions/concat" @@ -176,7 +153,6 @@ doc_id: route_path: rules: - - "current English docs route to /docs/dev/{doc_id} unless front matter slug overrides the final segment." - "default version 4.x route remains /docs/4.x/{doc_id}." - "localized routes prefix locale, for example /zh-CN/docs/4.x/{doc_id}." - "community, releases, and blog use their configured routeBasePath." @@ -186,9 +162,8 @@ doc_type_detection: ordered_rules: - doc_type: sql_function path_patterns: - - "^docs/sql-manual/sql-functions/" - "^versioned_docs/version-[^/]+/sql-manual/sql-functions/" - - "^i18n/zh-CN/docusaurus-plugin-content-docs/(current|version-[^/]+)/sql-manual/sql-functions/" + - "^i18n/zh-CN/docusaurus-plugin-content-docs/version-[^/]+/sql-manual/sql-functions/" required_sections: en: - Description @@ -205,9 +180,8 @@ doc_type_detection: rollout_level: blocking_after_week_5 - doc_type: sql_statement path_patterns: - - "^docs/sql-manual/sql-statements/" - "^versioned_docs/version-[^/]+/sql-manual/sql-statements/" - - "^i18n/zh-CN/docusaurus-plugin-content-docs/(current|version-[^/]+)/sql-manual/sql-statements/" + - "^i18n/zh-CN/docusaurus-plugin-content-docs/version-[^/]+/sql-manual/sql-statements/" rollout_level: warning - doc_type: release_notes path_patterns: @@ -225,9 +199,8 @@ doc_type_detection: rollout_level: warning - doc_type: feature_doc path_patterns: - - "^docs/(install|lakehouse|data-operate|table-design|admin-manual|query-data|query-acceleration|compute-storage-decoupled|ai|ecosystem|db-connect)/" - "^versioned_docs/version-[^/]+/(install|lakehouse|data-operate|table-design|admin-manual|query-data|query-acceleration|compute-storage-decoupled|ai|ecosystem|db-connect)/" - - "^i18n/zh-CN/docusaurus-plugin-content-docs/(current|version-[^/]+)/(install|lakehouse|data-operate|table-design|admin-manual|query-data|query-acceleration|compute-storage-decoupled|ai|ecosystem|db-connect)/" + - "^i18n/zh-CN/docusaurus-plugin-content-docs/version-[^/]+/(install|lakehouse|data-operate|table-design|admin-manual|query-data|query-acceleration|compute-storage-decoupled|ai|ecosystem|db-connect)/" expected_sections: - overview - quick_start_or_basic_usage @@ -249,20 +222,10 @@ sync_policy: report_only_locales: - ja version_rules: - - when: "source version is current" - required_counterparts: - - locale: zh-CN - version: current - recommended_counterparts: - - locale: en - version: "4.x" - when: "source version is 4.x" required_counterparts: - locale: zh-CN version: "4.x" - recommended_counterparts: - - locale: en - version: current - when: "source version is 3.x" required_counterparts: - locale: zh-CN @@ -294,7 +257,6 @@ severity: seo_policy: indexable_roots: - - docs - versioned_docs - i18n/zh-CN/docusaurus-plugin-content-docs - community diff --git a/.github/workflows/approve-check.yml b/.github/workflows/approve-check.yml deleted file mode 100644 index eeea37ba2d780..0000000000000 --- a/.github/workflows/approve-check.yml +++ /dev/null @@ -1,43 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# --- -# name: Need_2_Approval - -# on: -# pull_request_review: -# types: [ submitted ] - -# jobs: -# Need_2_Approval: -# runs-on: ubuntu-latest -# timeout-minutes: 5 -# steps: -# - uses: actions/checkout@v3 -# - name: Install Python dependencies -# uses: actions/setup-python@v5 -# with: -# python-version: '3.10' # Adjust if needed -# - name: Install match library -# run: | -# pip install --upgrade pip -# pip install match -# pip install requests -# - name: Run Python script -# run: | -# python tools/check_review.py ${{ github.event.pull_request.number }} ${{secrets.GITHUB_TOKEN}} -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/build-check.yml b/.github/workflows/build-check.yml index 81f1fc30d2008..cea8da9c74e68 100644 --- a/.github/workflows/build-check.yml +++ b/.github/workflows/build-check.yml @@ -86,24 +86,11 @@ jobs: # Check each changed file and map to doc version while IFS= read -r file; do case "$file" in - # English legacy current dir — no longer compiled - # (dev moved to docs-next plugin). PR #3610 forbids - # modifying these files; if they change anyway, fall - # through to a minimal default-version smoke build. - docs/*) - VERSIONS="4.x,$VERSIONS" - ;; # English versioned docs versioned_docs/version-*/*) ver=$(echo "$file" | sed -n 's|versioned_docs/version-\([^/]*\)/.*|\1|p') VERSIONS="${ver},$VERSIONS" ;; - # Chinese legacy current dir — no longer compiled - # (see docs/* note above). - i18n/zh-CN/docusaurus-plugin-content-docs/current/*) - VERSIONS="4.x,$VERSIONS" - LOCALES="en,zh-CN" - ;; # Chinese versioned docs i18n/zh-CN/docusaurus-plugin-content-docs/version-*/*) ver=$(echo "$file" | sed -n 's|i18n/zh-CN/docusaurus-plugin-content-docs/version-\([^/]*\)/.*|\1|p') @@ -114,12 +101,6 @@ jobs: i18n/zh-CN/docusaurus-plugin-content-docs-community/*|i18n/zh-CN/code.json) LOCALES="en,zh-CN" ;; - # Sidebar for legacy current — no longer compiled - # (legacy plugin uses includeCurrentVersion: false). - # Fall through to minimal default-version build. - sidebars.ts) - VERSIONS="4.x,$VERSIONS" - ;; # Versioned sidebars: extract version from filename # e.g. versioned_sidebars/version-4.x-sidebars.json → 4.x versioned_sidebars/version-*-sidebars.json) diff --git a/.github/workflows/check-legacy-docs-frozen.yml b/.github/workflows/check-legacy-docs-frozen.yml deleted file mode 100644 index 70df96ff88d46..0000000000000 --- a/.github/workflows/check-legacy-docs-frozen.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Check Legacy Docs Frozen - -on: - pull_request: - types: [opened, synchronize, reopened] - -jobs: - check-legacy-docs: - runs-on: ubuntu-latest - steps: - - name: Checkout PR - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Detect changes in legacy docs directories - run: | - set -e - BASE_SHA="${{ github.event.pull_request.base.sha }}" - HEAD_SHA="${{ github.event.pull_request.head.sha }}" - - # All changes in this PR (added / modified / deleted / renamed) - CHANGED=$(git diff --name-only "$BASE_SHA" "$HEAD_SHA") - - LEGACY=$(echo "$CHANGED" | grep -E '^(docs/|i18n/zh-CN/docusaurus-plugin-content-docs/current/)' || true) - NEXT=$(echo "$CHANGED" | grep -E '^(docs-next/|i18n/zh-CN/docusaurus-plugin-content-docs-next/current/)' || true) - - if [ -n "$LEGACY" ] && [ -z "$NEXT" ]; then - echo "::error::Legacy docs changed without corresponding next-version docs changes." - echo "" - echo "❌ The following legacy doc files were changed in this PR:" - echo "$LEGACY" | sed 's/^/ - /' - echo "" - echo "But no changes were detected in the next-version directories:" - echo " - docs-next/" - echo " - i18n/zh-CN/docusaurus-plugin-content-docs-next/current/" - echo "" - echo "If you modify legacy docs, you MUST also apply the equivalent changes" - echo "to the corresponding next-version directory:" - echo " English: docs/" - echo " -> docs-next/" - echo " 中文: i18n/zh-CN/docusaurus-plugin-content-docs/current/" - echo " -> i18n/zh-CN/docusaurus-plugin-content-docs-next/current/" - echo "" - echo "Note: a few top-level folders were renamed in the new structure, e.g." - echo " gettingStarted -> getting-started" - echo " ecosystem -> connection-integration (structure also changed; please review)" - exit 1 - fi - - if [ -n "$LEGACY" ]; then - echo "✅ Legacy docs changed, and next-version docs were also updated." - else - echo "✅ No changes in legacy docs directories." - fi diff --git a/.github/workflows/manual-i18n-translate-workflow.yaml b/.github/workflows/manual-i18n-translate-workflow.yaml index 697d7362e8a96..fcfedcf8b785b 100644 --- a/.github/workflows/manual-i18n-translate-workflow.yaml +++ b/.github/workflows/manual-i18n-translate-workflow.yaml @@ -6,7 +6,7 @@ on: source_dir: description: "Directory containing English docs to translate" required: true - default: "docs" + default: "docs-next" target_dir: description: "Target i18n root directory for Japanese docs" required: true diff --git a/crowdin.yml b/crowdin.yml deleted file mode 100644 index 79599fe04dd53..0000000000000 --- a/crowdin.yml +++ /dev/null @@ -1,3 +0,0 @@ -files: - - source: /docs/**/*.md - translation: i18n/ja diff --git a/docs/admin-manual/audit-plugin.md b/docs/admin-manual/audit-plugin.md deleted file mode 100644 index 60bcb169559d3..0000000000000 --- a/docs/admin-manual/audit-plugin.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -{ - "title": "Audit Log", - "language": "en", - "description": "Doris provides auditing capabilities for database operations, allowing the recording of user logins, queries," -} ---- - -Doris provides auditing capabilities for database operations, allowing the recording of user logins, queries, and modification operations on the database. In Doris, audit logs can be queried directly through built-in system tables or by viewing Doris's audit log files. - -## Enabling Audit Logs - -The audit log plugin can be enabled or disabled at any time using the global variable `enable_audit_plugin` (disabled by default), for example: - -`set global enable_audit_plugin = true;` - -Once enabled, Doris will write the audit logs to the `audit_log` table. - -You can disable the audit log plugin at any time: - -`set global enable_audit_plugin = false;` - -After disabling, Doris will stop writing to the `audit_log` table. The already written audit logs will remain unchanged. - -## Viewing the Audit Log Table - -:::caution Note - -Before version 2.1.8, as the system version was upgraded, the audit log table fields may have increased. After upgrading, you need to add fields to the `audit_log` table using the `ALTER TABLE` command based on the fields in the audit log table. - -::: - -Starting from Doris version 2.1, Doris can write user behavior operations to the [`audit_log`](../admin-manual/system-tables/internal_schema/audit_log) table in the `__internal_schema` database by enabling the audit log feature. - -The audit log table is a dynamically partitioned table, partitioned daily by default, retaining the most recent 30 days of data. You can adjust the retention period of dynamic partitions by modifying the `dynamic_partition.start` property using the `ALTER TABLE` statement. - -## Audit Log Files - -In `fe.conf`, `LOG_DIR` defines the storage path for FE logs. All database operations executed by this FE node are recorded in `${LOG_DIR}/fe.audit.log`. To view all operations in the cluster, you need to traverse the audit logs of each FE node. - -## Audit Log Format - -In versions before 3.0.7, the symbols `\n`, `\t`, and `\r` in statements would be replaced with `\\n`, `\\t`, and `\\r`. These modified statements were then stored in the `fe.audit.log` file and the `audit_log` table. - -Starting from version 3.0.7, for the `fe.audit.log` file, only `\n` in statements will be replaced with `\\n`. The `audit_log` table, stores the original format of statements. - -## Audit Log Configuration - -**Global Variables:** - -Audit log variables can be modified using `set [global] = `. - -| Variable | Default Value | Description | -| -------------------------------------- | ------------- | ----------------------------------------------- | -| `audit_plugin_max_batch_interval_sec` | 60 seconds | Maximum write interval for the audit log table. | -| `audit_plugin_max_batch_bytes` | 50MB | Maximum data volume per batch for the audit log table. | -| `audit_plugin_max_sql_length` | 4096 | Maximum length of SQL statements recorded in the audit log table. | -| `audit_plugin_load_timeout` | 600 seconds | Default timeout for audit log import jobs. | -| `audit_plugin_max_insert_stmt_length` | Int.MAX | The maximum length limit for `INSERT` statements. If larger than `audit_plugin_max_sql_length`, the value of `audit_plugin_max_sql_length` is used. This parameter is supported since 3.0.6. | - -Because some `INSERT INTO VALUES` statements may be too long and submitted frequently, causing the audit log too large. Therefore, Doris added `audit_plugin_max_insert_stmt_length` in version 3.0.6 to limit the audit length of `INSERT` statements separately. This avoids the expansion of the audit log and ensures that the SQL statements are fully audited. - -**FE Configuration Items:** - -FE configuration items can be modified by editing the `fe.conf` directory. - -| Configuration Item | Description | -| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `skip_audit_user_list` | If you do not want operations of certain users to be recorded in the audit logs, you can modify this configuration (supported since version 3.0.01). For example, use the config to exclude `user1` and `user2` from audit log recording: `skip_audit_user_list=user1,user2`| - diff --git a/docs/admin-manual/auth/authentication-and-authorization.md b/docs/admin-manual/auth/authentication-and-authorization.md deleted file mode 100644 index 3302c38100d03..0000000000000 --- a/docs/admin-manual/auth/authentication-and-authorization.md +++ /dev/null @@ -1,392 +0,0 @@ ---- -{ - "title": "Authentication and Authorization", - "language": "en", - "description": "The Doris permission management system is modeled after the MySQL permission management mechanism." -} ---- - -The Doris permission management system is modeled after the MySQL permission management mechanism. It supports fine-grained permission control at the row and column level, role-based access control, and also supports a whitelist mechanism. - -## Glossary - -1. User Identity - - Within a permission system, a user is identified as a User Identity. A User Identity consists of two parts: `username` and `host`. The `username` is the user's name, consisting of English letters (both uppercase and lowercase). `host` represents the IP from which the user connection originates. User Identity is represented as `username@'host'`, indicating `username` from `host`. - - Another representation of User Identity is `username@['domain']`, where `domain` refers to a domain name that can be resolved into a set of IPs through DNS. Eventually, this is represented as a set of `username@'host'`, hence moving forward, we uniformly use `username@'host'` to denote it. - -2. Privilege - - Privileges apply to nodes, data directories, databases, or tables. Different privileges represent different operation permissions. - -3. Role - - Doris allows the creation of custom-named roles. A role can be viewed as a collection of privileges. Newly created users can be assigned a role, automatically inheriting the privileges of that role. Subsequent changes to the role's privileges will also reflect on the permissions of all users associated with that role. - -4. User Property - - User properties are directly affiliated with a user, not the User Identity. Meaning, both `user@'192.%'` and `user@['domain']` share the same set of user properties, which belong to the user `user`, not to `user@'192.%'` or `user@['domain']`. - - User properties include but are not limited to: maximum number of user connections, import cluster configurations, etc. - -## Authentication and Authorization Framework - -The process of a user logging into Apache Doris is divided into two parts: **Authentication** and **Authorization**. - -- Authentication: Identity verification is conducted based on the credentials provided by the user (such as username, client IP, password). Once verified, the individual user is mapped to a system-defined User Identity. -- Authorization: Based on the acquired User Identity, it checks whether the user has the necessary permissions for the intended operations, according to the privileges associated with that User Identity. - -## Authentication - -Doris supports built-in authentication schemes as well as LDAP authentication. - -### Doris Built-in Authentication Scheme - -Authentication is based on usernames, passwords, and other information stored within Doris itself. - -Administrators create users with the `CREATE USER` command and view all created users with the `SHOW ALL GRANTS` command. - -When a user logs in, the system verifies whether the username, password, and client IP address are correct. - -#### Password Policy - -Doris supports the following password policies to assist users in better password management. - -1. `PASSWORD_HISTORY` - - Determines whether a user can reuse a historical password when resetting their current password. For example, `PASSWORD_HISTORY 10` means the last 10 passwords cannot be reused as a new password. Setting `PASSWORD_HISTORY DEFAULT` will use the value from the global variable `PASSWORD_HISTORY`. A setting of 0 disables this feature. The default is 0. - - Examples: - - - Set a global variable: `SET GLOBAL password_history = 10` - - Set for a user: `ALTER USER user1@'ip' PASSWORD_HISTORY 10` - -2. `PASSWORD_EXPIRE` - - Sets the expiration time for the current user's password. For instance, `PASSWORD_EXPIRE INTERVAL 10 DAY` means the password will expire after 10 days. `PASSWORD_EXPIRE NEVER` indicates the password never expires. Setting `PASSWORD_EXPIRE DEFAULT` will use the value from the global variable `default_password_lifetime` (in days). The default is NEVER (or 0), indicating it does not expire. - - Examples: - - - Set a global variable: `SET GLOBAL default_password_lifetime = 1` - - Set for a user: `ALTER USER user1@'ip' PASSWORD_EXPIRE INTERVAL 10 DAY` - -3. `FAILED_LOGIN_ATTEMPTS` and `PASSWORD_LOCK_TIME` - - Configures the number of incorrect password attempts after which the user account will be locked and sets the lock duration. For example, `FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1 DAY` means if there are 3 incorrect logins, the account will be locked for one day. Administrators can unlock the account using the `ALTER USER` statement. - - Example: - - - Set for a user: `ALTER USER user1@'ip' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1 DAY` - -4. Password Strength - - This is controlled by the global variable `validate_password_policy`. The default is `NONE/0`, which means no password strength checking. If set to `STRONG/2`, the password must include at least three of the following: uppercase letters, lowercase letters, numbers, and special characters, and must be at least 8 characters long. - - Example: - - - `SET validate_password_policy=STRONG` - - Since Doris 4.0.4, the password strength validation policy has been enhanced as follows: - - 1. When `validate_password_policy` is set to `STRONG/2`, the password must **contain all 4 character types** (uppercase letters, lowercase letters, numbers, and special characters), instead of the previous "3 out of 4" requirement. - - 2. Added **dictionary word check**: passwords cannot contain common weak words (such as password, admin, test, root, etc.). The system includes a built-in dictionary of common weak words, and passwords containing these words will be rejected. - - 3. Support for **custom dictionary files**: you can specify a custom dictionary filename via the global variable `validate_password_dictionary_file`. The dictionary file should be placed in the `${DORIS_HOME}/plugins/security/` directory. The file format is one word per line; empty lines and lines starting with `#` are ignored. - - Example: - - `SET GLOBAL validate_password_dictionary_file = 'my_dictionary.txt'` - -For more help, please refer to [ALTER USER](../../sql-manual/sql-statements/account-management/ALTER-USER.md). - -### LDAP-based Authentication Scheme - -Please refer to [LDAP-based Authentication Scheme](./ldap.md). - -## Authorization - -### Permission Operations - -- Create user: [CREATE USER](../../sql-manual/sql-statements/account-management/CREATE-USER) -- Modify user: [ALTER USER](../../sql-manual/sql-statements/account-management/ALTER-USER.md) -- Delete user: [DROP USER](../../sql-manual/sql-statements/account-management/DROP-USER.md) -- Grant/Assign role: [GRANT](../../sql-manual/sql-statements/account-management/GRANT-TO) -- Revoke/Withdraw role: [REVOKE](../../sql-manual/sql-statements/account-management/REVOKE-FROM.md) -- Create role: [CREATE ROLE](../../sql-manual/sql-statements/account-management/CREATE-ROLE.md) -- Delete role: [DROP ROLE](../../sql-manual/sql-statements/account-management/DROP-ROLE.md) -- Modify role: [ALTER ROLE](../../sql-manual/sql-statements/account-management/ALTER-ROLE.md) -- View current user's permissions and roles: [SHOW GRANTS](../../sql-manual/sql-statements/account-management/SHOW-GRANTS.md) -- View all users' permissions and roles: [SHOW ALL GRANTS](../../sql-manual/sql-statements/account-management/SHOW-GRANTS.md) -- View created roles: [SHOW ROLES](../../sql-manual/sql-statements/account-management/SHOW-ROLES.md) -- Set user property: [SET PROPERTY](../../sql-manual/sql-statements/account-management/SET-PROPERTY.md) -- View user property: [SHOW PROPERTY](../../sql-manual/sql-statements/account-management/SHOW-PROPERTY.md) -- Change password: [SET PASSWORD](../../sql-manual/sql-statements/account-management/SET-PASSWORD.md) -- View all supported privileges: [SHOW PRIVILEGES] -- View row policy: [SHOW ROW POLICY] -- Create row policy: [CREATE ROW POLICY] - -### Types of Permissions - -Doris currently supports the following permissions: - -1. `Node_priv` - - Node modification permission. Includes adding, deleting, and offlining FE, BE, BROKER nodes. - - Root users have this permission by default. Users who possess both `Grant_priv` and `Node_priv` can grant this permission to other users. - - This permission can only be granted at the Global level. - -2. `Grant_priv` - - Permission modification authority. Allows execution of operations including granting, revoking, adding/deleting/modifying users/roles. - - Before version 2.1.2, when granting permissions to other users/roles, the current user only needed the respective level's `Grant_priv` permission. After version 2.1.2, the current user also needs permission for the resource they wish to grant. - - When assigning roles to other users, Global level `Grant_priv` permission is required. - -3. `Select_priv` - - Read-only permission for data directories, databases, and tables. - -4. `Load_priv` - - Write permission for data directories, databases, and tables. Includes Load, Insert, Delete, etc. - -5. `Alter_priv` - - Alteration permissions for data directories, databases, and tables. Includes renaming libraries/tables, adding/deleting/modifying columns, adding/deleting partitions, etc. - -6. `Create_priv` - - Permission to create data directories, databases, tables, and views. - -7. `Drop_priv` - - Permission to delete data directories, databases, tables, and views. - -8. `Usage_priv` - - Usage permissions for Resources and Workload Groups. - -9. `Show_view_priv` - - Permission to execute `SHOW CREATE VIEW`. - -### Permission Levels - -#### Global Permissions - -Permissions granted through the GRANT statement with `*.*.*` scope. These permissions apply to any table within any catalog. - -#### Catalog Permissions - -Permissions granted through the GRANT statement with `ctl.*.*` scope. These permissions apply to any table within the specified catalog. - -#### Database Permissions - -Permissions granted through the GRANT statement with `ctl.db.*` scope. These permissions apply to any table within the specified database. - -#### Table Permissions - -Permissions granted through the GRANT statement with `ctl.db.tbl` scope. These permissions apply to any column within the specified table. - -#### Column Permissions - -Column permissions are primarily used to restrict user access to certain columns within a table. Specifically, column permissions allow administrators to set viewing, editing, and other rights for certain columns, controlling user access and manipulation of specific column data. - -Permissions for specific columns of a table can be granted with `GRANT Select_priv(col1,col2) ON ctl.db.tbl TO user1`. - -Currently, column permissions support only `Select_priv`. - -#### Row-Level Permissions - -Row Policies enable administrators to define access policies based on fields within the data, controlling which users can access which rows. - -Specifically, Row Policies allow administrators to create rules that can filter or restrict user access to rows based on actual values stored in the data. - -From version 1.2, row-level permissions can be created with the `CREATE ROW POLICY` command. - -From version 2.1.2, support for setting row-level permissions through Apache Ranger's `Row Level Filter` is available. - -#### Usage Permissions - -- Resource Permissions - - Resource permissions are set specifically for Resources, unrelated to permissions for databases or tables, and can only assign `Usage_priv` and `Grant_priv`. - - Permissions for all Resources can be granted with the `GRANT USAGE_PRIV ON RESOURCE '%' TO user1`. - -- Workload Group Permissions - - Workload Group permissions are set specifically for Workload Groups, unrelated to permissions for databases or tables, and can only assign `Usage_priv` and `Grant_priv`. - - Permissions for all Workload Groups can be granted with `GRANT USAGE_PRIV ON WORKLOAD GROUP '%' TO user1`. - -### Data Masking - -Data masking is a method to protect sensitive data by modifying, replacing, or hiding the original data, such that the masked data retains certain formats and characteristics while no longer containing sensitive information. - -For example, administrators may choose to replace part or all of the digits of sensitive fields like credit card numbers or ID numbers with asterisks `*` or other characters, or replace real names with pseudonyms. - -From version 2.1.2, support for setting data masking policies for certain columns through Apache Ranger's Data Masking is available, currently only configurable via [Apache Ranger](./ranger.md). - -### Doris Built-in Authorization Scheme - -Doris's permission design is based on the RBAC (Role-Based Access Control) model, where users are associated with roles, and roles are associated with permissions. Users are indirectly linked to permissions through their roles. - -When a role is deleted, users automatically lose all permissions associated with that role. - -When a user is disassociated from a role, they automatically lose all permissions of that role. - -When permissions are added to or removed from a role, the permissions of the users associated with that role change accordingly. - -``` -┌────────┐ ┌────────┐ ┌────────┐ -│ user1 ├────┬───► role1 ├────┬────► priv1 │ -└────────┘ │ └────────┘ │ └────────┘ - │ │ - │ │ - │ ┌────────┐ │ - │ │ role2 ├────┤ -┌────────┐ │ └────────┘ │ ┌────────┐ -│ user2 ├────┘ │ ┌─► priv2 │ -└────────┘ │ │ └────────┘ - ┌────────┐ │ │ - ┌──────► role3 ├────┘ │ - │ └────────┘ │ - │ │ - │ │ -┌────────┐ │ ┌────────┐ │ ┌────────┐ -│ userN ├─┴──────► roleN ├───────┴─► privN │ -└────────┘ └────────┘ └────────┘ -``` - -As shown above: - -User1 and user2 both have permission `priv1` through `role1`. - -UserN has permission `priv1` through `role3`, and permissions `priv2` and `privN` through `roleN`. Thus, userN has permissions `priv1`, `priv2`, and `privN` simultaneously. - -For ease of user operations, it is possible to directly grant permissions to a user. Internally, a unique default role is created for each user. When permissions are granted to a user, it is essentially granting permissions to the user's default role. - -The default role cannot be deleted, nor can it be assigned to someone else. When a user is deleted, their default role is automatically deleted as well. - -### Authorization Scheme Based on Apache Ranger - -Please refer to [Authorization Scheme Based on Apache Ranger](./ranger.md). - -## Common Questions - -### Explanation of Permissions - -1. Users with ADMIN privileges or GRANT privileges at the GLOBAL level can perform the following operations: - - - CREATE USER - - DROP USER - - ALTER USER - - SHOW GRANTS - - CREATE ROLE - - DROP ROLE - - ALTER ROLE - - SHOW ROLES - - SHOW PROPERTY FOR USER - -2. GRANT/REVOKE - - - Users with ADMIN privileges can grant or revoke permissions for any user. - - Users with ADMIN or GLOBAL level GRANT privileges can assign roles to users. - - Users who have the corresponding level of GRANT privilege and the permissions to be assigned can distribute those permissions to users/roles. - -3. SET PASSWORD - - - Users with ADMIN privileges or GLOBAL level GRANT privileges can set passwords for non-root users. - - Ordinary users can set the password for their corresponding User Identity. Their corresponding User Identity can be viewed with the `SELECT CURRENT_USER()` command. - - ROOT users can change their own password. - -### Additional Information - -1. When Doris is initialized, the following users and roles are automatically created: - - - operator role: This role has `Node_priv` and `Admin_priv`, i.e., all permissions in Doris. - - admin role: This role has `Admin_priv`, i.e., all permissions except for node changes. - - root@'%': root user, allowed to log in from any node, with the operator role. - - admin@'%': admin user, allowed to log in from any node, with the admin role. - -2. Deleting or altering the permissions of default created users, roles, or users is not supported. - - Deleting the users root@'%' and admin@'%' is not supported, but creating and deleting root@'xxx' and admin@'xxx' users (where xxx refers to any host except %) is allowed (Doris treats these users as regular users). - - Revoking the default roles of root@'%' and admin@'%' is not supported. - - Deleting the roles operator and admin is not supported. - - Modifying the permissions of the roles operator and admin is not supported. - -3. There is only one user with the operator role, which is Root. There can be multiple users with the admin role. - -4. Some potentially conflicting operations are explained as follows: - - 1. Domain and IP conflict: - - Suppose the following user is created: - - `CREATE USER user1@['domain'];` - - And granted: - - `GRANT SELECT_PRIV ON *.* TO user1@['domain']` - - This domain is resolved to two IPs: ip1 and ip2. - - Suppose later, we grant a separate permission to `user1@'ip1'`: - - `GRANT ALTER_PRIV ON . TO user1@'ip1';` - - Then `user1@'ip1'` will have permissions for both Select_priv and Alter_priv. And when we change the permissions for `user1@['domain']` again, `user1@'ip1'` will not follow the change. - - 2. Duplicate IP conflict: - - Suppose the following users are created: - - ``` - CREATE USER user1@'%' IDENTIFIED BY "12345"; - CREATE USER user1@'192.%' IDENTIFIED BY "abcde"; - ``` - - In terms of priority, `'192.%'` takes precedence over `'%'`, so when user `user1` from machine `192.168.1.1` tries to log into Doris using password `'12345'`, access will be denied. - -5. Forgotten Password - - If you forget the password and cannot log into Doris, you can add `skip_localhost_auth_check=true` to the FE's config file and restart the FE, thus logging into Doris as root without a password from the local machine. - - After logging in, you can reset the password using the `SET PASSWORD` command. - -6. No user can reset the root user's password except for the root user themselves. - -7. `Admin_priv` permissions can only be granted or revoked at the GLOBAL level. - -8. `current_user()` and `user()` - - Users can view their `current_user` and `user` by executing `SELECT current_user()` and `SELECT user()` respectively. Here, `current_user` indicates the identity the user authenticated with, while `user` is the actual User Identity at the moment. - - For example: - - Suppose `user1@'192.%'` is created, and then user `user1` logs in from `192.168.10.1`, then the `current_user` would be `user1@'192.%'`, and `user` would be `user1@'192.168.10.1'`. - - All permissions are granted to a specific `current_user`, and the real user has all the permissions of the corresponding `current_user`. - -## Best Practices - -Here are some examples of use cases for the Doris permission system. - -1. Scenario 1 - - Users of the Doris cluster are divided into administrators (Admin), development engineers (RD), and users (Client). Administrators have all permissions over the entire cluster, primarily responsible for cluster setup and node management. Development engineers are responsible for business modeling, including creating databases and tables, importing, and modifying data. Users access different databases and tables to retrieve data. - - In this scenario, administrators can be granted ADMIN or GRANT privileges. RDs can be granted CREATE, DROP, ALTER, LOAD, and SELECT permissions for any or specific databases and tables. Clients can be granted SELECT permissions for any or specific databases and tables. Additionally, different roles can be created to simplify the authorization process for multiple users. - -2. Scenario 2 - - A cluster may contain multiple businesses, each potentially using one or more datasets. Each business needs to manage its users. In this scenario, an administrative user can create a user with DATABASE-level GRANT privileges for each database. This user can only authorize users for the specified database. - -3. Blacklist - - Doris itself does not support a blacklist, only a whitelist, but we can simulate a blacklist through certain means. Suppose a user named `user@'192.%'` is created, allowing users from `192.*` to log in. If you want to prohibit a user from `192.168.10.1` from logging in, you can create another user `cmy@'192.168.10.1'` with a new password. Since `192.168.10.1` has higher priority than `192.%`, the user from `192.168.10.1` will no longer be able to log in with the old password. diff --git a/docs/admin-manual/auth/authentication/internal.md b/docs/admin-manual/auth/authentication/internal.md deleted file mode 100644 index 8d9d7544ad224..0000000000000 --- a/docs/admin-manual/auth/authentication/internal.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -{ - "title": "Built-in Authentication", - "language": "en", - "description": "In Doris, a useridentity uniquely identifies a user. useridentity consists of two parts: username and host, where username is the user name." -} ---- - -## Key Concepts -### Users - -In Doris, a user_identity uniquely identifies a user. user_identity consists of two parts: user_name and host, where username is the user name. host identifies the host address where the user client connection is located. The host part can use % for fuzzy matching. If host is not specified, it defaults to '%', which means the user can connect to Doris from any host. - -#### User Attributes - -User attributes are directly attached to user_name, not user_identity. This means user@'192.%' and user@['domain'] both have the same set of user attributes. These attributes belong to user, not to user@'192.%' or user@['domain']. - -User attributes include but are not limited to: maximum user connections, import cluster configuration, etc. - -#### Built-in Users - -Built-in users are users created by default in Doris and have certain default permissions, including root and admin. The initial passwords are empty. After FE starts, you can modify them using the password change command. Built-in users cannot be deleted. - -- root@'%': root user, allowed to log in from any node, with operator role. -- admin@'%': admin user, allowed to log in from any node, with admin role. - -### Password - -User login credentials, set by administrators when creating users, or can be changed by users themselves after creation. - -#### Password Policies - -Doris supports the following password policies to help users better manage passwords. - -- `PASSWORD_HISTORY` - - Whether to allow the current user to use historical passwords when resetting passwords. For example, `PASSWORD_HISTORY` 10 means prohibiting the use of the last 10 passwords as new passwords. If set to `PASSWORD_HISTORY DEFAULT`, it will use the value in the global variable `password_history`. 0 means this feature is disabled. Default is 0. - - Examples: - - - Set global variable: `SET GLOBAL password_history = 10` - - Set for user: `ALTER USER user1@'ip' PASSWORD_HISTORY 10` - -- `PASSWORD_EXPIRE` - - Set the expiration time for the current user's password. For example, `PASSWORD_EXPIRE INTERVAL 10 DAY` means the password will expire in 10 days. `PASSWORD_EXPIRE NEVER` means the password never expires. If set to `PASSWORD_EXPIRE DEFAULT`, it will use the value in the global variable `default_password_lifetime` (in days). Default is NEVER (or 0), meaning it will not expire. - - Examples: - - - Set global variable: `SET GLOBAL default_password_lifetime = 1` - - Set for user: `ALTER USER user1@'ip' PASSWORD_EXPIRE INTERVAL 10 DAY` - -- `FAILED_LOGIN_ATTEMPTS` and `PASSWORD_LOCK_TIME` - - Set that when the current user logs in with wrong password n times, the account will be locked and set a lock time. For example, `FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1 DAY` means if there are 3 wrong logins, the account will be locked for one day. Administrators can actively unlock locked accounts through ALTER USER statements. - - Examples: - - - Set for user: `ALTER USER user1@'ip' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1 DAY` - -- Password Strength - - This feature is controlled by the global variable `validate_password_policy`. Default is NONE/0, meaning password strength is not checked. If set to STRONG/2, the password must contain 3 of the following: "uppercase letters", "lowercase letters", "numbers", and "special characters", and the length must be greater than or equal to 8. - - Examples: - - - `SET validate_password_policy=STRONG` - -After setting the above policies, you can view them with the following command: - -```sql -SHOW PROC "/auth/''@''"; -``` - -Note that you need to wrap the user and host parts with single quotes separately. For example: - -``` -SHOW PROC "/auth/'root'@'%'"; -SHOW PROC "/auth/'user1'@'127.0.0.1'"; -``` - -## Authentication Mechanism - -1. Client authentication information sending: The client packages and sends user information (such as username, password, database, etc.) to the Doris server. This information is used to prove the client's identity and request access to the database. - -2. Server authentication: After Doris receives the client's authentication information, it performs verification. If the username, password, and client IP are correct, and the user has permission to access the selected database, authentication succeeds, and Doris will map the user individual to the User Identity in the system. Otherwise, authentication fails and returns the corresponding error message to the client. - -## Blacklist and Whitelist - -Doris itself does not support blacklists, only whitelist functionality, but we can simulate blacklists in certain ways. Suppose we first created a user named `user@'192.%'`, indicating that users from `192.*` are allowed to log in. If we want to prohibit users from `192.168.10.1` from logging in, we can create another user `cmy@'192.168.10.1'` and set a new password. Because `192.168.10.1` has higher priority than `192.%`, users from `192.168.10.1` will no longer be able to log in using the old password. - -## Related Commands - -- Create user: [CREATE USER](../../../sql-manual/sql-statements/account-management/CREATE-USER) -- View users: [SHOW ALL GRANTS](../../../sql-manual/sql-statements/account-management/SHOW-GRANTS) -- Modify user: [ALTER USER](../../../sql-manual/sql-statements/account-management/ALTER-USER) -- Change password: [SET PASSWORD](../../../sql-manual/sql-statements/account-management/SET-PASSWORD) -- Delete user: [DROP USER](../../../sql-manual/sql-statements/account-management/DROP-USER) -- Set user attributes: [SET PROPERTY](../../../sql-manual/sql-statements/account-management/SET-PROPERTY) -- View user attributes: [SHOW PROPERTY](../../../sql-manual/sql-statements/account-management/SHOW-PROPERTY) - -## Other Notes - -1. Priority selection of user_identity during login - - As mentioned above, `user_identity` consists of `user_name` and `host`, but when users log in, they only need to input `user_name`, so Doris matches the corresponding `host` based on the client's IP to determine which `user_identity` to use for login. - - If only one `user_identity` can be matched based on the client IP, then this `user_identity` will undoubtedly be matched. However, when multiple `user_identity` can be matched, there will be the following priority issues. - - 1. Priority between domain and IP: - - Suppose the following users were created: - - ```sql - CREATE USER user1@['domain1'] IDENTIFIED BY "12345"; - CREATE USER user1@'ip1'IDENTIFIED BY "abcde"; - ``` - - domain1 is resolved to two IPs: ip1 and ip2. - - In terms of priority, IP takes precedence over domain, so when user user1 tries to log in to Doris from ip1 using password '12345', it will be rejected. - - 2. Priority between specific IP and IP range: - - Suppose the following users were created: - - ```sql - CREATE USER user1@'%' IDENTIFIED BY "12345"; - CREATE USER user1@'192.%' IDENTIFIED BY "abcde"; - ``` - - In terms of priority, '192.%' takes precedence over '%', so when user user1 tries to log in to Doris from 192.168.1.1 using password '12345', it will be rejected. - -2. Forgot password - - If you forget your password and cannot log in to Doris, you can add the skip_localhost_auth_check=true parameter in the FE config file and restart FE, so you can log in to Doris as root on the FE local machine without a password. - - After logging in, you can reset the password using the SET PASSWORD command. - -3. No user can reset the root user's password except the root user itself. - -4. `current_user()` and `user()` - - Users can view `current_user` and `user` through `SELECT current_user()` and `SELECT user()` respectively. `current_user` represents the identity through which the current user passed the authentication system, while `user` is the user's actual User Identity. - - Example: - - Suppose we created the user `user1@'192.%'`, then user `user1` from `192.168.10.1` logged into the system. In this case, `current_user` would be `user1@'192.%'`, while `user` would be `user1@'192.168.10.1'`. - - All permissions are granted to a specific `current_user`, and the actual user has all the permissions of the corresponding `current_user`. \ No newline at end of file diff --git a/docs/admin-manual/auth/authentication/ldap.md b/docs/admin-manual/auth/authentication/ldap.md deleted file mode 100644 index 00c5c38b23c66..0000000000000 --- a/docs/admin-manual/auth/authentication/ldap.md +++ /dev/null @@ -1,326 +0,0 @@ ---- -{ - "title": "LDAP", - "language": "en", - "description": "Detailed guide on Apache Doris federated authentication: unified identity verification and group authorization through LDAP/LDAPS integration, covering configuration steps, login methods, permission mapping rules, and common troubleshooting." -} ---- - -Doris supports integration with third-party LDAP services, providing two core functionalities: - -- **Authentication**: Use LDAP passwords instead of Doris passwords for identity verification. -- **Group Authorization**: Map LDAP `groups` to Doris `roles` for unified permission management. - -## LDAP Basic Concepts - -In LDAP, data is organized in a tree structure. Here's an example of a typical LDAP directory tree: - -```text -- dc=example,dc=com - - ou = ou1 - - cn = group1 - - cn = user1 - - ou = ou2 - - cn = group2 - - cn = user2 - - cn = user3 -``` - -### Terminology - -| Term | Full Name | Description | -| --- | --- | --- | -| `dc` | Domain Component | Organization's domain name, serving as the root node of the tree | -| `dn` | Distinguished Name | Unique name. For example, user1's `dn` is `cn=user1,ou=ou1,dc=example,dc=com`, user2's `dn` is `cn=user2,cn=group2,ou=ou2,dc=example,dc=com` | -| `rdn` | Relative Distinguished Name | Part of the `dn`. user1's four `rdns` are `cn=user1`, `ou=ou1`, `dc=example`, and `dc=com` | -| `ou` | Organization Unit | Sub-organization. `users` can be placed in `ou` or directly under the example.com domain | -| `cn` | Common Name | Name | -| `group` | - | Group, corresponding to Doris roles | -| `user` | - | User, equivalent to Doris users | -| `objectClass` | - | Data type. Used to distinguish whether a node is a `group` or `user`. `group` requires `cn` and `member` (list of `users`) attributes, `user` requires `cn`, `password`, `uid`, etc. | - -## Quick Start - -### Step 1: Configure Doris - -1. Set the authentication method in `fe/conf/fe.conf`: `authentication_type=ldap`. -2. Configure LDAP service connection information in `fe/conf/ldap.conf`: - - ``` - ldap_authentication_enabled = true - ldap_host = ladp-host - ldap_port = 389 - ldap_admin_name = uid=admin,o=emr - ldap_user_basedn = ou=people,o=emr - ldap_user_filter = (&(uid={login})) - ldap_group_basedn = ou=group,o=emr - ``` - - > To enable LDAPS (encrypted connection to the LDAP server), see the [LDAPS (Encrypted Connection)](#ldaps-encrypted-connection) section below. - -3. After starting `fe`, log in to Doris with `root` or `admin` account and set the LDAP admin password: - - ```sql - set ldap_admin_password = password(''); - ``` - -### Step 2: Client Connection - -LDAP authentication requires clients to send passwords in plaintext, so cleartext authentication plugins must be enabled. - -**MySQL Client** - -You can enable the cleartext authentication plugin using either method: - -- **Method 1**: Set environment variable (permanent) - - ```shell - echo "export LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1" >> ~/.bash_profile && source ~/.bash_profile - ``` - -- **Method 2**: Add parameter when logging in (one-time) - - ```shell - mysql -hDORIS_HOST -PDORIS_PORT -u user -p --enable-cleartext-plugin - ``` - -**JDBC Client** - -1. Doris SSL Not Enabled - - When Doris SSL is not enabled, you need to create a custom authentication plugin to bypass SSL restrictions when using JDBC connections: - - 1. Create a custom plugin class that extends `MysqlClearPasswordPlugin` and overrides the `requiresConfidentiality()` method: - - ```java - public class MysqlClearPasswordPluginWithoutSSL extends MysqlClearPasswordPlugin { - @Override - public boolean requiresConfidentiality() { - return false; - } - } - ``` - - 2. Configure the custom plugin in the JDBC connection URL (replace `xxx` with your actual package name): - - ```sql - jdbcUrl = "jdbc:mysql://localhost:9030/mydatabase?authenticationPlugins=xxx.xxx.xxx.MysqlClearPasswordPluginWithoutSSL&defaultAuthenticationPlugin=xxx.xxx.xxx.MysqlClearPasswordPluginWithoutSSL&disabledAuthenticationPlugins=com.mysql.jdbc.authentication.MysqlClearPasswordPlugin"; - ``` - - Description of the three required properties: - - | Property | Description | - | --- | --- | - | `authenticationPlugins` | Register the custom cleartext authentication plugin | - | `defaultAuthenticationPlugin` | Set the custom plugin as the default authentication plugin | - | `disabledAuthenticationPlugins` | Disable the original cleartext authentication plugin (which mandates SSL) | - - > You can refer to the examples in [this code repository](https://github.com/morningman/doris-debug-tools/tree/main/jdbc-test). Or execute `build-auth-plugin.sh` to directly generate the plugin JAR file, then place it in the client's specified location. - -2. Doris SSL Enabled - - When Doris SSL is enabled (`enable_ssl=true` added in `fe.conf`): - - ```sql - jdbcUrl = "jdbc:mysql://localhost:9030/mydatabase?useSSL=true&sslMode=REQUIRED - ``` - -## Authentication - -LDAP authentication means password verification through LDAP service to supplement Doris's native authentication mechanism. Password verification priority is as follows: - -1. Doris first uses LDAP to verify user passwords. -2. If the user doesn't exist in LDAP, it falls back to Doris local password verification. -3. If the LDAP password is correct but there's no corresponding account in Doris, a temporary user is created for login. - -### Login Behavior Overview - -After enabling LDAP, login behaviors under different user states are as follows: - -| LDAP User | Doris User | Password Used | Login Result | Login Identity | -| --------- | ---------- | ------------- | ------------ | -------------- | -| Exists | Exists | LDAP password | Success | Doris user | -| Exists | Exists | Doris password | Failed | - | -| Not exists | Exists | Doris password | Success | Doris user | -| Exists | Not exists | LDAP password | Success | LDAP temporary user | - -> **About Temporary Users:** -> -> - Temporary accounts are only valid for the current connection and are automatically destroyed when disconnected. -> - Doris doesn't create persistent user metadata for temporary users. -> - Temporary user permissions are determined by LDAP group authorization (see "Group Authorization" section below). -> - If temporary users have no corresponding group permissions, they default to `select_priv` on `information_schema`. - -### Login Examples - -The following examples assume LDAP authentication is enabled, configured with `ldap_user_filter = (&(uid={login}))`, and the client has set `LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1`. - -**Scenario 1: Account exists in both Doris and LDAP** - -- Doris account: `jack@'172.10.1.10'`, password: `123456` -- LDAP user attributes: `uid: jack`, password: `abcdef` - -Login with LDAP password, success: - -```sql -mysql -hDoris_HOST -PDoris_PORT -ujack -p abcdef -``` - -Login with Doris password, failed (after enabling LDAP, LDAP users must use LDAP passwords): - -```sql -mysql -hDoris_HOST -PDoris_PORT -ujack -p 123456 -``` - -**Scenario 2: User exists only in LDAP** - -- LDAP user attributes: `uid: jack`, password: `abcdef` - -Login with LDAP password, Doris automatically creates temporary user `jack@'%'` and logs in. Temporary user has basic permission `DatabasePrivs`: `Select_priv`, automatically destroyed after disconnection: - -```sql -mysql -hDoris_HOST -PDoris_PORT -ujack -p abcdef -``` - -**Scenario 3: Account exists only in Doris** - -- Doris account: `jack@'172.10.1.10'`, password: `123456` - -User doesn't exist in LDAP, falls back to Doris local authentication, login succeeds with Doris password: - -```sql -mysql -hDoris_HOST -PDoris_PORT -ujack -p 123456 -``` - -## Group Authorization - -LDAP group authorization maps LDAP `groups` to Doris `roles` to achieve centralized permission management. The core mechanism is: - -- If an LDAP user's `dn` appears in the `member` attribute of an LDAP group node, Doris considers the user belongs to that group. -- When users log in, Doris automatically grants them the `role` permissions corresponding to their LDAP groups. -- After users log out, Doris automatically revokes these `role` permissions. - -> **Prerequisite:** Before using LDAP group authorization, you need to create `roles` in Doris with the same names as LDAP `groups` and grant permissions to these `roles`. - -### Permission Merging Rules - -The final permissions of a logged-in user depend on their status in both LDAP and Doris: - -| LDAP User | Doris User | Final Permissions | -| --------- | ---------- | ----------------- | -| Exists | Exists | LDAP group permissions + Doris user permissions | -| Not exists | Exists | Doris user permissions | -| Exists | Not exists | LDAP group permissions | - -### Group Name Mapping Rules - -Doris extracts the first `Rdn` of the LDAP group `dn` as the group name and maps it to a `role` with the same name in Doris. - -For example, if user `dn` is `uid=jack,ou=aidp,dc=domain,dc=com`, and the group information is: - -```text -dn: cn=doris_rd,ou=group,dc=domain,dc=com -objectClass: groupOfNames -member: uid=jack,ou=aidp,dc=domain,dc=com -``` - -The first `Rdn` of this group `dn` is `cn=doris_rd`, so the group name is `doris_rd`, corresponding to the `role` `doris_rd` in Doris. - -### Group Authorization Example - -If user jack belongs to LDAP groups `doris_rd`, `doris_qa`, `doris_pm`, and Doris has `roles` with the same names: `doris_rd`, `doris_qa`, `doris_pm`. After jack logs in, in addition to the original permissions of their Doris account, they will also receive the permissions of these three `roles`. - -> **Note:** -> -> - Which `group` a `user` belongs to is independent of the LDAP tree's organizational structure. `user2` in the example above doesn't necessarily belong to `group2`. -> - To make `user2` belong to `group2`, you need to explicitly add `user2` to the `member` attribute of `group2`. - -## LDAPS (Encrypted Connection) - -:::info Supported since version 4.0.5 -::: - -By default, Doris communicates with the LDAP server over plain LDAP (unencrypted). Starting from version 4.0.5, Doris supports LDAPS (LDAP over SSL/TLS) to encrypt the connection between Doris FE and the LDAP server. - -### Enabling LDAPS - -To enable LDAPS, add the following configuration to `fe/conf/ldap.conf`: - -``` -ldap_use_ssl = true -``` - -When `ldap_use_ssl` is set to `true`, Doris uses the `ldaps://` protocol to connect to the LDAP server. You should also update the port to the standard LDAPS port (typically `636`): - -``` -ldap_host = ldap-host -ldap_port = 636 -ldap_use_ssl = true -``` - -### Configuring Certificate Trust - -When using LDAPS, the LDAP server's SSL certificate must be trusted by the Doris FE JVM. If your LDAP server uses a certificate signed by a well-known public CA, no additional configuration is needed. - -If using a custom or self-signed Certificate Authority (CA), you must import the CA certificate into a Java trustStore and configure the JVM to use it. Add the following parameters to `JAVA_OPTS` in `fe/conf/fe.conf`: - -``` -# Example for JDK 17 -JAVA_OPTS_FOR_JDK_17 = "-Djavax.net.ssl.trustStore=/path/to/your/cacerts -Djavax.net.ssl.trustStorePassword=changeit ..." -``` - -> **Steps to import a self-signed CA certificate:** -> -> 1. Obtain the CA certificate file (e.g., `ca.crt`). -> 2. Import it into a Java trustStore using `keytool`: -> -> ```shell -> keytool -importcert -alias ldap-ca -keystore /path/to/your/cacerts -file /path/to/ca.crt -storepass changeit -noprompt -> ``` -> -> 3. Configure the trustStore path in `JAVA_OPTS` as shown above. -> 4. Restart the Doris FE for the changes to take effect. - -## Cache Management - -To avoid frequent access to LDAP services, Doris caches LDAP information in memory. - -| Configuration | Description | Default Value | -| --- | --- | --- | -| `ldap_user_cache_timeout_s` | Cache time for LDAP user information (seconds) | 43200 (12 hours) | - -In the following scenarios, you may need to manually refresh the cache to make changes take effect immediately: - -- Modified user or group information in the LDAP service. -- Modified the `Role` permissions corresponding to LDAP user groups in Doris. - -You can refresh the cache with the `refresh ldap` statement. See [REFRESH-LDAP](../../../sql-manual/sql-statements/account-management/REFRESH-LDAP) for details. - -## Known Limitations - -- Doris's LDAP functionality only supports cleartext password verification for the client-to-FE segment, meaning that when users log in, passwords are transmitted in plaintext between `client` and `fe`. SSL/TLS encryption between the client and Doris FE must be configured separately (see [Client Connection](#step-2-client-connection)). -- For the FE-to-LDAP segment, the connection is unencrypted by default (`ldap_use_ssl = false`). To encrypt this segment, set `ldap_use_ssl = true` to use LDAPS (see [LDAPS (Encrypted Connection)](#ldaps-encrypted-connection)). - -## FAQ - -**Q: How to check which roles an LDAP user has in Doris?** - -After logging into Doris with an LDAP user, execute `show grants;` to view all roles of the current user. `ldapDefaultRole` is the default role that every LDAP user has. - -**Q: An LDAP user has fewer roles in Doris than expected, how to troubleshoot?** - -Check the following items step by step: - -1. Execute `show roles;` to confirm whether the expected roles exist in Doris. If not, create them with `CREATE ROLE role_name;`. -2. Check whether the expected `group` is located under the organizational structure corresponding to `ldap_group_basedn`. -3. Check whether the expected `group` contains the `member` attribute. -4. Check whether the `member` attribute of the expected `group` contains the current user's `dn`. - -**Q: LDAPS connection fails, how to troubleshoot?** - -Check the following items step by step: - -1. Confirm that `ldap_use_ssl = true` is set in `fe/conf/ldap.conf`. -2. Confirm that `ldap_port` is set to the correct LDAPS port (typically `636`). -3. Verify that the LDAP server's SSL certificate is trusted by the JVM. Check the `fe.log` for SSL handshake errors such as `SSLHandshakeException` or `PKIX path building failed`. -4. If using a self-signed CA, ensure the CA certificate has been imported into the trustStore and the trustStore path is correctly configured in `JAVA_OPTS`. diff --git a/docs/admin-manual/auth/authorization/data.md b/docs/admin-manual/auth/authorization/data.md deleted file mode 100644 index 6503a248a9dbe..0000000000000 --- a/docs/admin-manual/auth/authorization/data.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -{ - "title": "Data Access Control", - "language": "en", - "description": "With row-level policies in Doris, you can achieve fine-grained access control over sensitive data." -} ---- - -## Row Permissions - -With row-level policies in Doris, you can achieve fine-grained access control over sensitive data. You can decide which users or roles can access specific records in a table based on security policies defined at the table level. - -### Mechanism - -Equivalent to automatically adding the predicate set in the Row Policy for users configured with Row Policy when querying. - -### Limitations - -Row Policy cannot be set for default users root and admin. - -### Related Commands -- View Row Permission Policies [SHOW ROW POLICY](../../../sql-manual/sql-statements/data-governance/SHOW-ROW-POLICY) -- Create Row Permission Policy [CREATE ROW POLICY](../../../sql-manual/sql-statements/data-governance/CREATE-ROW-POLICY) - -### Row Permission Example -1. Restrict the test user to only query data in table1 where c1='a' - -```sql -CREATE ROW POLICY test_row_policy_1 ON test.table1 -AS RESTRICTIVE TO test USING (c1 = 'a'); -``` - -## Column Permissions -With column permissions in Doris, you can achieve fine-grained access control over tables. You can grant permissions to specific columns in a table to decide which users or roles can access specific columns in a table. - -Currently, column permissions only support Select_priv. - -### Related Commands -- Grant: [GRANT](../../../sql-manual/sql-statements/account-management/GRANT-TO) -- Revoke: [REVOKE](../../../sql-manual/sql-statements/account-management/REVOKE-FROM.md) - -### Column Permission Example - -1. Grant user1 the permission to query columns col1 and col2 in table tbl. - -```sql -GRANT Select_priv(col1,col2) ON ctl.db.tbl TO user1 -``` - -## Data Masking -Data masking is a method to protect sensitive data by modifying, replacing, or hiding the original data, making the masked data no longer contain sensitive information while maintaining certain formats and characteristics. - -For example, administrators can choose to replace part or all of the digits of sensitive fields such as credit card numbers or ID numbers with asterisks * or other characters, or replace real names with pseudonyms. - -Starting from version 2.1.2, data masking is supported through Apache Ranger's Data Masking to set masking policies for certain columns, currently only through [Apache Ranger](ranger.md). - -> Data Masking settings for admin/root users will not take effect. \ No newline at end of file diff --git a/docs/admin-manual/auth/authorization/internal.md b/docs/admin-manual/auth/authorization/internal.md deleted file mode 100644 index 44b8a147224e5..0000000000000 --- a/docs/admin-manual/auth/authorization/internal.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -{ - "title": "Built-in Authorization", - "language": "en", - "description": "Authorization refers to the mechanism by which user identities are restricted in accessing and operating Doris resources." -} ---- - -## Key Concepts - -Authorization refers to the mechanism by which user identities are restricted in accessing and operating Doris resources. - -Doris uses a Role-Based Access Control (RBAC) model for permission management. - -### Permissions - -Permissions apply to nodes, catalogs, databases, or tables. Different permissions represent different operation allowances. - -#### All Permissions - -| Permission | Object Type | Description | -|----------------| --------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Admin_priv | Global | Super admin permissions. | -| Node_priv | Global | Node change permissions. Includes adding, deleting, and decommissioning FE, BE, and BROKER nodes. | -| Grant_priv | Global, Catalog, Db, Table, Resource, Workload Group | Permission change permissions. Allows operations such as granting, revoking, adding/removing/changing users/roles.
When granting permissions to other users/roles, prior to version 2.1.2, the current user only needs the corresponding level of Grant_priv permission. After version 2.1.2, the current user also needs the permissions of the resources they want to grant.
To assign roles to other users, Global level Grant_priv permission is required. | -| Select_priv | Global, Catalog, Db, Table, Column | Select permission. Allows querying data. | -| Load_priv | Global, Catalog, Db, Table | Load permission. Includes Load, Insert, Delete, etc. | -| Alter_priv | Global, Catalog, Db, Table | Alter permission. Includes renaming databases/tables, adding/deleting/changing columns, adding/deleting partitions, etc. | -| Create_priv | Global, Catalog, Db, Table | Create permission. Allows creating catalogs, databases, tables, and views. | -| Drop_priv | Global, Catalog, Db, Table | Drop permission. Allows dropping catalogs, databases, tables, and views. | -| Usage_priv | Resource, Workload Group | Usage permission for Resources and Workload Groups. | -| Show_view_priv | Global, Catalog, Db, Table | Execute SHOW CREATE VIEW permission. | - -### Roles - -Doris allows creating custom-named roles. Roles can be seen as a collection of permissions. New users can be assigned a role, and they will automatically be granted the permissions of that role. Subsequent changes to the role's permissions will also affect the permissions of all users belonging to that role. - -#### Built-in Roles - -Built-in roles are default roles created by Doris, with default permissions, including operator and admin. - -- operator: Has Admin_priv and Node_priv -- admin: Has Admin_priv - -### Users - -In Doris, a `user_identity` uniquely identifies a user. `user_identity` consists of two parts: `user_name` and `host`, where `username` is the username. `host` identifies the host address from which the user connects. - -## Authorization Mechanism - -Doris's permission design is based on the RBAC (Role-Based Access Control) model, associating users with roles, roles with permissions, and users indirectly with permissions through roles. - -When a role is deleted, users automatically lose all permissions of that role. - -When a user and role are unassociated, the user automatically loses all permissions of that role. - -When a role's permissions are added or deleted, the user's permissions also change. - -``` -┌────────┐ ┌────────┐ ┌────────┐ -│ user1 ├────┬───► role1 ├────┬────► priv1 │ -└────────┘ │ └────────┘ │ └────────┘ - │ │ - │ │ - │ ┌────────┐ │ - │ │ role2 ├────┤ -┌────────┐ │ └────────┘ │ ┌────────┐ -│ user2 ├────┘ │ ┌─► priv2 │ -└────────┘ │ │ └────────┘ - ┌────────┐ │ │ - ┌──────► role3 ├────┘ │ - │ └────────┘ │ - │ │ - │ │ -┌────────┐ │ ┌────────┐ │ ┌────────┐ -│ userN ├─┴──────► roleN ├───────┴─► privN │ -└────────┘ └────────┘ └────────┘ -``` - -As shown above: - -user1 and user2 both have priv1 permission through role1. - -userN has priv1 permission through role3 and priv2 and privN permissions through roleN, so userN has priv1, priv2, and privN permissions. - -### Notes - -- For convenience, users can be directly granted permissions. Under the hood, a default role is created for each user, and granting permissions to the user is equivalent to granting permissions to the default role. -- Default roles cannot be deleted, cannot be assigned to other users, and are automatically deleted when the user is deleted. - -## Related Commands - -- Grant/assign role: [GRANT](../../../sql-manual/sql-statements/account-management/GRANT-TO) -- Revoke/revoke role: [REVOKE](../../../sql-manual/sql-statements/account-management/REVOKE-FROM.md) -- Create role: [CREATE ROLE](../../../sql-manual/sql-statements/account-management/CREATE-ROLE) -- Delete role: [DROP ROLE](../../../sql-manual/sql-statements/account-management/DROP-ROLE) -- Modify role: [ALTER ROLE](../../../sql-manual/sql-statements/account-management/ALTER-ROLE) -- View current user permissions and roles: [SHOW GRANTS](../../../sql-manual/sql-statements/account-management/SHOW-GRANTS) -- View all user permissions and roles: [SHOW ALL GRANTS](../../../sql-manual/sql-statements/account-management/SHOW-GRANTS) -- View created roles: [SHOW ROLES](../../../sql-manual/sql-statements/account-management/SHOW-ROLES) -- View supported permissions: [SHOW PRIVILEGES](../../../sql-manual/sql-statements/account-management/SHOW-PRIVILEGES) - -## Best Practices - -Here are some examples of using Doris's permission system. - -1. Scenario 1 - - Doris cluster users are divided into administrators (Admin), development engineers (RD), and users (Client). Administrators have all permissions for the entire cluster, mainly responsible for cluster setup, node management, etc. Development engineers are responsible for business modeling, including database and table creation, data import and modification, etc. Users access different databases and tables to retrieve data. - - In this scenario, administrators can be granted ADMIN or GRANT permissions. RD can be granted CREATE, DROP, ALTER, LOAD, and SELECT permissions for any or specified databases and tables. Client can be granted SELECT permission for any or specified databases and tables. At the same time, different roles can be created to simplify permission management for multiple users. - -2. Scenario 2 - - A cluster has multiple businesses, each business may use one or more datasets. Each business needs to manage its own users. In this scenario, the administrator can create a user with DATABASE-level GRANT permission for each database. This user can only grant permissions for the specified database. diff --git a/docs/admin-manual/auth/authorization/ranger.md b/docs/admin-manual/auth/authorization/ranger.md deleted file mode 100644 index 3336061944073..0000000000000 --- a/docs/admin-manual/auth/authorization/ranger.md +++ /dev/null @@ -1,354 +0,0 @@ ---- -{ - "title": "Ranger Authorization", - "language": "en", - "description": "Apache Ranger is a security framework used for monitoring, enabling services," -} ---- - -Apache Ranger is a security framework used for monitoring, enabling services, and comprehensive data security access management on the Hadoop platform. After using Ranger, permissions configured on the Ranger side replace the execution of Grant statements in Doris for authorization. For Ranger installation and configuration, see below: Installing and Configuring Doris Ranger Plugin. - -## Ranger Example - -### Change Doris Configuration -1. In the `fe/conf/fe.conf` file, configure the authorization method as `ranger access_controller_type=ranger-doris`. -2. Create a `ranger-doris-security.xml` file in the conf directory of all FEs with the following content: - - ``` - - - - - ranger.plugin.doris.policy.cache.dir - /path/to/ranger/cache/ - - - ranger.plugin.doris.policy.pollIntervalMs - 30000 - - - ranger.plugin.doris.policy.rest.client.connection.timeoutMs - 60000 - - - ranger.plugin.doris.policy.rest.client.read.timeoutMs - 60000 - - - ranger.plugin.doris.policy.rest.url - http://172.21.0.32:6080 - - - ranger.plugin.doris.policy.source.impl - org.apache.ranger.admin.client.RangerAdminRESTClient - - - ranger.plugin.doris.service.name - doris - - - ``` - - Among which, the `ranger.plugin.doris.policy.cache.dir` and `ranger.plugin.doris.policy.rest.url` need to be modified to their actual values. -3. Start the cluster. - -### Configuration when Ranger Server Enables Kerberos - -When the Ranger Admin service itself has Kerberos authentication enabled, the Doris Ranger Client needs to authenticate with the Ranger Admin using a Kerberos identity when fetching policies. Otherwise, policy fetching will fail, and authorization will not take effect. Two additional configuration steps are required. - -#### 1. Merge krb5.conf - -When the Doris Ranger Client performs Kerberos login, the underlying JVM `Krb5LoginModule` reads the KDC address from `/etc/krb5.conf` on **each FE/BE node**. If there are multiple Kerberos Realms in your environment (for example, the Realm of the HDFS cluster differs from the Realm of the Ranger Admin cluster), you must **merge** the KDC information for all Realms into a single `/etc/krb5.conf` file, and deploy this file across all FE and BE nodes. - -Example of a merged `krb5.conf`: - -```ini -[libdefaults] - default_realm = HADOOP.EXAMPLE.COM - dns_lookup_realm = true - dns_lookup_kdc = true - -[realms] - # Realm for HDFS / Hive clusters - HADOOP.EXAMPLE.COM = { - kdc = hadoop-kdc.example.com:88 - admin_server = hadoop-kdc.example.com - } - # Realm for the Ranger Admin cluster (merge it if different from the above) - RANGER.EXAMPLE.COM = { - kdc = ranger-kdc.example.com:88 - admin_server = ranger-kdc.example.com - } - -[domain_realm] - hadoop-kdc.example.com = HADOOP.EXAMPLE.COM - ranger-admin.example.com = RANGER.EXAMPLE.COM -``` - -:::caution Note -After modifying or adding `/etc/krb5.conf`, you need to restart all FEs and BEs for the configuration to take effect. -::: - -#### 2. Configure Kerberos UGI in ranger-hive-security.xml (or ranger-doris-security.xml) - -In the `fe/conf/` directory of the FE node, find (or create) `ranger-hive-security.xml` (when using Hive Ranger authorization) or `ranger-doris-security.xml` (when using Doris Ranger authorization). Append the following 4 properties inside ``: - -```xml - - - ranger.plugin.hive.ugi.initialize - true - - - - ranger.plugin.hive.ugi.login.type - keytab - - - - ranger.plugin.hive.ugi.keytab.principal - hive/hostname@RANGER.EXAMPLE.COM - - - - ranger.plugin.hive.ugi.keytab.file - /etc/security/keytabs/hive.keytab - -``` - -:::tip -- `ranger.plugin.hive.ugi.keytab.principal`: The actual principal that exists in the keytab file, such as `hive/your-host@YOUR-REALM.COM`. You can verify this using `klist -kt /path/to/hive.keytab`. -- `ranger.plugin.hive.ugi.keytab.file`: The absolute path to the keytab file. Ensure the user running the Doris FE process has read access to this file (recommended: `chmod 400`). -- If you are using **Doris Ranger authorization** (`ranger-doris-security.xml`), replace `hive` with `doris` in the above properties, e.g. `ranger.plugin.doris.ugi.initialize`. -- **Restart FE** for these configurations to take effect. -::: - -:::warning Known Limitation: Global UGI Overwrite in Multi-Catalog Scenarios -Currently, the embedded Ranger Plugin in Doris uses Hadoop's `UserGroupInformation` (UGI) for Kerberos logins. Because JVM processes share a single global login user state, configuring **multiple Ranger Catalogs with Kerberos authentication enabled** (using different Principals) will cause UGI overwrites. - -**Specific behavior**: -1. Catalog A initializes and logs in using `keytab_A`, setting the global UGI to `Principal_A`. -2. Subsequently, Catalog B initializes and logs in using `keytab_B`, overwriting the global UGI to `Principal_B`. -3. When Catalog A's Ranger Plugin background threads fetch authorization policies from Ranger Admin, they will erroneously use `Principal_B`'s ticket, leading to authentication failure and policy fetch errors. - -**Recommendation**: -Within the same Doris cluster, for all Kerberos data sources utilizing Ranger, it is **strongly recommended to use the same Kerberos Principal and Keytab file** to prevent authentication failures caused by overwrites. -::: - -### Permission Example -1. Create `user1` in Doris. -2. In Doris, first use the `admin` user to create a Catalog: `hive`. -3. Create `user1` in Ranger. - -#### Global Permissions -Equivalent to the internal Doris authorization statement `grant select_priv on *.*.* to user1`; -- The global option can be found in the dropdown box at the same level as the catalog. -- Only `*` can be entered in the input box. - - ![Global Permissions](/images/ranger/global.png) - -#### Catalog Permissions -Equivalent to the internal Doris authorization statement `grant select_priv on hive.*.* to user1`; - -![Catalog Permissions](/images/ranger/catalog.png) - -#### Database Permissions -Equivalent to the internal Doris authorization statement `grant select_priv on hive.db1.* to user1`; - -![Database Permissions](/images/ranger/database.png) - -#### Table Permissions -> Here, the term "table" generally refers to tables, views, and asynchronous materialized views. - -Equivalent to the internal Doris authorization statement `grant select_priv on hive.db1.tbl1 to user1`; - -![Table Permissions](/images/ranger/table.png) - -#### Column Permissions -Equivalent to the internal Doris authorization statement `grant select_priv(col1,col2) on hive.db1.tbl1 to user1`; - -![Column Permissions](/images/ranger/column.png) - -#### Resource Permissions -Equivalent to the internal Doris authorization statement `grant usage_priv on resource 'resource1' to user1`; -- The resource option can be found in the dropdown box at the same level as the catalog. - -![Resource Permissions](/images/ranger/resource.png) - -#### Workload Group Permissions -Equivalent to the internal Doris authorization statement `grant usage_priv on workload group 'group1' to user1`; -- The workload group option can be found in the dropdown box at the same level as the catalog. - -![ Workload Group Permissions](/images/ranger/group1.png) - -#### Compute Group Permissions - -> Supported in version 3.0.6 - -Equivalent to the internal Doris authorization statement `grant usage_priv on compute group 'group1' to user1`; -- The compute group option can be found in the dropdown box at the same level as the catalog. - -![compute group](/images/ranger/compute-group.png) - -#### Storage Vault Permissions - -> Supported in version 3.0.6 - -Equivalent to the internal Doris authorization statement `grant usage_priv on storage vault 'vault1' to user1`; -- The storage vault option can be found in the dropdown box at the same level as the catalog. - -![storage vault](/images/ranger/storage-vault.png) - - -### Row-Level Permissions Example - -> Supported in version 2.1.3 - -1. Refer to the permission example to grant `user1` the select permission on the `internal.db1.user` table. -2. In Ranger, add a Row Level Filter policy - - ![Row Policy Example](/images/ranger/ranger-row-policy.jpeg) - -3. Log in to Doris with `user1`. Execute `select * from internal.db1.user`, and only see the data that meets the condition `id > 3` and `age = 2`. - -### Data Masking Example - -> Supported in version 2.1.3 - -1. Refer to the permission example to grant `user1` the select permission on the `internal.db1.user` table. -2. In Ranger, add a Masking policy - - ![Data Mask Example](/images/ranger/ranger-data-mask.png) - -3. Log in to Doris with `user1`. Execute `select * from internal.db1.user`, and see the phone number is masked according to the specified rule. - -## Frequently Asked Questions -1. How to view the log when Ranger access fails? - - Create a `log4j.properties` file in the `conf` directory of all FEs, with the following content: - - ``` - log4j.rootLogger = warn,stdout,D - - log4j.appender.stdout = org.apache.log4j.ConsoleAppender - log4j.appender.stdout.Target = System.out - log4j.appender.stdout.layout = org.apache.log4j.PatternLayout - log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n - - log4j.appender.D = org.apache.log4j.DailyRollingFileAppender - log4j.appender.D.File = /path/to/fe/log/ranger.log - log4j.appender.D.Append = true - log4j.appender.D.Threshold = INFO - log4j.appender.D.layout = org.apache.log4j.PatternLayout - log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n - ``` - - Change `log4j.appender.D.File` to the actual path, which is used to store the Ranger plugin log. -2. A Row Level Filter policy has been configured, but the user encounters a permission denied error when querying. - - The Row Level Filter policy is solely used to restrict users from accessing specific records within a table's data; authorization for the user must still be granted through an ACCESS POLICY. -3. After creating the service, only the 'admin' user has permission by default` Root 'user does not have permission - - As shown in the image, when creating the service, add the configuration `default.policy.users`. If you need to configure multiple users with full permissions, separate them with `,`. - ![default policy](/images/ranger/default-policy.png) -4. After using Ranger for authentication, is internal authorization still effective? - - No, it cannot be used, and roles cannot be created/deleted. - -## Install and Configure Doris Ranger Plugin - -### Install Plugin - -1. Download the following files - - - [ranger-doris-plugin-3.0.0-SNAPSHOT.jar](https://selectdb-doris-1308700295.cos.ap-beijing.myqcloud.com/release/ranger/dev/ranger-doris-plugin-3.0.0-SNAPSHOT.jar) - - [mysql-connector-java-8.0.25.jar](https://selectdb-doris-1308700295.cos.ap-beijing.myqcloud.com/release/jdbc_driver/mysql-connector-java-8.0.25.jar) - -2. Place the downloaded files in the `ranger-plugins/doris` directory of the Ranger service, such as: - - ``` - /usr/local/service/ranger/ews/webapp/WEB-INF/classes/ranger-plugins/doris/ranger-doris-plugin-3.0.0-SNAPSHOT.jar - /usr/local/service/ranger/ews/webapp/WEB-INF/classes/ranger-plugins/doris/mysql-connector-java-8.0.25.jar - ``` - -3. Restart the Ranger service. - -4. Download [ranger-servicedef-doris.json](https://github.com/morningman/ranger/blob/doris-plugin/agents-common/src/main/resources/service-defs/ranger-servicedef-doris.json) - -5. Execute the following command to upload the definition file to the Ranger service: - - ``` - curl -u user:password -X POST \ - -H "Accept: application/json" \ - -H "Content-Type: application/json" \ - http://172.21.0.32:6080/service/plugins/definitions \ - -d@ranger-servicedef-doris.json - ``` - - Replace the username and password with the actual login credentials for the Ranger WebUI. - - The service address and port can be found in the `ranger-admin-site.xml` configuration file, in the `ranger.service.http.port` configuration item. - - If the execution is successful, a JSON-formatted service definition will be returned, such as: - - ``` - { - "id": 207, - "guid": "d3ff9e41-f9dd-4217-bb5f-3fa9996454b6", - "isEnabled": true, - "createdBy": "Admin", - "updatedBy": "Admin", - "createTime": 1705817398112, - "updateTime": 1705817398112, - "version": 1, - "name": "doris", - "displayName": "Apache Doris", - "implClass": "org.apache.ranger.services.doris.RangerServiceDoris", - "label": "Doris", - "description": "Apache Doris", - "options": { - "enableDenyAndExceptionsInPolicies": "true" - }, - ... - } - ``` - - If you want to recreate the service definition, you can use the following command to delete the service definition and then re-upload it: - - ``` - curl -v -u user:password -X DELETE \ - http://172.21.0.32:6080/service/plugins/definitions/207 - ``` - - Replace `207` with the actual ID returned when creating the service definition. - - Before deleting, you need to delete the Doris service created in the Ranger WebUI. - - You can also use the following command to list the current service definitions and get the ID: - - ``` - curl -v -u user:password -X GET \ - http://172.21.0.32:6080/service/plugins/definitions/ - ``` - -### Configure Plugin - -After installation, open the Ranger WebUI, and you can see the Apache Doris plugin in the Service Manager interface: - -![ranger](/images/ranger/ranger1.png) - -Click the `+` button next to the plugin to add a Doris service: - -![ranger2](/images/ranger/ranger2.png) - -The Config Properties section has the following parameters: - -- `Username`/`Password`: The username and password of the Doris cluster. It is recommended to use the Admin user. -- `jdbc.driver_class`: The JDBC driver used to connect to Doris. `com.mysql.cj.jdbc.Driver` -- `jdbc.url`: The JDBC URL connection string of the Doris cluster. `jdbc:mysql://172.21.0.101:9030?useSSL=false` -- Additional parameters: - - `resource.lookup.timeout.value.in.ms`: The timeout for getting metadata, recommended to set to `10000`, which is 10 seconds. - -You can click `Test Connection` to check if the connection is successful. - -After clicking `Add`, you can see the created service in the Service Manager interface of the Apache Doris plugin. Click the service to start configuring Ranger. diff --git a/docs/admin-manual/auth/certificate.md b/docs/admin-manual/auth/certificate.md deleted file mode 100644 index fd2eb1d6f9055..0000000000000 --- a/docs/admin-manual/auth/certificate.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -{ - "title": "MySQL Secure Transport", - "language": "en", - "description": "Apache Doris SSL/TLS encrypted connection configuration guide: supports MySQL client secure transport, provides one-way authentication and mTLS mutual authentication, includes certificate generation, configuration details, and best practices." -} ---- - -This document describes how to configure SSL/TLS encryption for communication between Doris and MySQL clients to protect data transmission security. - -## Overview - -Doris supports SSL-based encrypted connections and currently supports TLS1.2 and TLS1.3 protocols. By enabling SSL, you can ensure that data transmission between clients and Doris FE is encrypted, preventing data from being intercepted or tampered with during transmission. - -Doris provides two SSL authentication modes: - -| Authentication Mode | Description | Use Case | -|---------|------|---------| -| One-way Authentication (Default) | Verify server certificate only | General security requirement scenarios | -| Mutual Authentication (mTLS) | Verify both server and client certificates | High security requirement scenarios | - -## Quick Start - -Enable SSL encrypted connection in just two steps: - -**1. Enable SSL on FE** - -Modify the FE configuration file `conf/fe.conf`, add the following configuration and restart FE: - -```properties -enable_ssl = true -``` - -**2. Connect Using MySQL Client** - -```shell -mysql --ssl-mode=REQUIRED -uroot -P9030 -h127.0.0.1 -``` - -Doris has built-in default key certificate files, so SSL can be used without additional configuration. - -## Client Connection Methods - -When connecting to Doris through MySQL client, you can choose the following SSL modes: - -| SSL Mode | Description | Command Example | -|---------|------|---------| -| PREFERRED (Default) | Attempt SSL connection first, fall back to normal connection if failed | `mysql -uroot -P9030 -h127.0.0.1` | -| DISABLE | Disable SSL, use normal connection | `mysql --ssl-mode=DISABLE -uroot -P9030 -h127.0.0.1` | -| REQUIRED | Force SSL connection | `mysql --ssl-mode=REQUIRED -uroot -P9030 -h127.0.0.1` | - -:::note Note -The `--ssl-mode` parameter was introduced in MySQL 5.7.11. For MySQL clients lower than this version, please refer to [MySQL official documentation](https://dev.mysql.com/doc/connector-j/en/connector-j-connp-props-security.html). -::: - -## Configure Mutual Authentication (mTLS) - -If you need a higher security level, you can enable mTLS mutual authentication, which requires the client to provide a certificate for authentication as well. - -### Enable mTLS - -Modify the FE configuration file `conf/fe.conf`, add the following configuration and restart FE: - -```properties -enable_ssl = true -ssl_force_client_auth = true -``` - -### Client Connection - -When connecting with mTLS, the client needs to specify the CA certificate, client certificate, and private key: - -```shell -mysql --ssl-mode=VERIFY_CA -uroot -P9030 -h127.0.0.1 \ - --tls-version=TLSv1.2 \ - --ssl-ca=/path/to/your/ca.pem \ - --ssl-cert=/path/to/your/client-cert.pem \ - --ssl-key=/path/to/your/client-key.pem -``` - -Doris provides default client certificate files located in the `Doris/conf/mysql_ssl_default_certificate/client_certificate/` directory: - -| File Name | Description | -|-------|------| -| `ca.pem` | CA certificate | -| `client-cert.pem` | Client certificate | -| `client-key.pem` | Client private key | - -## Certificate Configuration Details - -To enable SSL functionality in Doris, you need to configure CA key certificates and Server-side key certificates. If mutual authentication is enabled, Client-side key certificates are also required. - -### Default Certificates - -Doris has built-in default certificate files that can be used directly: - -| Certificate Type | Default Path | Default Password | -|---------|---------|---------| -| CA Certificate | `Doris/fe/mysql_ssl_default_certificate/ca_certificate.p12` | `doris` | -| Server Certificate | `Doris/fe/mysql_ssl_default_certificate/server_certificate.p12` | `doris` | -| Client Certificate | `Doris/fe/mysql_ssl_default_certificate/client_certificate/` | - | - -### Custom Certificates - -If you need to use custom certificates, you can add the following configuration in the FE configuration file `conf/fe.conf`: - -**CA Certificate Configuration** - -```properties -mysql_ssl_default_ca_certificate = /path/to/your/ca_certificate.p12 -mysql_ssl_default_ca_certificate_password = your_password -``` - -**Server Certificate Configuration** - -```properties -mysql_ssl_default_server_certificate = /path/to/your/server_certificate.p12 -mysql_ssl_default_server_certificate_password = your_password -``` - -## Generate Custom Certificates - -If you need to use your own certificates, you can generate them using OpenSSL. For detailed steps, please refer to [MySQL Official Documentation: Creating SSL Certificates Using OpenSSL](https://dev.mysql.com/doc/refman/8.0/en/creating-ssl-files-using-openssl.html). - -### Step 1: Generate CA, Server, and Client Keys and Certificates - -```shell -# Generate CA certificate -openssl genrsa 2048 > ca-key.pem -openssl req -new -x509 -nodes -days 3600 \ - -key ca-key.pem -out ca.pem - -# Generate Server certificate and sign with the above CA -# server-cert.pem = public key, server-key.pem = private key -openssl req -newkey rsa:2048 -days 3600 \ - -nodes -keyout server-key.pem -out server-req.pem -openssl rsa -in server-key.pem -out server-key.pem -openssl x509 -req -in server-req.pem -days 3600 \ - -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem - -# Generate Client certificate and sign with the above CA -# client-cert.pem = public key, client-key.pem = private key -openssl req -newkey rsa:2048 -days 3600 \ - -nodes -keyout client-key.pem -out client-req.pem -openssl rsa -in client-key.pem -out client-key.pem -openssl x509 -req -in client-req.pem -days 3600 \ - -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem -``` - -### Step 2: Verify Certificates - -```shell -openssl verify -CAfile ca.pem server-cert.pem client-cert.pem -``` - -### Step 3: Package to PKCS#12 Format - -Merge the CA key and certificate, Server key and certificate separately into PKCS#12 (P12) format for use by Doris: - -```shell -# Package CA key and certificate -openssl pkcs12 -inkey ca-key.pem -in ca.pem -export -out ca_certificate.p12 - -# Package Server key and certificate -openssl pkcs12 -inkey server-key.pem -in server-cert.pem -export -out server_certificate.p12 -``` - -:::tip Tip -You can also specify other certificate formats by modifying the `conf/fe.conf` configuration file and adding the `ssl_trust_store_type` parameter. The default is PKCS12. -::: - -:::info More Information -For more information about generating self-signed certificates using OpenSSL, please refer to [IBM Official Documentation](https://www.ibm.com/docs/en/api-connect/2018.x?topic=overview-generating-self-signed-certificate-using-openssl). -::: diff --git a/docs/admin-manual/auth/encryption-function.md b/docs/admin-manual/auth/encryption-function.md deleted file mode 100644 index 3590ba47a13ff..0000000000000 --- a/docs/admin-manual/auth/encryption-function.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -{ - "title": "Encryption and Masking Function ", - "language": "en", - "description": "Doris provides the following built-in encryption and masking functions. For detailed usage, please refer to the SQL manual." -} ---- - -Doris provides the following built-in encryption and masking functions. For detailed usage, please refer to the SQL manual. - -- [AES_ENCRYPT](../../sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/aes-encrypt) -- [AES_DECRYPT](../../sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/aes-decrypt) -- [SM4_ENCRYPT](../../sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm4-encrypt) -- [SM4_DECRYPT](../../sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm4-decrypt) -- [MD5](../../sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/md5) -- [MD5SUM](../../sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/md5sum) -- [SM3](../../sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm3) -- [SM3SUM](../../sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sm3sum) -- [SHA](../../sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sha) -- [SHA2](../../sql-manual/sql-functions/scalar-functions/encrypt-digest-functions/sha2) -- [DIGITAL_MASKING](../../sql-manual/sql-functions/scalar-functions/string-functions/digital-masking) diff --git a/docs/admin-manual/auth/fe-certificate.md b/docs/admin-manual/auth/fe-certificate.md deleted file mode 100644 index 8f36f559c0f2b..0000000000000 --- a/docs/admin-manual/auth/fe-certificate.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -{ - "title": "FE SSL Certificate", - "language": "en", - "description": "Certificate Configuration" -} ---- - -# Certificate Configuration - -Certificate Configuration - -To enable SSL function on Doris FE interface, you need to configure key certificate as follows: - -1.Purchase or generate a self-signed SSL certificate. It is advised to use CA certificate in Production environment - -2.Copy the SSL certificate to specified path. The default path is `${DORIS_HOME}/conf/ssl/`, and user can also specify their own path - -3.Modify FE configuration file `conf/fe.conf`, and note that the following parameters are consistent with purchased or generated SSL certificate - Set `enable_https = true` to enable https function, default is `false` - Set certificate path `key_store_path`, default is `${DORIS_HOME}/conf/ssl/doris_ssl_certificate.keystore` - Set certificate password `key_store_password`, default is null - Set certificate type `key_store_type`, default is `JKS` - Set certificate alias `key_store_alias`, default is `doris_ssl_certificate` diff --git a/docs/admin-manual/auth/integrations/aws-authentication-and-authorization.md b/docs/admin-manual/auth/integrations/aws-authentication-and-authorization.md deleted file mode 100644 index d1429936046bc..0000000000000 --- a/docs/admin-manual/auth/integrations/aws-authentication-and-authorization.md +++ /dev/null @@ -1,597 +0,0 @@ ---- -{ - "title": "AWS authentication and authorization", - "language": "en", - "description": "Doris supports accessing AWS service resources through two authentication methods: ​​IAM User​​ and ​​Assumed Role​​." -} ---- - -Doris supports accessing AWS service resources through two authentication methods: ​​`IAM User`​​ and `​​Assumed Role`​​. This article explains how to configure security credentials for both methods and use Doris features to interact with AWS services. - -# Authentication Methods Overview - -## IAM User Authentication - -Doris enables access to external data sources by configuring `AWS IAM User` credentials(equal to `access_key` and `secret_key`), below are the detailed configuration steps(for more information, refer to the AWS doc [IAM users](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)): - -### Step1 Create an IAM User and configure policies - -1. Login to the `AWS Console` and create an `IAM User`​ - -![](/images/integrations/create_iam_user.png) - -2. Enter the IAM User name and attach policies directly​ - -![](/images/integrations/iam_user_attach_policy1.png) - -3. Define AWS resource policies in the policy editor​​, below are read/write policy templates for accessing an S3 bucket - -![](/images/integrations/iam_user_attach_policy2.png) - -S3 read policy template​,applies to Doris features requiring read/list access, e.g: S3 Load, TVF, External Catalog - -**Notes: ** - -1. **Replace `your-bucket` and `your-prefix` with actual values.** - -2. **Avoid adding extra `/` separators.** - -```json -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": [ - "s3:GetObject", - "s3:GetObjectVersion", - ], - "Resource": "arn:aws:s3:::/your-prefix/*" - }, - { - "Effect": "Allow", - "Action": [ - "s3:ListBucket", - "s3:GetBucketLocation" - ], - "Resource": "arn:aws:s3:::" - } - ] -} -``` - -S3 write policy template​​ (Applies to Doris features requiring read/write access, e.g: Export, Storage Vault, Repository) - -**Notes: ** - -1. **Replace `your-bucket` and `your-prefix` with actual values.** - -2. **Avoid adding extra `/` separators.** - -```json -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": [ - "s3:PutObject", - "s3:GetObject", - "s3:GetObjectVersion", - "s3:DeleteObject", - "s3:DeleteObjectVersion", - "s3:AbortMultipartUpload", - "s3:ListMultipartUploadParts" - ], - "Resource": "arn:aws:s3::://*" - }, - { - "Effect": "Allow", - "Action": [ - "s3:ListBucket", - "s3:GetBucketLocation", - "s3:GetBucketVersioning", - "s3:GetLifecycleConfiguration" - ], - "Resource": "arn:aws:s3:::" - } - ] -} -``` - -4. After successfully creating the IAM User, create access/secret key pair - -![](/images/integrations/iam_user_create_ak_sk.png) - -### Step2 Use doris features with access/secret key pair via SQL - -After completing all configurations in Step 1, you will obtain `access_key` and `secret_key`. Use these credentials to access doris features as shown in the following examples: - -#### S3 Load -```SQL - LOAD LABEL s3_load_2022_04_01 - ( - DATA INFILE("s3://your_bucket_name/s3load_example.csv") - INTO TABLE test_s3load - COLUMNS TERMINATED BY "," - FORMAT AS "CSV" - (user_id, name, age) - ) - WITH S3 - ( - "provider" = "S3", - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.access_key" = "", - "s3.secret_key" = "" - ) - PROPERTIES - ( - "timeout" = "3600" - ); -``` - -#### TVF -```SQL - SELECT * FROM S3 ( - 'uri' = 's3://your_bucket/path/to/tvf_test/test.parquet', - 'format' = 'parquet', - 's3.endpoint' = 's3.us-east-1.amazonaws.com', - 's3.region' = 'us-east-1', - "s3.access_key" = "", - "s3.secret_key"="" - ) -``` - -#### External Catalog -```SQL - CREATE CATALOG iceberg_catalog PROPERTIES ( - 'type' = 'iceberg', - 'iceberg.catalog.type' = 'hadoop', - 'warehouse' = 's3://your_bucket/dir/key', - 's3.endpoint' = 's3.us-east-1.amazonaws.com', - 's3.region' = 'us-east-1', - "s3.access_key" = "", - "s3.secret_key"="" - ); -``` - -#### Storage Vault -```SQL -CREATE STORAGE VAULT IF NOT EXISTS s3_demo_vault -PROPERTIES ( - "type" = "S3", - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.bucket" = "", - "s3.access_key" = "", - "s3.secret_key"="", - "s3.root.path" = "s3_demo_vault_prefix", - "provider" = "S3", - "use_path_style" = "false" -); -``` - -#### Export -```SQL -EXPORT TABLE s3_test TO "s3://your_bucket/a/b/c" -PROPERTIES ( - "column_separator"="\\x07", - "line_delimiter" = "\\x07" -) WITH S3 ( - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.access_key" = "", - "s3.secret_key"="", -) -``` - -#### Repository -```SQL -CREATE REPOSITORY `s3_repo` -WITH S3 -ON LOCATION "s3://your_bucket/s3_repo" -PROPERTIES -( - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.access_key" = "", - "s3.secret_key"="" -); -``` - -#### Resource -```SQL -CREATE RESOURCE "remote_s3" -PROPERTIES -( - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.bucket" = "", - "s3.access_key" = "", - "s3.secret_key"="" -); -``` - -You can specify different IAM User credentials (`access_key` and `secret_key`) across different business logic to implement access control for external data. - -## Assumed Role Authentication - -Assumed Role allows accessing external data sources by assuming an AWS IAM Role(for details, refer to AWS documentation [assume role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)), the following diagram illustrates the configuration workflow: - -![](/images/integrations/assumed_role_flow.png) - -Terminology: - -`Source Account`: The AWS account initiating the Assume Role action (where Doris FE/BE EC2 instances reside); - -`Target Account`: The AWS account owning the target S3 bucket; - -`ec2_role`: A role created in the source account, attached to EC2 instances running Doris FE/BE; - -`bucket_role`: A role created in the target account with permissions to access the target bucket; - -**Notes: ** - -1. **The source and target accounts can be the same AWS account;** -2. **Ensure All EC2 instances which Doris FE/BE deployed have been attached on `ec_role​`​, especially during scaling operations.** - -​​More detailed configuration steps are as follows:​ - -### Step1 Prerequisites - -1. Ensure the source account has created an `ec2_role` and attached it to all `EC2 instances` running Doris FE/BE; - -2. Ensure the target account has created a `bucket_role` and corresponding bucket; - -After attaching `ec2_role` to `EC2 instances`, you can find the `role_arn` as shown below: - -![](/images/integrations/ec2_instance.png) - -### Step2 Configure Permissions for Source Account IAM Role (EC2 Instance Role) - -1. Log in to the [AWS IAM Console](https://us-east-1.console.aws.amazon.com/iamv2/home#/home),navigate to ​​`Access management` > `Roles`; -2. Find the EC2 instance role and click its name; -3. On the role details page, go to the ​​`Permissions`​​ tab, click ​​`Add permissions`​​, then select `​​Create inline policy`​​; -4. In the ​​`Specify permissions​​ section`, switch to the `​​JSON`​​ tab, paste the following policy, and click ​​`Review policy`​​: - -![](/images/integrations/source_role_permission.png) - -```JSON -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": ["sts:AssumeRole"], - "Resource": "*" - } - ] -} -``` - -### Step3 Configure Trust Policy and Permissions for Target Account IAM Role - -1. Log in [AWS IAM Console](https://us-east-1.console.aws.amazon.com/iamv2/home#/home), navigate to ​​Access management > Roles​​, find the target role (bucket_role), and click its name; - -2. Go to the `​​Trust relationships`​​ tab, click `​​Edit trust policy`​​, and paste the following JSON (replace with your EC2 instance role ARN). Click ​​Update policy - -![](/images/integrations/target_role_trust_policy.png) - -**Note: The `ExternalId` in the `Condition` section is an optional string parameter used to distinguish scenarios where multiple source users need to assume the same role. If configured, include it in the corresponding Doris SQL statements. For a detailed explanation of ExternalId, refer to [aws doc](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)** - -```JSON -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "AWS": "" - }, - "Action": "sts:AssumeRole", - "Condition": { - "StringEquals": { - "sts:ExternalId": "1001" - } - } - } - ] -} -``` - -3. On the role details page, go to the ​​`Permissions`​​ tab, click `​​Add permissions`​​, then select `​​Create inline policy`​​. In the `​​JSON`​​ tab, paste one of the following policies based on your requirements; - -![](/images/integrations/target_role_permission2.png) - -S3 read policy template​,applies to Doris features requiring read/list access, e.g: S3 Load, TVF, External Catalog - -**Notes: ** - -1. **Replace `your-bucket` and `your-prefix` with actual values.** - -2. **Avoid adding extra `/` separators.** - -```json -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": [ - "s3:GetObject", - "s3:GetObjectVersion" - ], - "Resource": "arn:aws:s3::://*" - }, - { - "Effect": "Allow", - "Action": [ - "s3:ListBucket", - "s3:GetBucketLocation" - ], - "Resource": "arn:aws:s3:::", - } - ] -} -``` - -S3 write policy template​​ (Applies to Doris features requiring read/write access, e.g: Export, Storage Vault, Repository) - -**Notes: ** - -1. **Replace `your-bucket` and `your-prefix` with actual values.** - -2. **Avoid adding extra `/` separators.** - -```json -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": [ - "s3:PutObject", - "s3:GetObject", - "s3:GetObjectVersion", - "s3:DeleteObject", - "s3:DeleteObjectVersion", - "s3:AbortMultipartUpload", - "s3:ListMultipartUploadParts" - ], - "Resource": "arn:aws:s3::://*" - }, - { - "Effect": "Allow", - "Action": [ - "s3:ListBucket", - "s3:GetBucketLocation" - ], - "Resource": "arn:aws:s3:::" - } - ] -} -``` - -### Step4 Use doris features with Assumed Role via SQL, according to `role_arn` and `external_id` fields - -After completing the above configurations, obtain the target account's `role_arn` and `external_id` (if applicable). -Use these parameters in doris SQL statements as shown below: - -Common important key parameters:​​ -```sql -"s3.role_arn" = "", -"s3.external_id" = "" -- option parameter -``` - -#### S3 Load -```SQL - LOAD LABEL s3_load_2022_04_01 - ( - DATA INFILE("s3://your_bucket_name/s3load_example.csv") - INTO TABLE test_s3load - COLUMNS TERMINATED BY "," - FORMAT AS "CSV" - (user_id, name, age) - ) - WITH S3 - ( - "provider" = "S3", - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.role_arn" = "", - "s3.external_id" = "" -- option parameter - ) - PROPERTIES - ( - "timeout" = "3600" - ); -``` - -#### TVF -```SQL - SELECT * FROM S3 ( - "uri" = "s3://your_bucket/path/to/tvf_test/test.parquet", - "format" = "parquet", - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.role_arn" = "", - "s3.external_id" = "" -- option parameter - ) -``` - -#### External Catalog -```SQL - CREATE CATALOG iceberg_catalog PROPERTIES ( - "type" = "iceberg", - "iceberg.catalog.type" = "hadoop", - "warehouse" = "s3://your_bucket/dir/key", - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.role_arn" = "", - "s3.external_id" = "" -- option parameter - ); -``` - -#### Storage Vault -```SQL -CREATE STORAGE VAULT IF NOT EXISTS s3_demo_vault -PROPERTIES ( - "type" = "S3", - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.bucket" = "", - "s3.role_arn" = "", - "s3.external_id" = "", -- option parameter - "s3.root.path" = "s3_demo_vault_prefix", - "provider" = "S3", - "use_path_style" = "false" -); -``` - -#### Export -```SQL -EXPORT TABLE s3_test TO "s3://your_bucket/a/b/c" -PROPERTIES ( - "column_separator"="\\x07", - "line_delimiter" = "\\x07" -) WITH S3 ( - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.role_arn" = "", - "s3.external_id" = "" -) -``` - -#### Repository -```SQL -CREATE REPOSITORY `s3_repo` -WITH S3 -ON LOCATION "s3://your_bucket/s3_repo" -PROPERTIES -( - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.role_arn" = "", - "s3.external_id" = "" -); -``` - -#### Resource -```SQL -CREATE RESOURCE "remote_s3" -PROPERTIES -( - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.bucket" = "", - "s3.role_arn" = "", - "s3.external_id" = "" -); -``` - -### AWS EKS Cluster IAM Role Authentication and Authorization - -For applications (such as Apache Doris) running in an Amazon EKS cluster that need to be granted AWS Identity and Access Management (IAM) permissions, Amazon EKS provides the following two primary methods: - -**1.IAM Roles for Service Accounts (IRSA)​** - -**2. EKS Pod Identity​** - -Both methods require correct configuration of the IAM Role, corresponding trust policy, and IAM policy in the EKS cluster. For specific configuration methods, please refer to the AWS official documentation: - -[Granting AWS Identity and Access Management permissions to workloads on Amazon Elastic Kubernetes Service clusters](https://docs.aws.amazon.com/eks/latest/userguide/service-accounts.html#service-accounts-iam) - -Doris FE/BE supports automatically detecting and obtaining credentials via the `AWSCredentialsProviderChain` method. - -### Bucket Policy Authentication and Authorization - -For Doris machines deployed using IAM Roles, import, export, and TVF scenarios also support using Amazon S3 bucket policies to control access to objects in AWS S3 buckets. This allows restricting access to the object bucket only to users associated with the EC2 machine. The specific steps are as follows: - -1、Set the Bucket Policy for the target bucket. - -```json -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "AWS": [ - "arn:aws:iam::111122223333:root" - ] - }, - "Action": [ - "s3:PutObject", - "s3:GetObject", - "s3:GetObjectVersion", - "s3:DeleteObject", - "s3:DeleteObjectVersion", - "s3:AbortMultipartUpload", - "s3:ListMultipartUploadParts" - ], - "Resource": "arn:aws:s3::://*" - }, - { - "Effect": "Allow", - "Principal": { - "AWS": [ - "arn:aws:iam::111122223333:root" - ] - }, - "Action": [ - "s3:ListBucket", - "s3:GetBucketLocation" - ], - "Resource": "arn:aws:s3:::", - } - ] -} -``` - -Please replace `arn:aws:iam::111122223333:root` with the ARN of the account or Role bound to the EC2 machine. - -2、Use the corresponding SQL syntax for data access. Authentication credentials are automatically detected, no manual AK/SK or ARN configuration required. - -```sql - SELECT * FROM S3 ( - "uri" = "s3://your_bucket/path/to/tvf_test/test.parquet", - "format" = "parquet", - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1" - ) -``` - -Doris FE/BE supports automatically detecting and obtaining credentials via the `AWSCredentialsProviderChain` method. - -Reference documentation: [Bucket Policy](https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/example-bucket-policies.html) - -### Best Practices for Authentication Methods -| Authentication Method | Applicable Scenarios | Advantages | Disadvantages | -| :-------------------------------------------- | :----------------------------------------- | ----------------------- | -------- | -| AK/SK Authentication | Import/Export/StorageVault scenarios with privately deployed, security-controlled storage or non-AWS S3 object storage. | Simple configuration, supports object storage compatible with AWS S3. | Risk of secret key leakage; manual key rotation required. | -| IAM Role Authentication | Import/Export/StorageVault scenarios on AWS S3 public cloud with high-security requirements. | High security, automatic AWS credential rotation, centralized permission configuration. | Complex Bucket Policy/Trust configuration process. | -| Bucket Policy Authentication | Import/Export/StorageVault scenarios on AWS S3 public cloud with a small number of buckets | Moderate configuration complexity, adheres to the principle of least privilege, automatically detects AWS credentials. | Permission configuration is scattered across various bucket policies. | - -### FAQ - -#### 1. How to set AWS SDK DEBUG level logs for BE and Recycler? -Configure aws_log_level=5 in be.conf and doris_cloud.conf, then restart the processes to apply the changes. -* Type: int32 -* Description: Log level for AWS SDK - ``` - Off = 0, - Fatal = 1, - Error = 2, - Warn = 3, - Info = 4, - Debug = 5, - Trace = 6 - ``` -* Default value: 2 - -#### 2.After setting AWS SDK DEBUG level logs, the following error appears in be.log/recycler.log: -`OpenSSL SSL_connect: Connection reset by peer in connection to sts.me-south-1.amazonaws.com:443 ` - -Check whether the AWS VPC network configuration or firewall port settings have issues preventing access to the STS service in the corresponding AWS region (verify connectivity via telnet host:port). - diff --git a/docs/admin-manual/auth/integrations/aws-iam-role.md b/docs/admin-manual/auth/integrations/aws-iam-role.md deleted file mode 100644 index d1316cc6c0ad8..0000000000000 --- a/docs/admin-manual/auth/integrations/aws-iam-role.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -{ - "title": "How Apache Doris IAM Assume Role work", - "language": "en", - "description": "AWS Assume Role is a secure identity transfer mechanism that allows a trusted entity (such as an IAM user, EC2 instance," -} ---- - -# How Apache Doris IAM Assume Role work - -## 1. Issues with Traditional AK/SK Access to AWS Resources - -### Key Management Dilemma: -- **Long-Term Exposure Risk**:Static AK/SK must be hard-coded in configuration files. Once the key is spread due to code leaks, mis-submissions, or malicious theft, an attacker can permanently gain full permissions equivalent to the key owner, leading to ongoing data leaks, resource tampering, and financial losses; -- **Audit Blind Spot**:When multiple users/services share the same key set, cloud operation logs only record the key identity and cannot be associated with specific users, making it impossible to trace the true responsible individuals or business modules; -- **High Operational and Maintenance Cost**:Key rotation is a disaster; manual rotation of business module keys is required, which is prone to errors and triggering service interruptions; -- **Uncontrolled Permission Management**:Account-level, coarse-grained authorization fails to meet the requirements for least privilege management at the service/instance level. - -## 2. Introduction to the AWS IAM Assume Role Mechanism - -### What is AWS IAM Assume Role? -AWS Assume Role is a secure identity transfer mechanism that allows a trusted entity (such as an IAM user, EC2 instance, or external account) to temporarily obtain the permissions of a target role through STS (Security Token Service). The process is as follows: - -![](/images/integrations/aws_iam_role_flow_en.png) - -### Advantages of using AWS IAM Assume Role for access: -- Dynamic token mechanism (valid for 15 minutes to 12 hours) instead of permanent keys -- Cross-account security isolation through External IDs, auditable by AWS backend services -- Role-based principle of least privilege - -### AWS IAM Assume Role authentication process for accessing an S3 bucket: - -![](/images/integrations/iam_role_access_bucket.png) - -#### Phase 1: Source User Authentication -1. **Permission Policy Check** - - When a source user initiates an AssumeRole request, the source account's IAM policy engine first verifies: Is the user authorized to call the sts:AssumeRole action? - - Check basis: IAM Trust Relationships Policies bound to the target role (specifying which accounts/users are allowed to assume the role) - -2. **Trust Relationship Verification** - - Initiate a request to the target account through the STS service: - - Is the source user whitelisted in the target role's trust policy? - - Check basis: IAM Trust Relationships Policies bound to the target role (specifying which accounts/users are allowed to assume the role) - -#### Phase 2: Activating target role permissions -3. **Temporary Credential Generation** - If the trust relationship verification passes, STS generates three-factor temporary credentials - ```json - { - "AccessKeyId": "***", - "SecretAccessKey": "***", - "SessionToken": "***" // Valid for 15 minutes to 12 hours - } - ``` - -4. **Target Role Permission Verification** - - Before the target role uses the temporary credentials to access S3, the target account's IAM policy engine verifies: Is the role authorized to perform the requested S3 operation? (e.g., s3:GetObject, s3:PutObject, etc.) - - Check basis: IAM Permissions Policies attached to the target role (defining what the role can do) - -#### Phase 3: Executing Resource Operations -5. **Accessing the Bucket** - Only after all verifications are passed can the target role perform S3 API operations - -## 3、How Doris Uses the AWS IAM Assume Role Authentication Mechanism -1. Doris uses the AWS IAM Assume Role feature by binding the AWS EC2 instances deployed by the FE and BE processes to the source account. The main process is shown in the following figure: - -![](/images/integrations/doris_iam_role.png) - -2. After configuration is complete, the Doris FE/BE processes automatically obtain the EC2 instance profile and perform the Assume Role operation to access the bucket. During capacity expansion, the BE node will automatically detect whether the new EC2 instance is successfully bound to the IAM role to prevent mismatches; - -3. Doris's S3 Load, TVF, Export, Resource, Repository, Storage Vault, and other functions support the AWS Assume Role method in versions 3.0.6 and above. Connectivity checks will be performed when executing SQL-related functions: - ```sql - CREATE REPOSITORY `s3_repo` - WITH S3 ON LOCATION "s3://bucket/path/" - PROPERTIES ( - "s3.role_arn" = "arn:aws:iam::1234567890:role/doris-s3-role", - "s3.external_id" = "doris-external-id", - "timeout" = "3600" - ); - ``` -Where "s3.role_arn" corresponds to the IAM ID in AWS IAM Account2 In the ARN value for role2, "s3.external_id" corresponds to the externalId value configured in the Trust Relationships Policies (optional). For more detailed SQL statements, see: -[AWS authentication and authorization](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md#assumed-role-authentication). \ No newline at end of file diff --git a/docs/admin-manual/auth/security-overview.md b/docs/admin-manual/auth/security-overview.md deleted file mode 100644 index cb033471e4b3a..0000000000000 --- a/docs/admin-manual/auth/security-overview.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -{ - "title": "Security Overview", - "language": "en", - "description": "Doris provides the following mechanisms to manage data security:" -} ---- - -Doris provides the following mechanisms to manage data security: - -**Authentication:** Doris supports both username/password and LDAP authentication methods. - -- **Built-in Authentication:** Doris includes a built-in username/password authentication method, allowing customization of password policies. - -- **LDAP Authentication:** Doris can centrally manage user credentials through LDAP services, simplifying access control and enhancing system security. - -**Permission Management:** Doris supports role-based access control (RBAC) or can inherit Ranger to achieve centralized permission management. - -- **Role-Based Access Control (RBAC):** Doris can restrict users' access to and operations on database resources based on their roles and permissions. - -- **Ranger Permission Management:** By integrating with Ranger, Doris enables centralized permission management, allowing administrators to set fine-grained access control policies for different users and groups. - -**Audit and Logging:** Doris can enable audit logs to record all user actions, including logins, queries, data modifications, and more, facilitating post-audit and issue tracking. - -**Data Encryption and Masking:** Doris supports encryption and masking of data within tables to prevent unauthorized access and data leakage. - -**Data Transmission Encryption:** Doris supports SSL encryption protocols to ensure secure data transmission between clients and Doris servers, preventing data from being intercepted or tampered with during transfer. - -**Fine-Grained Access Control:** Doris allows configuring data row and column access permissions based on rules to control user access at a granular level. - -**JAVA-UDF Security:** Doris supports user-defined function functionality, so root administrators need to review the implementation of user UDFs to ensure the operations in the logic are safe and prevent high-risk actions in UDFs, such as data deletion and system disruption. - -**Third-Party Packages:** When using Doris features like JDBC Catalog or UDFs, administrators must ensure that any third-party packages are from trusted and secure sources. To reduce security risks, it is recommended to use dependencies only from official or reputable community sources. \ No newline at end of file diff --git a/docs/admin-manual/cluster-management/elastic-expansion.md b/docs/admin-manual/cluster-management/elastic-expansion.md deleted file mode 100644 index 53eed8f718863..0000000000000 --- a/docs/admin-manual/cluster-management/elastic-expansion.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -{ - "title": "Elastic Scaling", - "language": "en", - "description": "Doris supports online elastic scaling, allowing users to dynamically add or remove nodes without interrupting services." -} ---- - -Doris supports online elastic scaling, allowing users to dynamically add or remove nodes without interrupting services. This capability ensures businesses can meet growing demands or reduce idle resource waste. Scaling up or down BE nodes does not affect cluster availability but involves data migration, so it is recommended to perform scaling operations during periods of low business activity. - -## Scale In/Out the FE Clusters - -Doris FE nodes are divided into the following three roles, with each FE node containing a full set of metadata: - -* Master Node: Responsible for reading and writing metadata. When metadata changes occur on the Master node, they are synchronized to non-Master nodes via the BDB JE protocol. There can be only one Master FE node in the cluster. - -* Follower Node: Responsible for reading metadata. In the event of a Master node failure, Follower nodes initiate a leader election to select a new Master node. Within the cluster, the total number of Master and Follower nodes is recommended to be an odd number. - -* Observer Node: Responsible for reading metadata but does not participate in leader election. It is used to extend the read service capacity of FE nodes. - -Typically, each FE node can handle the load operations of 10-20 BE nodes. A configuration of 3 FE nodes is sufficient to meet the requirements of most business scenarios. - - -### Scale the FE out - -:::info Note: - -When adding a new FE node, please pay attention to the following: - -* The `http_port` of the new FE node must match the `http_port` of all existing FE nodes in the cluster. - -* If adding a Follower node, it is recommended that the total number of Master and Follower nodes in the cluster be an odd number. - -* You can view the ports and roles of the current cluster nodes using the `show frontends` command. -::: - -1. Start FE Node: - -```bash -fe/bin/start_fe.sh --helper : --daemon -``` - -* Register FE Node: - - * Register the node as a Follower FE: - - ```sql - ALTER SYSTEM ADD FOLLOWER ":"; - ``` - - * Register the node as an Observer FE: - - ```sql - ALTER SYSTEM ADD OBSERVER ":"; - ``` - -* Check the status of the newly added FE node - - ```sql - show frontends; - ``` - - -### Scale In the FE Cluster - -When scaling in FE nodes, ensure that the total number of Master and Follower nodes in the cluster remains an odd number. Use the following commands to remove nodes: - - -```sql -ALTER SYSTEM DROP FOLLOWER[OBSERVER] ":"; -``` - -After scaling in, you need to manually delete the FE directory. - -## Scale In/Out the BE Cluster - -### Scale Out the BE Cluster - -1. Start the BE process: - - ```sql - be/bin/start_be.sh - ``` - -2. Register the BE node: - - ```sql - ALTER SYSTEM ADD backend ':'; - ``` - -### Scale In the BE Cluster - -When scaling in BE nodes, you can choose between the DROP or DECOMMISSION methods: - -| | DROP | DECOMMISSION | -| -------- | ----------------- | ------------------------------------------- | -| Principle | Directly remove the node, deleting the BE node. | Initiates a command to migrate data on the BE node to other nodes. Once migration is complete, the BE node is automatically removed. | -| Effective Time | Takes effect immediately after execution. | Takes effect after data migration is completed. Depending on the cluster's existing data volume, this can take hours to up to a day. | -| Single Replica Table Handling | May result in data loss. | Does not result in data loss. | -| Removing Multiple Nodes Simultaneously | May result in data loss. | Does not result in data loss. | -| Production Recommendation | Not recommended for production environments. | Recommended for production environments. | - -* Use the following command to remove a BE node using the DROP method: - - ```sql - ALTER SYSTEM DROP backend ":"; - ``` - -* Use the following command to remove a BE node using the DECOMMISSION method: - - ```sql - ALTER SYSTEM DECOMMISSION backend ":"; - ``` - -### DECOMMISSION Command Description: - -- DECOMMISSION is an asynchronous operation. After execution, you can see the BE node's `SystemDecommissioned` status set to `true` via `SHOW backends;`. This indicates the node is being removed. - -- The DECOMMISSION command may fail. For instance, if there is insufficient storage space on the remaining BE nodes to accommodate the data from the BE being removed, or if the remaining nodes do not meet the minimum replication requirements, the command will not complete, and the BE will remain in a `SystemDecommissioned` state set to `true`. - -- The progress of DECOMMISSION can be monitored using `SHOW PROC '/backends';`. If the operation is in progress, the `TabletNum` value will decrease continuously. - -- You can cancel the operation using the command `CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";`. After cancellation, the BE node will retain its current remaining data, and Doris will re-balance the load. - -- The data migration rate can be adjusted by modifying the `balance_slot_num_per_path` parameter. - diff --git a/docs/admin-manual/cluster-management/fqdn.md b/docs/admin-manual/cluster-management/fqdn.md deleted file mode 100644 index 244042609638a..0000000000000 --- a/docs/admin-manual/cluster-management/fqdn.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -{ - "title": "FQDN", - "language": "en", - "description": "This article introduces how to enable the use of Apache Doris based on FQDN (Fully Qualified Domain Name)." -} ---- - -This article introduces how to enable the use of Apache Doris based on FQDN (Fully Qualified Domain Name). FQDN is the complete domain name of a specific computer or host on the Internet. - -After Doris supports FQDN, communication between nodes is entirely based on FQDN. When adding various types of nodes, the FQDN should be directly specified. For example, the command to add a BE node is' ALTER SYSTEM ADD BACKEND "be_host:heartbeat_service_port", 'be_host' was previously the IP address of the BE node. After starting the FQDN, be_host should specify the FQDN of the BE node. - -## Preconditions - -1. fe.conf file set `enable_fqdn_mode = true`. -2. All machines in the cluster must be configured with a host name. -3. The IP address and FQDN corresponding to other machines in the cluster must be specified in the '/etc/hosts' file for each machine in the cluster. -4. The /etc/hosts file cannot have duplicate IP addresses. - -## Best Practices - -### Enable FQDN for new cluster - -1. Prepare machines, for example, if you want to deploy a cluster of 3FE 3BE, you can prepare 6 machines. -2. Each machine returns unique results when executing 'host'. Assuming that the execution results of six machines are fe1, fe2, fe3, be1, be2, and be3, respectively. -3. Configure the real IPs corresponding to 6 FQDNs in the '/etc/hosts' of 6 machines, for example: - ``` - 172.22.0.1 fe1 - 172.22.0.2 fe2 - 172.22.0.3 fe3 - 172.22.0.4 be1 - 172.22.0.5 be2 - 172.22.0.6 be3 - ``` -4. Verification: you can 'ping fe2' on FE1, and can resolve the correct IP address and ping it, indicating that the network environment is available. -5. fe.conf settings for each FE node ` enable_ fqdn_ mode = true`. -6. Refer to [Standard deployment](../../install/deploy-manually/integrated-storage-compute-deploy-manually.md) -7. Select several machines to deploy broker on six machines as needed, and execute `ALTER SYSTEM ADD BROKER broker_name "fe1:8000","be1:8000",...;`. - -### Deployment of Doris for K8S - -After an unexpected restart of the Pod, K8s cannot guarantee that the Pod's IP will not change, but it can ensure that the domain name remains unchanged. Based on this feature, when Doris enables FQDN, it can ensure that the Pod can still provide services normally after an unexpected restart. - -Please refer to the method for deploying Doris in K8s[Kubernetes Deployment](../../install/deploy-on-kubernetes/integrated-storage-compute/install-doris-operator) - -### Server change IP - -After deploying the cluster according to 'Enable FQDN for new cluster', if you want to change the IP of the machine, whether it is switching network cards or replacing the machine, you only need to change the '/etc/hosts' of each machine. - -### Enable FQDN for old cluster - -Precondition: The current program supports the syntax `ALTER SYSTEM MODIFY FRONTEND ":" HOSTNAME ""`, -If not, upgrade to a version that supports the syntax - ->Note that. -> -> At least three followers are required to perform the following operations, otherwise the cluster may not start properly - -Next, follow the steps below: - -1. Perform the following operations on the Follower and Observer nodes one by one (and finally on the Master node): - - 1. Stop the node. - 2. Check if the node has stopped. Execute 'show frontends' through the MySQL client to view the Alive status of the FE node until it becomes false - 3. set FQDN for node: `ALTER SYSTEM MODIFY FRONTEND ":" HOSTNAME ""`(After stopping the master, a new master node will be selected and used to execute SQL statements) - 4. Modify node configuration. Modify the 'conf/fe.conf' file in the FE root directory and add the configuration: `enable_fqdn_mode = true`. If the newly stopped node cannot be started properly after adding the configuration to the corresponding fe.config, please add the configuration 'enable_fqdn_mode=true' to all fe.config before starting the just stopped fe node. - 5. Start the node. - -2. Enabling FQDN for BE nodes only requires executing the following commands through MySQL, and there is no need to restart BE. - - `ALTER SYSTEM MODIFY BACKEND ":" HOSTNAME ""`,If you don't know the number of HeartbeatPort, please use the command `show backends` to help find this port. - - -## Common problem - -- Configuration item enable_ fqdn_ Can the mode be changed freely? - - Cannot be changed arbitrarily. To change this configuration, follow the 'Enable FQDN for old cluster' procedure. - diff --git a/docs/admin-manual/cluster-management/load-balancing.md b/docs/admin-manual/cluster-management/load-balancing.md deleted file mode 100644 index d8e8dfb27ad9b..0000000000000 --- a/docs/admin-manual/cluster-management/load-balancing.md +++ /dev/null @@ -1,595 +0,0 @@ ---- -{ - "title": "Load Balancing", - "language": "en", - "description": "Users connect to Doris through FE's query port (queryport, default 9030) using the MySQL protocol. When deploying multiple FE nodes," -} ---- - -Users connect to Doris through FE's query port (`query_port`, default 9030) using the MySQL protocol. When deploying multiple FE nodes, users can deploy a load balancing layer on top of multiple FEs to achieve high availability for Doris queries. - -This document introduces various load balancing solutions suitable for Doris and explains how to implement client IP passthrough using the Proxy Protocol. - -## Load Balancing - -This article uses the following three FE nodes as examples for demonstrating the steps: - -```text -192.168.1.101:9030 -192.168.1.102:9030 -192.168.1.103:9030 -``` - -Proxy server node: - -```text -192.168.1.100 -``` - -### 01 JDBC URL - -Use the built-in load balancing configuration in JDBC URL. - -```text -jdbc:mysql:loadbalance://192.168.1.101:9030,192.168.1.102:9030,192.168.1.103:9030/test_db -``` - -For details, please refer to [MySQL Official Documentation](https://dev.mysql.com/doc/connector-j/en/connector-j-usagenotes-j2ee-concepts-managing-load-balanced-connections.html) - -### 02 Nginx - -Use [Nginx](https://nginx.org/) TCP reverse proxy to implement Doris load balancing. - -#### Install Nginx - -Please refer to [Nginx](https://nginx.org/en/docs/install.html) official website to install Nginx correctly. Here we demonstrate the Nginx compilation and installation steps using Ubuntu system with Nginx 1.18.0 version as an example. - -1. Install compilation dependencies - - ```shell - sudo apt-get install build-essential - sudo apt-get install libpcre3 libpcre3-dev - sudo apt-get install zlib1g-dev - sudo apt-get install openssl libssl-dev - ``` - -2. Install Nginx - - ```shell - sudo wget http://nginx.org/download/nginx-1.18.0.tar.gz - sudo tar zxvf nginx-1.18.0.tar.gz - cd nginx-1.18.0 - sudo ./configure --prefix=/usr/local/nginx --with-stream --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module - sudo make && make install - ``` - -#### Configure Reverse Proxy - -Create a new configuration file: - -```shell -vim /usr/local/nginx/conf/default.conf -``` - -Content as follows: - -```text -events { -worker_connections 1024; -} -stream { - upstream mysqld { - hash $remote_addr consistent; - server 192.168.1.101:9030 weight=1 max_fails=2 fail_timeout=60s; - server 192.168.1.102:9030 weight=1 max_fails=2 fail_timeout=60s; - server 192.168.1.103:9030 weight=1 max_fails=2 fail_timeout=60s; - } - server { - # Proxy port - listen 6030; - proxy_connect_timeout 300s; - proxy_timeout 300s; - proxy_pass mysqld; - } -} -``` - -#### Start Nginx - -Start with specified configuration file: - -```shell -cd /usr/local/nginx -/usr/local/nginx/sbin/nginx -c conf.d/default.conf -``` - -#### Verify - -Connect using the proxy port: - -```shell -mysql -uroot -P6030 -h192.168.1.100 - -mysql> show databases; -+--------------------+ -| Database | -+--------------------+ -| information_schema | -| mysql | -| test | -+--------------------+ -2 rows in set (0.00 sec) -``` - -### 03 HAProxy - -[HAProxy](https://www.haproxy.org/) is a high-performance TCP/HTTP load balancer written in C language. - -#### Install HAProxy - -1. Download HAProxy - - Download link: https://src.fedoraproject.org/repo/pkgs/haproxy/ - -2. Extract - - ```shell - tar -zxvf haproxy-2.6.15.tar.gz -C /opt/ - mv haproxy-2.6.15 haproxy - cd haproxy - ``` - -3. Compile - - ```shell - yum install gcc gcc-c++ -y - make TARGET=linux-glibc PREFIX=/usr/local/haproxy - make install PREFIX=/usr/local/haproxy - ``` - -#### Configure HAProxy - -1. Configure haproxy.conf file - - Open configuration file: - - ```shell - vim /etc/rsyslog.d/haproxy.conf - ``` - - Content as follows: - - ```text - $ModLoad imudp - $UDPServerRun 514 - local0.* /usr/local/haproxy/logs/haproxy.log - &~ - ``` - -2. Enable remote logging - - ```shell - vim /etc/sysconfig/rsyslog - ``` - - Add content: - - ```text - SYSLOGD_OPTIONS="-c 2 -r -m 0" - ``` - - Parameter description: - - - `-c 2`: Use compatibility mode, default is `-c 5`. - - `-r`: Enable remote logging. - - `-m 0`: Mark timestamps. In minutes, when 0, indicates this feature is disabled. - - Apply changes: - - `systemctl restart rsyslog` - -3. Edit load balancing file - - ```shell - vim /usr/local/haproxy/haproxy.cfg - ``` - - ```text - global - maxconn 2000 - ulimit-n 40075 - log 127.0.0.1 local0 info - uid 200 - gid 200 - chroot /var/empty - daemon - group haproxy - user haproxy - - defaults - log global - mode http - retries 3 - option redispatch - - timeout connect 5000 - timeout client 5000 - timeout server 5000 - timeout check 2000 - - frontend agent-front - bind *:6030 - mode tcp - default_backend forward-fe - - backend forward-fe - mode tcp - balance roundrobin - server fe-1 192.168.1.101:9030 weight 1 check inter 3000 rise 2 fall 3 - server fe-2 192.168.1.102:9030 weight 1 check inter 3000 rise 2 fall 3 - server fe-3 192.168.1.103:9030 weight 1 check inter 3000 rise 2 fall 3 - ``` - -#### Start HAProxy - -1. Start service - - `/opt/haproxy/haproxy -f /usr/local/haproxy/haproxy.cfg` - -2. Check service status - - `netstat -lnatp | grep -i haproxy` - -#### Verify - -`mysql -h 192.168.1.100 -uroot -P6030 -p` - -### 04 ProxySQL - -[ProxySQL](https://proxysql.com/) is an open-source MySQL database proxy software written in C language. It can implement connection management, read-write splitting, load balancing, failover, and other functions. It has advantages such as high performance, configurability, and dynamic management, and is commonly used in Web services, big data platforms, cloud databases, and other scenarios. - -#### Install ProxySQL - -Please refer to the [official documentation](https://proxysql.com/documentation/installing-proxysql/) to install ProxySQL correctly. - -#### Configure ProxySQL - -ProxySQL includes configuration file `/etc/proxysql.cnf` and configuration database file `/var/lib/proxysql/proxysql.db`. - -Special attention should be paid that if there is a "proxysql.db" file in the `/var/lib/proxysql` directory, the ProxySQL service only reads and parses `proxysql.cnf` during the first startup, and subsequent startups will no longer read it. - -To make `proxysql.cnf` configuration take effect after restart, you need to delete `/var/lib/proxysql/proxysql.db` before restarting the service, which is equivalent to initialization startup and will generate a new `proxysql.db` file, and the original configuration rules will be cleared. - -Here is the main content of the configuration file `proxysql.cnf`: - -```text -datadir="/var/lib/proxysql" #Data directory -admin_variables= -{ - admin_credentials="admin:admin" # Admin database username and password. - mysql_ifaces="0.0.0.0:6032" # Admin database port, used for connecting admin database of ProxySQL -} -mysql_variables= -{ - threads=4 - max_connections=2048 - default_query_delay=0 - default_query_timeout=36000000 - have_compress=true - poll_timeout=2000 - interfaces="0.0.0.0:6030" - default_schema="information_schema" - stacksize=1048576 - server_version="5.7.99" - connect_timeout_server=3000 - monitor_username="monitor" - monitor_password="monitor" - monitor_history=600000 - monitor_connect_interval=60000 - monitor_ping_interval=10000 - monitor_read_only_interval=1500 - monitor_read_only_timeout=500 - ping_interval_server_msec=120000 - ping_timeout_server=500 - commands_stats=true - sessions_sort=true - connect_retries_on_failure=10 -} -mysql_servers = -( -) -mysql_users: -( -) -mysql_query_rules: -( -) -scheduler= -( -) -mysql_replication_hostgroups= -( -) -``` - -#### Connect to ProxySQL Admin Database - -```shell -mysql -uadmin -padmin -P6032 -hdoris01 -``` - -```sql -ProxySQL > show databases; -+-----+---------------+-------------------------------------+ -| seq | name | file | -+-----+---------------+-------------------------------------+ -| 0 | main | | -| 2 | disk | /var/lib/proxysql/proxysql.db | -| 3 | stats | | -| 4 | monitor | | -| 5 | stats_history | /var/lib/proxysql/proxysql_stats.db | -+-----+---------------+-------------------------------------+ -5 rows in set (0.000 sec) -ProxySQL > use main; - -ProxySQL > show tables; -+--------------------------------------------+ -| tables | -+--------------------------------------------+ -| global_variables | -| mysql_collations | -| mysql_group_replication_hostgroups | -| mysql_query_rules | -| mysql_query_rules_fast_routing | -| mysql_replication_hostgroups | -| mysql_servers | -| mysql_users | -| proxysql_servers | -| runtime_checksums_values | -| runtime_global_variables | -| runtime_mysql_group_replication_hostgroups | -| runtime_mysql_query_rules | -| runtime_mysql_query_rules_fast_routing | -| runtime_mysql_replication_hostgroups | -| runtime_mysql_servers | -| runtime_mysql_users | -| runtime_proxysql_servers | -| runtime_scheduler | -| scheduler | -+--------------------------------------------+ -20 rows in set (0.000 sec) -``` - -#### Configure Backend Doris FE in ProxySQL - -Use INSERT statements to add the FE nodes and ports that need to be proxied to the `mysql_servers` table. - -Where: `hostgroup_id` of `10` indicates write group, `20` indicates read group. We don't need read-write splitting here, so it can be set arbitrarily. - -```shell -mysql -uadmin -padmin -P6032 -h127.0.0.1 -``` - -```sql -ProxySQL > insert into mysql_servers(hostgroup_id,hostname,port) values(10,'192.168.0.101',9030); -Query OK, 1 row affected (0.000 sec) - -ProxySQL > insert into mysql_servers(hostgroup_id,hostname,port) values(10,'192.168.0.102',9030); -Query OK, 1 row affected (0.000 sec) - -ProxySQL > insert into mysql_servers(hostgroup_id,hostname,port) values(10,'192.168.0.103',9030); -Query OK, 1 row affected (0.000 sec) -``` - -Check results: - -```sql -ProxySQL > select hostgroup_id,hostname,port,status,weight from mysql_servers; -+--------------+---------------+------+--------+--------+ -| hostgroup_id | hostname | port | status | weight | -+--------------+---------------+------+--------+--------+ -| 10 | 192.168.0.101 | 9030 | ONLINE | 1 | -| 20 | 192.168.0.102 | 9030 | ONLINE | 1 | -| 20 | 192.168.0.103 | 9030 | ONLINE | 1 | -+--------------+---------------+------+--------+--------+ -3 rows in set (0.000 sec) -``` - -If you encounter an error during insertion: - -```text -ERROR 1045 (#2800): UNIQUE constraint failed: mysql_servers.hostgroup_id, mysql_servers.hostname, mysql_servers.port -``` - -This indicates that other configurations may have been defined previously. You can empty this table or delete the configuration for the corresponding host: - -```sql -ProxySQL > select * from mysql_servers; -ProxySQL > delete from mysql_servers; -Query OK, 6 rows affected (0.000 sec) -``` - -Save information: - -```sql -ProxySQL > load mysql servers to runtime; -Query OK, 0 rows affected (0.006 sec) - -ProxySQL > save mysql servers to disk; -Query OK, 0 rows affected (0.348 sec) -``` - -#### Configure Monitoring for Doris FE Nodes - -After adding Doris FE nodes, these backend nodes need to be monitored. - -First, create a user for monitoring in Doris: - -```shell -mysql -uroot -P9030 -h192.168.0.101 -``` - -```sql -Doris > create user monitor@'192.168.0.100' identified by 'P@ssword1!'; -Query OK, 0 rows affected (0.03 sec) - -Doris > grant ADMIN_PRIV on *.* to monitor@'192.168.0.100'; -Query OK, 0 rows affected (0.02 sec) -``` - -Then go back to the mysql-proxy proxy layer node to configure monitoring - -```shell -mysql -uadmin -padmin -P6032 -h127.0.0.1 -``` - -```sql -ProxySQL > set mysql-monitor_username='monitor'; -Query OK, 1 row affected (0.000 sec) - -ProxySQL > set mysql-monitor_password='P@ssword1!'; -Query OK, 1 row affected (0.000 sec) -``` - -Save configuration and exit: - -```sql -ProxySQL > load mysql servers to runtime; -Query OK, 0 rows affected (0.006 sec) - -ProxySQL > save mysql servers to disk; -Query OK, 0 rows affected (0.348 sec) -``` - -Verification monitoring results. - -The metrics of the ProxySQL monitoring module are all saved in the `monitor.log` table. - -Connection monitoring: - -```sql -ProxySQL > select * from mysql_server_connect_log; -+---------------+------+------------------+-------------------------+---------------+ -| hostname | port | time_start_us | connect_success_time_us | connect_error | -+---------------+------+------------------+-------------------------+---------------+ -| 192.168.0.101 | 9030 | 1548665195883957 | 762 | NULL | -| 192.168.0.102 | 9030 | 1548665195894099 | 399 | NULL | -| 192.168.0.103 | 9030 | 1548665195904266 | 483 | NULL | -| 192.168.0.101 | 9030 | 1548665255883715 | 824 | NULL | -| 192.168.0.102 | 9030 | 1548665255893942 | 656 | NULL | -| 192.168.0.101 | 9030 | 1548665495884125 | 615 | NULL | -| 192.168.0.102 | 9030 | 1548665495894254 | 441 | NULL | -| 192.168.0.103 | 9030 | 1548665495904479 | 638 | NULL | -| 192.168.0.101 | 9030 | 1548665512917846 | 487 | NULL | -| 192.168.0.102 | 9030 | 1548665512928071 | 994 | NULL | -| 192.168.0.103 | 9030 | 1548665512938268 | 613 | NULL | -+---------------+------+------------------+-------------------------+---------------+ -20 rows in set (0.000 sec) -``` - -Heartbeat monitoring: - -```sql -ProxySQL > select * from mysql_server_ping_log; -+---------------+------+------------------+----------------------+------------+ -| hostname | port | time_start_us | ping_success_time_us | ping_error | -+---------------+------+------------------+----------------------+------------+ -| 192.168.0.101 | 9030 | 1548665195883407 | 98 | NULL | -| 192.168.0.102 | 9030 | 1548665195885128 | 119 | NULL | -........... -| 192.168.0.102 | 9030 | 1548665415889362 | 106 | NULL | -| 192.168.0.103 | 9030 | 1548665562898295 | 97 | NULL | -+---------------+------+------------------+----------------------+------------+ -110 rows in set (0.001 sec) -``` - -## Client IP Passthrough - -In most cases, when connecting to the backend Doris service through a proxy service, client IP information will be lost, and the Doris server can only obtain the IP address information of the proxy server. - -Starting from version 2.1.1, Doris supports the [Proxy Protocol](https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) protocol. Using this protocol, client IP passthrough can be implemented, so that after going through load balancing, Doris can still obtain the client's real IP to implement whitelist and other permission controls. - -Below we introduce how to enable Proxy Protocol in Nginx and Haproxy respectively. - -### Enable Proxy Protocol Support in Doris - -Add to `fe.conf` in FE: - -```text -enable_proxy_protocol = true -``` - -:::note - -1. Only supports Proxy Protocol V1. - -2. Only supports and affects MySQL protocol ports, does not support or affect HTTP, ADBC, and other protocol ports. - -3. Before Doris 3.1 version, after enabling, you must use the Proxy Protocol protocol to connect, otherwise the connection will fail. Starting from version 3.1, after enabling Proxy Protocol, you can still connect using the standard MySQL connection protocol. - -::: - -### 01 Nginx - -Add `proxy_protocol on;` to the `server` section in the configuration file: - -```text -events { -worker_connections 1024; -} -stream { - upstream mysqld { - hash $remote_addr consistent; - server 192.168.1.101:9030 weight=1 max_fails=2 fail_timeout=60s; - server 192.168.1.102:9030 weight=1 max_fails=2 fail_timeout=60s; - server 192.168.1.103:9030 weight=1 max_fails=2 fail_timeout=60s; - } - server { - # Proxy port - listen 6030; - proxy_connect_timeout 300s; - proxy_timeout 300s; - proxy_pass mysqld; - # Enable Proxy Protocol to the upstream server - proxy_protocol on; - } -} -``` - -### 02 HAProxy - -Add `send-proxy` parameter to the `backend` section in `haproxy.cfg`: - -```text -backend forward-fe - mode tcp - balance roundrobin - server fe-1 192.168.1.101:9030 weight 1 check inter 3000 rise 2 fall 3 send-proxy - server fe-2 192.168.1.102:9030 weight 1 check inter 3000 rise 2 fall 3 send-proxy - server fe-3 192.168.1.103:9030 weight 1 check inter 3000 rise 2 fall 3 send-proxy -``` - -### Verify IP Passthrough Success - -Connect to Doris through proxy: - -```sql -mysql -uroot -P6030 -h192.168.1.100 -``` - -Verify - -```sql -mysql> show processlist; -+------------------+------+------+-------------------+---------------------+----------+------+---------+------+-------+-----------------------------------+------------------+ -| CurrentConnected | Id | User | Host | LoginTime | Catalog | Db | Command | Time | State | QueryId | Info | -+------------------+------+------+-------------------+---------------------+----------+------+---------+------+-------+-----------------------------------+------------------+ -| Yes | 1 | root | 192.168.1.101:34390 | 2024-03-17 16:32:22 | internal | | Query | 0 | OK | 82edc460d93f4e28-8bbed058a068e259 | show processlist | -+------------------+------+------+-------------------+---------------------+----------+------+---------+------+-------+-----------------------------------+------------------+ -1 row in set (0.00 sec) -``` - -If you see the real client IP in the `Host` column, the verification is successful. Otherwise, you can only see the IP address of the proxy service. - -At the same time, the real client IP will also be recorded in fe.audit.log. - diff --git a/docs/admin-manual/cluster-management/time-zone.md b/docs/admin-manual/cluster-management/time-zone.md deleted file mode 100644 index b530ec27ea46a..0000000000000 --- a/docs/admin-manual/cluster-management/time-zone.md +++ /dev/null @@ -1,255 +0,0 @@ ---- -{ - "title": "Time Zone", - "language": "en", - "description": "Doris supports custom time zone settings" -} ---- - -Doris supports custom time zone settings - -## Basic concepts - -The following two time zone related parameters exist within Doris: - -- `system_time_zone` : When the server starts up, it will be set automatically according to the time zone set by the machine, and cannot be modified after it is set. -- `time_zone` : The current time zone of the cluster. This variable will be set to the same as `system_time_zone` when the cluster starts and will not be changed again unless manually changed by the user. - -## Specific operations - -1. `SHOW VARIABLES LIKE '% time_zone%'` - - View the current time zone related configuration - -2. `SET [global] time_zone = 'Asia/Shanghai';` - - This command sets the time zone at the session level. If the `global` keyword is used, Doris FE persists the parameter and it takes effect for all new sessions afterwards. - -## Data source - -The time zone data contains the name of the time zone, the corresponding time offset, and the change of daylight saving time. On the machine where the BE is located, the source of the data is the directory returned by command `TZDIR`. If it was not supported, the directory `/usr/share/zoneinfo`. - -## Impact of time zone - -### 1. functions - -Includes values displayed by time functions such as `NOW()` or `CURTIME()`, and also time values in `show load`, `show backends`. - -However, it does not affect the less than value of the time-type partitioned columns in `create table`, nor does it affect the display of values stored as `date/datetime` types. - -Functions affected by time zone: - -- `FROM_UNIXTIME`: Given a UTC timestamp, return its date and time in the time zone specified by Doris session `time_zone`. For example, when `time_zone` is `CST`, `FROM_UNIXTIME(0)` returns `1970-01-01 08:00:00`. - -- `UNIX_TIMESTAMP`: Given a date and time, return its UTC timestamp in the time zone specified by Doris session `time_zone`, such as when `time_zone` is `CST` `UNIX_TIMESTAMP('1970-01-01 08:00:00')` returns `0`. - -- `CURTIME`: Returns the time in the time zone specified by the current Doris session `time_zone`. - -- `NOW`: Returns the date and time of the current Doris session `time_zone` specified time zone. - -- `CONVERT_TZ`: Convert a datetime from one specified time zone to another. - -### 2. Values of time types - -For `DATE` and `DATETIME` types, we support time zone conversion when importing data. - -- If the data has a time zone, such as "2020-12-12 12:12:12+08:00" with the current Doris `time_zone = +00:00`, then the data is imported into Doris and the actual value is "2020-12-12 04:12:12". - -- If the data does not contain a time zone, such as "2020-12-12 12:12:12", the time is considered to be an absolute time and no conversion occurs. - -For `TIMESTAMPTZ` type, time zone conversion is also supported when importing data, converting input time values uniformly to UTC (Coordinated Universal Time), and adding the current session's time zone offset when outputting. - -- If the data has a time zone, such as "2020-12-12 12:12:12+08:00", Doris will use that time zone information for conversion. - -- If the data does not have a time zone, such as "2020-12-12 12:12:12", Doris will use the current session's time zone setting for conversion. - -The current session's `time_zone` affects the output of `TIMESTAMPTZ` type. For example, assuming the current session has `time_zone="+08:00"` and the `TIMESTAMPTZ` type value is `2020-12-12 12:12:12+08:00`, after changing `time_zone`, the output value will change: -``` -set time_zone = "+08:00"; - -select * from tz_test; -+---------------------------+ -| tz | -+---------------------------+ -| 2020-12-12 12:12:12+08:00 | -+---------------------------+ - -set time_zone = "+07:00"; - -select * from tz_test; -+---------------------------+ -| tz | -+---------------------------+ -| 2020-12-12 11:12:12+07:00 | -+---------------------------+ -``` - - -### 3. Daylight Saving Time - -Daylight Saving Time is essentially the actual time offset of a named time zone, which changes on certain dates. - -For example, the `America/Los_Angeles` time zone contains a Daylight Saving Time adjustment that begins and ends approximately in March and November of each year. That is, the `America/Los_Angeles` actual time zone offset changes from `-08:00` to `-07:00` at the start of Daylight Savings Time in March, and from `-07:00` to `-08:00` at the end of Daylight Savings Time in November. -If you do not want Daylight Saving Time to be turned on, set `time_zone` to `-08:00` instead of `America/Los_Angeles`. - -## Usage - -Time zone values can be given in a variety of formats. The following standard formats are well supported in Doris: - -1. standard named time zone formats, such as "Asia/Shanghai", "America/Los_Angeles". This format is derived from [time zone data on this machine](#data-source). "Etc/GMT+3" etc. also belongs to this category. - -2. standard offset formats, such as "+02:30", "-10:00".(special offsets such as "+12:03" are not supported) - -3. abbreviated time zone formats, currently only support: - - 1. "GMT", "UTC", equivalent to "+00:00" time zone - - 2. "CST", which is equivalent to the "Asia/Shanghai" time zone - -4. single letter Z for Zulu time zone, equivalent to "+00:00" time zone - -Besides, all parsing of alphabet is case insensitive. - -Note: Some other formats are currently supported in some imports in Doris due to different implementations. **Production environments should not rely on these formats that are not listed here, and their behavior may change at any time**, so keep an eye on the relevant changelog for version updates. - -## Best Practices - -### Time Zone Sensitive Data - -The time zone issue involves three main influences: - -1. session variable `time_zone` -- cluster timezone - -2. header `timezone` specified during import(Stream Load, Broker Load etc.) -- importing timezone - -3. timezone type literal "+08:00" in "2023-12-12 08:00:00+08:00" -- data timezone - -We can understand it as follows: - -Doris is currently compatible with importing data in various time zones into Doris. Since Doris's own `DATETIME` and other time types do not contain time zone information, and the data will not change with time zone changes after being imported, when time data is imported into Doris, it can be divided into the following two categories: - -1. Absolute time - - Absolute time means that the data scene it is associated with has nothing to do with time zones. This type of data should be imported without any time zone suffix and will be stored as-is. - -2. Time in a specific time zone - - The time in a specific time zone means that the data scenario it is associated with is related to the time zone. For this type of data, it should be imported with a specific time zone suffix. When imported, they will be converted to the Doris cluster `time_zone` time zone or the header `timezone` specified in Stream Load/Broker Load. - - This type of data is converted to absolute time storage in the time zone specified during import after import, so subsequent imports and queries should maintain this time zone to avoid confusion in the meaning of the data. - - * For the Insert statement, we can illustrate it through the following example: - - ```sql - Doris > select @@time_zone; - +---------------+ - | @@time_zone | - +---------------+ - | Asia/Shanghai | - +---------------+ - - Doris > insert into dt values('2020-12-12 12:12:12+02:00'); --- The imported data specifies a time zone of +02:00 - - Doris > select * from dt; - +---------------------+ - | dt | - +---------------------+ - | 2020-12-12 18:12:12 | --- Is converted to the Doris cluster time zone Asia/Shanghai, subsequent imports and queries should maintain this time zone. - +---------------------+ - - Doris > set time_zone = 'America/Los_Angeles'; - - Doris > select * from dt; - +---------------------+ - | dt | - +---------------------+ - | 2020-12-12 18:12:12 | --- If time_zone is modified, the time value will not change accordingly, and its meaning during query will be confused. - +---------------------+ - ``` - - * For import methods such as Stream Load and Broker Load, we can achieve this by specifying header `timezone`. For example, for Stream Load, we can illustrate it through the following example: - - ```shell - cat dt.csv - 2020-12-12 12:12:12+02:00 - - curl --location-trusted -u root: \ - -H "Expect:100-continue" \ - -H "strict_mode: true" \ - -H "timezone: Asia/Shanghai" \ - -T dt.csv -XPUT \ - http://127.0.0.1:8030/api/test/dt/_stream_load - ``` - - ```sql - Doris > select @@time_zone; - +---------------+ - | @@time_zone | - +---------------+ - | Asia/Shanghai | - +---------------+ - - Doris > select * from dt; - +---------------------+ - | dt | - +---------------------+ - | 2020-12-12 18:12:12 | --- Is converted to the Doris cluster time zone Asia/Shanghai, subsequent imports and queries should maintain this time zone. - +---------------------+ - ``` - - :::tip - * In import methods such as Stream Load and Broker Load, the header `timezone` will overwrite the Doris cluster `time_zone`, so it should be consistent during import. - * In import methods such as Stream Load and Broker Load, the header `timezone` will affect the functions used in import conversion. - * If the header `timezone` is not specified when importing, defaults to the current cluster time zone. - ::: - -**To sum up, the best practice for dealing with time zone issues is:** - -:::info Best Practices -1. Confirm the time zone represented by the cluster and set `time_zone` before use, and do not change it after that. - -2. Set header `timezone` to be consistent with cluster `time_zone` when importing. - -3. For absolute time, import without time zone suffix; for time with time zone, import with specific time zone suffix, and it will be converted to Doris `time_zone` time zone after import. -::: - -### Daylight Saving Time - -The start and end times for Daylight Saving Time are taken from the [current time zone data source](#data-source) and may not necessarily correspond exactly to the actual officially recognised times for the current year's time zone location. This data is maintained by ICANN. If you need to ensure that Daylight Saving Time behaves as specified for the current year, please make sure that data source selected by Doris is the latest ICANN-published time zone data. See below for download access. - -### Information Update - -Real-world time zone and daylight saving time data may change from time to time for various reasons, and IANA periodically records these changes and updates the corresponding time zone files. If you want the time zone information in Doris to be up to date with the latest IANA data, do one of the followings: - -1. Use the Package Manager to update - -Depending on the package manager used by the current operating system, you can update the time zone data directly using the corresponding command: - -```shell -# yum -> sudo yum update tzdata -# apt -> sudo apt update tzdata -``` - -The data updated in this way is located under the system `$TZDIR` (typically `usr/share/zoneinfo`). - -2. pull the IANA time zone database manually (recommended) - -Most Linux distributions have a package manager where tzdata is not synchronised in a timely manner. If the accuracy of the time zone data is important, you can pull the data published by IANA on a regular basis: - -```shell -wget https://www.iana.org/time-zones/repository/tzdb-latest.tar.lz -``` - -Then generate the specific zoneinfo data according the README file in the extracted folder. The generated data should be copied to override `$TZDIR` folder. - -Please note that all the above operations **must** be restarted on the corresponding BE to take effect after they are done on the BE machine. - -## Extended Reading - -- [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) - -- [IANA Time Zone Database](https://www.iana.org/time-zones) - -- [The tz-announce Archives](https://mm.icann.org/pipermail/tz-announce/) diff --git a/docs/admin-manual/cluster-management/upgrade.md b/docs/admin-manual/cluster-management/upgrade.md deleted file mode 100644 index a1b793b8734bd..0000000000000 --- a/docs/admin-manual/cluster-management/upgrade.md +++ /dev/null @@ -1,227 +0,0 @@ ---- -{ - "title": "Upgrading Cluster", - "language": "en", - "description": "Doris provides the capability for rolling upgrades, enabling step-by-step upgrades of FE and BE nodes, minimizing downtime," -} ---- - -Doris provides the capability for rolling upgrades, enabling step-by-step upgrades of FE and BE nodes, minimizing downtime, and ensuring the system remains operational during the upgrade process. - -## Version Compatibility - -Doris versioning consists of three components: the first digit represents a major milestone version, the second digit indicates a feature version, and the third digit corresponds to a bug fix. New features are not introduced in bug fix versions. For example, in Doris version 2.1.3, "2" indicates the second milestone version, "1" represents the feature version under this milestone, and "3" denotes the third bug fix for this feature version. - -During version upgrades, the following rules apply: - -- **Three-digit versions:** Versions with the same first two digits can be directly upgraded across three-digit versions. For example, version 2.1.3 can be directly upgraded to version 2.1.7. - -- **Two-digit and one-digit versions:** Cross-version upgrades for two-digit versions are not recommended due to compatibility concerns. It is advised to upgrade sequentially through each two-digit version. For example, upgrading from version 3.0 to 3.3 should follow the sequence 3.0 -> 3.1 -> 3.2 -> 3.3. - -The detailed version information can be found in the [versioning rules](https://doris.apache.org/community/release-versioning). - -## Upgrade Precautions - -When performing an upgrade, pay attention to the following: - -- **Behavioral changes between versions:** Review the Release Notes before upgrading to identify compatibility issues. - -- **Add retry mechanisms for tasks in the cluster:** Nodes are restarted sequentially during upgrades. Ensure that retry mechanisms are in place for query tasks and Stream Load import jobs to avoid task failures. Routine Load jobs using flink-doris-connector or spark-doris-connector already include retry mechanisms in their code and do not require additional logic. - -- **Disable replica repair and balance functions:** Disable these functions during the upgrade process. Regardless of the upgrade outcome, re-enable these functions after the upgrade is complete. - -## Metadata Compatibility Testing - -:::caution Note - -In a production environment, it is recommended to configure at least three FE nodes for high availability. If there is only one FE node, metadata compatibility testing must be performed before upgrading. Metadata compatibility is critical as incompatibility may cause upgrade failures and data loss. It is recommended to conduct metadata compatibility tests before each upgrade, keeping in mind the following: - -- Perform metadata compatibility testing on a development machine or BE node whenever possible to avoid using FE nodes. - -- If testing must be conducted on an FE node, use a non-Master node and stop the original FE process. - -::: - -Before upgrading, conduct metadata compatibility testing to prevent failures caused by metadata incompatibility. - -1. **Backup metadata information:** - - Before starting the upgrade, back up the metadata of the Master FE node. - - Use the `show frontends` command and refer to the `IsMaster` column to identify the Master FE node. FE metadata can be hot-backed up without stopping the FE node. By default, FE metadata is stored in the `fe/doris-meta` directory. This can be confirmed via the `meta_dir` parameter in the `fe.conf` configuration file. - -2. **Modify the `fe.conf` configuration file of the test FE node:** - - ```bash - vi ${DORIS_NEW_HOME}/conf/fe.conf - ``` - - Modify the following port information, ensuring all ports are different from those in the production environment, and update the `clusterID` parameter: - ``` - ... - ## modify port - http_port = 18030 - rpc_port = 19020 - query_port = 19030 - arrow_flight_sql_port = 19040 - edit_log_port = 19010 - - ## modify clusterID - clusterId= - ... - ``` - -3. Copy the backed-up Master FE metadata to the new compatibility testing environment. - - ```bash - cp ${DORIS_OLD_HOME}/fe/doris-meta/* ${DORIS_NEW_HOME}/fe/doris-meta - ``` - -4. Edit the `VERSION` file in the copied metadata directory to update the `cluster_id` to a new cluster ID, for example, change it to `123456` as shown in the example: - - ```bash - vi ${DORIS_NEW_HOME}/fe/doris-meta/image/VERSION - clusterId=123456 - ``` - -5. Start the FE process in the testing environment. - - ```bash - sh ${DORIS_NEW_HOME}/bin/start_fe.sh --daemon --metadata_failure_recovery - ``` - - For versions earlier than 2.0.2, add the `metadata_failure_recovery` parameter to the `fe.conf` file before starting the FE process: - ```bash - echo "metadata_failure_recovery=true" >> ${DORIS_NEW_HOME}/conf/fe.conf - sh ${DORIS_NEW_HOME}/bin/start_fe.sh --daemon - ``` - -6. Verify that the FE process has started successfully by connecting to the current FE using the MySQL command. For example, use the query port `19030` as mentioned above: - - ```bash - mysql -uroot -P19030 -h127.0.0.1 - ``` - -## Upgrade Steps - -The detailed process for the upgrade is as follows: - -1. Disable replica repair and balance functions - -2. Upgrade BE nodes - -3. Upgrade FE nodes - -4. Enable replica repair and balance functions - -During the upgrade process, the principle of upgrading BE nodes first, followed by upgrading FE nodes, should be followed. When upgrading FE, upgrade the Observer FE and Follower FE nodes first, and then upgrade the Master FE node. - -:::caution Note - -In general, only the `/bin` and `/lib` directories under the FE directory and the `/bin` and `/lib` directories under the BE directory need to be upgraded. - -For versions 2.0.2 and later, a `custom_lib/` directory has been added under the FE and BE deployment paths (if it doesn't exist, it can be manually created). The `custom_lib/` directory is used to store some user-defined third-party jar files, such as `hadoop-lzo-*.jar`, `orai18n.jar`, etc. This directory does not need to be replaced during the upgrade. - -::: - -### Step 1: Disable Replica Repair and Balance Functions - -During the upgrade process, nodes will be restarted, which may trigger unnecessary cluster balancing and replica repair logic. Disable these functions first using the following command: - -```sql -admin set frontend config("disable_balance" = "true"); -admin set frontend config("disable_colocate_balance" = "true"); -admin set frontend config("disable_tablet_scheduler" = "true"); -``` - - -### Step 2: Upgrade BE Nodes - -:::info Note: - -To ensure the safety of your data, please use 3 replicas to store your data to avoid data loss caused by upgrade mistakes or failures. -::: -1. In a multi-replica cluster, you can choose to stop the process on one BE node and perform a gradual upgrade: - - ```bash - sh ${DORIS_OLD_HOME}/be/bin/stop_be.sh - ``` - -2. Rename the `/bin` and `/lib` directories in the BE directory: - - ```bash - mv ${DORIS_OLD_HOME}/be/bin ${DORIS_OLD_HOME}/be/bin_back - mv ${DORIS_OLD_HOME}/be/lib ${DORIS_OLD_HOME}/be/lib_back - ``` - -3. Copy the new version's `/bin` and `/lib` directories to the original BE directory: - - ```bash - cp -r ${DORIS_NEW_HOME}/be/bin ${DORIS_OLD_HOME}/be/bin - cp -r ${DORIS_NEW_HOME}/be/lib ${DORIS_OLD_HOME}/be/lib - ``` - -4. Start the BE node: - - ```bash - sh ${DORIS_OLD_HOME}/be/bin/start_be.sh --daemon - ``` - -5. Connect to the cluster and check the node information: - - ```sql - show backends\G - ``` - - If the BE node's `alive` status is `true` and the `Version` value is the new version, the node has been successfully upgraded. - -### Step 3: Upgrade FE Nodes - -1. In a multi-FE node setup, select a non-Master node for the upgrade and stop it first: - - ```bash - sh ${DORIS_OLD_HOME}/fe/bin/stop_fe.sh - ``` - -2. Rename the `/bin`, `/lib`, and `/mysql_ssl_default_certificate` directories in the FE directory: - - ```bash - mv ${DORIS_OLD_HOME}/fe/bin ${DORIS_OLD_HOME}/fe/bin_back - mv ${DORIS_OLD_HOME}/fe/lib ${DORIS_OLD_HOME}/fe/lib_back - mv ${DORIS_OLD_HOME}/fe/mysql_ssl_default_certificate ${DORIS_OLD_HOME}/fe/mysql_ssl_default_certificate_back - ``` - -3. Copy the new version's `/bin`, `/lib`, and `/mysql_ssl_default_certificate` directories to the original FE directory: - - ```bash - cp -r ${DORIS_NEW_HOME}/fe/bin ${DORIS_OLD_HOME}/fe/bin - cp -r ${DORIS_NEW_HOME}/fe/lib ${DORIS_OLD_HOME}/fe/lib - cp -r ${DORIS_NEW_HOME}/fe/mysql_ssl_default_certificate ${DORIS_OLD_HOME}/fe/mysql_ssl_default_certificate - ``` - -4. Start the FE node: - - ```sql - sh ${DORIS_OLD_HOME}/fe/bin/start_fe.sh --daemon - ``` - -5. Connect to the cluster and check the node information: - - ```sql - show frontends\G - ``` - - If the FE node's `alive` status is `true` and the `Version` value is the new version, the node has been successfully upgraded. - -6. Complete the upgrade of the other FE nodes in sequence, and finally upgrade the Master node. - -### Step 4: Enable Replica Repair and Balance Functions - -After the upgrade is complete and all BE nodes' status is `Alive`, enable the cluster's replica repair and balance functions: - -```sql -admin set frontend config("disable_balance" = "false"); -admin set frontend config("disable_colocate_balance" = "false"); -admin set frontend config("disable_tablet_scheduler" = "false"); -``` - diff --git a/docs/admin-manual/config/be-config.md b/docs/admin-manual/config/be-config.md deleted file mode 100644 index d306ba7eb602b..0000000000000 --- a/docs/admin-manual/config/be-config.md +++ /dev/null @@ -1,1380 +0,0 @@ ---- -{ - "title": "BE Configuration", - "language": "en", - "toc_min_heading_level": 2, - "toc_max_heading_level": 4, - "description": "This document mainly introduces the relevant configuration items of BE." -} ---- - -# BE Configuration - -This document mainly introduces the relevant configuration items of BE. - -The BE configuration file `be.conf` is usually stored in the `conf/` directory of the BE deployment path. In version 0.14, another configuration file `be_custom.conf` will be introduced. The configuration file is used to record the configuration items that are dynamically configured and persisted by the user during operation. - -After the BE process is started, it will read the configuration items in `be.conf` first, and then read the configuration items in `be_custom.conf`. The configuration items in `be_custom.conf` will overwrite the same configuration items in `be.conf`. - -The location of the `be_custom.conf` file can be configured in `be.conf` through the `custom_config_dir` configuration item. - -## View configuration items - -There are two ways to view the configuration items of BE: - -1. BE web page - - Users can view the current configuration items by visiting BE's web page: - - `http://be_host:be_webserver_port/varz` - -2. View by command - - You can view the configuration items of the BE in the MySQL client with the following command,Concrete language law reference [SHOW-CONFIG](../../sql-manual/sql-statements/cluster-management/instance-management/SHOW-FRONTEND-CONFIG): - - `SHOW BACKEND CONFIG;` - - The meanings of the columns in the results are as follows: - - 1. BackendId: the id of backend. - 2. Host: the IP of backend. - 3. Key: the name of the configuration item. - 4. Value: The value of the current configuration item. - 5. Type: The configuration item value type, such as integer or string. - 6. IsMutable: whether it can be dynamically configured. If true, the configuration item can be dynamically configured at runtime. If false, it means that the configuration item can only be configured in be.conf and takes effect after restarting BE. - -## Set configuration items - -There are two ways to configure BE configuration items: - -1. Static configuration - - Add and set configuration items in the `conf/be.conf` file. The configuration items in `be.conf` will be read when BE starts. Configuration items not in `be.conf` will use default values. - -2. Dynamic configuration - - After BE starts, the configuration items can be dynamically set with the following commands. - - ``` - curl -X POST http://{be_ip}:{be_http_port}/api/update_config?{key}={value} - ``` - - In version 0.13 and before, the configuration items modified in this way will become invalid after the BE process restarts. In 0.14 and later versions, the modified configuration can be persisted through the following command. The modified configuration items are stored in the `be_custom.conf` file. - - ``` - curl -X POST http://{be_ip}:{be_http_port}/api/update_config?{key}={value}\&persist=true - ``` - -## Examples - -1. Modify `max_base_compaction_threads` statically - - By adding in the `be.conf` file: - - ```max_base_compaction_threads=5``` - - Then restart the BE process to take effect the configuration. - -2. Modify `streaming_load_max_mb` dynamically - - After BE starts, the configuration item `streaming_load_max_mb` is dynamically set by the following command: - - ``` - curl -X POST http://{be_ip}:{be_http_port}/api/update_config?streaming_load_max_mb=1024 - ``` - - The return value is as follows, indicating that the setting is successful. - - ``` - { - "status": "OK", - "msg": "" - } - ``` - - The configuration will become invalid after the BE restarts. If you want to persist the modified results, use the following command: - - ``` - curl -X POST http://{be_ip}:{be_http_port}/api/update_config?streaming_load_max_mb=1024\&persist=true - ``` - -## Configurations - -### Services - -#### `deploy_mode` - -* Type: string -* Description: The mode in which BE runs. `cloud` indicates the decoupled storage-compute mode. -* Default value: "" - -#### `be_port` - -* Type: int32 -* Description: The port of the thrift server on BE which used to receive requests from FE -* Default value: 9060 - -#### `heartbeat_service_port` - -* Type: int32 -* Description: Heartbeat service port (thrift) on BE, used to receive heartbeat from FE -* Default value: 9050 - -#### `webserver_port` - -* Type: int32 -* Description: Service port of http server on BE -* Default value: 8040 - -#### `brpc_port` - -* Type: int32 -* Description: The port of BRPC on BE, used for communication between BEs -* Default value: 8060 - -#### `arrow_flight_sql_port` - -* Type: int32 -* Description: The port of Arrow Flight SQL server on BE, used for communication between Arrow Flight Client and BE -* Default value: -1 - -#### `enable_https` - -* Type: bool -* Description: Whether https is supported. If so, configure `ssl_certificate_path` and `ssl_private_key_path` in be.conf. -* Default value: false - -#### `priority_networks` - -* Description: Declare a selection strategy for those servers with many IPs. Note that at most one ip should match this list. This is a semicolon-separated list in CIDR notation, such as 10.10.10.0/24. If there is no IP matching this rule, one will be randomly selected -* Default value: blank - -#### `storage_root_path` - -* Type: string - -* Description: data root path, separate by ';'.you can specify the storage medium of each root path, HDD or SSD. you can add capacity limit at the end of each root path, separate by ','.If the user does not use a mix of SSD and HDD disks, they do not need to configure the configuration methods in Example 1 and Example 2 below, but only need to specify the storage directory; they also do not need to modify the default storage media configuration of FE. - - eg.1: `storage_root_path=/home/disk1/doris.HDD;/home/disk2/doris.SSD;/home/disk2/doris` - - - 1./home/disk1/doris.HDD, indicates that the storage medium is HDD; - - 2./home/disk2/doris.SSD, indicates that the storage medium is SSD; - - 3./home/disk2/doris, indicates that the storage medium is HDD by default - - eg.2: `storage_root_path=/home/disk1/doris,medium:hdd;/home/disk2/doris,medium:ssd` - - - 1./home/disk1/doris,medium:hdd, indicates that the storage medium is HDD; - - 2./home/disk2/doris,medium:ssd, indicates that the storage medium is SSD; - -* Default value: ${DORIS_HOME}/storage - -#### `heartbeat_service_thread_count` - -* Type: int32 -* Description: The number of threads that execute the heartbeat service on BE. the default is 1, it is not recommended to modify -* Default value: 1 - -#### `ignore_broken_disk` - -* Type: bool -* Description: When BE starts, check ``storage_root_path`` All paths under configuration. - - - `ignore_broken_disk=true` - - If the path does not exist or the file (bad disk) cannot be read or written under the path, the path will be ignored. If there are other available paths, the startup will not be interrupted. - - - `ignore_broken_disk=false` - - If the path does not exist or the file (bad disk) cannot be read or written under the path, the system will abort the startup failure and exit. - -* Default value: false - -#### `mem_limit` - -* Type: string -* Description: Limit the percentage of the server's maximum memory used by the BE process. It is used to prevent BE memory from occupying too the machine's memory. This parameter must be greater than 0. When the percentage is greater than 100%, the value will default to 100%. -* Default value: 90% - -#### `cluster_id` - -* Type: int32 -* Description: Configure the cluster id to which the BE belongs. - - This value is usually delivered by the FE to the BE by the heartbeat, no need to configure. When it is confirmed that a BE belongs to a certain Doris cluster, it can be configured. The cluster_id file under the data directory needs to be modified to make sure same as this parament. -* Default value: -1 - -#### `custom_config_dir` - -* Description: Configure the location of the `be_custom.conf` file. The default is in the `conf/` directory. - - In some deployment environments, the `conf/` directory may be overwritten due to system upgrades. This will cause the user modified configuration items to be overwritten. At this time, we can store `be_custom.conf` in another specified directory to prevent the configuration file from being overwritten. -* Default value: blank - -#### `trash_file_expire_time_sec` - -* Description: The interval for cleaning the recycle bin is 24 hours. When the disk space is insufficient, the file retention period under trash may not comply with this parameter -* Default value: 86400 - -#### `es_http_timeout_ms` - -* Description: The timeout period for connecting to ES via http. -* Default value: 5000 (ms) - -#### `es_scroll_keepalive` - -* Description: es scroll keep-alive hold time -* Default value: 5 (m) - -#### `external_table_connect_timeout_sec` - -* Type: int32 -* Description: The timeout when establishing connection with external table such as ODBC table. -* Default value: 5 seconds - -#### `pipeline_status_report_interval` - -* Description: Interval between profile reports -* Default value: 5 seconds - -#### `brpc_max_body_size` - -* Description: This configuration is mainly used to modify the parameter `max_body_size` of brpc. - - - Sometimes the query fails and an error message of `body_size is too large` will appear in the BE log. This may happen when the SQL mode is "multi distinct + no group by + more than 1T of data".This error indicates that the packet size of brpc exceeds the configured value. At this time, you can avoid this error by increasing the configuration. - -#### `brpc_socket_max_unwritten_bytes` - -* Description: This configuration is mainly used to modify the parameter `socket_max_unwritten_bytes` of brpc. - - Sometimes the query fails and an error message of `The server is overcrowded` will appear in the BE log. This means there are too many messages to buffer at the sender side, which may happen when the SQL needs to send large bitmap value. You can avoid this error by increasing the configuration. - -#### `transfer_large_data_by_brpc` - -* Type: bool -* Description: This configuration is used to control whether to serialize the protoBuf request and embed the Tuple/Block data into the controller attachment and send it through http brpc when the length of the Tuple/Block data is greater than 1.8G. To avoid errors when the length of the protoBuf request exceeds 2G: Bad request, error_text=[E1003]Fail to compress request. In the past version, after putting Tuple/Block data in the attachment, it was sent through the default baidu_std brpc, but when the attachment exceeds 2G, it will be truncated. There is no 2G limit for sending through http brpc. -* Default value: true - -#### `brpc_num_threads` - -* Description: This configuration is mainly used to modify the number of bthreads for brpc. The default value is set to 256. - - User can set this configuration to a larger value to get better QPS performance. For more information, please refer to `https://github.com/apache/incubator-brpc/blob/master/docs/cn/benchmark.md` -* Default value: 256 - -#### `thrift_rpc_timeout_ms` - -* Description: thrift default timeout time -* Default value: 60000 - -#### `thrift_client_retry_interval_ms` - -* Type: int64 -* Description: Used to set retry interval for thrift client in be to avoid avalanche disaster in fe thrift server, the unit is ms. -* Default value: 1000 - -#### `thrift_connect_timeout_seconds` - -* Description: The default thrift client connection timeout time -* Default value: 3 (s) - -#### `thrift_server_type_of_fe` - -* Type: string -* Description:This configuration indicates the service model used by FE's Thrift service. The type is string and is case-insensitive. This parameter needs to be consistent with the setting of fe's thrift_server_type parameter. Currently there are two values for this parameter, `THREADED` and `THREAD_POOL`. - - - If the parameter is `THREADED`, the model is a non-blocking I/O model. - - - If the parameter is `THREAD_POOL`, the model is a blocking I/O model. - -#### `thrift_max_message_size` - -Default: 100MB - -The maximum size of a (received) message of the thrift server, in bytes. If the size of the message sent by the client exceeds this limit, the Thrift server will reject the request and close the connection. As a result, the client will encounter the error: "connection has been closed by peer." In this case, you can try increasing this parameter. - -#### `txn_commit_rpc_timeout_ms` - -* Description:txn submit rpc timeout -* Default value: 60,000 (ms) - -#### `txn_map_shard_size` - -* Description: txn_map_lock fragment size, the value is 2^n, n=0,1,2,3,4. This is an enhancement to improve the performance of managing txn -* Default value: 128 - -#### `txn_shard_size` - -* Description: txn_lock shard size, the value is 2^n, n=0,1,2,3,4, this is an enhancement function that can improve the performance of submitting and publishing txn -* Default value: 1024 - -#### `unused_rowset_monitor_interval` - -* Description: Time interval for clearing expired Rowset -* Default value: 30 (s) - -#### `max_client_cache_size_per_host` - -* Description: The maximum number of client caches per host. There are multiple client caches in BE, but currently we use the same cache size configuration. If necessary, use different configurations to set up different client-side caches -* Default value: 10 - -#### `string_type_length_soft_limit_bytes` - -* Type: int32 -* Description: The soft limit of the maximum length of String type. -* Default value: 1,048,576 - -#### `big_column_size_buffer` - -* Type: int64 -* Description: When using the odbc external table, if a column type of the odbc source table is HLL, CHAR or VARCHAR, and the length of the column value exceeds this value, the query will report an error 'column value length longer than buffer length'. You can increase this value -* Default value: 65535 - -#### `small_column_size_buffer` - -* Type: int64 -* Description: When using the odbc external table, if a column type of the odbc source table is not HLL, CHAR or VARCHAR, and the length of the column value exceeds this value, the query will report an error 'column value length longer than buffer length'. You can increase this value -* Default value: 100 - -### Query - -#### `fragment_mgr_asynic_work_pool_queue_size` - -* Description: The upper limit of asynic work that can be processed on a single node -* Default value: 4096 - -#### `fragment_mgr_asynic_work_pool_thread_num_min` - -* Description: Number of threads to execute asynic work. By default, the minimum number of threads is 16. -* Default value: 16 - -#### `fragment_mgr_asynic_work_pool_thread_num_max` - -* Description: Follow up asynic work create threads dynamically, with a maximum of 512 threads created. -* Default value: 512 - -#### `doris_scanner_row_num` - -* Description: The maximum number of data rows returned by each scanning thread in a single execution -* Default value: 16384 - -#### `doris_scanner_row_bytes` - -* Description: single read execute fragment row bytes - - Note: If there are too many columns in the table, you can adjust this config if you encounter a `select *` stuck -* Default value: 10485760 - -#### `doris_scanner_thread_pool_queue_size` - -* Type: int32 -* Description: The queue length of the Scanner thread pool. In Doris' scanning tasks, each Scanner will be submitted as a thread task to the thread pool waiting to be scheduled, and after the number of submitted tasks exceeds the length of the thread pool queue, subsequent submitted tasks will be blocked until there is a empty slot in the queue. -* Default value: 102400 - -#### `doris_scanner_thread_pool_thread_num` - -* Type: int32 -* Description: The number of threads in the Scanner thread pool. In Doris' scanning tasks, each Scanner will be submitted as a thread task to the thread pool to be scheduled. This parameter determines the size of the Scanner thread pool. -* Default value: Depending on cpu cores. Equal to `max(48, 2 * num_of_cpu_cores)` - -#### `doris_max_remote_scanner_thread_pool_thread_num` - -* Type: int32 -* Description: Max thread number of Remote scanner thread pool. Remote scanner thread pool is used for scan task of all external data sources. -* Default: 512 - -#### `exchg_node_buffer_size_bytes` - -* Type: int32 -* Description: The size of the Buffer queue of the ExchangeNode node, in bytes. After the amount of data sent from the Sender side is larger than the Buffer size of ExchangeNode, subsequent data sent will block until the Buffer frees up space for writing. -* Default value: 10485760 - -#### `doris_scan_range_max_mb` - -* Type: int32 -* Description: The maximum amount of data read by each OlapScanner. -* Default value: 1024 - -### compaction - -#### `disable_auto_compaction` - -* Type: bool -* Description: Whether disable automatic compaction task - - Generally it needs to be turned off. When you want to manually operate the compaction task in the debugging or test environment, you can turn on the configuration. -* Default value: false - -#### `enable_vertical_compaction` - -* Type: bool -* Description: Whether to enable vertical compaction -* Default value: true - -#### `vertical_compaction_num_columns_per_group` - -* Type: int32 -* Description: In vertical compaction, column number for every group -* Default value: 5 - -#### `vertical_compaction_max_row_source_memory_mb` - -* Type: int32 -* Description: In vertical compaction, max memory usage for row_source_buffer,The unit is MB. -* Default value: 200 - -#### `vertical_compaction_max_segment_size` - -* Type: int32 -* Description: In vertical compaction, max dest segment file size, The unit is m bytes. -* Default value: 268435456 - -#### `enable_ordered_data_compaction` - -* Type: bool -* Description: Whether to enable ordered data compaction -* Default value: true - -#### `ordered_data_compaction_min_segment_size` - -* Type: int32 -* Description: In ordered data compaction, min segment size for input rowset, The unit is m bytes. -* Default value: 10485760 - -#### `max_base_compaction_threads` - -* Type: int32 -* Description: The maximum of thread number in base compaction thread pool, -1 means one thread per disk. -* Default value: 4 - -#### `generate_compaction_tasks_interval_ms` - -* Description: Minimal interval (ms) to generate compaction tasks -* Default value: 10 (ms) - -#### `base_compaction_min_rowset_num` - -* Description: One of the triggering conditions of BaseCompaction: The limit of the number of Cumulative files to be reached. After reaching this limit, BaseCompaction will be triggered -* Default value: 5 - -#### `base_compaction_min_data_ratio` - -* Description: One of the trigger conditions of BaseCompaction: Cumulative file size reaches the proportion of Base file -* Default value: 0.3 (30%) - -#### `total_permits_for_compaction_score` - -* Type: int64 -* Description: The upper limit of "permits" held by all compaction tasks. This config can be set to limit memory consumption for compaction. -* Default value: 10000 -* Dynamically modifiable: Yes - -#### `compaction_promotion_size_mbytes` - -* Type: int64 -* Description: The total disk size of the output rowset of cumulative compaction exceeds this configuration size, and the rowset will be used for base compaction. The unit is m bytes. - - Generally, if the configuration is less than 2G, in order to prevent the cumulative compression time from being too long, resulting in the version backlog. -* Default value: 1024 - -#### `compaction_promotion_ratio` - -* Type: double -* Description: When the total disk size of the cumulative compaction output rowset exceeds the configuration ratio of the base version rowset, the rowset will be used for base compaction. - - Generally, it is recommended that the configuration should not be higher than 0.1 and lower than 0.02. -* Default value: 0.05 - -#### `compaction_promotion_min_size_mbytes` - -* Type: int64 -* Description: If the total disk size of the output rowset of the cumulative compaction is lower than this configuration size, the rowset will not undergo base compaction and is still in the cumulative compaction process. The unit is m bytes. - - Generally, the configuration is within 512m. If the configuration is too large, the size of the early base version is too small, and base compaction has not been performed. -* Default value: 128 - -#### `compaction_min_size_mbytes` - -* Type: int64 -* Description: When the cumulative compaction is merged, the selected rowsets to be merged have a larger disk size than this configuration, then they are divided and merged according to the level policy. When it is smaller than this configuration, merge directly. The unit is m bytes. - - Generally, the configuration is within 128m. Over configuration will cause more cumulative compaction write amplification. -* Default value: 64 - -#### `default_rowset_type` - -* Type: string -* Description: Identifies the storage format selected by BE by default. The configurable parameters are: "**ALPHA**", "**BETA**". Mainly play the following two roles - - When the storage_format of the table is set to Default, select the storage format of BE through this configuration. - - Select the storage format of when BE performing Compaction -* Default value: BETA - -#### `cumulative_compaction_min_deltas` - -* Description: Cumulative compaction strategy: the minimum number of incremental files -* Default value: 5 - -#### `cumulative_compaction_max_deltas` - -* Description: Cumulative compaction strategy: the maximum number of incremental files -* Default value: 1000 - -#### `base_compaction_trace_threshold` - -* Type: int32 -* Description: Threshold to logging base compaction's trace information, in seconds -* Default value: 10 - -Base compaction is a long time cost background task, this configuration is the threshold to logging trace information. Trace information in log file looks like: - -``` -W0610 11:26:33.804431 56452 storage_engine.cpp:552] execute base compaction cost 0.00319222 -BaseCompaction:546859: - - filtered_rows: 0 - - input_row_num: 10 - - input_rowsets_count: 10 - - input_rowsets_data_size: 2.17 KB - - input_segments_num: 10 - - merge_rowsets_latency: 100000.510ms - - merged_rows: 0 - - output_row_num: 10 - - output_rowset_data_size: 224.00 B - - output_segments_num: 1 -0610 11:23:03.727535 (+ 0us) storage_engine.cpp:554] start to perform base compaction -0610 11:23:03.728961 (+ 1426us) storage_engine.cpp:560] found best tablet 546859 -0610 11:23:03.728963 (+ 2us) base_compaction.cpp:40] got base compaction lock -0610 11:23:03.729029 (+ 66us) base_compaction.cpp:44] rowsets picked -0610 11:24:51.784439 (+108055410us) compaction.cpp:46] got concurrency lock and start to do compaction -0610 11:24:51.784818 (+ 379us) compaction.cpp:74] prepare finished -0610 11:26:33.359265 (+101574447us) compaction.cpp:87] merge rowsets finished -0610 11:26:33.484481 (+125216us) compaction.cpp:102] output rowset built -0610 11:26:33.484482 (+ 1us) compaction.cpp:106] check correctness finished -0610 11:26:33.513197 (+ 28715us) compaction.cpp:110] modify rowsets finished -0610 11:26:33.513300 (+ 103us) base_compaction.cpp:49] compaction finished -0610 11:26:33.513441 (+ 141us) base_compaction.cpp:56] unused rowsets have been moved to GC queue -``` - -#### `cumulative_compaction_trace_threshold` - -* Type: int32 -* Description: Threshold to logging cumulative compaction's trace information, in seconds - - Similar to `base_compaction_trace_threshold`. -* Default value: 2 - -#### `compaction_task_num_per_disk` - -* Type: int32 -* Description: The number of compaction tasks which execute in parallel for a disk(HDD). -* Default value: 4 - -#### `compaction_task_num_per_fast_disk` - -* Type: int32 -* Description: The number of compaction tasks which execute in parallel for a fast disk(SSD). -* Default value: 8 - -#### `cumulative_compaction_rounds_for_each_base_compaction_round` - -* Type: int32 -* Description: How many rounds of cumulative compaction for each round of base compaction when compaction tasks generation. -* Default value: 9 - -#### `max_cumu_compaction_threads` - -* Type: int32 -* Description: The maximum of thread number in cumulative compaction thread pool, -1 means one thread per disk. -* Default value: -1 - -#### `enable_segcompaction` - -* Type: bool -* Description: Enable to use segment compaction during loading to avoid -238 error -* Default value: true - -#### `segcompaction_batch_size` - -* Type: int32 -* Description: Segment compaction is triggered when the number of segments exceeds this threshold. This configuration also limits the maximum number of raw segments in a single segment compaction task. -* Default value: 10 - -#### `segcompaction_candidate_max_rows` - -* Type: int32 -* Description: Max row count allowed in a single source segment, bigger segments will be skipped. -* Default value: 1048576 - -#### `segcompaction_candidate_max_bytes` - -* Type: int64 -* Description: Max file size allowed in a single source segment, bigger segments will be skipped. -* Default value: 104857600 - -#### `segcompaction_task_max_rows` - -* Type: int32 -* Description: Max total row count allowed in a single segcompaction task. -* Default value: 1572864 - -#### `segcompaction_task_max_bytes` - -* Type: int64 -* Description: Max total file size allowed in a single segcompaction task. -* Default value: 157286400 - -#### `segcompaction_num_threads` - -* Type: int32 -* Description: Global segcompaction thread pool size. -* Default value: 5 - -#### `disable_compaction_trace_log` - -* Type: bool -* Description: disable the trace log of compaction - - If set to true, the `cumulative_compaction_trace_threshold` and `base_compaction_trace_threshold` won't work and log is disabled. -* Default value: true - -#### `pick_rowset_to_compact_interval_sec` - -* Type: int64 -* Description: select the time interval in seconds for rowset to be compacted. -* Default value: 86400 - -#### `max_single_replica_compaction_threads` - -* Type: int32 -* Description: The maximum of thread number in single replica compaction thread pool. -1 means one thread per disk. -* Default value: -1 - -#### `update_replica_infos_interval_seconds` - -* Description: Minimal interval (s) to update peer replica infos -* Default value: 60 (s) - -#### `cold_data_compaction_score_threshold` - -* Type: int32 -* Description: This configuration specifies the minimum compaction score threshold for cold data before triggering compaction. When the compaction score of cold data exceeds this threshold, compaction will be considered. Adjusting this value helps control the frequency and aggressiveness of compaction on cold data in remote storage. Supported since 3.1.3. -* Default value: 100 - -#### `cold_data_compaction_thread_num` - -* Type: int32 -* Description: The number of threads used for cold data compaction. This configuration controls the degree of parallelism for cold data compaction tasks. Increasing this value allows more compaction tasks on cold data to run simultaneously, which may improve throughput but also increase resource usage. -* Default value: 2 - -#### `cold_data_compaction_interval_sec` - -* Type: int32 -* Description: The time interval in seconds between triggers for cold data compaction. A shorter interval means compaction on cold data will be considered more frequently, potentially leading to faster cleanup but higher resource consumption. -* Default value: 1800 (seconds) - -### Load - -#### `enable_stream_load_record` - -* Type: bool -* Description:Whether to enable stream load record function, the default is false. -* Default value: false - -#### `load_data_reserve_hours` - -* Description: Used for mini load. The mini load data file will be deleted after this time -* Default value: 4 (h) - -#### `push_worker_count_high_priority` - -* Description: Import the number of threads for processing HIGH priority tasks -* Default value: 3 - -#### `push_worker_count_normal_priority` - -* Description: Import the number of threads for processing NORMAL priority tasks -* Default value: 3 - -#### `enable_single_replica_load` - -* Description: Whether to enable the single-copy data import function -* Default value: true - -#### `load_error_log_reserve_hours` - -* Description: The load error log will be deleted after this time -* Default value: 48 (h) - -#### `load_error_log_limit_bytes` - -* Description: The loading error logs larger than this value will be truncated -* Default value: 209715200 (byte) - -#### `load_process_max_memory_limit_percent` - -* Description: The percentage of the upper memory limit occupied by all imported threads on a single node, the default is 50% - - Set these default values very large, because we don't want to affect load performance when users upgrade Doris. If necessary, the user should set these configurations correctly -* Default value: 50 (%) - -#### `load_process_soft_mem_limit_percent` - -* Description: The soft limit refers to the proportion of the load memory limit of a single node. For example, the load memory limit for all load tasks is 20GB, and the soft limit defaults to 50% of this value, that is, 10GB. When the load memory usage exceeds the soft limit, the job with the largest memory consumption will be selected to be flushed to release the memory space, the default is 50% -* Default value: 50 (%) - -#### `slave_replica_writer_rpc_timeout_sec` - -* Type: int32 -* Description: This configuration is mainly used to modify timeout of brpc between master replica and slave replica, used for single replica load. -* Default value: 60 - -#### `max_segment_num_per_rowset` - -* Type: int32 -* Description: Used to limit the number of segments in the newly generated rowset when importing. If the threshold is exceeded, the import will fail with error -238. Too many segments will cause compaction to take up a lot of memory and cause OOM errors. -* Default value: 200 - -#### `high_priority_flush_thread_num_per_store` - -* Type: int32 -* Description: The number of flush threads per store path allocated for the high priority import task. -* Default value: 1 - -#### `routine_load_consumer_pool_size` - -* Type: int32 -* Description: The number of caches for the data consumer used by the routine load. -* Default value: 10 - -#### `multi_table_batch_plan_threshold` - -* Type: int32 -* Description: For single-stream-multi-table load. When receive a batch of messages from kafka, if the size of batch is more than this threshold, we will request plans for all related tables. -* Default value: 200 - -#### `multi_table_max_wait_tables` - -* Type: int32 -* Description: Used in single-stream-multi-table load. When receiving a batch of messages from Kafka, if the size of the table wait for plan is more than this threshold, we will request plans for all related tables.The param is aimed to avoid requesting and executing too many plans at once. Performing small batch processing on multiple tables during the loaded process can reduce the pressure of a single RPC and improve the real-time processing of data. -* Default value: 5 - -#### `single_replica_load_download_num_workers` - -* Type: int32 -* Description:This configuration is mainly used to modify the number of http worker threads for segment download, used for single replica load. When the load concurrency increases, you can adjust this parameter to ensure that the Slave replica synchronizes data files from the Master replica timely. If needed, `webserver_num_workers` should also be increased for better IO performance. -* Default value: 64 - -#### `load_task_high_priority_threshold_second` - -* Type: int32 -* Description: When the timeout of an import task is less than this threshold, Doris will consider it to be a high priority task. High priority tasks use a separate pool of flush threads. -* Default: 120 - -#### `min_load_rpc_timeout_ms` - -* Type: int32 -* Description: The minimum timeout for each rpc in the load job. -* Default: 20 - -#### `kafka_api_version_request` - -* Type: bool -* Description: If the dependent Kafka version is lower than 0.10.0.0, this value should be set to false. -* Default: true - -#### `kafka_broker_version_fallback` - -* Description: If the dependent Kafka version is lower than 0.10.0.0, the value set by the fallback version kafka_broker_version_fallback will be used if the value of kafka_api_version_request is set to false, and the valid values are: 0.9.0.x, 0.8.x.y. -* Default: 0.10.0 - -#### `max_consumer_num_per_group` - -* Description: The maximum number of consumers in a data consumer group, used for routine load -* Default: 3 - -#### `streaming_load_max_mb` - -* Type: int64 -* Description: Used to limit the maximum amount of csv data allowed in one Stream load. - - Stream Load is generally suitable for loading data less than a few GB, not suitable for loading too large data. -* Default value: 10240 (MB) -* Dynamically modifiable: Yes - -#### `streaming_load_json_max_mb` - -* Type: int64 -* Description: it is used to limit the maximum amount of json data allowed in one Stream load. The unit is MB. - - Some data formats, such as JSON, cannot be split. Doris must read all the data into the memory before parsing can begin. Therefore, this value is used to limit the maximum amount of data that can be loaded in a single Stream load. -* Default value: 100 -* Dynamically modifiable: Yes - -#### `olap_table_sink_send_interval_microseconds` - -* Description: While loading data, there's a polling thread keep sending data to corresponding BE from Coordinator's sink node. This thread will check whether there's data to send every `olap_table_sink_send_interval_microseconds` microseconds. -* Default value: 1000 - -#### `olap_table_sink_send_interval_auto_partition_factor` - -* Description: If we load data to a table which enabled auto partition. the interval of `olap_table_sink_send_interval_microseconds` is too slow. In that case the real interval will multiply this factor. -* Default value: 0.001 - -### Thread - -#### `delete_worker_count` - -* Description: Number of threads performing data deletion tasks -* Default value: 3 - -#### `clear_transaction_task_worker_count` - -* Description: Number of threads used to clean up transactions -* Default value: 1 - -#### `clone_worker_count` - -* Description: Number of threads used to perform cloning tasks -* Default value: 3 - -#### `be_service_threads` - -* Type: int32 -* Description: The number of execution threads of the thrift server service on BE which represents the number of threads that can be used to execute FE requests. -* Default value: 64 - -#### `download_worker_count` - -* Description: The number of download threads. -* Default value: 1 - -#### `drop_tablet_worker_count` - -* Description: Number of threads to delete tablet -* Default value: 3 - -#### `flush_thread_num_per_store` - -* Description: The number of threads used to refresh the memory table per store -* Default value: 2 - -#### `publish_version_worker_count` - -* Description: the count of thread to publish version -* Default value: 8 - -#### `upload_worker_count` - -* Description: Maximum number of threads for uploading files -* Default value: 1 - -#### `webserver_num_workers` - -* Description: Webserver default number of worker threads -* Default value: 48 - -#### `send_batch_thread_pool_thread_num` - -* Type: int32 -* Description: The number of threads in the SendBatch thread pool. In NodeChannels' sending data tasks, the SendBatch operation of each NodeChannel will be submitted as a thread task to the thread pool to be scheduled. This parameter determines the size of the SendBatch thread pool. -* Default value: 64 - -#### `send_batch_thread_pool_queue_size` - -* Type: int32 -* Description: The queue length of the SendBatch thread pool. In NodeChannels' sending data tasks, the SendBatch operation of each NodeChannel will be submitted as a thread task to the thread pool waiting to be scheduled, and after the number of submitted tasks exceeds the length of the thread pool queue, subsequent submitted tasks will be blocked until there is a empty slot in the queue. -* Default value: 102400 - -#### `make_snapshot_worker_count` - -* Description: Number of threads making snapshots -* Default value: 5 - -#### `release_snapshot_worker_count` - -* Description: Number of threads releasing snapshots -* Default value: 5 - -### Memory - -#### `madvise_huge_pages` - -* Type: bool -* Description: Whether to use linux memory huge pages. -* Default value: false - -#### `max_memory_sink_batch_count` - -* Description: The maximum external scan cache batch count, which means that the cache max_memory_cache_batch_count * batch_size row, the default is 20, and the default value of batch_size is 1024, which means that 20 * 1024 rows will be cached -* Default value: 20 - -#### `memory_max_alignment` - -* Description: Maximum alignment memory -* Default value: 16 - -#### `mmap_buffers` - -* Description: Whether to use mmap to allocate memory -* Default value: false - -#### `memtable_mem_tracker_refresh_interval_ms` - -* Description: Interval in milliseconds between memtable flush mgr refresh iterations -* Default value: 100 - -#### `zone_map_row_num_threshold` - -* Type: int32 -* Description: If the number of rows in a page is less than this value, no zonemap will be created to reduce data expansion -* Default value: 20 - -#### `memory_mode` - -* Type: string -* Description: Control gc of tcmalloc, in performance mode Doris releases memory of tcmalloc cache when usage >= 90% * mem_limit, otherwise, doris releases memory of tcmalloc cache when usage >= 50% * mem_limit; -* Default value: performance - -#### `max_sys_mem_available_low_water_mark_bytes` - -* Type: int64 -* Description: The maximum low water mark of the system `/proc/meminfo/MemAvailable`, Unit byte, default 1.6G, actual low water mark=min(1.6G, MemTotal * 10%), avoid wasting too much memory on machines with large memory larger than 16G. Turn up max. On machines with more than 16G memory, more memory buffers will be reserved for Full GC. Turn down max. will use as much memory as possible. -* Default value: 1717986918 - -#### `memory_limitation_per_thread_for_schema_change_bytes` - -* Description: Maximum memory allowed for a single schema change task -* Default value: 2147483648 (2GB) - -#### `mem_tracker_consume_min_size_bytes` - -* Type: int32 -* Description: The minimum length of TCMalloc Hook when consume/release MemTracker. Consume size smaller than this value will continue to accumulate to avoid frequent calls to consume/release of MemTracker. Decreasing this value will increase the frequency of consume/release. Increasing this value will cause MemTracker statistics to be inaccurate. Theoretically, the statistical value of a MemTracker differs from the true value = ( mem_tracker_consume_min_size_bytes * the number of BE threads where the MemTracker is located). -* Default value: 1,048,576 - -#### `min_buffer_size` - -* Description: Minimum read buffer size -* Default value: 1024 (byte) - -#### `write_buffer_size` - -* Description: The size of the buffer before flashing - - Imported data is first written to a memory block on the BE, and only written back to disk when this memory block reaches the threshold. The default size is 100MB. too small a threshold may result in a large number of small files on the BE. This threshold can be increased to reduce the number of files. However, too large a threshold may cause RPC timeouts -* Default value: 104,857,600 - -#### `remote_storage_read_buffer_mb` - -* Type: int32 -* Description: The cache size used when reading files on hdfs or object storage. - - Increasing this value can reduce the number of calls to read remote data, but it will increase memory overhead. -* Default value: 16 (MB) - -#### `file_cache_type` - -* Type: string -* Description: Type of cache file.`whole_file_cache`: download the entire segment file, `sub_file_cache`: the segment file is divided into multiple files by size. if set "", no cache, please set this parameter when caching is required. -* Default value: "" - -#### `path_gc_check` - -* Type:bool -* Description: Whether to enable the recycle scan data thread check -* Default:true - -#### `path_gc_check_interval_second` - -* Description: Recycle scan data thread check interval -* Default:86400 (s) - -#### `path_gc_check_step` - -* Default:1000 - -#### `path_gc_check_step_interval_ms` - -* Default:10 (ms) - -#### `scan_context_gc_interval_min` - -* Description: This configuration is used for the context gc thread scheduling cycle. Note: The unit is minutes, and the default is 5 minutes -* Default:5 - -### Storage - -#### `default_num_rows_per_column_file_block` - -* Type: int32 -* Description: Configure how many rows of data are contained in a single RowBlock. -* Default value: 1024 - -#### `disable_storage_page_cache` - -* Type: bool -* Description: Disable to use page cache for index caching, this configuration only takes effect in BETA storage format, usually it is recommended to false -* Default value: false - -#### `disk_stat_monitor_interval` - -* Description: Disk status check interval -* Default value: 5 (s) - -#### `max_free_io_buffers` - -* Description: For each io buffer size, the maximum number of buffers that IoMgr will reserve ranges from 1024B to 8MB buffers, up to about 2GB buffers. -* Default value: 128 - -#### `max_garbage_sweep_interval` - -* Description: The maximum interval for disk garbage cleaning -* Default value: 3600 (s) - -#### `max_percentage_of_error_disk` - -* Type: int32 -* Description: The storage engine allows the percentage of damaged hard disks to exist. After the damaged hard disk exceeds the changed ratio, BE will automatically exit. -* Default value: 0 - -#### `min_garbage_sweep_interval` - -* Description: The minimum interval between disk garbage cleaning -* Default value: 180 (s) - -#### `pprof_profile_dir` - -* Description: pprof profile save directory -* Default value: ${DORIS_HOME}/log - -#### `small_file_dir` - -* Description: Save files downloaded by SmallFileMgr -* Default value: ${DORIS_HOME}/lib/small_file/ - -#### `user_function_dir` - -* Description: udf function directory -* Default value: `${DORIS_HOME}/lib/udf` - -#### `storage_flood_stage_left_capacity_bytes` - -* Description: The min bytes that should be left of a data dir. -* Default value: 1073741824 - -#### `storage_flood_stage_usage_percent` - -* Description: The storage_flood_stage_usage_percent and storage_flood_stage_left_capacity_bytes configurations limit the maximum usage of the capacity of the data directory. -* Default value: 90 (90%) - -#### `storage_medium_migrate_count` - -* Description: the count of thread to clone -* Default value: 1 - -#### `storage_page_cache_limit` - -* Description: Cache for storage page size -* Default value: 20% - -#### `storage_page_cache_shard_size` - -* Description: Shard size of StoragePageCache, the value must be power of two. It's recommended to set it to a value close to the number of BE cores in order to reduce lock contentions. -* Default value: 16 - -#### `index_page_cache_percentage` - -* Type: int32 -* Description: Index page cache as a percentage of total storage page cache, value range is [0, 100] -* Default value: 10 - -#### `segment_cache_capacity` -* Type: int32 -* Description: Max number of segment cache (the key is rowset id) entries. -1 is for backward compatibility as fd_number * 2/5. -* Default value: -1 - -#### `storage_strict_check_incompatible_old_format` - -* Type: bool -* Description: Used to check incompatible old format strictly -* Default value: true -* Dynamically modify: false - -#### `sync_tablet_meta` - -* Description: Whether the storage engine opens sync and keeps it to the disk -* Default value: true - -#### `pending_data_expire_time_sec` - -* Description: The maximum duration of unvalidated data retained by the storage engine -* Default value: 1800 (s) - -#### `ignore_rowset_stale_unconsistent_delete` - -* Type: boolean -* Description:It is used to decide whether to delete the outdated merged rowset if it cannot form a consistent version path. - - The merged expired rowset version path will be deleted after half an hour. In abnormal situations, deleting these versions will result in the problem that the consistent path of the query cannot be constructed. When the configuration is false, the program check is strict and the program will directly report an error and exit.When configured as true, the program will run normally and ignore this error. In general, ignoring this error will not affect the query, only when the merged version is dispatched by fe, -230 error will appear. -* Default value: false - -#### `create_tablet_worker_count` - -* Description: Number of worker threads for BE to create a tablet -* Default value: 3 - -#### `check_consistency_worker_count` - -* Description: The number of worker threads to calculate the checksum of the tablet -* Default value: 1 - -#### `max_tablet_version_num` - -* Type: int -* Description: Limit the number of versions of a single tablet. It is used to prevent a large number of version accumulation problems caused by too frequent import or untimely compaction. When the limit is exceeded, the import task will be rejected. -* Default value: 2000 - -#### `tablet_map_shard_size` - -* Description: tablet_map_lock fragment size, the value is 2^n, n=0,1,2,3,4, this is for better tablet management -* Default value: 4 - -#### `tablet_meta_checkpoint_min_interval_secs` - -* Description: TabletMeta Checkpoint 线程轮询的时间间隔 -* Default value: 600 (s) - -#### `tablet_meta_checkpoint_min_new_rowsets_num` - -* Description: The minimum number of Rowsets for storing TabletMeta Checkpoints -* Default value: 10 - -#### `tablet_rowset_stale_sweep_time_sec` - -* Type: int64 -* Description: It is used to control the expiration time of cleaning up the merged rowset version. When the current time now() minus the max created rowset's create time in a version path is greater than tablet_rowset_stale_sweep_time_sec, the current path is cleaned up and these merged rowsets are deleted, the unit is second. - - When writing is too frequent, Fe may not be able to query the merged version, resulting in a query -230 error. This problem can be avoided by increasing this parameter. -* Default value: 300 - -#### `tablet_writer_open_rpc_timeout_sec` - -* Description: Update interval of tablet state cache - - The RPC timeout for sending a Batch (1024 lines) during import. The default is 60 seconds. Since this RPC may involve writing multiple batches of memory, the RPC timeout may be caused by writing batches, so this timeout can be adjusted to reduce timeout errors (such as send batch fail errors). Also, if you increase the write_buffer_size configuration, you need to increase this parameter as well. -* Default value: 60 - -#### `tablet_writer_ignore_eovercrowded` - -* Type: bool -* Description: Used to ignore brpc error '[E1011]The server is overcrowded' when writing data. -* Default value: false - -#### `streaming_load_rpc_max_alive_time_sec` - -* Description: The lifetime of TabletsChannel. If the channel does not receive any data at this time, the channel will be deleted. -* Default value: 1200 - -#### `alter_tablet_worker_count` - -* Description: The number of threads making schema changes -* Default value: 3 - -#### `alter_index_worker_count` - -* Description: The number of threads making index change -* Default value: 3 - -#### `ignore_load_tablet_failure` - -* Type: bool -* Description: It is used to decide whether to ignore errors and continue to start be in case of tablet loading failure -* Default value: false - -When BE starts, a separate thread will be started for each data directory to load the meta information of the tablet header. In the default configuration, if a data directory fails to load a tablet, the startup process will terminate. At the same time, it will be displayed in the ` be The following error message is seen in the INFO ` log: - -``` -load tablets from header failed, failed tablets size: xxx, path=xxx -``` - -Indicates how many tablets failed to load in the data directory. At the same time, the log will also contain specific information about the tablets that failed to load. At this time, manual intervention is required to troubleshoot the cause of the error. After troubleshooting, there are usually two ways to restore: - - The tablet information cannot be repaired. If the other copies are normal, you can delete the wrong tablet with the `meta_tool` tool. - - Set `ignore_load_tablet_failure` to true, BE will ignore these faulty tablets and start normally - -#### `report_disk_state_interval_seconds` - -* Description: The interval time for the agent to report the disk status to FE -* Default value: 60 (s) - -#### `result_buffer_cancelled_interval_time` - -* Description: Result buffer cancellation time -* Default value: 300 (s) - -#### `snapshot_expire_time_sec` - -* Description: Snapshot file cleaning interval. -* Default value:172800 (48 hours) - -### Log - -#### `sys_log_dir` - -* Type: string -* Description: Storage directory of BE log data -* Default value: `${DORIS_HOME}/log` - -#### `sys_log_level` - -* Description: Log Level: INFO < WARNING < ERROR < FATAL -* Default value: INFO - -#### `sys_log_roll_mode` - -* Description: The size of the log split, one log file is split every 1G -* Default value: SIZE-MB-1024 - -#### `sys_log_roll_num` - -* Description: Number of log files kept -* Default value: 10 - -#### `sys_log_verbose_level` - -* Description: Log display level, used to control the log output at the beginning of VLOG in the code -* Default value: 10 - -#### `sys_log_verbose_modules` - -* Description: Log printing module, writing olap will only print the log under the olap module -* Default value: empty - -#### `aws_log_level` - -* Type: int32 -* Description: log level of AWS SDK, - ``` - Off = 0, - Fatal = 1, - Error = 2, - Warn = 3, - Info = 4, - Debug = 5, - Trace = 6 - ``` -* Default value: 3 - -#### `log_buffer_level` - -* Description: The log flushing strategy is kept in memory by default -* Default value: empty - -### Others - -#### `report_tablet_interval_seconds` - -* Description: The interval time for the agent to report the olap table to the FE -* Default value: 60 (s) - -#### `report_task_interval_seconds` - -* Description: The interval time for the agent to report the task signature to FE -* Default value: 10 (s) - -#### `periodic_counter_update_period_ms` - -* Description: Update rate counter and sampling counter cycle -* Default value: 500 (ms) - -#### `enable_metric_calculator` - -* Description: If set to true, the metric calculator will run to collect BE-related indicator information, if set to false, it will not run -* Default value: true - -#### `enable_system_metrics` - -* Description: User control to turn on and off system indicators. -* Default value: true - -#### `enable_token_check` - -* Description: Used for forward compatibility, will be removed later. -* Default value: true - -#### `max_runnings_transactions_per_txn_map` - -* Description: Max number of txns for every txn_partition_map in txn manager, this is a self protection to avoid too many txns saving in manager -* Default value: 2000 - -#### `max_download_speed_kbps` - -* Description: Maximum download speed limit -* Default value: 50000 (kb/s) - -#### `download_low_speed_time` - -* Description: Download time limit -* Default value: 300 (s) - -#### `download_low_speed_limit_kbps` - -* Description: Minimum download speed -* Default value: 50 (KB/s) - -#### `enable_batch_download` - -* Description: Whether to download files in batch, it is recommended to open it when the binlog is enabled. -* Default value: false - -#### `priority_queue_remaining_tasks_increased_frequency` - -* Description: the increased frequency of priority for remaining tasks in BlockingPriorityQueue -* Default value: 512 - - -#### `jdbc_drivers_dir` - -* Description: Default dirs to put jdbc drivers. -* Default value: `${DORIS_HOME}/jdbc_drivers` - -#### `enable_simdjson_reader` - -* Description: Whether enable simdjson to parse json while stream load -* Default value: true - -#### `user_files_secure_path` - -* Description: The storage directory for files queried by `local` table valued functions. -* Default value: `${DORIS_HOME}` - -#### `brpc_streaming_client_batch_bytes` - -* Description: The batch size for sending data by brpc streaming client -* Default value: 262144 - -#### `grace_shutdown_wait_seconds` - -* Description: In cloud native deployment scenario, BE will be add to cluster and remove from cluster very frequently. User's query will fail if there is a fragment is running on the shuting down BE. Users could use stop_be.sh --grace, then BE will wait all running queries to stop to avoiding running query failure, but if the waiting time exceed the limit, then be will exit directly. During this period, FE will not send any queries to BE and waiting for all running queries to stop. -* Default value: 120 - -#### `enable_java_support` - -* Description: BE Whether to enable the use of java-jni. When enabled, mutual calls between c++ and java are allowed. Currently supports hudi, java-udf, jdbc, max-compute, paimon, preload, avro -* Default value: true - -#### `group_commit_wal_path` - -* The `WAL` directory of group commit. -* Default: A directory named `wal` is created under each directory of the `storage_root_path`. Configuration examples: - ``` - group_commit_wal_path=/data1/storage/wal;/data2/storage/wal;/data3/storage/wal - ``` - -### Compute and Storage Disaggregated Mode - -#### `deploy_mode` - -* Default: "" - -* Description: The mode in which BE runs. `cloud` indicates the decoupled storage-compute mode. - -#### `meta_service_endpoint` - -Default: "" - -* Description: Endpoints of the meta service should be specified in the format 'host1:port,host2:port'. This value is usually delivered by the FE to the BE by the heartbeat, no need to configure. - -#### `enable_file_cache` - -Default: true for cloud mode, false for non-cloud mode. -* Description: Whether to use file cache. - -#### `file_cache_path` - -Default: [{"path":"${DORIS_HOME}/file_cache"}] -* Description: The disk paths and other parameters used for file cache, represented as an array, with one entry for each disk. The `path` specifies the disk path, and `total_size` limits the size of the cache; -1 or 0 will use the entire disk space. -* format: [{"path":"/path/to/file_cache","total_size":21474836480,{"path":"/path/to/file_cache2","total_size":21474836480}] - -#### `time_series_max_tablet_version_num` - -* Type: int -* Description: Limit the number of versions of a single tablet under the time-series compaction policy. It is used to prevent a large number of version accumulation problems caused by too frequent load or untimely compaction. When the limit is exceeded, the load task will be rejected. -* Default value: 20000 diff --git a/docs/admin-manual/config/config-dir.md b/docs/admin-manual/config/config-dir.md deleted file mode 100644 index be78eedc79eea..0000000000000 --- a/docs/admin-manual/config/config-dir.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -{ - "title": "Config Dir", - "language": "en", - "description": "The configuration file directory for FE and BE is conf/. In addition to storing the default fe.conf, be.conf and other files," -} ---- - -# Config Dir - -The configuration file directory for FE and BE is `conf/`. In addition to storing the default fe.conf, be.conf and other files, this directory is also used for the common configuration file storage directory. - -Users can store some configuration files in it, and the system will automatically read them. - -## hdfs-site.xml and hive-site.xml - -In some functions of Doris, you need to access data on HDFS, or access Hive metastore. - -We can manually fill in various HDFS/Hive parameters in the corresponding statement of the function. - -But these parameters are very many, if all are filled in manually, it is very troublesome. - -Therefore, users can place the HDFS or Hive configuration file hdfs-site.xml/hive-site.xml directly in the `conf/` directory. Doris will automatically read these configuration files. - -The configuration that the user fills in the command will overwrite the configuration items in the configuration file. - -In this way, users only need to fill in a small amount of configuration to complete the access to HDFS/Hive. diff --git a/docs/admin-manual/config/fe-config.md b/docs/admin-manual/config/fe-config.md deleted file mode 100644 index b9bd59857c349..0000000000000 --- a/docs/admin-manual/config/fe-config.md +++ /dev/null @@ -1,2769 +0,0 @@ ---- -{ - "title": "FE Configuration | Config", - "language": "en", - "toc_min_heading_level": 2, - "toc_max_heading_level": 4, - "description": "Complete reference guide for Frontend (FE) configuration parameters in Doris, including metadata management, query engine, load/export, and storage settings.", - "sidebar_label": "FE Configuration" -} ---- - -# FE Configuration - -This document mainly introduces the relevant configuration items of FE. - -The FE configuration file `fe.conf` is usually stored in the `conf/` directory of the FE deployment path. In version 0.14, another configuration file `fe_custom.conf` will be introduced. The configuration file is used to record the configuration items that are dynamically configured and persisted by the user during operation. - -After the FE process is started, it will read the configuration items in `fe.conf` first, and then read the configuration items in `fe_custom.conf`. The configuration items in `fe_custom.conf` will overwrite the same configuration items in `fe.conf`. - -The location of the `fe_custom.conf` file can be configured in `fe.conf` through the `custom_config_dir` configuration item. - -## View configuration items - -There are two ways to view the configuration items of FE: - -1. FE web page - - Open the FE web page `http://fe_host:fe_http_port/variable` in the browser. You can see the currently effective FE configuration items in `Configure Info`. - -2. View by command - - After the FE is started, you can view the configuration items of the FE in the MySQL client with the following command,Concrete language law reference [SHOW-CONFIG](../../sql-manual/sql-statements/cluster-management/instance-management/SHOW-FRONTEND-CONFIG): - - `SHOW FRONTEND CONFIG;` - - The meanings of the columns in the results are as follows: - - * Key: the name of the configuration item. - * Value: The value of the current configuration item. - * Type: The configuration item value type, such as integer or string. - * IsMutable: whether it can be dynamically configured. If true, the configuration item can be dynamically configured at runtime. If false, it means that the configuration item can only be configured in `fe.conf` and takes effect after restarting FE. - * MasterOnly: Whether it is a unique configuration item of Master FE node. If it is true, it means that the configuration item is meaningful only at the Master FE node, and is meaningless to other types of FE nodes. If false, it means that the configuration item is meaningful in all types of FE nodes. - * Comment: The description of the configuration item. - -## Set configuration items - -There are two ways to configure FE configuration items: - -1. Static configuration - - Add and set configuration items in the `conf/fe.conf` file. The configuration items in `fe.conf` will be read when the FE process starts. Configuration items not in `fe.conf` will use default values. - -2. Dynamic configuration via MySQL protocol - - After the FE starts, you can set the configuration items dynamically through the following commands. This command requires administrator privilege. - - `ADMIN SET FRONTEND CONFIG (" fe_config_name "=" fe_config_value ");` - - Not all configuration items support dynamic configuration. You can check whether the dynamic configuration is supported by the `IsMutable` column in the` SHOW FRONTEND CONFIG; `command result. - - If the configuration item of `MasterOnly` is modified, the command will be directly forwarded to the Master FE and only the corresponding configuration item in the Master FE will be modified. - - **Configuration items modified in this way will become invalid after the FE process restarts.** - - For more help on this command, you can view it through the `HELP ADMIN SET CONFIG;` command. - -3. Dynamic configuration via HTTP protocol - - For details, please refer to [Set Config Action](../open-api/fe-http/set-config-action) - - This method can also persist the modified configuration items. The configuration items will be persisted in the `fe_custom.conf` file and will still take effect after FE is restarted. - -## Examples - -1. Modify `async_pending_load_task_pool_size` - - Through `SHOW FRONTEND CONFIG;` you can see that this configuration item cannot be dynamically configured (`IsMutable` is false). You need to add in `fe.conf`: - - `async_pending_load_task_pool_size = 20` - - Then restart the FE process to take effect the configuration. - -2. Modify `dynamic_partition_enable` - - Through `SHOW FRONTEND CONFIG;` you can see that the configuration item can be dynamically configured (`IsMutable` is true). And it is the unique configuration of Master FE. Then first we can connect to any FE and execute the following command to modify the configuration: - - ``` - ADMIN SET FRONTEND CONFIG ("dynamic_partition_enable" = "true"); ` - ``` - - Afterwards, you can view the modified value with the following command: - - ``` - set forward_to_master = true; - SHOW FRONTEND CONFIG; - ``` - - After modification in the above manner, if the Master FE restarts or a Master election is performed, the configuration will be invalid. You can add the configuration item directly in `fe.conf` and restart the FE to make the configuration item permanent. - -3. Modify `max_distribution_pruner_recursion_depth` - - Through `SHOW FRONTEND CONFIG;` you can see that the configuration item can be dynamically configured (`IsMutable` is true). It is not unique to Master FE. - - Similarly, we can modify the configuration by dynamically modifying the configuration command. Because this configuration is not unique to the Master FE, user need to connect to different FEs separately to modify the configuration dynamically, so that all FEs use the modified configuration values. - -## Configurations - -### Metadata And Cluster - -#### `meta_dir` - -Default:DORIS_HOME_DIR + "/doris-meta" - -Type: string Description: Doris meta data will be saved here.The storage of this dir is highly recommended as to be: - -* High write performance (SSD) -* Safe (RAID) - -#### `catalog_try_lock_timeout_ms` - -Default:5000 (ms) - -IsMutable:true - -The tryLock timeout configuration of catalog lock. Normally it does not need to change, unless you need to test something. - -#### `enable_bdbje_debug_mode` - -Default:false - -If set to true, FE will be started in BDBJE debug mode - -#### `max_bdbje_clock_delta_ms` - -Default:5000 (5s) - -Set the maximum acceptable clock skew between non-master FE to Master FE host. This value is checked whenever a non-master FE establishes a connection to master FE via BDBJE. The connection is abandoned if the clock skew is larger than this value. - -#### `metadata_failure_recovery` - -Default:false - -If true, FE will reset bdbje replication group(that is, to remove all electable nodes info) and is supposed to start as Master. If all the electable nodes can not start, we can copy the meta data to another node and set this config to true to try to restart the FE.. - -#### `txn_rollback_limit` - -Default:100 - -the max txn number which bdbje can rollback when trying to rejoin the group - -#### `grpc_threadmgr_threads_nums` - -Default: 4096 - -Num of thread to handle grpc events in grpc_threadmgr. - -#### `bdbje_replica_ack_timeout_second` - -Default:10 (s) - -The replica ack timeout when writing to bdbje , When writing some relatively large logs, the ack time may time out, resulting in log writing failure. At this time, you can increase this value appropriately. - -#### `bdbje_lock_timeout_second` - -Default:5 - -The lock timeout of bdbje operation, If there are many LockTimeoutException in FE WARN log, you can try to increase this value - -#### `bdbje_heartbeat_timeout_second` - -Default:30 - -The heartbeat timeout of bdbje between master and follower. the default is 30 seconds, which is same as default value in bdbje. If the network is experiencing transient problems, of some unexpected long java GC annoying you, you can try to increase this value to decrease the chances of false timeouts - -#### `replica_ack_policy` - -Default:SIMPLE_MAJORITY - -OPTION: ALL, NONE, SIMPLE_MAJORITY - -Replica ack policy of bdbje. more info, see: - -#### `replica_sync_policy` - -Default:SYNC - -选项:SYNC, NO_SYNC, WRITE_NO_SYNC - -Follower FE sync policy of bdbje. - -#### `master_sync_policy` - -Default:SYNC - -选项:SYNC, NO_SYNC, WRITE_NO_SYNC - -Master FE sync policy of bdbje. If you only deploy one Follower FE, set this to 'SYNC'. If you deploy more than 3 Follower FE, you can set this and the following 'replica_sync_policy' to WRITE_NO_SYNC. more info, see: - -#### `bdbje_reserved_disk_bytes` - -The desired upper limit on the number of bytes of reserved space to retain in a replicated JE Environment. - -Default: 1073741824 - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: false - -#### `ignore_meta_check` - -Default:false - -IsMutable:true - -If true, non-master FE will ignore the meta data delay gap between Master FE and its self, even if the metadata delay gap exceeds *meta_delay_toleration_second*. Non-master FE will still offer read service. -This is helpful when you try to stop the Master FE for a relatively long time for some reason, but still wish the non-master FE can offer read service. - -#### `meta_delay_toleration_second` - -Default: 300 (5 min) - -Non-master FE will stop offering service if meta data delay gap exceeds *meta_delay_toleration_second* - -#### `edit_log_port` - -Default:9010 - -bdbje port - -#### `edit_log_type` - -Default:BDB - -Edit log type. -BDB: write log to bdbje -LOCAL: deprecated.. - -#### `edit_log_roll_num` - -Default:50000 - -IsMutable:true - -MasterOnly:true - -Master FE will save image every *edit_log_roll_num* meta journals. - -#### `force_do_metadata_checkpoint` - -Default:false - -IsMutable:true - -MasterOnly:true - -If set to true, the checkpoint thread will make the checkpoint regardless of the jvm memory used percent - -#### `metadata_checkpoint_memory_threshold` - -Default:60 (60%) - -IsMutable:true - -MasterOnly:true - -If the jvm memory used percent(heap or old mem pool) exceed this threshold, checkpoint thread will not work to avoid OOM. - -#### `max_same_name_catalog_trash_num` - -It is used to set the maximum number of meta information with the same name in the catalog recycle bin. When the maximum value is exceeded, the earliest deleted meta trash will be completely deleted and cannot be recovered. 0 means not to keep objects of the same name. < 0 means no limit. - -Note: The judgment of metadata with the same name will be limited to a certain range. For example, the judgment of the database with the same name will be limited to the same cluster, the judgment of the table with the same name will be limited to the same database (with the same database id), the judgment of the partition with the same name will be limited to the same database (with the same database id) and the same table (with the same table) same table id). - -Default: 3 - -Is it possible to dynamically configure: true - -Is it a configuration item unique to the Master FE node: true - -#### `cluster_id` - -Default:-1 - -node(FE or BE) will be considered belonging to the same Doris cluster if they have same cluster id. Cluster id is usually a random integer generated when master FE start at first time. You can also specify one. - -#### `heartbeat_mgr_blocking_queue_size` - -Default:1024 - -MasterOnly:true - -blocking queue size to store heartbeat task in heartbeat_mgr. - -#### `heartbeat_mgr_threads_num` - -Default:8 - -MasterOnly:true - -num of thread to handle heartbeat events in heartbeat_mgr. - -#### `disable_cluster_feature` - -Default:true - -IsMutable:true - -The multi cluster feature will be deprecated in version 0.12 , set this config to true will disable all operations related to cluster feature, include: - -1. create/drop cluster -2. add free backend/add backend to cluster/decommission cluster balance -3. change the backends num of cluster -4. link/migration db - -#### `enable_fqdn_mode` - -This configuration is mainly used in the k8s cluster environment. When enable_fqdn_mode is true, the name of the pod where the be is located will remain unchanged after reconstruction, while the ip can be changed. - -Default: false - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: true - -#### `enable_token_check` - -Default:true - -For forward compatibility, will be removed later. check token when download image file. - -#### `enable_multi_tags` - -Default: false - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: true - -Whether to enable the multi-tags function of a single BE - -#### `initial_root_password` - -Set root user initial 2-staged SHA-1 encrypted password, default as '', means no root password. Subsequent `set password` operations for root user will overwrite the initial root password. - -Example: If you want to configure a plaintext password `root@123`. You can execute Doris SQL `select password('root@123')` to generate encrypted password `*A00C34073A26B40AB4307650BFB9309D6BFA6999`. - -Default: empty string - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: true - -#### `enable_cooldown_replica_affinity` - -Users can choose whether to use the cooled copy for scanning first, which defaults to true - -Default: true - -Is it possible to dynamically configure: true - -Is it a configuration item unique to the Master FE node: false - -### Service - -#### `query_port` - -Default:9030 - -FE MySQL server port - -#### `arrow_flight_sql_port` - -Default:-1 - -Arrow Flight SQL server port - -#### `frontend_address` - -Status: Deprecated, not recommended use. This parameter may be deleted later - -Type: string - -Description: Explicitly set the IP address of FE instead of using *InetAddress.getByName* to get the IP address. Usually in *InetAddress.getByName* When the expected results cannot be obtained. Only IP address is supported, not hostname. - -Default value: 0.0.0.0 - -#### `priority_networks` - -Default:none - -Declare a selection strategy for those servers have many ips. Note that there should at most one ip match this list. this is a list in semicolon-delimited format, in CIDR notation, e.g. 10.10.10.0/24 , If no ip match this rule, will choose one randomly. - -#### `http_port` - -Default:8030 - -HTTP bind port. All FE http ports must be same currently. - -#### `https_port` - -Default:8050 - -HTTPS bind port. All FE https ports must be same currently. - -#### `enable_https` - -Default:false - -Https enable flag. If the value is false, http is supported. Otherwise, both http and https are supported, and http requests are automatically redirected to https. -If enable_https is true, you need to configure ssl certificate information in fe.conf. - -#### `enable_ssl` - -Default:true - -If set to true, doris will establish an encrypted channel based on the SSL protocol with mysql. - -#### `qe_max_connection` - -Default:1024 - -Maximal number of connections per FE. - -#### `check_java_version` - -Default:true - -Doris will check whether the compiled and run Java versions are compatible, if not, it will throw a Java version mismatch exception message and terminate the startup - -#### `rpc_port` - -Default:9020 - -FE Thrift Server port - -#### `thrift_server_type` - -This configuration represents the service model used by The Thrift Service of FE, is of type String and is case-insensitive. - -If this parameter is 'SIMPLE', then the 'TSimpleServer' model is used, which is generally not suitable for production and is limited to test use. - -If the parameter is 'THREADED', then the 'TThreadedSelectorServer' model is used, which is a non-blocking I/O model, namely the master-slave Reactor model, which can timely respond to a large number of concurrent connection requests and performs well in most scenarios. - -If this parameter is `THREAD_POOL`, then the `TThreadPoolServer` model is used, the model for blocking I/O model, use the thread pool to handle user connections, the number of simultaneous connections are limited by the number of thread pool, if we can estimate the number of concurrent requests in advance, and tolerant enough thread resources cost, this model will have a better performance, the service model is used by default - -#### `thrift_server_max_worker_threads` - -Default:4096 - -The thrift server max worker threads - -#### `thrift_backlog_num` - -Default:1024 - -The backlog_num for thrift server , When you enlarge this backlog_num, you should ensure it's value larger than the linux /proc/sys/net/core/somaxconn config - -#### `thrift_client_timeout_ms` - -Default:0 - -The connection timeout and socket timeout config for thrift server. - -The value for thrift_client_timeout_ms is set to be zero to prevent read timeout. - -#### `thrift_max_message_size` - -Default: 100MB - -The maximum size of a (received) message of the thrift server, in bytes. If the size of the message sent by the client exceeds this limit, the Thrift server will reject the request and close the connection. As a result, the client will encounter the error: "connection has been closed by peer." In this case, you can try increasing this parameter. - -#### `use_compact_thrift_rpc` - -Default: true - -Whether to use compressed format to send query plan structure. After it is turned on, the size of the query plan structure can be reduced by about 50%, thereby avoiding some "send fragment timeout" errors. -However, in some high-concurrency small query scenarios, the concurrency may be reduced by about 10%. - -#### `grpc_max_message_size_bytes` - -Default:1G - -Used to set the initial flow window size of the GRPC client channel, and also used to max message size. When the result set is large, you may need to increase this value. - -#### `max_mysql_service_task_threads_num` - -Default:4096 - -The number of threads responsible for Task events. - -#### `mysql_service_io_threads_num` - -Default:4 - -When FE starts the MySQL server based on NIO model, the number of threads responsible for IO events. - -#### `mysql_nio_backlog_num` - -Default:1024 - -The backlog_num for mysql nio server, When you enlarge this backlog_num, you should enlarge the value in the linux /proc/sys/net/core/somaxconn file at the same time - -#### `broker_timeout_ms` - -Default:10000 (10s) - -Default broker RPC timeout - -#### `backend_rpc_timeout_ms` - -Timeout millisecond for Fe sending rpc request to BE - -Default: 60000 - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: true - -#### `drop_backend_after_decommission` - -Default:false - -IsMutable:true - -MasterOnly:true - -1. This configuration is used to control whether the system drops the BE after successfully decommissioning the BE. If true, the BE node will be deleted after the BE is successfully offline. If false, after the BE successfully goes offline, the BE will remain in the DECOMMISSION state, but will not be dropped. - - This configuration can play a role in certain scenarios. Assume that the initial state of a Doris cluster is one disk per BE node. After running for a period of time, the system has been vertically expanded, that is, each BE node adds 2 new disks. Because Doris currently does not support data balancing among the disks within the BE, the data volume of the initial disk may always be much higher than the data volume of the newly added disk. At this time, we can perform manual inter-disk balancing by the following operations: - - 1. Set the configuration item to false. - 2. Perform a decommission operation on a certain BE node. This operation will migrate all data on the BE to other nodes. - 3. After the decommission operation is completed, the BE will not be dropped. At this time, cancel the decommission status of the BE. Then the data will start to balance from other BE nodes back to this node. At this time, the data will be evenly distributed to all disks of the BE. - 4. Perform steps 2 and 3 for all BE nodes in sequence, and finally achieve the purpose of disk balancing for all nodes - -#### `max_backend_down_time_second` - -Default: 3600 (1 hour) - -IsMutable:true - -MasterOnly:true - -If a backend is down for *max_backend_down_time_second*, a BACKEND_DOWN event will be triggered. - -#### `disable_backend_black_list` - -Used to disable the BE blacklist function. After this function is disabled, if the query request to the BE fails, the BE will not be added to the blacklist. -This parameter is suitable for regression testing environments to reduce occasional bugs that cause a large number of regression tests to fail. - -Default: false - -Is it possible to configure dynamically: true - -Is it a configuration item unique to the Master FE node: false - -#### `max_backend_heartbeat_failure_tolerance_count` - -The maximum tolerable number of BE node heartbeat failures. If the number of consecutive heartbeat failures exceeds this value, the BE state will be set to dead. -This parameter is suitable for regression test environments to reduce occasional heartbeat failures that cause a large number of regression test failures. - -Default: 1 - -Is it possible to configure dynamically: true - -Whether it is a configuration item unique to the Master FE node: true - -### `abort_txn_after_lost_heartbeat_time_second` - -Abort transaction time after lost heartbeat. The default value is 300, which means transactions of be will be aborted after lost heartbeat 300s. - -Default: 300(s) - -Is it possible to configure dynamically: true - -Whether it is a configuration item unique to the Master FE node: true - -#### `enable_access_file_without_broker` - -Default:false - -IsMutable:true - -MasterOnly:true - -This config is used to try skip broker when access bos or other cloud storage via broker - -#### `agent_task_resend_wait_time_ms` - -Default:5000 - -IsMutable:true - -MasterOnly:true - -This configuration will decide whether to resend agent task when create_time for agent_task is set, only when current_time - create_time > agent_task_resend_wait_time_ms can ReportHandler do resend agent task. - -This configuration is currently mainly used to solve the problem of repeated sending of `PUBLISH_VERSION` agent tasks. The current default value of this configuration is 5000, which is an experimental value. - -Because there is a certain time delay between submitting agent tasks to AgentTaskQueue and submitting to be, Increasing the value of this configuration can effectively solve the problem of repeated sending of agent tasks, - -But at the same time, it will cause the submission of failed or failed execution of the agent task to be executed again for an extended period of time - -#### `max_agent_task_threads_num` - -Default:4096 - -MasterOnly:true - -max num of thread to handle agent task in agent task thread-pool. - -#### `remote_fragment_exec_timeout_ms` - -Default:30000 (ms) - -IsMutable:true - -The timeout of executing async remote fragment. In normal case, the async remote fragment will be executed in a short time. If system are under high load condition, try to set this timeout longer. - -#### `auth_token` - -Default:empty - -Cluster token used for internal authentication. - -#### `enable_http_server_v2` - -Default: The default is true after the official 0.14.0 version is released, and the default is false before - -HTTP Server V2 is implemented by SpringBoot. It uses an architecture that separates the front and back ends. Only when HTTPv2 is enabled can users use the new front-end UI interface. - -#### `http_api_extra_base_path` - -In some deployment environments, user need to specify an additional base path as the unified prefix of the HTTP API. This parameter is used by the user to specify additional prefixes. -After setting, user can get the parameter value through the `GET /api/basepath` interface. And the new UI will also try to get this base path first to assemble the URL. Only valid when `enable_http_server_v2` is true. - -The default is empty, that is, not set - -#### `jetty_server_acceptors` - -Default:2 - -#### `jetty_server_selectors` - -Default:4 - -#### `jetty_server_workers` - -Default:0 - -With the above three parameters, Jetty's thread architecture model is very simple, divided into acceptors, selectors and workers three thread pools. Acceptors are responsible for accepting new connections, and then hand them over to selectors to process the unpacking of the HTTP message protocol, and finally workers process the request. The first two thread pools adopt a non-blocking model, and one thread can handle the read and write of many sockets, so the number of thread pools is small. - -For most projects, only 1-2 acceptors threads are required, and 2 to 4 selectors threads are sufficient. Workers are obstructive business logic, often have more database operations, and require a large number of threads. The specific number depends on the proportion of QPS and IO events of the application. The higher the QPS, the more threads are required, the higher the proportion of IO, the more threads waiting, and the more total threads required. - -Worker thread pool is not set by default, set according to your needs - -#### `jetty_server_max_http_post_size` - -Default:`100 * 1024 * 1024` (100MB) - -This is the maximum number of bytes of the file uploaded by the put or post method, the default value: 100MB - -#### `jetty_server_max_http_header_size` - -Default:1048576 (1M) - -http header size configuration parameter, the default value is 1M. - -#### `http_sql_submitter_max_worker_threads` - -Default:2 - -The max number work threads of http sql submitter - -#### `http_load_submitter_max_worker_threads` - -Default:2 - -The max number work threads of http upload submitter - -### Query Engine - -#### `default_max_query_instances` - -The default value when user property max_query_instances is equal or less than 0. This config is used to limit the max number of instances for a user. This parameter is less than or equal to 0 means unlimited. - -The default value is -1 - -#### `max_query_retry_time` - -Default:3 - -IsMutable:true - -The number of query retries. A query may retry if we encounter RPC exception and no result has been sent to user. You may reduce this number to avoid Avalanche disaster - -#### `max_dynamic_partition_num` - -Default:500 - -IsMutable:true - -MasterOnly:true - -Used to limit the maximum number of partitions that can be created when creating a dynamic partition table, to avoid creating too many partitions at one time. The number is determined by "start" and "end" in the dynamic partition parameters. - -#### `dynamic_partition_enable` - -Default:true - -IsMutable:true - -MasterOnly:true - -Whether to enable dynamic partition scheduler, enabled by default - -#### `dynamic_partition_check_interval_seconds` - -Default:600 (s) - -IsMutable:true - -MasterOnly:true - -Decide how often to check dynamic partition - -#### `max_multi_partition_num` - -Default:4096 - -IsMutable:true - -MasterOnly:true - -Use this parameter to set the partition name prefix for multi partition,Only multi partition takes effect, not dynamic partitions. The default prefix is "p_". - -#### `multi_partition_name_prefix` - -Default:p_ - -IsMutable:true - -MasterOnly:true - -Use this parameter to set the partition name prefix for multi partition, Only multi partition takes effect, not dynamic partitions.The default prefix is "p_". - -#### `partition_in_memory_update_interval_secs` - -Default:300 (s) - -IsMutable:true - -MasterOnly:true - -Time to update global partition information in memory - -#### `enable_concurrent_update` - -Default:false - -IsMutable:false - -MasterOnly:true - -Whether to enable concurrent update - -#### `lower_case_table_names` - -Default:0 - -IsMutable:false - -MasterOnly:true - -This configuration can only be configured during cluster initialization and cannot be modified during cluster -restart and upgrade after initialization is complete. - -0: table names are stored as specified and comparisons are case sensitive. -1: table names are stored in lowercase and comparisons are not case sensitive. -2: table names are stored as given but compared in lowercase. - -#### `table_name_length_limit` - -Default:64 - -IsMutable:true - -MasterOnly:true - -Used to control the maximum table name length - -#### `cache_enable_sql_mode` - -Default:true - -IsMutable:true - -MasterOnly:false - -If this switch is turned on, the SQL query result set will be cached. If the interval between the last visit version time in all partitions of all tables in the query is greater than cache_last_version_interval_second, and the result set is less than cache_result_max_row_count, and the data size is less than cache_result_max_data_size, the result set will be cached, and the next same SQL will hit the cache - -If set to true, fe will enable sql result caching. This option is suitable for offline data update scenarios - -| | case1 | case2 | case3 | case4 | -| ---------------------- | ----- | ----- | ----- | ----- | -| enable_sql_cache | false | true | true | false | -| enable_partition_cache | false | false | true | true | - -#### `cache_enable_partition_mode` - -Default:true - -IsMutable:true - -MasterOnly:false - -If set to true, fe will get data from be cache, This option is suitable for real-time updating of partial partitions. - -#### `cache_result_max_row_count` - -Default:3000 - -IsMutable:true - -MasterOnly:false - -In order to avoid occupying too much memory, the maximum number of rows that can be cached is 3000 by default. If this threshold is exceeded, the cache cannot be set - -#### `cache_result_max_data_size` - -Default: 31457280 - -IsMutable: true - -MasterOnly: false - -In order to avoid occupying too much memory, the maximum data size of rows that can be cached is 10MB by default. If this threshold is exceeded, the cache cannot be set - -#### `cache_last_version_interval_second` - -Default:30 - -IsMutable:true - -MasterOnly:false - -The time interval of the latest partitioned version of the table refers to the time interval between the data update and the current version. It is generally set to 900 seconds, which distinguishes offline and real-time import - -#### `max_allowed_in_element_num_of_delete` - -Default:1024 - -IsMutable:true - -MasterOnly:true - -This configuration is used to limit element num of InPredicate in delete statement. - -#### `max_running_rollup_job_num_per_table` - -Default:1 - -IsMutable:true - -MasterOnly:true - -Control the concurrency limit of Rollup jobs - -#### `max_distribution_pruner_recursion_depth` - -Default:100 - -IsMutable:true - -MasterOnly:false - -This will limit the max recursion depth of hash distribution pruner. -eg: where a in (5 elements) and b in (4 elements) and c in (3 elements) and d in (2 elements). -a/b/c/d are distribution columns, so the recursion depth will be 5 *4* 3 * 2 = 120, larger than 100, -So that distribution pruner will no work and just return all buckets. -Increase the depth can support distribution pruning for more elements, but may cost more CPU. - -#### `enable_local_replica_selection` - -Default:false - -IsMutable:true - -If set to true, Planner will try to select replica of tablet on same host as this Frontend. -This may reduce network transmission in following case: - -* N hosts with N Backends and N Frontends deployed. - -* The data has N replicas. - -* High concurrency queries are evenly sent to all Frontends evenly - -In this case, all Frontends can only use local replicas to do the query. If you want to allow fallback to non-local replicas when no local replicas available, set enable_local_replica_selection_fallback to true. - -#### `enable_local_replica_selection_fallback` - -Default:false - -IsMutable:true - -Used with enable_local_replica_selection. If the local replicas is not available, fallback to the non-local replicas. - -#### `expr_depth_limit` - -Default:3000 - -IsMutable:true - -Limit on the depth of an expr tree. Exceed this limit may cause long analysis time while holding db read lock. Do not set this if you know what you are doing - -#### `expr_children_limit` - -Default:10000 - -IsMutable:true - -Limit on the number of expr children of an expr tree. Exceed this limit may cause long analysis time while holding database read lock. - -#### `be_exec_version` - -Used to define the serialization format for passing blocks between fragments. - -Sometimes some of our code changes will change the data format of the block. In order to make the BE compatible with each other during the rolling upgrade process, we need to issue a data version from the FE to decide what format to send the data in. - -Specifically, for example, there are 2 BEs in the cluster, one of which can support the latest $v_1$ after being upgraded, while the other only supports $v_0$. At this time, since the FE has not been upgraded yet, $v_0 is issued uniformly. $, BE interact in the old data format. After all BEs are upgraded, we will upgrade FE. At this time, the new FE will issue $v_1$, and the cluster will be uniformly switched to the new data format. - -The default value is `max_be_exec_version`. If there are special needs, we can manually set the format version to lower, but it should not be lower than `min_be_exec_version`. - -Note that we should always keep the value of this variable between `BeExecVersionManager::min_be_exec_version` and `BeExecVersionManager::max_be_exec_version` for all BEs. (That is to say, if a cluster that has completed the update needs to be downgraded, it should ensure the order of downgrading FE and then downgrading BE, or manually lower the variable in the settings and downgrade BE) - -#### `max_be_exec_version` - -The latest data version currently supported, cannot be modified, and should be consistent with the `BeExecVersionManager::max_be_exec_version` in the BE of the matching version. - -#### `min_be_exec_version` - -The oldest data version currently supported, which cannot be modified, should be consistent with the `BeExecVersionManager::min_be_exec_version` in the BE of the matching version. - -#### `max_query_profile_num` - -The max number of query profile. - -Default: 100 - -Is it possible to dynamically configure: true - -Is it a configuration item unique to the Master FE node: false - -#### `publish_version_interval_ms` - -Default:10 (ms) - -minimal intervals between two publish version action - -#### `publish_version_timeout_second` - -Default:30 (s) - -IsMutable:true - -MasterOnly:true - -Maximal waiting time for all publish version tasks of one transaction to be finished - -#### `query_colocate_join_memory_limit_penalty_factor` - -Default:1 - -IsMutable:true - -Colocote join PlanFragment instance 的 memory_limit = exec_mem_limit / min (query_colocate_join_memory_limit_penalty_factor, instance_num) - -#### `rewrite_count_distinct_to_bitmap_hll` - -Default: true - -This variable is a session variable, and the session level takes effect. - -* Type: boolean -* Description: **Only for the table of the AGG model**, when the variable is true, when the user query contains aggregate functions such as count(distinct c1), if the type of the c1 column itself is bitmap, count distinct will be rewritten It is bitmap_union_count(c1). When the type of the c1 column itself is hll, count distinct will be rewritten as hll_union_agg(c1) If the variable is false, no overwriting occurs.. - -### Load And Export - -#### `enable_pipeline_load` - -Default value: true - -IsMutable: true - -Whether or not to enable the Pipeline engine to perform import tasks such as Streamload. - -#### `enable_vectorized_load` - -Default: true - -Whether to enable vectorized load - -#### `enable_new_load_scan_node` - -Default: true - -Whether to enable file scan node - -#### `default_max_filter_ratio` - -Default:0 - -IsMutable:true - -MasterOnly:true - -Maximum percentage of data that can be filtered (due to reasons such as data is irregularly) , The default value is 0. - -#### `max_running_txn_num_per_db` - -Default:1000 - -IsMutable:true - -MasterOnly:true - -This configuration is mainly used to control the number of concurrent load jobs of the same database. - -When there are too many load jobs running in the cluster, the newly submitted load jobs may report errors: - -```text -current running txns on db xxx is xx, larger than limit xx -``` - -When this error is encountered, it means that the load jobs currently running in the cluster exceeds the configuration value. At this time, it is recommended to wait on the business side and retry the load jobs. - -If you use the Connector, the value of this parameter can be adjusted appropriately, and there is no problem with thousands - -#### `using_old_load_usage_pattern` - -Default:false - -IsMutable:true - -MasterOnly:true - -If set to true, the insert stmt with processing error will still return a label to user. And user can use this label to check the load job's status. The default value is false, which means if insert operation encounter errors, exception will be thrown to user client directly without load label. - -#### `disable_load_job` - -Default:false - -IsMutable:true - -MasterOnly:true - -if this is set to true - -* all pending load job will failed when call begin txn api -* all prepare load job will failed when call commit txn api -* all committed load job will waiting to be published - -#### `commit_timeout_second` - -Default:30 - -IsMutable:true - -MasterOnly:true - -Maximal waiting time for all data inserted before one transaction to be committed -This is the timeout second for the command "commit" - -#### `max_unfinished_load_job` - -Default:1000 - -IsMutable:true - -MasterOnly:true - -Max number of load jobs, include PENDING, ETL, LOADING, QUORUM_FINISHED. If exceed this number, load job is not allowed to be submitted - -#### `db_used_data_quota_update_interval_secs` - -Default:300 (s) - -IsMutable:true - -MasterOnly:true - -One master daemon thread will update database used data quota for db txn manager every `db_used_data_quota_update_interval_secs` - -For better data load performance, in the check of whether the amount of data used by the database before data load exceeds the quota, we do not calculate the amount of data already used by the database in real time, but obtain the periodically updated value of the daemon thread. - -This configuration is used to set the time interval for updating the value of the amount of data used by the database - -#### `disable_show_stream_load` - -Default:false - -IsMutable:true - -MasterOnly:true - -Whether to disable show stream load and clear stream load records in memory. - -#### `max_stream_load_record_size` - -Default:5000 - -IsMutable:true - -MasterOnly:true - -Default max number of recent stream load record that can be stored in memory. - -#### `fetch_stream_load_record_interval_second` - -Default:120 - -IsMutable:true - -MasterOnly:true - -fetch stream load record interval. - -#### `max_bytes_per_broker_scanner` - -Default:`500 * 1024 * 1024 * 1024L` (500G) - -IsMutable:true - -MasterOnly:true - -Max bytes a broker scanner can process in one broker load job. Commonly, each Backends has one broker scanner. - -#### `default_load_parallelism` - -Default: 8 - -IsMutable:true - -MasterOnly:true - -Default parallelism of the broker load execution plan on a single node. -If the user to set the parallelism when the broker load is submitted, this parameter will be ignored. -This parameter will determine the concurrency of import tasks together with multiple configurations such as `max broker concurrency`, `min bytes per broker scanner`. - -#### `max_broker_concurrency` - -Default:10 - -IsMutable:true - -MasterOnly:true - -Maximal concurrency of broker scanners. - -#### `min_bytes_per_broker_scanner` - -Default:67108864L (64M) - -IsMutable:true - -MasterOnly:true - -Minimum bytes that a single broker scanner will read. - -#### `period_of_auto_resume_min` - -Default:5 (s) - -IsMutable:true - -MasterOnly:true - -Automatically restore the cycle of Routine load - -#### `max_tolerable_backend_down_num` - -Default:0 - -IsMutable:true - -MasterOnly:true - -As long as one BE is down, Routine Load cannot be automatically restored - -#### `max_routine_load_task_num_per_be` - -Default:5 - -IsMutable:true - -MasterOnly:true - -the max concurrent routine load task num per BE. This is to limit the num of routine load tasks sending to a BE, and it should also less than BE config 'routine_load_thread_pool_size'(default 10), which is the routine load task thread pool size on BE. - -#### `max_routine_load_task_concurrent_num` - -Default:5 - -IsMutable:true - -MasterOnly:true - -the max concurrent routine load task num of a single routine load job - -#### `max_routine_load_job_num` - -Default:100 - -the max routine load job num, including NEED_SCHEDULED, RUNNING, PAUSE - -#### `desired_max_waiting_jobs` - -Default:100 - -IsMutable:true - -MasterOnly:true - -Default number of waiting jobs for routine load and version 2 of load , This is a desired number. In some situation, such as switch the master, the current number is maybe more than desired_max_waiting_jobs. - -#### `disable_hadoop_load` - -Default:false - -IsMutable:true - -MasterOnly:true - -Load using hadoop cluster will be deprecated in future. Set to true to disable this kind of load. - -#### `enable_spark_load` - -Default:false - -IsMutable:true - -MasterOnly:true - -Whether to enable spark load temporarily, it is not enabled by default - -**Note:** This parameter has been deleted in version 1.2, spark_load is enabled by default - -#### `spark_load_checker_interval_second` - -Default:60 - -Spark load scheduler run interval, default 60 seconds - -#### `async_loading_load_task_pool_size` - -Default:10 - -IsMutable:false - -MasterOnly:true - -The loading_load task executor pool size. This pool size limits the max running loading_load tasks. - -Currently, it only limits the loading_load task of broker load - -#### `async_pending_load_task_pool_size` - -Default:10 - -IsMutable:false - -MasterOnly:true - -The pending_load task executor pool size. This pool size limits the max running pending_load tasks. - -Currently, it only limits the pending_load task of broker load and spark load. - -It should be less than 'max_running_txn_num_per_db' - -#### `async_load_task_pool_size` - -Default:10 - -IsMutable:false - -MasterOnly:true - -This configuration is just for compatible with old version, this config has been replaced by async_loading_load_task_pool_size, it will be removed in the future. - -#### `enable_single_replica_load` - -Default:false - -IsMutable:true - -MasterOnly:true - -Whether to enable to write single replica for stream load and broker load. - -#### `min_load_timeout_second` - -Default:1 (1s) - -IsMutable:true - -MasterOnly:true - -Min stream load timeout applicable to all type of load - -#### `max_stream_load_timeout_second` - -Default: 259200 (3 day) - -IsMutable:true - -MasterOnly:true - -This configuration is specifically used to limit timeout setting for stream load. It is to prevent that failed stream load transactions cannot be canceled within a short time because of the user's large timeout setting - -#### `max_load_timeout_second` - -Default: 259200 (3 day) - -IsMutable:true - -MasterOnly:true - -Max load timeout applicable to all type of load except for stream load - -#### `stream_load_default_timeout_second` - -Default: 86400 * 3 (3 day) - -IsMutable:true - -MasterOnly:true - -Default stream load and streaming mini load timeout - -#### `stream_load_default_precommit_timeout_second` - -Default:3600(s) - -IsMutable:true - -MasterOnly:true - -Default stream load pre-submission timeout - -#### `stream_load_default_memtable_on_sink_node` - -Default:false - -IsMutable:true - -MasterOnly:true - -Enable memtable on sink node for stream load by default. -When HTTP header `memtable_on_sink_node` is not set. - -#### `insert_load_default_timeout_second` - -Default: 3600 (1 hour) - -IsMutable:true - -MasterOnly:true - -Default insert load timeout - -#### `mini_load_default_timeout_second` - -Default: 3600 (1 hour) - -IsMutable:true - -MasterOnly:true - -Default non-streaming mini load timeout - -#### `broker_load_default_timeout_second` - -Default: 14400 (4 hour) - -IsMutable:true - -MasterOnly:true - -Default broker load timeout - -#### `spark_load_default_timeout_second` - -Default: 86400 (1 day) - -IsMutable:true - -MasterOnly:true - -Default spark load timeout - -#### `hadoop_load_default_timeout_second` - -Default: 86400 * 3 (3 day) - -IsMutable:true - -MasterOnly:true - -Default hadoop load timeout - -#### `load_running_job_num_limit` - -Default:0 - -IsMutable:true - -MasterOnly:true - -The number of loading tasks is limited, the default is 0, no limit - -#### `load_input_size_limit_gb` - -Default:0 - -IsMutable:true - -MasterOnly:true - -The size of the data entered by the Load job, the default is 0, unlimited - -#### `load_etl_thread_num_normal_priority` - -Default:10 - -Concurrency of NORMAL priority etl load jobs. Do not change this if you know what you are doing. - -#### `load_etl_thread_num_high_priority` - -Default:3 - -Concurrency of HIGH priority etl load jobs. Do not change this if you know what you are doing - -#### `load_pending_thread_num_normal_priority` - -Default:10 - -Concurrency of NORMAL priority pending load jobs. Do not change this if you know what you are doing. - -#### `load_pending_thread_num_high_priority` - -Default:3 - -Concurrency of HIGH priority pending load jobs. Load job priority is defined as HIGH or NORMAL. All mini batch load jobs are HIGH priority, other types of load jobs are NORMAL priority. Priority is set to avoid that a slow load job occupies a thread for a long time. This is just a internal optimized scheduling policy. Currently, you can not specified the job priority manually, and do not change this if you know what you are doing. - -#### `load_checker_interval_second` - -Default:5 (s) - -The load scheduler running interval. A load job will transfer its state from PENDING to LOADING to FINISHED. The load scheduler will transfer load job from PENDING to LOADING while the txn callback will transfer load job from LOADING to FINISHED. So a load job will cost at most one interval to finish when the concurrency has not reached the upper limit. - -#### `label_keep_max_second` - -Default:`3 * 24 * 3600` (3 day) - -IsMutable:true - -MasterOnly:true - -labels of finished or cancelled load jobs will be removed after `label_keep_max_second` , - -1. The removed labels can be reused. -2. Set a short time will lower the FE memory usage. (Because all load jobs' info is kept in memory before being removed) - -In the case of high concurrent writes, if there is a large backlog of jobs and call frontend service failed, check the log. If the metadata write takes too long to lock, you can adjust this value to 12 hours, or 6 hours less - -#### `streaming_label_keep_max_second` - -Default: 43200 (12 hour) - -IsMutable:true - -MasterOnly:true - -For some high-frequency load work, such as: INSERT, STREAMING LOAD, ROUTINE_LOAD_TASK. If it expires, delete the completed job or task. - -#### `label_clean_interval_second` - -Default:1 * 3600 (1 hour) - -Load label cleaner will run every *label_clean_interval_second* to clean the outdated jobs. - -#### `label_regex_length` - -Default Value: 128 (characters) - -The maximum character length of the load label, the default is 128 characters. - -#### `transaction_clean_interval_second` - -Default:30 - -the transaction will be cleaned after transaction_clean_interval_second seconds if the transaction is visible or aborted we should make this interval as short as possible and each clean cycle as soon as possible - -#### `sync_commit_interval_second` - -The maximum time interval for committing transactions. If there is still data in the channel that has not been submitted after this time, the consumer will notify the channel to submit the transaction. - -Default: 10 (seconds) - -Is it possible to configure dynamically: true - -Whether it is a configuration item unique to the Master FE node: true - -#### `sync_checker_interval_second` - -Data synchronization job running status check. - -Default: 10 (s) - -#### `max_sync_task_threads_num` - -The maximum number of threads in the data synchronization job thread pool. - -默认值:10 - -#### `min_sync_commit_size` - -The minimum number of events that must be satisfied to commit a transaction. If the number of events received by Fe is less than it, it will continue to wait for the next batch of data until the time exceeds `sync_commit_interval_second`. The default value is 10000 events. If you want to modify this configuration, please make sure that this value is smaller than the `canal.instance.memory.buffer.size` configuration on the canal side (default 16384), otherwise Fe will try to get the queue length longer than the store before ack More events cause the store queue to block until it times out. - -Default: 10000 - -Is it possible to configure dynamically: true - -Whether it is a configuration item unique to the Master FE node: true - -#### `min_bytes_sync_commit` - -The minimum data size required to commit a transaction. If the data size received by Fe is smaller than it, it will continue to wait for the next batch of data until the time exceeds `sync_commit_interval_second`. The default value is 15MB, if you want to modify this configuration, please make sure this value is less than the product of `canal.instance.memory.buffer.size` and `canal.instance.memory.buffer.memunit` on the canal side (default 16MB), otherwise Before the ack, Fe will try to obtain data that is larger than the store space, causing the store queue to block until it times out. - -Default: `15*1024*1024` (15M) - -Is it possible to configure dynamically: true - -Whether it is a configuration item unique to the Master FE node: true - -#### `max_bytes_sync_commit` - -The maximum number of threads in the data synchronization job thread pool. There is only one thread pool in the entire FE, which is used to process all data synchronization tasks in the FE that send data to the BE. The implementation of the thread pool is in the `SyncTaskPool` class. - -Default: 10 - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: false - -#### `enable_outfile_to_local` - -Default:false - -Whether to allow the outfile function to export the results to the local disk. - -#### `export_tablet_num_per_task` - -Default:5 - -IsMutable:true - -MasterOnly:true - -Number of tablets per export query plan - -#### `export_task_default_timeout_second` - -Default: 2 * 3600 (2 hour) - -IsMutable:true - -MasterOnly:true - -Default timeout of export jobs. - -#### `export_running_job_num_limit` - -Default:5 - -IsMutable:true - -MasterOnly:true - -Limitation of the concurrency of running export jobs. Default is 5. 0 is unlimited - -#### `export_checker_interval_second` - -Default:5 - -Export checker's running interval. - -#### `enable_stream_load_profile` - -Default: false - -MasterOnly: false - -Whether to enable stream load profile - -### Log - -#### `log_roll_size_mb` - -Default:1024 (1G) - -The max size of one sys log and audit log - -#### `sys_log_dir` - -Default: DorisFE.DORIS_HOME_DIR + "/log" - -This specifies FE log dir. FE will produces 2 log files: - -fe.log: all logs of FE process. -fe.warn.log all WARNING and ERROR log of FE process. - -#### `sys_log_level` - -Default:INFO - -log level: INFO, WARN, ERROR, FATAL - -#### `sys_log_roll_num` - -Default:10 - -Maximal FE log files to be kept within an sys_log_roll_interval. default is 10, which means there will be at most 10 log files in a day - -#### `sys_log_verbose_modules` - -Default:{} - -Verbose modules. VERBOSE level is implemented by log4j DEBUG level. - -eg: - sys_log_verbose_modules = org.apache.doris.catalog - This will only print debug log of files in package org.apache.doris.catalog and all its sub packages. - -#### `sys_log_roll_interval` - -Default:DAY - -sys_log_roll_interval: - -* DAY: log suffix is yyyyMMdd -* HOUR: log suffix is yyyyMMddHH - -#### `sys_log_delete_age` - -Default:7d - -default is 7 days, if log's last modify time is 7 days ago, it will be deleted. - -support format: - -* 7d 7 day -* 10h 10 hours -* 60m 60 min -* 120s 120 seconds - -#### `sys_log_roll_mode` - -Default:SIZE-MB-1024 - -The size of the log split, split a log file every 1 G - -#### `sys_log_enable_compress` - -Default: false - -If true, will compress fe.log & fe.warn.log by gzip - -#### `audit_log_dir` - -Default:DORIS_HOME_DIR + "/log" - -audit_log_dir: -This specifies FE audit log dir.. -Audit log fe.audit.log contains all requests with related infos such as user, host, cost, status, etc - -#### `audit_log_roll_num` - -Default:90 - -Maximal FE audit log files to be kept within an audit_log_roll_interval. - -#### `audit_log_modules` - -Default:{"slow_query", "query", "load", "stream_load"} - -Slow query contains all queries which cost exceed *qe_slow_log_ms* - -#### `qe_slow_log_ms` - -Default: 5000 (5 seconds) - -If the response time of a query exceed this threshold, it will be recorded in audit log as slow_query. - -#### `audit_log_roll_interval` - -Default:DAY - -DAY: logsuffix is : yyyyMMdd -HOUR: logsuffix is : yyyyMMddHH - -#### `audit_log_delete_age` - -Default:30d - -default is 30 days, if log's last modify time is 30 days ago, it will be deleted. - -support format: -* 7d 7 day -* 10h 10 hours -* 60m 60 min -* 120s 120 seconds - -#### `audit_log_enable_compress` - -Default: false - -If true, will compress fe.audit.log by gzip - -#### `nereids_trace_log_dir` - -Default: DorisFE.DORIS_HOME_DIR + "/log/nereids_trace" - -Used to specify the directory of the nereids trace log - -### Storage - -#### `min_replication_num_per_tablet` - -Default: 1 - -Used to set minimal number of replication per tablet. - -#### `max_replication_num_per_tablet` - -Default: 32767 - -Used to set maximal number of replication per tablet. - -#### `default_db_data_quota_bytes` - -Default:8192PB - -IsMutable:true - -MasterOnly:true - -Used to set the default database data quota size. To set the quota size of a single database, you can use: - -``` -Set the database data quota, the unit is:B/K/KB/M/MB/G/GB/T/TB/P/PB -ALTER DATABASE db_name SET DATA QUOTA quota; -View configuration -show data (Detail:HELP SHOW DATA) -``` - -#### `default_db_replica_quota_size` - -Default: 1073741824 - -IsMutable:true - -MasterOnly:true - -Used to set the default database replica quota. To set the quota size of a single database, you can use: - -``` -Set the database replica quota -ALTER DATABASE db_name SET REPLICA QUOTA quota; -View configuration -show data (Detail:HELP SHOW DATA) -``` - -#### `recover_with_empty_tablet` - -Default:false - -IsMutable:true - -MasterOnly:true - -In some very special circumstances, such as code bugs, or human misoperation, etc., all replicas of some tablets may be lost. In this case, the data has been substantially lost. However, in some scenarios, the business still hopes to ensure that the query will not report errors even if there is data loss, and reduce the perception of the user layer. At this point, we can use the blank Tablet to fill the missing replica to ensure that the query can be executed normally. - -Set to true so that Doris will automatically use blank replicas to fill tablets which all replicas have been damaged or missing - -#### `min_clone_task_timeout_sec` `And max_clone_task_timeout_sec` - -Default: Minimum 3 minutes, maximum two hours - -IsMutable:true - -MasterOnly:true - -Can cooperate with `mix_clone_task_timeout_sec` to control the maximum and minimum timeout of a clone task. Under normal circumstances, the timeout of a clone task is estimated by the amount of data and the minimum transfer rate (5MB/s). In some special cases, these two configurations can be used to set the upper and lower bounds of the clone task timeout to ensure that the clone task can be completed successfully. - -#### `disable_storage_medium_check` - -Default:false - -IsMutable:true - -MasterOnly:true - -If disable_storage_medium_check is true, ReportHandler would not check tablet's storage medium and disable storage cool down function, the default value is false. You can set the value true when you don't care what the storage medium of the tablet is. - -#### `decommission_tablet_check_threshold` - -Default:5000 - -IsMutable:true - -MasterOnly:true - -This configuration is used to control whether the Master FE need to check the status of tablets on decommissioned BE. If the size of tablets on decommissioned BE is lower than this threshold, FE will start a periodic check, if all tablets on decommissioned BE have been recycled, FE will drop this BE immediately. - -For performance consideration, please don't set a very high value for this configuration. - -#### `partition_rebalance_max_moves_num_per_selection` - -Default:10 - -IsMutable:true - -MasterOnly:true - -Valid only if use PartitionRebalancer, - -#### `partition_rebalance_move_expire_after_access` - -Default:600 (s) - -IsMutable:true - -MasterOnly:true - -Valid only if use PartitionRebalancer. If this changed, cached moves will be cleared - -#### `tablet_rebalancer_type` - -Default:BeLoad - -MasterOnly:true - -Rebalancer type(ignore case): BeLoad, Partition. If type parse failed, use BeLoad as default - -#### `max_balancing_tablets` - -Default:100 - -IsMutable:true - -MasterOnly:true - -if the number of balancing tablets in TabletScheduler exceed max_balancing_tablets, no more balance check - -#### `max_scheduling_tablets` - -Default:2000 - -IsMutable:true - -MasterOnly:true - -if the number of scheduled tablets in TabletScheduler exceed max_scheduling_tablets skip checking. - -#### `disable_balance` - -Default:false - -IsMutable:true - -MasterOnly:true - -if set to true, TabletScheduler will not do balance. - -#### `disable_disk_balance` - -Default:true - -IsMutable:true - -MasterOnly:true - -if set to true, TabletScheduler will not do disk balance. - -#### `balance_load_score_threshold` - -Default: 0.1 (10%) - -IsMutable:true - -MasterOnly:true - -the threshold of cluster balance score, if a backend's load score is 10% lower than average score, this backend will be marked as LOW load, if load score is 10% higher than average score, HIGH load will be marked - -#### `capacity_used_percent_high_water` - -Default: 0.75 (75%) - -IsMutable:true - -MasterOnly:true - -The high water of disk capacity used percent. This is used for calculating load score of a backend - -#### `clone_distribution_balance_threshold` - -Default: 0.2 - -IsMutable:true - -MasterOnly:true - -Balance threshold of num of replicas in Backends. - -#### `clone_capacity_balance_threshold` - -Default: 0.2 - -IsMutable:true - -MasterOnly:true - -* Balance threshold of data size in BE. - - The balance algorithm is: - - 1. Calculate the average used capacity(AUC) of the entire cluster. (total data size / total backends num) - - 2. The high water level is (AUC * (1 + clone_capacity_balance_threshold)) - - 3. The low water level is (AUC * (1 - clone_capacity_balance_threshold)) - - 4. The Clone checker will try to move replica from high water level BE to low water level BE. - -#### `disable_colocate_balance` - -Default:false - -IsMutable:true - -MasterOnly:true - -This configs can set to true to disable the automatic colocate tables's relocate and balance. If 'disable_colocate_balance' is set to true, ColocateTableBalancer will not relocate and balance colocate tables. - -**Attention**: - -1. Under normal circumstances, there is no need to turn off balance at all. -2. Because once the balance is turned off, the unstable colocate table may not be restored -3. Eventually the colocate plan cannot be used when querying. - -#### `balance_slot_num_per_path` - -Default: 1 - -IsMutable:true - -MasterOnly:true - -Default number of slots per path during balance. - -#### `disable_tablet_scheduler` - -Default:false - -IsMutable:true - -MasterOnly:true - -If set to true, the tablet scheduler will not work, so that all tablet repair/balance task will not work. - -#### `enable_force_drop_redundant_replica` - -Default: false - -Dynamically configured: true - -Only for Master FE: true - -If set to true, the system will immediately drop redundant replicas in the tablet scheduling logic. This may cause some load jobs that are writing to the corresponding replica to fail, but it will speed up the balance and repair speed of the tablet. -When there are a large number of replicas waiting to be balanced or repaired in the cluster, you can try to set this config to speed up the balance and repair of replicas at the expense of partial load success rate. - -#### `colocate_group_relocate_delay_second` - -Default: 1800 - -Dynamically configured: true - -Only for Master FE: true - -The relocation of a colocation group may involve a large number of tablets moving within the cluster. Therefore, we should use a more conservative strategy to avoid relocation of colocation groups as much as possible. -Relocation usually occurs after a BE node goes offline or goes down. This parameter is used to delay the determination of BE node unavailability. The default is 30 minutes, i.e., if a BE node recovers within 30 minutes, relocation of the colocation group will not be triggered. - -#### `allow_replica_on_same_host` - -Default: false - -Dynamically configured: false - -Only for Master FE: false - -Whether to allow multiple replicas of the same tablet to be distributed on the same host. This parameter is mainly used for local testing, to facilitate building multiple BEs to test certain multi-replica situations. Do not use it for non-test environments. - -#### `repair_slow_replica` - -Default: false - -IsMutable:true - -MasterOnly: true - -If set to true, the replica with slower compaction will be automatically detected and migrated to other machines. The detection condition is that the version count of the fastest replica exceeds the value of `min_version_count_indicate_replica_compaction_too_slow`, and the ratio of the version count difference from the fastest replica exceeds the value of `valid_version_count_delta_ratio_between_replicas` - -#### `min_version_count_indicate_replica_compaction_too_slow` - -Default: 200 - -Dynamically configured: true - -Only for Master FE: false - -The version count threshold used to judge whether replica compaction is too slow - -#### `skip_compaction_slower_replica` - -Default: true - -Dynamically configured: true - -Only for Master FE: false - -If set to true, the compaction slower replica will be skipped when select get queryable replicas - -#### `valid_version_count_delta_ratio_between_replicas` - -Default: 0.5 - -Dynamically configured: true - -Only for Master FE: true - -The valid ratio threshold of the difference between the version count of the slowest replica and the fastest replica. If `repair_slow_replica` is set to true, it is used to determine whether to repair the slowest replica - -#### `min_bytes_indicate_replica_too_large` - -Default: `2 * 1024 * 1024 * 1024` (2G) - -Dynamically configured: true - -Only for Master FE: true - -The data size threshold used to judge whether replica is too large - -#### `schedule_slot_num_per_hdd_path` - -Default:4 - -the default slot number per path in tablet scheduler for hdd , remove this config and dynamically adjust it by clone task statistic - -#### `schedule_slot_num_per_ssd_path` - -Default:8 - -the default slot number per path in tablet scheduler for ssd , remove this config and dynamically adjust it by clone task statistic - -#### `tablet_repair_delay_factor_second` - -Default:60 (s) - -IsMutable:true - -MasterOnly:true - -the factor of delay time before deciding to repair tablet. - -* if priority is VERY_HIGH, repair it immediately. -* HIGH, delay tablet_repair_delay_factor_second * 1; -* NORMAL: delay tablet_repair_delay_factor_second * 2; -* LOW: delay tablet_repair_delay_factor_second * 3; - -#### `tablet_stat_update_interval_second` - -Default:300(5min) - -update interval of tablet stat, -All frontends will get tablet stat from all backends at each interval - -#### `storage_flood_stage_usage_percent` - -Default:95 (95%) - -IsMutable:true - -MasterOnly:true - -##### `storage_flood_stage_left_capacity_bytes` - -Default:`1 * 1024 * 1024 * 1024` (1GB) - -IsMutable:true - -MasterOnly:true - -If capacity of disk reach the 'storage_flood_stage_usage_percent' and 'storage_flood_stage_left_capacity_bytes', the following operation will be rejected: - -1. load job -2. restore job - -#### `storage_high_watermark_usage_percent` - -Default:85 (85%) - -IsMutable:true - -MasterOnly:true - -#### `storage_min_left_capacity_bytes` - -Default: `2 * 1024 * 1024 * 1024` (2GB) - -IsMutable:true - -MasterOnly:true - -'storage_high_watermark_usage_percent' limit the max capacity usage percent of a Backend storage path. 'storage_min_left_capacity_bytes' limit the minimum left capacity of a Backend storage path. If both limitations are reached, this storage path can not be chose as tablet balance destination. But for tablet recovery, we may exceed these limit for keeping data integrity as much as possible. - -#### `catalog_trash_expire_second` - -Default: 86400L (1 day) - -IsMutable:true - -MasterOnly:true - -After dropping database(table/partition), you can recover it by using RECOVER stmt. And this specifies the maximal data retention time. After time, the data will be deleted permanently. - -#### `default_storage_medium` - -Default:HDD - -When create a table(or partition), you can specify its storage medium(HDD or SSD). If not set, this specifies the default medium when create. - -#### `default_compression_type` - -Default: lz4 (before 4.0.3), zstd (since 4.0.3) - -When creating a table, you can specify its compression algorithm. If not set, this specifies the default compression type when creating a table. Valid values include: lz4, zstd. - -#### `enable_storage_policy` - -* Whether to enable the Storage Policy feature. This config allows users to separate hot and cold data. -Default: false - -Is it possible to dynamically configure: true - -Is it a configuration item unique to the Master FE node: true - -#### `check_consistency_default_timeout_second` - -Default: 600 (10 minutes) - -IsMutable:true - -MasterOnly:true - -Default timeout of a single consistency check task. Set long enough to fit your tablet size - -#### `consistency_check_start_time` - -Default:23 - -IsMutable:true - -MasterOnly:true - -Consistency check start time - -Consistency checker will run from *consistency_check_start_time* to *consistency_check_end_time*. - -If the two times are the same, no consistency check will be triggered. - -#### `consistency_check_end_time` - -Default:23 - -IsMutable:true - -MasterOnly:true - -Consistency check end time - -Consistency checker will run from *consistency_check_start_time* to *consistency_check_end_time*. - -If the two times are the same, no consistency check will be triggered. - -#### `replica_delay_recovery_second` - -Default:0 - -IsMutable:true - -MasterOnly:true - -the minimal delay seconds between a replica is failed and fe try to recovery it using clone. - -#### `tablet_create_timeout_second` - -Default:1(s) - -IsMutable:true - -MasterOnly:true - -Maximal waiting time for creating a single replica. - -eg. - if you create a table with #m tablets and #n replicas for each tablet, - the create table request will run at most (m *n* tablet_create_timeout_second) before timeout. - -#### `tablet_delete_timeout_second` - -Default:2 - -IsMutable:true - -MasterOnly:true - -Same meaning as *tablet_create_timeout_second*, but used when delete a tablet. - -#### `delete_job_max_timeout_second` - -Default: 300(s) - -Mutable: true - -Master only: true - -Maximal timeout for delete job, in seconds. - -#### `alter_table_timeout_second` - -Default: 86400 * 30 (1 month) - -IsMutable:true - -MasterOnly:true - -Maximal timeout of ALTER TABLE request. Set long enough to fit your table data size. - -#### `max_replica_count_when_schema_change` - -The maximum number of replicas allowed when OlapTable is doing schema changes. Too many replicas will lead to FE OOM. - -Default: 100000 - -Is it possible to configure dynamically: true - -Whether it is a configuration item unique to the Master FE node: true - -#### `history_job_keep_max_second` - -Default:`7 * 24 * 3600` (7 day) - -IsMutable:true - -MasterOnly:true - -The max keep time of some kind of jobs. like schema change job and rollup job. - -#### `max_create_table_timeout_second` - -Default:60 (s) - -IsMutable:true - -MasterOnly:true - -In order not to wait too long for create table(index), set a max timeout. - -### External Table - -#### `file_scan_node_split_num` - -Default:128 - -IsMutable:true - -MasterOnly:false - -multi catalog concurrent file scanning threads - -#### `file_scan_node_split_size` - -Default:`256 * 1024 * 1024` - -IsMutable:true - -MasterOnly:false - -multi catalog concurrent file scan size - -#### `enable_odbc_mysql_broker_table` - -Default:false - -IsMutable:true - -MasterOnly:false - -Starting from version 2.1, we no longer support create ODBC, JDBC and broker external table. For odbc and mysql external table, use JDBC table or JDBC catalog instead. For broker table, use table valued function instead. - -#### `max_hive_partition_cache_num` - -The maximum number of caches for the hive partition. - -Default: 100000 - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: false - -#### `hive_metastore_client_timeout_second` - -The default connection timeout for hive metastore. - -Default: 10 - -Is it possible to dynamically configure: true - -Is it a configuration item unique to the Master FE node: true - -#### `max_external_cache_loader_thread_pool_size` - -Maximum thread pool size for loading external meta cache. - -Default: 10 - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: false - -#### `max_external_file_cache_num` - -Maximum number of file cache to use for external tables. - -Default: 100000 - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: false - -#### `max_external_schema_cache_num` - -Maximum number of schema cache to use for external external tables. - -Default: 10000 - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: false - -#### `external_cache_expire_time_minutes_after_access` - -Set how long the data in the cache expires after the last access. The unit is minutes. -Applies to External Schema Cache as well as Hive Partition Cache. - -Default: 1440 - -Is it possible to dynamically configure: false - -Is it a configuration item unique to the Master FE node: false - -#### `es_state_sync_interval_second` - -Default:10 - -fe will call es api to get es index shard info every es_state_sync_interval_secs - -### External Resources - -#### `dpp_hadoop_client_path` - -Default:/lib/hadoop-client/hadoop/bin/hadoop - -#### `dpp_bytes_per_reduce` - -Default:`100 * 1024 * 1024L` (100M) - -#### `dpp_default_cluster` - -Default:palo-dpp - -#### `dpp_default_config_str` - -Default:{ - hadoop_configs : 'mapred.job.priority=NORMAL;mapred.job.map.capacity=50;mapred.job.reduce.capacity=50;mapred.hce.replace.streaming=false;abaci.long.stored.job=true;dce.shuffle.enable=false;dfs.client.authserver.force_stop=true;dfs.client.auth.method=0' - } - -#### `dpp_config_str` - -Default:{ - palo-dpp : { - hadoop_palo_path : '/dir', - hadoop_configs : 'fs.default.name=hdfs://host:port;mapred.job.tracker=host:port;hadoop.job.ugi=user,password' - } - } - -#### `yarn_config_dir` - -Default: DorisFE.DORIS_HOME_DIR + "/lib/yarn-config" - -Default yarn config file directory , Each time before running the yarn command, we need to check that the config file exists under this path, and if not, create them. - -#### `yarn_client_path` - -Default:DORIS_HOME_DIR + "/lib/yarn-client/hadoop/bin/yarn" - -Default yarn client path - -#### `spark_launcher_log_dir` - -Default: sys_log_dir + "/spark_launcher_log" - -The specified spark launcher log dir - -#### `spark_resource_path` - -Default:none - -Default spark dependencies path - -#### `spark_home_default_dir` - -Default:DORIS_HOME_DIR + "/lib/spark2x" - -Default spark home dir - -#### `spark_dpp_version` - -Default: 1.0.0 - -Default spark dpp version - -### Else - -#### `tmp_dir` - -Default: DorisFE.DORIS_HOME_DIR + "/temp_dir" - -temp dir is used to save intermediate results of some process, such as backup and restore process. file in this dir will be cleaned after these process is finished. - -#### `custom_config_dir` - -Default: DorisFE.DORIS_HOME_DIR + "/conf" - -Custom configuration file directory - -Configure the location of the `fe_custom.conf` file. The default is in the `conf/` directory. - -In some deployment environments, the `conf/` directory may be overwritten due to system upgrades. This will cause the user modified configuration items to be overwritten. At this time, we can store `fe_custom.conf` in another specified directory to prevent the configuration file from being overwritten. - -#### `plugin_dir` - -Default:DORIS_HOME + "/plugins - -plugin install directory - -#### `plugin_enable` - -Default:true - -IsMutable:true - -MasterOnly:true - -Whether the plug-in is enabled, enabled by default - -#### `small_file_dir` - -Default:DORIS_HOME_DIR/small_files - -Save small files - -#### `max_small_file_size_bytes` - -Default:1M - -IsMutable:true - -MasterOnly:true - -The max size of a single file store in SmallFileMgr - -#### `max_small_file_number` - -Default:100 - -IsMutable:true - -MasterOnly:true - -The max number of files store in SmallFileMgr - -#### `enable_metric_calculator` - -Default:true - -If set to true, metric collector will be run as a daemon timer to collect metrics at fix interval - -#### `report_queue_size` - -Default: 100 - -IsMutable:true - -MasterOnly:true - -This threshold is to avoid piling up too many report task in FE, which may cause OOM exception. In some large Doris cluster, eg: 100 Backends with ten million replicas, a tablet report may cost several seconds after some modification of metadata(drop partition, etc..). And one Backend will report tablets info every 1 min, so unlimited receiving reports is unacceptable. we will optimize the processing speed of tablet report in future, but now, just discard the report if queue size exceeding limit. - Some online time cost: - 1. disk report: 0-1 msta - 2. sk report: 0-1 ms - 3. tablet report - 4. 10000 replicas: 200ms - -#### `backup_job_default_timeout_ms` - -Default: 86400 * 1000 (1 day) - -IsMutable:true - -MasterOnly:true - -default timeout of backup job - -#### `backup_upload_snapshot_batch_size` - -Default:10 - -IsMutable:true - -MasterOnly:true - -The max number of snapshots assigned to a upload task during the backup process, the default value is 10. - -#### `restore_download_snapshot_batch_size` - -Default:10 - -IsMutable:true - -MasterOnly:true - -The max number of snapshots assigned to a download task during the restore process, the default value is 10. - -#### `max_backup_restore_job_num_per_db` - -Default: 10 - -This configuration is mainly used to control the number of backup/restore tasks recorded in each database. - -#### `max_backup_tablets_per_job` - -Default: 300000 - -IsMutable:true - -MasterOnly:true - -Control the max num of tablets per backup job involved, to avoid FE OOM caused by saving too much metadata. - -#### `enable_quantile_state_type` - -Default:false - -IsMutable:true - -MasterOnly:true - -Whether to enable the quantile_state data type - -#### `enable_date_conversion` - -Default:true - -IsMutable:true - -MasterOnly:true - -FE will convert date/datetime to datev2/datetimev2(0) automatically. - -#### `enable_decimal_conversion` - -Default:true - -IsMutable:true - -MasterOnly:true - -FE will convert DecimalV2 to DecimalV3 automatically. - -#### `proxy_auth_magic_prefix` - -Default:x@8 - -#### `proxy_auth_enable` - -Default:false - -#### `enable_func_pushdown` - -Default:true - -IsMutable:true - -MasterOnly:false - -Whether to push the filter conditions with functions down to MYSQL, when execute query of ODBC, JDBC external tables - -#### `jdbc_drivers_dir` - -Default: `${DORIS_HOME}/jdbc_drivers`; - -IsMutable:false - -MasterOnly:false - -The default dir to put jdbc drivers. - -#### `max_error_tablet_of_broker_load` - -Default: 3; - -IsMutable:true - -MasterOnly:true - -Maximum number of error tablet showed in broker load. - -#### `default_db_max_running_txn_num` - -Default:-1 - -IsMutable:true - -MasterOnly:true - -Used to set the default database transaction quota size. - -The default value setting to -1 means using `max_running_txn_num_per_db` instead of `default_db_max_running_txn_num`. - -To set the quota size of a single database, you can use: - -``` -Set the database transaction quota -ALTER DATABASE db_name SET TRANSACTION QUOTA quota; -View configuration -show data (Detail:HELP SHOW DATA) -``` - -#### `prefer_compute_node_for_external_table` - -Default:false - -IsMutable:true - -MasterOnly:false - -If set to true, query on external table will prefer to assign to compute node. And the max number of compute node is controlled by `min_backend_num_for_external_table`. -If set to false, query on external table will assign to any node. - -#### `min_backend_num_for_external_table` - -Default:3 - -IsMutable:true - -MasterOnly:false - -Only take effect when `prefer_compute_node_for_external_table` is true. If the compute node number is less than this value, query on external table will try to get some mix node to assign, to let the total number of node reach this value. -If the compute node number is larger than this value, query on external table will assign to compute node only. - -#### `infodb_support_ext_catalog` - -Default: false - -IsMutable: true - -MasterOnly: false - -If false, when select from tables in information_schema database, -the result will not contain the information of the table in external catalog. -This is to avoid query time when external catalog is not reachable. - -#### `enable_query_hit_stats` - -Default: false - -IsMutable: true - -MasterOnly: false - -Controls whether to enable query hit statistics. The default is false. - -#### `div_precision_increment` - -Default: 4 - -This variable indicates the number of digits by which to increase the scale of the result of -division operations performed with the `/` operator. - -#### `enable_convert_light_weight_schema_change` - -Default:true - -Temporary configuration option. After it is enabled, a background thread will be started to automatically modify all olap tables to light schema change. The modification results can be viewed through the command `show convert_light_schema_change [from db]`, and the conversion results of all non-light schema change tables will be displayed. - -#### `disable_local_deploy_manager_drop_node` - -Default:true - -Forbid LocalDeployManager drop nodes to prevent errors in the cluster.info file from causing nodes to be dropped. - -#### `mysqldb_replace_name` - -Default: mysql - -To ensure compatibility with the MySQL ecosystem, Doris includes a built-in database called mysql. If this database conflicts with a user's own database, please modify this field to replace the name of the Doris built-in MySQL database with a different name. - -#### `max_auto_partition_num` - -Default value: 2000 - -For auto-partitioned tables to prevent users from accidentally creating a large number of partitions, the number of partitions allowed per OLAP table is `max_auto_partition_num`. Default 2000. - -#### `profile_manager_gc_interval_seconds` - -Default value: 1 - -Used to control the interval at which ProfileManager performs profile garbage collection. During garbage collection, ProfileManager purges excess and expired profiles from memory and disk to save memory. - -### Compute and Storage Disaggregated Mode - -#### `cluster_id` - -Default:-1 - -node(FE or BE) will be considered belonging to the same Doris cluster if they have same cluster id. You should specify one random int in compute and storage disaggregated mode. - -#### `deploy_mode` - -Default: "" - -Description: The mode in which FE runs. `cloud` indicates the decoupled storage-compute mode. - -#### `meta_service_endpoint` - -Default: "" - -Endpoints of the meta service should be specified in the format 'host1:port,host2:port'. This configuration is necessary for the storage and compute disaggregated mode. diff --git a/docs/admin-manual/config/user-property.md b/docs/admin-manual/config/user-property.md deleted file mode 100644 index 0ce4ed778be50..0000000000000 --- a/docs/admin-manual/config/user-property.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -{ - "title": "User Property", - "language": "en", - "description": "This document mainly introduces related configuration items at the User level." -} ---- - -# User configuration item - -This document mainly introduces related configuration items at the User level. The configuration of the User level is mainly effective for a single user. Each user can set their own User property. Does not affect each other. - -## View configuration items - -After the FE is started, on the MySQL client, use the following command to view the User configuration items: - -`SHOW PROPERTY [FOR user] [LIKE key pattern]` - -The specific syntax can be queried through the command: `help show property;`. - -## Set configuration items - -After FE is started, on the MySQL client, modify the User configuration items with the following command: - -`SET PROPERTY [FOR'user'] 'key' = 'value' [,'key' ='value']` - -The specific syntax can be queried through the command: `help set property;`. - -User-level configuration items will only take effect for the specified users, and will not affect the configuration of other users. - -## Application examples - -1. Modify the max_user_connections of user Billie - - Use `SHOW PROPERTY FOR 'Billie' LIKE '%max_user_connections%';` to check that the current maximum number of links for Billie users is 100. - - Use `SET PROPERTY FOR 'Billie' 'max_user_connections' = '200';` to modify the current maximum number of connections for Billie users to 200. - -## Configuration item list - -### max_user_connections - - The maximum number of user connections, the default value is 100 In general, this parameter does not need to be changed unless the number of concurrent queries exceeds the default value. - -### max_query_instances - - The maximum number of instances that the user can use at a certain point in time, The default value is -1, negative number means use default_max_query_instances config. - -### resource - -### quota - -### default_load_cluster - -### load_cluster diff --git a/docs/admin-manual/data-admin/backup-restore/backup.md b/docs/admin-manual/data-admin/backup-restore/backup.md deleted file mode 100644 index 027f1879e48bc..0000000000000 --- a/docs/admin-manual/data-admin/backup-restore/backup.md +++ /dev/null @@ -1,245 +0,0 @@ ---- -{ - "title": "Backup", - "language": "en", - "description": "For concepts related to backup, please refer to Backup and Restore. This guide provides the steps to create a Repository and back up data." -} ---- - -For concepts related to backup, please refer to [Backup and Restore](./overview.md). This guide provides the steps to create a Repository and back up data. - -## Step 1. Create Repository - - - -Use the appropriate statement to create a Repository based on your storage choice. For detailed usage, please refer to [Create Repository](../../../sql-manual/sql-statements/data-modification/backup-and-restore/CREATE-REPOSITORY). When backing up using the same path for the Repository across different clusters, ensure to use different labels to avoid conflicts that may cause data confusion. - -### Option 1: Create Repository on S3 - -To create a Repository on S3 storage, use the following SQL command: - -```sql -CREATE REPOSITORY `s3_repo` -WITH S3 -ON LOCATION "s3://bucket_name/s3_repo" -PROPERTIES -( - "s3.endpoint" = "s3.us-east-1.amazonaws.com", - "s3.region" = "us-east-1", - "s3.access_key" = "ak", - "s3.secret_key" = "sk" -); -``` - -- Replace `bucket_name` with your S3 bucket name. -- Provide the appropriate endpoint, access key, secret key, and region for S3 setup. - -### Option 2: Create Repository on Azure - -**Azure is supported since 3.1.3** - -To create a Repository on Azure storage, use the following SQL command: - -```sql -CREATE REPOSITORY `azure_repo` -WITH S3 -ON LOCATION "s3:///azure_repo" -PROPERTIES -( - "azure.endpoint" = "https://.blob.core.windows.net", - "azure.account_name" = "ak", - "azure.account_key" = "sk", - "provider" = "AZURE" -); -``` - -- Replace `container_name` with your Azure container name. -- Provide your Azure storage account and key for authentication. -- The `provider` must be set to `AZURE` for Azure storage. - -### Option 3: Create Repository on GCP - -To create a Repository on Google Cloud Platform (GCP) storage, use the following SQL command: - -```sql -CREATE REPOSITORY `gcp_repo` -WITH S3 -ON LOCATION "s3://bucket_name/backup/gcp_repo" -PROPERTIES -( - "s3.endpoint" = "storage.googleapis.com", - "s3.region" = "US-WEST2", - "s3.access_key" = "ak", - "s3.secret_key" = "sk" -); -``` - -- Replace `bucket_name` with your GCP bucket name. -- Provide your GCP endpoint, access key, and secret key. -- `s3.region` is a dummy but required field. - -### Option 4: Create Repository on OSS (Alibaba Cloud Object Storage Service) - -To create a Repository on OSS, use the following SQL command: - -```sql -CREATE REPOSITORY `oss_repo` -WITH S3 -ON LOCATION "s3://bucket_name/oss_repo" -PROPERTIES -( - "s3.endpoint" = "oss.aliyuncs.com", - "s3.region" = "cn-hangzhou", - "s3.access_key" = "ak", - "s3.secret_key" = "sk" -); -``` -- Replace `bucket_name` with your OSS bucket name. -- Provide your OSS endpoint, region, access key, and secret key. - -### Option 5: Create Repository on MinIO - -To create a Repository on MinIO storage, use the following SQL command: - -```sql -CREATE REPOSITORY `minio_repo` -WITH S3 -ON LOCATION "s3://bucket_name/minio_repo" -PROPERTIES -( - "s3.endpoint" = "yourminio.com", - "s3.region" = "dummy-region", - "s3.access_key" = "ak", - "s3.secret_key" = "sk", - "use_path_style" = "true" -); -``` - -- Replace `bucket_name` with your MinIO bucket name. -- Provide your MinIO endpoint, access key, and secret key. -- `s3.region` is a dummy but required field. -- If you do not enable Virtual Host-style, then `use_path_style` must be true. - -### Option 6: Create Repository on HDFS - -To create a Repository on HDFS storage, use the following SQL command: - -```sql -CREATE REPOSITORY `hdfs_repo` -WITH hdfs -ON LOCATION "/prefix_path/hdfs_repo" -PROPERTIES -( - "fs.defaultFS" = "hdfs://127.0.0.1:9000", - "hadoop.username" = "doris-test" -) -``` - -- Replace `prefix_path` with the actual path. -- Provide your HDFS endpoint and username. - -## Step 2. Backup - -Refer to the following statements to back up databases, tables, or partitions. For detailed usage, please refer to [Backup](../../../sql-manual/sql-statements/data-modification/backup-and-restore/BACKUP). - -It is recommended to use meaningful label names, such as those containing the databases and tables included in the backup. - -### Option 1: Backup Current Database - -The following SQL statement backs up the current database to a Repository named `example_repo`, using the snapshot label `exampledb_20241225`. - -```sql -BACKUP SNAPSHOT exampledb_20241225 -TO example_repo; -``` - -### Option 2: Backup Specified Database - -The following SQL statement backs up a database named `destdb` to a Repository named `example_repo`, using the snapshot label `destdb_20241225`. - -```sql -BACKUP SNAPSHOT destdb.`destdb_20241225` -TO example_repo; -``` - -### Option 3: Backup Specified Tables - -The following SQL statement backs up two tables to a Repository named `example_repo`, using the snapshot label `exampledb_tbl_tbl1_20241225`. - -```sql -BACKUP SNAPSHOT exampledb_tbl_tbl1_20241225 -TO example_repo -ON (example_tbl, example_tbl1); -``` - -### Option 4: Backup Specified Partitions - -The following SQL statement backs up a table named `example_tbl2` and two partitions named `p1` and `p2` to a Repository named `example_repo`, using the snapshot label `example_tbl_p1_p2_tbl1_20241225`. - -```sql -BACKUP SNAPSHOT example_tbl_p1_p2_tbl1_20241225 -TO example_repo -ON -( - example_tbl PARTITION (p1,p2), - example_tbl2 -); -``` - -### Option 5: Backup Current Database Excluding Certain Tables - -The following SQL statement backs up the current database to a Repository named `example_repo`, using the snapshot label `exampledb_20241225`, excluding two tables named `example_tbl` and `example_tbl1`. - -```sql -BACKUP SNAPSHOT exampledb_20241225 -TO example_repo -EXCLUDE -( - example_tbl, - example_tbl1 -); -``` - -## Step 3. View Recent Backup Job Execution Status - -The following SQL statement can be used to view the execution status of recent backup jobs. - -```sql -mysql> show BACKUP\G; -*************************** 1. row *************************** - JobId: 17891847 - SnapshotName: exampledb_20241225 - DbName: example_db - State: FINISHED - BackupObjs: [example_db.example_tbl] - CreateTime: 2022-04-08 15:52:29 - SnapshotFinishedTime: 2022-04-08 15:52:32 - UploadFinishedTime: 2022-04-08 15:52:38 - FinishedTime: 2022-04-08 15:52:44 - UnfinishedTasks: - Progress: - TaskErrMsg: - Status: [OK] - Timeout: 86400 - 1 row in set (0.01 sec) -``` - -## Step 4. View Existing Backups in Repository - -The following SQL statement can be used to view existing backups in a Repository named `example_repo`, where the Snapshot column is the snapshot label, and the Timestamp is the timestamp. - -```sql -mysql> SHOW SNAPSHOT ON example_repo; -+-----------------+---------------------+--------+ -| Snapshot | Timestamp | Status | -+-----------------+---------------------+--------+ -| exampledb_20241225 | 2022-04-08-15-52-29 | OK | -+-----------------+---------------------+--------+ -1 row in set (0.15 sec) -``` - -## Step 5. Cancel Backup (if necessary) - -You can use `CANCEL BACKUP FROM db_name;` to cancel a backup task in a database. For more specific usage, refer to [Cancel Backup](../../../sql-manual/sql-statements/data-modification/backup-and-restore/CANCEL-BACKUP). diff --git a/docs/admin-manual/data-admin/backup-restore/overview.md b/docs/admin-manual/data-admin/backup-restore/overview.md deleted file mode 100644 index 35af6155a5609..0000000000000 --- a/docs/admin-manual/data-admin/backup-restore/overview.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -{ - "title": "Backup and Restore Overview", - "language": "en", - "description": "Doris provides support for backup and restore operations. These features allow users to back up data from databases, tables," -} ---- - -## Introduction - -Doris provides support for backup and restore operations. These features allow users to back up data from databases, tables, or partitions to remote storage systems and restore it when needed. - -## Requirements - -- **Administrator Privileges**: Only users with **ADMIN** privileges can perform backup and restore operations. - -## Key Concepts - -**Snapshot**: - A snapshot is a time-point capture of data in a database, table, or partition. When creating a snapshot, a snapshot label must be specified, and a timestamp is generated upon completion, which can identify a snapshot through the Repository, snapshot label, and timestamp. - -**Repository**: - The remote storage location where backup files are stored. Supported remote storage includes S3, Azure, GCP, OSS, COS, MinIO, HDFS, and other S3-compatible object storage. - -**Backup Operation**: - The backup operation involves creating a snapshot of a database, table, or partition, uploading the snapshot file to a remote Repository, and storing metadata related to the backup. - -**Restore Operation**: - The restore operation involves retrieving a backup from the remote Repository and restoring it to the Doris cluster. - -## Key Features - -1. **Backup Data**: - Doris allows you to back up data from tables, partitions, or entire databases by creating snapshots. Data is backed up in file format and stored in HDFS, S3, or other S3-compatible remote storage systems. - -2. **Restore Data**: - You can restore backup data from the remote Repository to any Doris cluster. This includes full database restoration, full table restoration, and partition-level restoration, allowing for flexible data recovery. - -3. **Snapshot Management**: - Data is backed up in the form of snapshots. These snapshots are uploaded to remote storage systems and can be restored when needed. The restoration process involves downloading the snapshot file and mapping it to local metadata to make it effective. - -4. **Data Migration**: - In addition to backup and restore, this feature also supports data migration between different Doris clusters. You can back up data to a remote storage system and restore it to another Doris cluster, facilitating cluster migration scenarios. - -5. **Replication Control**: - When restoring data, you can specify the number of replicas for the restored data to ensure redundancy and fault tolerance. - -## Limitations - -1. **Decoupling of Storage and Computing**: - The storage-computing separation model does not support backup and restore. - -2. **Asynchronous Materialized Views (MTMV) Not Supported**: - Backup or restore of **asynchronous materialized views (MTMV)** is not supported. These views are not considered in backup and restore operations. - -3. **Tables with Storage Policies Not Supported**: - Tables that use [**storage policies**](../../../table-design/tiered-storage/remote-storage) **do not support** backup and restore operations. - -4. **Incremental Backup**: - Currently, Doris only supports full backups. Incremental backups (only storing data changed since the last backup) are not supported; you can back up specific partitions to achieve incremental backup. - -5. **colocate_with Attribute**: - During backup or restore operations, Doris does not retain the `colocate_with` attribute of the table. This may need to be reconfigured for colocated tables after restoration. - -6. **Dynamic Partition Support**: - After restoring a table, you need to manually enable this attribute using the `ALTER TABLE` command. - -7. **Single Concurrency**: - Only one backup or restore task can run simultaneously under a single database. - diff --git a/docs/admin-manual/data-admin/backup-restore/restore.md b/docs/admin-manual/data-admin/backup-restore/restore.md deleted file mode 100644 index e797249806428..0000000000000 --- a/docs/admin-manual/data-admin/backup-restore/restore.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -{ - "title": "Restore", - "language": "en", - "description": "The following SQL statement can be used to view existing backups in the Repository named examplerepo." -} ---- - -## Prerequisites - -1. Ensure you have **administrator** privileges to perform the restore operation. -2. Ensure you have an existing **Repository** to store the backup. If not, follow the steps to create a Repository and perform a [backup](backup.md). -3. Ensure you have a valid **backup** snapshot available for restore. - -## 1. Get the Backup Timestamp of the Snapshot - -The following SQL statement can be used to view existing backups in the Repository named `example_repo`. - - ```sql - mysql> SHOW SNAPSHOT ON example_repo; - +-----------------+---------------------+--------+ - | Snapshot | Timestamp | Status | - +-----------------+---------------------+--------+ - | exampledb_20241225 | 2022-04-08-15-52-29 | OK | - +-----------------+---------------------+--------+ - 1 row in set (0.15 sec) - ``` - -## 2. Restore from Snapshot - -### Option 1: Restore Snapshot to Current Database - -The following SQL statement restores the snapshot labeled `restore_label1` with the timestamp `2022-04-08-15-52-29` from the Repository named `example_repo` to the current database. - -```sql -RESTORE SNAPSHOT `restore_label1` -FROM `example_repo` -PROPERTIES -( - "backup_timestamp"="2022-04-08-15-52-29" -); -``` - -### Option 2: Restore Snapshot to Specified Database - -The following SQL statement restores the snapshot labeled `restore_label1` with the timestamp `2022-04-08-15-52-29` from the Repository named `example_repo` to a database named `destdb`. - -```sql -RESTORE SNAPSHOT destdb.`restore_label1` -FROM `example_repo` -PROPERTIES -( - "backup_timestamp"="2022-04-08-15-52-29" -); -``` - -### Option 3: Restore a Single Table from Snapshot - -Restore the table `backup_tbl` from the snapshot in `example_repo` to the current database, with the snapshot labeled `restore_label1` and timestamp `2022-04-08-15-52-29`. - -```sql -RESTORE SNAPSHOT `restore_label1` -FROM `example_repo` -ON ( `backup_tbl` ) -PROPERTIES -( - "backup_timestamp"="2022-04-08-15-52-29" -); -``` - -### Option 4: Restore Partitions and Tables from Snapshot - -Restore partitions p1 and p2 of the table `backup_tbl`, as well as the table `backup_tbl2` to the current database `example_db1`, renaming it to `new_tbl`, from the backup snapshot `snapshot_2`, with the snapshot timestamp `"2018-05-04-17-11-01"`. - - ```sql - RESTORE SNAPSHOT `restore_label1` - FROM `example_repo` - ON - ( - `backup_tbl` PARTITION (`p1`, `p2`), - `backup_tbl2` AS `new_tbl` - ) - PROPERTIES - ( - "backup_timestamp"="2022-04-08-15-55-43" - ); - ``` - -## 3. Check the Execution Status of the Restore Job - -```sql - mysql> SHOW RESTORE\G; - *************************** 1. row *************************** - JobId: 17891851 - Label: snapshot_label1 - Timestamp: 2022-04-08-15-52-29 - DbName: default_cluster:example_db1 - State: FINISHED - AllowLoad: false - ReplicationNum: 3 - RestoreObjs: { - "name": "snapshot_label1", - "database": "example_db", - "backup_time": 1649404349050, - "content": "ALL", - "olap_table_list": [ - { - "name": "backup_tbl", - "partition_names": [ - "p1", - "p2" - ] - } - ], - "view_list": [], - "odbc_table_list": [], - "odbc_resource_list": [] - } - CreateTime: 2022-04-08 15:59:01 - MetaPreparedTime: 2022-04-08 15:59:02 - SnapshotFinishedTime: 2022-04-08 15:59:05 - DownloadFinishedTime: 2022-04-08 15:59:12 - FinishedTime: 2022-04-08 15:59:18 - UnfinishedTasks: - Progress: - TaskErrMsg: - Status: [OK] - Timeout: 86400 - 1 row in set (0.01 sec) -``` diff --git a/docs/admin-manual/data-admin/ccr/config.md b/docs/admin-manual/data-admin/ccr/config.md deleted file mode 100644 index 74175b4d834ce..0000000000000 --- a/docs/admin-manual/data-admin/ccr/config.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -{ - "title": "Configuration Instructions", - "language": "en", - "description": "This document provides the configurations that need to be adjusted or paid attention to when using CCR." -} ---- - -This document provides the configurations that need to be adjusted or paid attention to when using CCR. - -## FE Configuration - -Configured in `fe.conf`, for example, `restore_reset_index_id = true`. - -| **Name**|**Description**|**Default Value**| **Version** | -|---|---|---|---| -|`restore_reset_index_id`|If inverted index or bitmap index is used in the synchronized table, it should be set to `false`.| false| Starting from 2.1.8 and 3.0.4. | -|`ignore_backup_tmp_partitions`|To avoid synchronization interruption caused by upstream creating temporary partition, it should be set to `true`.|false| Starting from 2.1.8 and 3.0.4. | -|`max_backup_restore_job_num_per_db`|Limit on the number of backup/restore jobs per DB in memory, it is recommended to set it to 2.|10 | All versions.| -|`label_num_threshold`|Controls the number of TXN Labels to prevent transaction recovery from being too fast; too large may occupy more memory, too small may cause data duplication in exceptional situations, the default value is sufficient in most cases.| 2000 | Starting from 2.1. | -|`restore_job_compressed_serialization`| It is recommended to configure as true when the number of tablets exceeds 100,000.
Before downgrading, turn off the configuration and ensure FE completes a checkpoint.
When upgrading from 2.1 to 3.0, at least upgrade to 3.0.3.|false| Starting from 2.1.8 and 3.0.3.| -|`backup_job_compressed_serialization`| It is recommended to configure as true when the number of tablets exceeds 100,000.
Before downgrading, turn off the configuration and ensure FE completes a checkpoint.
When upgrading from 2.1 to 3.0, at least upgrade to 3.0.3.|false| Starting from 2.1.8 and 3.0.3.| -|`backup_job_default_timeout_ms`|Timeout for backup/restore jobs, both source and target cluster FE need to be configured.|None|Set according to requirements| -|`enable_restore_snapshot_rpc_compression`|Enable snapshot info compression to reduce RPC message size, it is recommended to set it to true.| true | Starting from 2.1.8 and 3.0.3. | - - -## BE - -Configured in `be.conf`, for example, `thrift_max_message_size = 2000000000`. - -| **Name**|**Description**|**Default Value**| **Version** | -|---|---|---|---| -|`thrift_max_message_size`|BE thrift server single RPC packet limit, it is recommended to set to 2000000000 when the number of tablets involved in CCR jobs is large.|100MB| All versions | -|`be_thrift_max_pkg_bytes`|BE Thrift RPC message package size limit.|20MB| Specific to 2.0.| All versions | -|`max_download_speed_kbps`|Download speed limit for each download worker in downstream BE, default is 50MB/s per thread.|50MB/s| All versions | -|`download_worker_count`|Number of threads for download jobs, set according to network card, disk, and load.| 1 | All versions | - - -## Table Attributes - -Set in `Create Table` or `Alter Table`. - -| **Name**|**Description**|**Default Value**| **Version** | -|---|---|---|---| -|`binlog.max_bytes`|Maximum memory usage for binlog, it is recommended to keep at least 4GB.|Unlimited| All versions | -|`binlog.ttl_seconds`|Retention time for binlog.| Unlimited before 2.0.5, starting from 2.0.5 it is 1 day (86400)| All versions | diff --git a/docs/admin-manual/data-admin/ccr/feature.md b/docs/admin-manual/data-admin/ccr/feature.md deleted file mode 100644 index 3aa5796feaf97..0000000000000 --- a/docs/admin-manual/data-admin/ccr/feature.md +++ /dev/null @@ -1,256 +0,0 @@ ---- -{ - "title": "Feature Details", - "language": "en-US", - "description": "The Cross-Cluster Replication (CCR) feature in Doris is primarily used for efficiently synchronizing data between multiple clusters," -} ---- - -The Cross-Cluster Replication (CCR) feature in Doris is primarily used for efficiently synchronizing data between multiple clusters, thereby enhancing business continuity and disaster recovery capabilities. CCR supports various operations in Doris, ensuring data consistency across different clusters. Below are the details of the main Doris operations supported by CCR. - -:::note - -1. The `-` in Doris Version indicates Doris version 2.0 and above, all versions of CCR. It is recommended to use Doris version 2.0.15 or 2.1.6 or later. -2. Version requirements for CCR Syncer and Doris: Syncer Version >= Downstream Doris Version >= Upstream Doris Version. Therefore, upgrade Syncer first, then the downstream Doris, and finally the upstream Doris. -3. CCR currently does not support the separation of storage and computation. - -::: - -## Database - -### Database Properties - -Database-level jobs will synchronize the properties of the database during Full Sync. - -| Property | Supported | Doris Version | Sync Method | Description | -| ----------------------- | --------- | ------------- | ----------- | ----------- | -| replication_allocation | Supported | - | Full Sync | | -| data quota | Not Supported | | | | -| replica quota | Not Supported | | | | - -### Modify Database Properties - -CCR jobs do not synchronize operations that modify database properties. - -| Property | Supported | Can Upstream Operate | Can Downstream Operate | Description | -| ----------------------- | --------- | -------------------- | ---------------------- | ---------------------------------------- | -| replication_allocation | Not Supported | No | No | Operations on both sides will cause CCR jobs to be interrupted | -| data quota | Not Supported | Yes | Yes | | -| replica quota | Not Supported | Yes | Yes | | - -### Rename Database - -Renaming is not supported for upstream and downstream; if done, it may cause views to stop working. - -## Table -### Table Properties - -| Property | Supported | Doris Version | Sync Method | Description | -| --------------------------------------------- | --------- | ------------- | ----------- | -------------------------------------------------------------- | -| Table Model (duplicate, unique, aggregate) | Supported | - | SQL | | -| Partition and Bucketing | Supported | - | SQL | | -| replication_num | Supported | - | SQL | | -| replication_allocation (resource group) | Supported | - | SQL | Upstream must be consistent with downstream, BE tags must match; otherwise, CCR jobs will fail | -| colocate_with | Not Supported | | | | -| storage_policy | Not Supported | | | | -| dynamic_partition | Supported | - | SQL | | -| storage_medium | Supported | - | SQL | | -| auto_bucket | Supported | - | SQL | | -| group_commit series | Supported | - | SQL | | -| enable_unique_key_merge_on_write | Supported | - | SQL | | -| enable_single_replica_compaction | Supported | - | SQL | | -| disable_auto_compaction | Supported | - | SQL | | -| compaction_policy | Supported | - | SQL | | -| time_series_compaction series | Supported | - | SQL | | -| binlog series | Supported | - | SQL | | -| variant_enable_flatten_nested | Supported | - | SQL | | -| skip_write_index_on_load | Supported | - | SQL | | -| row_store series | Supported | - | SQL | | -| seq column | Supported | - | SQL | | -| enable_light_schema_change | Supported | - | SQL | | -| compression_type | Supported | - | SQL | | -| index | Supported | - | SQL | | -| bloom_filter_columns | Supported | - | SQL | | -| bloom_filter_fpp | Supported | | | | -| storage_cooldown_time | Not Supported | | | | -| generated column | Supported | - | SQL | | -| auto-increment id | Not Supported | | | Has issues | - -### Basic Table Operations - -| Operation | Supported | Doris Version | Sync Method | Can Downstream Operate Independently | Description | -| -------------- | --------- | ------------- | ----------- | ------------------------------------ | ----------- | -| create table | Supported | - | SQL/Partial Sync | Cannot operate on tables synchronized by CCR jobs. | Refer to the properties for creating tables; in most cases, use SQL for synchronization; for some operations, such as when users set certain session variables or when the create table statement includes inverted indexes, use partial sync | -| drop table | Supported | - | SQL/Full Sync | Same as above | Before 2.0.15/2.1.6: Full Sync, after: SQL | -| rename table | Table-level jobs do not support database-level jobs | 2.1.8/3.0.4 | SQL | Same as above | Table-level job renames will cause CCR jobs to stop | -| replace table | Supported | 2.1.8/3.0.4 | SQL/Full Sync | Same as above | Use SQL for database-level synchronization; table-level triggers full synchronization | -| truncate table | Supported | - | SQL | Same as above | | -| restore table | Not Supported | | | Same as above | | - -### Modify Table Properties - -The synchronization method is SQL. - -| Property | Supported | Doris Version | Can Upstream Operate | Can Downstream Operate | Description | -| ------------------------------ | --------- | ------------- | -------------------- | ---------------------- | ---------------------------------------------- | -| colocate | Not Supported | | Yes | No | Triggering full sync on downstream operations will cause data loss | -| distribution type | Not Supported | | No | Same | | -| dynamic partition | Not Supported | | Yes | Same | | -| replication_num | Not Supported | | No | No | | -| replication_allocation | Not Supported | | No | | | -| storage policy | Not Supported | | No | No | | -| enable_light_schema_change | Not Supported | | | | CCR can only synchronize lightweight schema changes. | -| row_store | Supported | 2.1.8/3.0.4 | | | Through Partial Sync | -| bloom_filter_columns | Supported | 2.1.8/3.0.4 | | | Through Partial Sync | -| bloom_filter_fpp | Supported | 2.1.8/3.0.4 | | | Through Partial Sync | -| bucket num | Not Supported | | Yes | No | Triggering full sync on downstream operations will cause data loss | -| isBeingSynced | Not Supported | | No | No | | -| compaction series properties | Not Supported | | Yes | No | Triggering full sync on downstream operations will cause data loss | -| skip_write_index_on_load | Not Supported | | Yes | Same | | -| seq column | Supported | - | Yes | No | Triggering full sync on downstream operations will cause data loss | -| delete sign column | Supported | - | Yes | Same | | -| comment | Supported | 2.1.8/3.0.4 | Yes | No | Triggering full sync on downstream operations will cause data loss | - -### Column Operations - -Column operations on Base Index in the table. - -| Operation | Supported | Doris Version | Sync Method | Can Downstream Operate | Remarks | -| ------------------ | --------- | ------------- | --------------------- | ---------------------- | ---------------------------------- | -| add key column | Supported | - | Partial Sync | No | | -| add value column | Supported | - | SQL | No | | -| drop key column | Supported | - | Partial Sync | Same | | -| drop value column | Supported | - | SQL | Same | | -| modify column | Supported | - | Partial Sync | Same | | -| order by | Supported | - | Partial Sync | Same | | -| rename | Supported | 2.1.8/3.0.4 | SQL | Same | | -| comment | Supported | 2.1.8/3.0.4 | SQL | Same | | - -:::note - -Adding/dropping value columns requires setting the property `"light_schema_change" = "true"` when creating the table. - -::: - -Column operations on Rollup Index in the table. - -| Operation | Supported | Doris Version | Sync Method | Remarks | -| ------------------ | --------- | ------------- | --------------------- | -------------------- | -| add key column | Supported | 2.1.8/3.0.4 | Partial Sync | | -| add value column | Supported | 2.1.8/3.0.4 | SQL | Requires enabling lightning schema change | -| drop column | Supported | 2.1.8/3.0.4 | Partial Sync | | -| modify column | Unknown | 2.1.8/3.0.4 | Partial Sync | Doris does not support directly modifying rollup column types | -| order by | Supported | 2.1.8/3.0.4 | Partial sync | | - -### Rollup - -| Operation | Supported | Doris Version | Sync Method | Remarks | -| ------------------ | --------- | ------------- | --------------------- | ---------------- | -| add rollup | Supported | 2.1.8/3.0.4 | Partial Sync | | -| drop rollup | Supported | 2.1.8/3.0.4 | SQL | | -| rename rollup | Supported | 2.1.8/3.0.4 | SQL | | - -### Index - -Inverted Index - -| Operation | Supported | Doris Version | Sync Method | Remarks | -| ------------------ | --------- | ------------- | --------------------- | ----------- | -| create index | Supported | 2.1.8/3.0.4 | Partial Sync | | -| drop index | Supported | 2.1.8/3.0.4 | SQL | | -| build index | Supported | 2.1.8/3.0.4 | SQL | | - -Bloom Filter - -| Operation | Supported | Doris Version | Sync Method | Remarks | -| ------------------ | --------- | ------------- | --------------------- | ----------- | -| add bloom filter | Supported | 2.1.8/3.0.4 | Partial Sync | | -| alter bloom filter | Supported | 2.1.8/3.0.4 | Partial Sync | This refers to modifying bloom_filter_columns | -| drop bloom filter | Supported | 2.1.8/3.0.4 | Partial Sync | | - -## Data - -### Import - -| Import Method | Supported | Doris Version | Sync Method | Can Downstream Operate | Description | -| ------------------ | -------------------- | ------------- | ----------- | ------------------------------------------------------------ | ---------------------------------------------------------- | -| stream load | Supported (except for temporary partitions) | - | TXN | No, if downstream imports, subsequent triggers of full or Partial Sync will cause data loss | Upstream transactions are visible, i.e., data is visible when generating binlog, downstream starts syncing. | -| broker load | Supported (except for temporary partitions) | - | TXN | Same | Same | -| routine load | Supported (except for temporary partitions) | - | TXN | Same | Same | -| mysql load | Supported (except for temporary partitions) | - | TXN | Same | Same | -| group commit | Supported (except for temporary partitions) | 2.1 | TXN | Same | Same | - -### Data Operations - -| Operation | Supported | Doris Version | Sync Method | Can Downstream Operate | Description | -| ------------------------------- | -------------------- | ------------- | ---------------- | ------------------------------------------------------------ | ---------------------------------------------------------- | -| delete | Supported | - | TXN | No, if downstream operates, subsequent triggers of full or Partial Sync will cause data loss | Upstream transactions are visible, i.e., data is visible when generating binlog, downstream starts syncing. | -| update | Supported | - | TXN | Same | Same | -| insert | Supported | - | TXN | Same | Same | -| insert into overwrite | Supported (except for temporary partitions) | 2.1.6 | Partial Sync | Same | Same | -| insert into overwrite | Supported (except for temporary partitions) | 2.0 | full sync | Same | Same | -| Explicit transaction (3.0) begin commit | Not Supported | | | | | - -## Partition Operations - -| Operation | Supported | Doris Version | Sync Method | Can Downstream Operate Independently | Description | -| ----------------------- | ------------------------------- | ------------- | ---------------------- | ------------------------------------------------------------ | ---------------------------------------------------------- | -| add partition | Supported | - | SQL | No, subsequent triggers of Full Sync or Partial Sync will cause downstream operations to be lost | Cooldown time property and its behavior are unknown | -| add temp partition | Not Supported | | | Same | Backup does not support temp partition; starting from Doris 2.1.8/3.0.4, you can modify upstream FE configuration: `ignore_backup_tmp_partitions` to bypass this issue | -| drop partition | Supported | - | SQL/Full Sync | Same | Before 2.0.15/2.1.6: Full Sync, after: SQL | -| replace partition | Supported | 2.1.7/3.0.3 | Partial Sync | Same | Partial Sync **only supports strict range and non-temp partition replace method**, otherwise it will trigger Full Sync. | -| modify partition | Not Supported | | | Same | Refers to modifying the property of the partition | -| rename partition | Supported | 2.1.8/3.0.4 | SQL | Same | | - -## Views - -| Operation | Supported | Doris Version | Sync Method | Remarks | -| ---------------- | --------- | ------------- | ----------- | ---------------------------------- | -| create view | Supported | - | SQL | Can work when upstream and downstream have the same name; if downstream already exists, it will be deleted before creation | -| alter view | Supported | 2.1.8/3.0.4 | SQL | | -| drop view | Supported | 2.1.8/3.0.4 | SQL | | - -::: note - -Due to limitations in Doris implementation, column names/view names in views cannot be the same as database names. - -::: - -## Materialized Views - -Synchronizing materialized views - -| Operation | Supported | Doris Version | Sync Method | Remarks | -| ----------------------------- | --------- | ------------- | ----------- | -------------------------------------------------------------- | -| create materialized view | Supported | 2.1.8/3.0.4 | Partial Sync | Can work when upstream and downstream have the same name; if different names, downstream needs to manually rebuild the view. | -| drop materialized view | Supported | 2.1.8/3.0.4 | SQL | | - - -Asynchronous materialized views - -| Operation | Supported | -| ----------------------------------- | --------- | -| create async materialized view | Not Supported | -| alter async materialized view | Not Supported | -| drop async materialized view | Not Supported | -| refresh | Not Supported | -| pause | Not Supported | -| resume | Not Supported | - -## Statistics - -Not synchronized between upstream and downstream, operate independently. - -## Others - -| Operation | Supported | -| --------------------- | --------- | -| external table | Not Supported | -| recycle bin | Not Supported | -| catalog | Not Supported | -| workload group | Not Supported | -| job | Not Supported | -| function | Not Supported | -| policy | Not Supported | -| user | Not Supported | -| cancel alter job | Supported | diff --git a/docs/admin-manual/data-admin/ccr/manual.md b/docs/admin-manual/data-admin/ccr/manual.md deleted file mode 100644 index 1589e7a90313e..0000000000000 --- a/docs/admin-manual/data-admin/ccr/manual.md +++ /dev/null @@ -1,336 +0,0 @@ ---- -{ - "title": "Operation Manual", - "language": "en", - "description": "When Syncer synchronizes, the user needs to provide accounts for both upstream and downstream, which must have the following permissions:" -} ---- - -## Usage Requirements - -### Network Requirements - -- Syncer needs to be able to communicate with both upstream and downstream FE and BE. -- The downstream BE must have direct access to the IP used by the Doris BE process (as seen in `show frontends/backends`). - -### Permission Requirements - -When Syncer synchronizes, the user needs to provide accounts for both upstream and downstream, which must have the following permissions: - -- Select_priv: Read-only permission for databases and tables. -- Load_priv: Write permission for databases and tables, including Load, Insert, Delete, etc. -- Alter_priv: Permission to modify databases and tables, including renaming databases/tables, adding/deleting/changing columns, adding/deleting partitions, etc. -- Create_priv: Permission to create databases, tables, and views. -- Drop_priv: Permission to delete databases, tables, and views. -- Admin permission (considered for removal later), used to check the enable binlog config. - -### Version Requirements - -- Syncer Version >= Downstream Doris Version >= Upstream Doris Version. Therefore, upgrade Syncer first, then upgrade downstream Doris, and finally upgrade upstream Doris. -- The minimum version for Doris 2.0 is 2.0.15, and the minimum version for Doris 2.1 is 2.1.6. -- Starting from Syncer version 2.1.8 and 3.0.4, Syncer no longer supports Doris 2.0. - -### Configuration and Property Requirements - -**Property Requirements** -- `light_schema_change`: Syncer requires both upstream and downstream tables to set the `light_schema_table` property; otherwise, data synchronization errors may occur. Note: The latest version of Doris sets the `light_schema_change` property by default when creating tables. If using Doris version 1.1 or earlier or upgraded from it, the `light_schema_change` property must be set for existing OLAP tables before enabling Syncer synchronization. - -**Configuration Requirements** -- `restore_reset_index_id`: If the table to be synchronized has an inverted index, it must be configured as `false` on the target cluster. -- `ignore_backup_tmp_partitions`: If the upstream creates temporary partitions, Doris will prohibit backup, causing Syncer synchronization to be interrupted; setting `ignore_backup_tmp_partitions=true` in FE can avoid this issue. - -## Enable binlog for all tables in the database - -```shell -bash bin/enable_db_binlog.sh -h host -p port -u user -P password -d db -``` - -## Start Syncer - -Assuming the environment variable ${SYNCER_HOME} is set to the working directory of Syncer. You can start Syncer using `bin/start_syncer.sh`. - -| **Option** | **Description** | **Command Example** | **Default Value** | -|------------|-----------------|---------------------|--------------------| -| `--daemon` | Run Syncer in the background | `bin/start_syncer.sh --daemon` | `false` | -| `--db_type` | Syncer can use two types of databases to store metadata: `sqlite3` (local storage) and `mysql` (local or remote storage). When using `mysql` to store metadata, Syncer will create a database named `ccr` using `CREATE IF NOT EXISTS`, and the metadata table will be stored there. | `bin/start_syncer.sh --db_type mysql` | `sqlite3` | -| `--db_dir` | **Effective only when using `sqlite3`**; specifies the filename and path of the SQLite3 generated database file. | `bin/start_syncer.sh --db_dir /path/to/ccr.db` | `SYNCER_HOME/db/ccr.db` | -| `--db_host`
`--db_port`
`--db_user`
`--db_password` | **Effective only when using `mysql`**; used to set the host, port, user, and password for MySQL. | `bin/start_syncer.sh --db_host 127.0.0.1 --db_port 3306 --db_user root --db_password "qwe123456"` | `db_host` and `db_port` default to example values; `db_user` and `db_password` default to empty. | -| `--log_dir` | Specify the log output path | `bin/start_syncer.sh --log_dir /path/to/ccr_syncer.log` | `SYNCER_HOME/log/ccr_syncer.log` | -| `--log_level` | Specify the log output level; the log format is as follows: `time level msg hooks`. The default value is `info` when running in the background; when running in the foreground, the default value is `trace`, and logs are saved to `log_dir` using `tee`. | `bin/start_syncer.sh --log_level info` | `info` (background)
`trace` (foreground) | -| `--host`
`--port` | Specify the `host` and `port` for Syncer. The `host` is used to distinguish instances of Syncer in the cluster and can be understood as the name of Syncer; the naming format for Syncer in the cluster is `host:port`. | `bin/start_syncer.sh --host 127.0.0.1 --port 9190` | `host` defaults to `127.0.0.1`
`port` defaults to `9190` | -| `--pid_dir` | Specify the path to save the PID file. The PID file is the credential for the `stop_syncer.sh` script to stop Syncer, saving the corresponding Syncer's process number. For ease of cluster management, you can customize the path. | `bin/start_syncer.sh --pid_dir /path/to/pids` | `SYNCER_HOME/bin` | - -## Stop Syncer - -You can stop Syncer using `bin/stop_syncer.sh` in three ways: - -| **Method/Option** | **Description** | **Command Example** | **Default Value** | -|-------------------|-----------------|---------------------|--------------------| -| **Method 1** Stop a single Syncer | Specify the `host` and `port` of the Syncer to stop; note that it must match the `host` used when starting. | `bash bin/stop_syncer.sh --host 127.0.0.1 --port 9190` | None | -| **Method 2** Batch stop Syncers | Specify the PID file names to stop, separated by spaces and enclosed in `"` quotes. | `bash bin/stop_syncer.sh --files "127.0.0.1_9190.pid 127.0.0.1_9191.pid"` | None | -| **Method 3** Stop all Syncers | By default, stops all Syncers corresponding to PID files in the `pid_dir` path. | `bash bin/stop_syncer.sh --pid_dir /path/to/pids` | None | - -Options for Method 3: - -| **Option** | **Description** | **Command Example** | **Default Value** | -|------------|-----------------|---------------------|--------------------| -| `--pid_dir` | Specify the directory where the PID files are located; all three stopping methods depend on this option to execute. | `bash bin/stop_syncer.sh --pid_dir /path/to/pids` | `SYNCER_HOME/bin` | -| `--host`
`--port` | Stop the Syncer corresponding to `host:port` in the `pid_dir` path. If only `host` is specified, it degrades to **Method 3**; if both `host` and `port` are not empty, it will be effective as **Method 1**. | `bash bin/stop_syncer.sh --host 127.0.0.1 --port 9190` | `host`: 127.0.0.1
`port`: empty | -| `--files` | Stop the Syncers corresponding to the specified PID file names in the `pid_dir` path, separated by spaces and enclosed in `"` quotes. | `bash bin/stop_syncer.sh --files "127.0.0.1_9190.pid 127.0.0.1_9191.pid"` | None | - -## Syncer Operation List - -**General Template for Requests** - -```shell -curl -X POST -H "Content-Type: application/json" -d {json_body} http://ccr_syncer_host:ccr_syncer_port/operator -``` - -json_body: Send the required information for the operation in JSON format. - -operator: Corresponds to different operations of Syncer. - -Thus, the interface returns are all in JSON; if successful, the `success` field will be true, and if there is an error, it will be false, with the error message in the `ErrMsgs` field. - -```JSON -{"success":true} - -or - -{"success":false,"error_msg":"job ccr_test not exist"} -``` - -### Create Job - -```shell -curl -X POST -H "Content-Type: application/json" -d '{ - "name": "ccr_test", - "src": { - "host": "localhost", - "port": "9030", - "thrift_port": "9020", - "user": "root", - "password": "", - "database": "demo", - "table": "example_tbl" - }, - "dest": { - "host": "localhost", - "port": "9030", - "thrift_port": "9020", - "user": "root", - "password": "", - "database": "ccrt", - "table": "copy" - } -}' http://127.0.0.1:9190/create_ccr -``` - -- name: The name of the CCR synchronization job, must be unique. - -- host, port: Correspond to the host of the cluster master and the port of MySQL (jdbc). - -- thrift_port: Corresponds to the rpc_port of FE. - -- user, password: The identity under which Syncer opens transactions, pulls data, etc. - -- database, table: - - - If it is a database-level synchronization, fill in dbName, leave tableName empty. - - - If it is table-level synchronization, fill in both dbName and tableName. - -### View Synchronization Progress - -```shell -curl -X POST -H "Content-Type: application/json" -d '{ - "name": "job_name" -}' http://ccr_syncer_host:ccr_syncer_port/get_lag -``` - -job_name is the name created during create_ccr. - -### Pause Job - -```shell -curl -X POST -H "Content-Type: application/json" -d '{ - "name": "job_name" -}' http://ccr_syncer_host:ccr_syncer_port/pause -``` - -### Resume Job - -```shell -curl -X POST -H "Content-Type: application/json" -d '{ - "name": "job_name" -}' http://ccr_syncer_host:ccr_syncer_port/resume -``` - -### Delete Job - -```shell -curl -X POST -H "Content-Type: application/json" -d '{ - "name": "job_name" -}' http://ccr_syncer_host:ccr_syncer_port/delete -``` - -### Get Version - -```shell -curl http://ccr_syncer_host:ccr_syncer_port/version - -# > return -{"version": "2.0.1"} -``` - -### View Job Status - -```shell -curl -X POST -H "Content-Type: application/json" -d '{ - "name": "job_name" -}' http://ccr_syncer_host:ccr_syncer_port/job_status - -{ -"success": true, -"status": { - "name": "ccr_db_table_alias", - "state": "running", - "progress_state": "TableIncrementalSync" -} -} -``` - -### End Synchronization - -```shell -curl -X POST -H "Content-Type: application/json" -d '{ - "name": "job_name" -}' http://ccr_syncer_host:ccr_syncer_port/desync -``` - -### Get Job List - -```shell -curl http://ccr_syncer_host:ccr_syncer_port/list_jobs - -{"success":true,"jobs":["ccr_db_table_alias"]} -``` - -## Syncer High Availability - -Syncer high availability relies on MySQL. If MySQL is used as backend storage, Syncer can discover other Syncers; if one crashes, others will take over its jobs. - -## Upgrade - -### 1. Upgrade Syncer -Assuming the following environment variables are set: -- ${SYNCER_HOME}: Syncer's working directory. -- ${SYNCER_PACKAGE_DIR}: Directory containing the new Syncer. - -Upgrade every Syncer by following these steps. - -1.1. Save start commands - -Save the output of the following command to a file. -``` -ps -elf | grep ccr_syncer -``` - -1.2. Stop the current Syncer - -```shell -sh bin/stop_syncer.sh --pid_dir ${SYNCER_HOME}/bin -``` - -1.3. Backup the existing MetaService binaries - -```shell -mv ${SYNCER_HOME}/bin bin_backup_$(date +%Y%m%d_%H%M%S) -``` - -1.4. Deploy the new package - -```shell -cp ${SYNCER_PACKAGE_DIR}/bin ${SYNCER_HOME}/bin -``` - -1.5. Start the new Syncer - -Start the new Syncer using the command saved in 1.1. - -### 2. Upgrade downstream Doris (If Necessary) - -Upgrade the upstream system by following the instructions in the [Upgrade Doris](../../../admin-manual/cluster-management/upgrade.md) guide. - -### 3. Upgrade upstream Doris (If Necessary) - -Upgrade the upstream system by following the instructions in the [Upgrade Doris](../../../admin-manual/cluster-management/upgrade.md) guide. - -## Usage Notes - -:::caution - -The `is_being_synced` attribute should be fully controlled by Syncer to turn on or off under normal circumstances; users should not modify this attribute themselves. - -::: - -### Important Notes - -- During CCR synchronization, backup/restore jobs and binlogs are all in FE memory, so it is recommended to allocate at least 4GB or more heap memory for each CCR job in FE (both source and target clusters), and also modify the following configurations to reduce the memory consumption of unrelated jobs: - - Modify the FE configuration `max_backup_restore_job_num_per_db`: - Records the number of backup/restore jobs for each DB in memory. The default value is 10; setting it to 2 is sufficient. - - Modify the source cluster db/table property to set the binlog retention limit: - - `binlog.max_bytes`: Maximum memory occupied by binlog; it is recommended to retain at least 4GB (default is unlimited). - - `binlog.ttl_seconds`: Binlog retention time; before version 2.0.5, the default was unlimited; after that, the default value is one day (86400). - For example, to modify the binlog ttl seconds to retain for one hour: `ALTER TABLE table SET ("binlog.ttl_seconds"="3600")`. -- The correctness of CCR also relies on the transaction state of the target cluster, so it is necessary to ensure that transactions are not reclaimed too quickly during synchronization; the following configurations need to be increased: - - `label_num_threshold`: Used to control the number of TXN Labels. - - `stream_load_default_timeout_second`: Used to control the TXN timeout duration. - - `label_keep_max_second`: Used to control the retention time after TXN ends. - - `streaming_label_keep_max_second`: Same as above. -- If it is a database synchronization and the source cluster has a large number of tablets, the resulting CCR job may be very large, requiring modifications to several FE configurations: - - `max_backup_tablets_per_job`: - The upper limit of tablets involved in a single backup job; it needs to be adjusted based on the number of tablets (default value is 300,000; too many tablets may risk FE OOM, prioritize reducing the number of tablets). - - `thrift_max_message_size`: - The maximum single RPC packet size allowed by the FE thrift server; the default is 100MB. If the number of tablets is too large, causing the snapshot info size to exceed 100MB, this limit needs to be adjusted, with a maximum of 2GB. - - The snapshot info size can be found in the ccr syncer logs, with the keywords: `snapshot response meta size: %d, job info size: %d`; the snapshot info size is approximately meta size + job info size. - - `fe_thrift_max_pkg_bytes`: - Same as above, an additional parameter that needs to be adjusted in version 2.0, with a default value of 20MB. - - `restore_download_job_num_per_be`: - The upper limit of download jobs sent to each BE; the default is 3, which is too small for restore jobs and needs to be adjusted to 0 (i.e., disable this limit); this configuration is no longer needed starting from versions 2.1.8 and 3.0.4. - - `backup_upload_job_num_per_be`: - The upper limit of upload jobs sent to each BE; the default is 3, which is too small for backup jobs and needs to be adjusted to 0 (i.e., disable this limit); this configuration is no longer needed starting from versions 2.1.8 and 3.0.4. - - In addition to the above FE configurations, if the CCR job's db type is MySQL, some MySQL configurations also need to be adjusted: - - The MySQL server will limit the size of the data packets returned/inserted in a single select/insert. Increase the following configurations to relax this limit, for example, adjust to the upper limit of 1GB: - ``` - [mysqld] - max_allowed_packet = 1024MB - ``` - - The MySQL client will also have this limit; in ccr syncer versions 2.1.6/2.0.15 and earlier, the upper limit is 128MB; later versions can adjust this through the parameter `--mysql_max_allowed_packet` (in bytes), with a default value of 1024MB. - > Note: In versions 2.1.8 and 3.0.4 and later, ccr syncer no longer stores snapshot info in the database, so the default data packet size is sufficient. -- Similarly, the BE side also needs to modify several configurations: - - `thrift_max_message_size`: The maximum single RPC packet size allowed by the BE thrift server; the default is 100MB. If the number of tablets is too large, causing the agent job size to exceed 100MB, this limit needs to be adjusted, with a maximum of 2GB. - - `be_thrift_max_pkg_bytes`: Same as above, only needs to be adjusted in version 2.0, with a default value of 20MB. -- Even if the above configurations are modified, if the number of tablets continues to rise, the resulting snapshot size may exceed 2GB, which is the threshold for Doris FE edit log and RPC message size, causing synchronization to fail. Starting from versions 2.1.8 and 3.0.4, Doris can further increase the number of tablets supported for backup and recovery by compressing snapshots. This can be enabled through the following parameters: - - `restore_job_compressed_serialization`: Enable compression for restore jobs (affects metadata compatibility, default is off). - - `backup_job_compressed_serialization`: Enable compression for backup jobs (affects metadata compatibility, default is off). - - `enable_restore_snapshot_rpc_compression`: Enable compression for snapshot info, mainly affecting RPC (default is on). - > Note: Since identifying whether backup/restore jobs are compressed requires additional code, and the code before versions 2.1.8 and 3.0.4 does not contain related code, once a backup/restore job is generated, it cannot revert to an earlier Doris version. There are two exceptions: backup/restore jobs that have already been canceled or finished will not be compressed, so waiting for the backup/restore job to complete or actively canceling the job before reverting can ensure safe rollback. -- CCR internally uses db/table names as labels for some internal jobs, so if the CCR job encounters labels exceeding the limit, the FE parameter `label_regex_length` can be adjusted to relax this limit (default value is 128). -- Since backup does not currently support backing up tables with cooldown tablets, encountering this will cause synchronization to terminate, so it is necessary to check whether any tables have the `storage_policy` property set before creating the CCR job. -### Performance-Related Parameters -- If the user's data volume is very large, the time required to complete backup and recovery may exceed one day (default value), so the following parameters need to be adjusted as needed: - - `backup_job_default_timeout_ms`: Timeout duration for backup/restore jobs; both source and target clusters' FE need to configure this. - - The upstream modifies the binlog retention time: `ALTER DATABASE $db SET PROPERTIES ("binlog.ttl_seconds" = "xxxx")`. -- Downstream BE download speed is slow: - - `max_download_speed_kbps`: The download speed limit for a single download thread in a single downstream BE, default is 50MB/s. - - `download_worker_count`: The number of threads executing download jobs in the downstream; it should be adjusted based on the customer's machine type, maximizing without affecting normal read/write operations; if this parameter is adjusted, there is no need to adjust `max_download_speed_kbps`. - - For example, if the customer's machine network card provides a maximum bandwidth of 1GB, and the maximum allowed download thread utilizes 200MB of bandwidth, then without changing `max_download_speed_kbps`, `download_worker_count` should be configured to 4. -- Limit the download speed of binlogs from the downstream BE: - BE-side configuration parameter: - ```shell - download_binlog_rate_limit_kbs=1024 # Limit the speed of a single BE node pulling Binlog (including Local Snapshot) from the source cluster to 1 MB/s. - ``` - Detailed parameters and explanations: - 1. The `download_binlog_rate_limit_kbs` parameter is configured on the source cluster BE node, and by setting this parameter, the data pulling speed can be effectively limited. - 2. The `download_binlog_rate_limit_kbs` parameter is mainly used to set the speed of a single BE node; to calculate the overall speed of the cluster, the parameter value needs to be multiplied by the number of nodes in the cluster. \ No newline at end of file diff --git a/docs/admin-manual/data-admin/ccr/overview.md b/docs/admin-manual/data-admin/ccr/overview.md deleted file mode 100644 index 654c7015343d1..0000000000000 --- a/docs/admin-manual/data-admin/ccr/overview.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -{ - "title": "Overview | CCR", - "language": "en", - "description": "CCR (Cross Cluster Replication) is a cross-cluster data synchronization mechanism that synchronizes data changes from the source cluster to the ", - "sidebar_label": "Overview" -} ---- - -# Overview - -## Overview - -CCR (Cross Cluster Replication) is a cross-cluster data synchronization mechanism that synchronizes data changes from the source cluster to the target cluster at the database or table level. It is mainly used to enhance the data availability of online services, isolate read and write loads, and build a dual-site, three-center architecture. CCR currently does not support the separation of computing and storage modes. - -### Applicable Scenarios - -CCR is suitable for the following common scenarios: - -- **Disaster Recovery Backup**: Backing up enterprise data to another cluster and data center to ensure data recovery in case of business interruption or data loss. Industries such as finance, healthcare, and e-commerce typically require this high SLA disaster recovery backup. - -- **Read-Write Separation**: By separating data query operations from write operations, the mutual impact between reads and writes is reduced, enhancing service stability. In scenarios with high concurrency or heavy write pressure, adopting read-write separation can effectively distribute the load and improve database performance and stability. - -- **Data Centralization**: The headquarters of a group needs to manage and analyze data from branch offices located in different regions to avoid management chaos and decision-making errors caused by data inconsistency, thereby improving group management efficiency and decision quality. - -- **Isolated Upgrades**: When upgrading system clusters, using CCR allows for validation and testing in the new cluster, avoiding rollback difficulties caused by version compatibility issues. Users can gradually upgrade each cluster while ensuring data consistency. - -- **Cluster Migration**: When relocating a Doris cluster or replacing equipment, using CCR can synchronize data from the old cluster to the new cluster, ensuring data consistency during the migration process. - -### Job Categories - -CCR supports two types of jobs: - -- **Database-Level jobs**: Synchronize data for the entire database. -- **Table-Level jobs**: Only synchronize data for specified tables. Note that table-level synchronization does not support renaming or replacing tables. Each database in Doris can only run one snapshot job at a time, so full synchronization jobs for table-level synchronization need to be queued. - -## Principles and Architecture - -### Terminology - -- **Source Cluster**: The cluster where the data source resides, usually the cluster where business data is written. -- **Target Cluster**: The target cluster for cross-cluster synchronization. -- **binlog**: The change log of the source cluster, which includes schema and data changes. -- **Syncer**: A lightweight process responsible for synchronizing data. -- **Upstream**: Refers to the upstream database in database-level jobs and the upstream table in table-level jobs. -- **Downstream**: Refers to the downstream database in database-level jobs and the downstream table in table-level jobs. - -### Architecture Description - -![CCR Architecture Description](/images/ccr-architecture-description.png) - -CCR mainly relies on a lightweight process: `Syncer`. The `Syncer` is responsible for obtaining binlogs from the source cluster and applying metadata to the target cluster, notifying the target cluster to pull data from the source cluster, thus achieving full synchronization and incremental synchronization. - -### Principles - -1. **Full Synchronization**: - - CCR jobs will first perform full synchronization, copying the upstream data completely to the downstream. - -2. **Incremental Synchronization**: - - After full synchronization is complete, CCR jobs will continue with incremental synchronization to maintain data consistency between upstream and downstream. - -3. **Restarting Full Synchronization**: - - When encountering DDL operations that do not support incremental synchronization, CCR jobs will restart full synchronization. For specific DDL operations that do not support incremental synchronization, please refer to [Feature Details](./feature.md). - - If the upstream binlog is interrupted due to expiration or other reasons, incremental synchronization will stop and restart full synchronization. - -4. **Restarting Full Synchronization**: - - During full synchronization, incremental synchronization will be paused. - - After full synchronization is complete, the downstream data table will undergo atomic replacement to ensure data consistency. - - After full synchronization is complete, incremental synchronization will resume. - -### Synchronization Methods - -CCR supports four synchronization methods: - -| Synchronization Method | Principle | Trigger Timing | -|------------------------|--------------------------------------------------------|---------------------------------------------------------| -| **Full Sync** | The upstream performs a full backup, and the downstream performs a restore. DB-level jobs trigger DB backups, and table-level jobs trigger table backups. | First synchronization or triggered by specific operations. For trigger conditions, please refer to [Feature Details](./feature.md). | -| **Partial Sync** | The upstream performs table or partition-level backups, and the downstream performs table or partition-level restores. | Triggered by specific operations, for trigger conditions, please refer to [Feature Details](./feature.md). | -| **TXN** | Incremental data synchronization, starting synchronization after the upstream commits. | Triggered by specific operations, for trigger conditions, please refer to [Feature Details](./feature.md). | -| **SQL** | Replaying upstream SQL operations on the downstream. | Triggered by specific operations, for trigger conditions, please refer to [Feature Details](./feature.md). | - -## Download - -requirement: glibc >= 2.28 - -| Version | Arch | Tarball | SHA256 | -|---------|-------|------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------| -| 2.1 | ARM64 | [ccr-syncer-2.1.10-rc08-arm64.tar.xz](https://download.selectdb.com/ccr-release/ccr-syncer-2.1.10-rc08-arm64.tar.xz) | 060093e90150ee24f8a784066436a0a4a1116876ebd6f33d5a844e2dc67f10b0 | -| 2.1 | X64 | [ccr-syncer-2.1.10-rc08-x64.tar.xz](https://download.selectdb.com/ccr-release/ccr-syncer-2.1.10-rc08-x64.tar.xz) | 656c0a46e3f0e12b9ff2fb76116ad8362e344a8d1ac31f1b26834aaaa1987a7b | -| 3.0 | ARM64 | [ccr-syncer-3.0.6-rc07-arm64.tar.xz](https://download.selectdb.com/ccr-release/ccr-syncer-3.0.6-rc07-arm64.tar.xz) | bb136f5c9db60f18c174d32304557065e1581e96ce14009f8e8f9aa4d58628f1 | -| 3.0 | X64 | [ccr-syncer-3.0.6-rc07-x64.tar.xz](https://download.selectdb.com/ccr-release/ccr-syncer-3.0.6-rc07-x64.tar.xz) | 31e514b4d55fb4f11204cd023369ef5988ffda3cb3728e974899623ea81dc1ad | -| 4.0 | ARM64 | [ccr-syncer-4.0.1-rc03-arm64.tar.xz](https://download.selectdb.com/ccr-release/ccr-syncer-4.0.1-rc03-arm64.tar.xz) | 5ea016773c0589b437311a40fe5c2397e01ab4dd5d04a62ba9d6c1d4975522ac | -| 4.0 | X64 | [ccr-syncer-4.0.1-rc03-x64.tar.xz](https://download.selectdb.com/ccr-release/ccr-syncer-4.0.1-rc03-x64.tar.xz) | bb26d5cc31403e6d6c9d2feccf82347ff7fde81f174b53907ffec067c5a87b54 | - - - diff --git a/docs/admin-manual/data-admin/ccr/performance.md b/docs/admin-manual/data-admin/ccr/performance.md deleted file mode 100644 index 1d1ea74f73d0e..0000000000000 --- a/docs/admin-manual/data-admin/ccr/performance.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -{ - "title": "Performance", - "language": "en", - "description": "The performance data in this document is based on the default configuration." -} ---- - -The performance data in this document is based on the default configuration. If you are facing high network latency or high throughput write scenarios, you can refer to the [Operation Manual](manual.md) for optimization. - -## Test Dataset -- **Dataset**: TPC-H 1T - -## Test Cluster Configuration - -| Configuration Item | Upstream Configuration | Downstream Configuration | -|--------------------|-------------------------------------------|---------------------------------------------| -| FE | 2 cores 16 GB | 2 cores 16 GB | -| BE | 3 nodes, 16 cores 64 GB, 3*500 GB per node | 3 nodes, 16 cores 64 GB, 3*500 GB per node | - ---- - -## Incremental Synchronization Performance Test - -### Test Steps - -1. Create the database and tables for TPC-H 1T in the upstream cluster. -2. Create a synchronization job for the TPC-H 1T database. -3. Wait for the TPC-H 1T data import to complete and record the completion time. -4. Wait for the downstream data synchronization to complete and record the completion time. - -### Test Conclusion -Incremental synchronization time difference: 33 seconds - ---- - -## Full Synchronization Performance Test - -### Test Steps -1. Create the database and table information for TPC-H 1T in the upstream cluster and complete the data import, recording the completion time. -2. Create a synchronization job for the TPC-H 1T database. -3. Wait for the downstream data synchronization to complete and record the completion time. - -### Test Conclusion -Full synchronization time difference: 6 minutes 1 second - ---- - -## Flink Synchronization Performance Test - -### Test Steps -1. Use Flink to import 100,000,000 records in the upstream. -2. Create a synchronization job for the library and table. -3. Observe the difference between the downstream synchronization completion time and the upstream import completion time at each stage (e.g., 1,000,000 records, 2,000,000 records, etc.). -4. Record the last import completion time in the upstream. -5. Record the downstream synchronization completion time. - -### Test Conclusion -The **lag time** at each stage is maintained within `5 seconds`. - diff --git a/docs/admin-manual/data-admin/ccr/quickstart.md b/docs/admin-manual/data-admin/ccr/quickstart.md deleted file mode 100644 index 6984635b7bba7..0000000000000 --- a/docs/admin-manual/data-admin/ccr/quickstart.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -{ - "title": "Quick Start | CCR", - "language": "en", - "description": "Configure the following information in the fe.conf and be.conf of both the source and target clusters:", - "sidebar_label": "Quick Start" -} ---- - -## 1. Open the binlog configuration for the source and target clusters - -Configure the following information in the fe.conf and be.conf of both the source and target clusters: - -```sql -enable_feature_binlog=true -``` - -## 2. Deploy Syncer - -2.1. Download the latest package from the following link: - -`https://download.selectdb.com/ccr-release/ccr-syncer-3.0.6-rc07-x64.tar.xz` - -2.2. Start and stop Syncer - -```shell -# Start -cd bin && sh start_syncer.sh --daemon -``` -```shell -# Stop -sh stop_syncer.sh -``` - -## Step 3. Open the Binlog for the synchronized database/table in the source cluster - -```shell --- If synchronizing the entire database, execute the following script to enable binlog for all tables in that database -./enable_db_binlog.sh --host $host --port $port --user $user --password $password --db $db - --- If synchronizing a single table, only enable the binlog for that table by executing: -ALTER TABLE your_table_name ENABLE BINLOG SET ("binlog.enable" = "true"); -``` - -## Step 4. Initiate a synchronization job in Syncer - -```shell -curl -X POST -H "Content-Type: application/json" -d '{ - "name": "ccr_test", - "src": { - "host": "localhost", - "port": "9030", - "thrift_port": "9020", - "user": "root", - "password": "", - "database": "your_db_name", - "table": "your_table_name" - }, - "dest": { - "host": "localhost", - "port": "9030", - "thrift_port": "9020", - "user": "root", - "password": "", - "database": "your_db_name", - "table": "your_table_name" - } -}' http://127.0.0.1:9190/create_ccr -``` - -Explanation of the parameters for the synchronization job: - -```shell -name: The name of the CCR synchronization job, must be unique -host, port: Correspond to the host and MySQL (JDBC) port of the cluster Master FE -user, password: The identity used by Syncer to start transactions and pull data -database, table: -If synchronizing at the database level, fill in your_db_name, and leave your_table_name empty -If synchronizing at the table level, fill in both your_db_name and your_table_name -The name used to initiate the synchronization job can only be used once -``` - diff --git a/docs/admin-manual/data-admin/overview.md b/docs/admin-manual/data-admin/overview.md deleted file mode 100644 index a75e2af0b4259..0000000000000 --- a/docs/admin-manual/data-admin/overview.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -{ - "title": "Disaster Recovery Management Overview", - "language": "en", - "description": "Doris provides disaster recovery capabilities, helping users effectively respond to data loss issues caused by hardware failures, software errors," -} ---- - -Doris provides disaster recovery capabilities, helping users effectively respond to data loss issues caused by hardware failures, software errors, or human mistakes through three main functions: cross-cluster data synchronization, backup and recovery, and recycle bin recovery, ensuring high availability and reliability of data. - -## 1. Cross-Cluster Data Synchronization - -Doris's cross-cluster data synchronization feature supports real-time data replication between different Doris clusters, ensuring that important data is distributed across multiple physically isolated clusters, achieving regional disaster recovery. - -### Key Features: - -- **Real-time Synchronization**: Supports full and incremental synchronization. Full synchronization replicates all data in the initial phase; incremental synchronization continuously captures and synchronizes data changes, including data (addition, modification, deletion) and table structure changes (DDL). -- **Data Consistency**: Records data changes through a logging mechanism (such as Binlog), ensuring that the target cluster's data is completely consistent with the source cluster's data. -- **Regional Disaster Recovery**: Supports synchronization between clusters in different geographical locations, allowing other clusters to quickly take over business when one cluster fails. -- **Multi-Scenario Applications**: Suitable for disaster recovery backups, business separation (such as read-write separation), active-active clusters, and other scenarios. - -### Application Scenario Example: -A company has deployed two Doris clusters in different cities, with Cluster A as the primary cluster and Cluster B as the backup cluster. Through cross-cluster data synchronization, when Cluster A is interrupted due to a natural disaster, Cluster B can take over the business, minimizing downtime. - -## 2. Backup and Recovery - -Doris provides backup and recovery functions to regularly save data snapshots, preventing data loss due to unexpected events. - -### Key Features: - -- **Backup**: Supports full backups of specified databases, tables, or partitions, saving complete data snapshots. -- **Recovery**: Supports recovery of databases, tables, or partitions from snapshots. - -### Application Scenario Example: -A company regularly backs up data and stores backup files in object storage services (such as Amazon S3). When an important table is accidentally deleted, the backup function quickly restores the lost data, ensuring normal business operations. - -## 3. Recycle Bin Recovery - -Doris provides a recycle bin feature, offering users a quick way to recover recently deleted data, reducing the impact of operational errors. - -### Key Features: - -- **Temporary Deletion**: Tables or databases that are deleted are first moved to the recycle bin instead of being permanently deleted immediately. -- **Retention Period**: Deleted data is retained in the recycle bin for a configurable period, during which users can choose to recover it. -- **Quick Recovery**: Data can be easily retrieved from the recycle bin without needing a complete backup recovery. -- **Data Security**: If recovery is not needed, data in the recycle bin will be automatically cleared after the retention period. - -### Application Scenario Example: -A team accidentally deleted an important table during routine operations. Using the recycle bin feature, they quickly recovered the deleted data, avoiding a complex backup recovery process while ensuring business continuity. - diff --git a/docs/admin-manual/data-admin/recyclebin.md b/docs/admin-manual/data-admin/recyclebin.md deleted file mode 100644 index 8cbd8cdc574e0..0000000000000 --- a/docs/admin-manual/data-admin/recyclebin.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -{ - "title": "Recover from Recycle Bin", - "language": "en", - "description": "To avoid disasters caused by accidental operations, Doris supports the recovery of accidentally deleted databases, tables, and partitions." -} ---- - -## Recover from Recycle Bin - -To avoid disasters caused by accidental operations, Doris supports the recovery of accidentally deleted databases, tables, and partitions. After deleting a table or database, Doris does not immediately physically delete the data. When the user executes the `DROP DATABASE/TABLE/PARTITION` command without using `FORCE`, Doris moves the deleted database, table, or partition to the recycle bin. The `RECOVER` command can be used to restore all data of the deleted database, table, or partition from the recycle bin, making it visible again. - -**Note:** If the deletion was performed using `DROP FORCE`, the data will be immediately deleted and cannot be recovered. - -### Query Recycle Bin - -You can query the Recycle Bin with the following command: - -```sql -SHOW CATALOG RECYCLE BIN [WHERE NAME [= "name" | LIKE "name_matcher"]]; -``` - -For more detailed syntax and best practices, please refer to the [SHOW-CATALOG-RECYCLE-BIN](../../sql-manual/sql-statements/recycle/SHOW-CATALOG-RECYCLE-BIN) command manual, You can also type `help SHOW CATALOG RECYCLE BIN` on the MySQL client command line for more help. - - -### Start Data Recovery - -To recover deleted data, you can use the following commands: - -1. *Recover the database* named `example_db`: - -```sql -RECOVER DATABASE example_db; -``` - -2. *Recover the table* named `example_tbl`: - -```sql -RECOVER TABLE example_db.example_tbl; -``` - -3. *Recover partition* named p1 in table example_tbl: - -```sql -RECOVER PARTITION p1 FROM example_tbl; -``` - -For more detailed syntax and best practices for RECOVER, please refer to the [RECOVER](../../sql-manual/sql-statements/recycle/RECOVER) command manual, You can also type `HELP RECOVER` on the MySql client command line for more help. diff --git a/docs/admin-manual/log-management/be-log.md b/docs/admin-manual/log-management/be-log.md deleted file mode 100644 index 4d2d05ed654cf..0000000000000 --- a/docs/admin-manual/log-management/be-log.md +++ /dev/null @@ -1,139 +0,0 @@ ---- -{ - "title": "BE Log Management", - "language": "en", - "description": "This document mainly introduces the log management of the Backend (BE) process." -} ---- - -This document mainly introduces the log management of the Backend (BE) process. - -This document is applicable to Doris versions 2.1.4 and later. - -## Log Categories - -When starting the BE process using `sh bin/start_be.sh --daemon`, the following types of log files will be generated in the BE log directory: - -- be.INFO - - BE process running log. The main log file for BE. All levels of BE process running logs (DEBUG, INFO, WARN, ERROR, etc.) will be printed to this log file. - - Note that this file is a symbolic link pointing to the current latest BE running log file. - -- be.WARNING - - BE process running log. However, only WARN level and above running logs will be printed. The content in be.WARNING is a subset of the be.INFO log content. It is mainly used for quickly viewing warning or error level logs. - - Note that this file is a symbolic link pointing to the current latest BE warning log file. - -- be.out - - Used to receive standard output streams and error data streams. For example, output from `echo` commands in start scripts, or other log information not captured by the glog framework. Usually used as a supplement to running logs. - - Typically, in the event of a BE crash, you need to check this log to obtain the stack trace of the exception. - -- jni.log - - Logs printed by Java programs when the BE process calls Java programs through JNI. - - TODO: In future versions, this part of the logs will be unified into the be.INFO log. - -- be.gc.log - - BE JVM's GC log. The behavior of this log is controlled by the JVM startup option `JAVA_OPTS` in be.conf. - -## Log Configuration - -Includes configuring log storage paths, retention time, retention count, size, etc. - -The following configuration items are configured in the `be.conf` file. - -| Configuration Item | Default Value | Options | Description | -| --- | --- | --- | --- | -| `LOG_DIR` | `ENV(DORIS_HOME)/log` | | Storage path for all logs. By default, it is the `log/` directory under the BE deployment path. Note that this is an environment variable, and the configuration name needs to be in uppercase. | -| `sys_log_level` | `INFO` | `INFO`, `WARNING`, `ERROR`, `FATAL` | Log level for `be.INFO`. Default is INFO. Not recommended to change, as INFO level contains many critical log information. | -| `sys_log_roll_num` | 10 | | Controls the maximum number of files for `be.INFO` and `be.WARNING`. Default is 10. When the number of log files exceeds this threshold due to log rolling or splitting, older log files will be deleted. | -| `sys_log_verbose_modules`| | | Can set specific code directories to enable DEBUG level logs. See the "Enable DEBUG Logs" section for details. | -| `sys_log_verbose_level`| | | See the "Enable DEBUG Logs" section for details. | -| `sys_log_verbose_flags_v`| | | See the "Enable DEBUG Logs" section for details. | -| `sys_log_roll_mode` | `SIZE-MB-1024` | `TIME-DAY`, `TIME-HOUR`, `SIZE-MB-nnn` | Rolling strategy for `be.INFO` and `be.WARNING` logs. Default is `SIZE-MB-1024`, meaning a new log file is generated after each log reaches 1024MB in size. Can also set to roll by day or hour. | -| `log_buffer_level` | Empty | Empty or `-1` | BE log output mode. By default, BE logs are asynchronously flushed to disk log files. If set to -1, log content will be flushed in real-time. Real-time flushing affects log performance but can retain the latest logs as much as possible. This allows viewing the last log information in the event of a BE crash. | -| `disable_compaction_trace_log` | true | true, false | Default is true, meaning tracing logs for compaction operations are disabled. If set to false, tracing logs related to Compaction operations will be printed for troubleshooting. | -| `aws_log_level` | 0 | | Controls the log level for the AWS SDK. Default is 0, indicating AWS SDK logs are turned off. By default, AWS SDK logs are actively captured by glog and will be printed normally. In some cases, you may need to enable AWS SDK logs to view more uncaptured logs. Different numbers represent different log levels: Off = 0, Fatal = 1, Error = 2, Warn = 3, Info = 4, Debug = 5, Trace = 6. | -| `s3_file_writer_log_interval_second` | 60 | | When performing S3 Upload operations, the progress of operations is printed every 60 seconds by default. | -| `enable_debug_log_timeout_secs` | 0 | | When the value is greater than 0, some detailed execution logs of the pipeline execution engine will be printed. Mainly used for troubleshooting. By default, this is turned off. | -| `sys_log_enable_custom_date_time_format` | false | | Whether to allow custom date format in logs (supported since version 2.1.7) | -| `sys_log_custom_date_time_format` | `%Y-%m-%d %H:%M:%S` | | The default custom format for log date, only effective when `sys_log_enable_custom_date_time_forma` is `true` (supported since version 2.1.7) | -| `sys_log_custom_date_time_ms_format` | `,{:03d}` | | The default time precision in the log date. This is only effective when `sys_log_enable_custom_date_time_format` is `true` (supported since version 2.1.7) | - - -## Enable DEBUG Log - -### Static Configuration - -Set `sys_log_verbose_modules` and `sys_log_verbose_level` in `be.conf`: - -```text -sys_log_verbose_modules=plan_fragment_executor,olap_scan_node -sys_log_verbose_level=3 -``` - -`sys_log_verbose_modules` Specifies the names of the files to be opened, which can be specified by the wildcard `*`. For example: - -```text -sys_log_verbose_modules=* -``` - -will turn on all BE verbose log. - -`sys_log_verbose_level` Indicates the level of DEBUG. The higher the number, the more detailed the DEBUG log. The value ranges from 1 to 10. - -In most situations, setting `sys_log_verbose_modules` and `sys_log_verbose_level` in `be.conf` is sufficient. -Only in rare cases such as when debug logs do not appear as expected, you may also need to configure `sys_log_verbose_flags_v`, which is not limited by the module scope. - -`sys_log_verbose_flags_v` is the `FLAGS_v` in glog, which controls the global verbosity level for `VLOG(n)` logging, where messages with `n <= FLAGS_v` will be printed, allowing fine-grained control over log output detail. - -### Dynamic Modification - -Since 2.1, the DEBUG log of BE supports dynamic modification via the following RESTful API: - -```bash -curl -X POST "http://:/api/glog/adjust?module=&level=" -``` - -The dynamic adjustment method also supports wildcards, e.g. using `module=*&level=10` will turn on all BE vlogs, but wildcards are not attached to individual module names. e.g. adjusting the vlog level of `moduleA` to `10`, then using `module=*&level=-1` will **NOT** turn off the vlog of `moduleA`'s vlog. - -Note: Dynamically adjusted configurations are not persisted and will expire after a BE reboot. - -In addition, GLOG will create the corresponding log module if the module does not exist (no real effect) and will not return an error, regardless of the method. - -## Container Environment Log Configuration - -In some cases, the FE process is deployed through container environments (such as k8s). All logs need to be output through standard output streams instead of files. - -At this time, you can start the BE process in the foreground and output all logs to the standard output stream by using the command `sh bin/start_be.sh --console`. - -To distinguish different types of logs in the same standard output stream, a different prefix will be added before each log. For example: - -``` -RuntimeLogger W20240624 00:36:46.325274 1460943 olap_server.cpp:710] Have not get FE Master heartbeat yet -RuntimeLogger I20240624 00:36:46.325999 1459644 olap_server.cpp:208] tablet checkpoint tasks producer thread started -RuntimeLogger I20240624 00:36:46.326066 1460954 olap_server.cpp:448] begin to produce tablet meta checkpoint tasks. -RuntimeLogger I20240624 00:36:46.326093 1459644 olap_server.cpp:213] tablet path check thread started -RuntimeLogger I20240624 00:36:46.326190 1459644 olap_server.cpp:219] cache clean thread started -RuntimeLogger I20240624 00:36:46.326336 1459644 olap_server.cpp:231] path gc threads started. number:1 -RuntimeLogger I20240624 00:36:46.326643 1460958 olap_server.cpp:424] try to start path gc thread! -``` - -The meanings of different prefixes are as follows: - -- `RuntimeLogger`: corresponds to the logs in `be.log`. - -> Support for `jni.log` will be added in future versions. - -In addition, there is an additional configuration parameter for container environments: - -| Configuration Item | Default Value | Options | Description | -| --- | --- | --- | --- | -| `enable_file_logger` | true | true, false | Whether to enable file logging. The default is `true`. When starting the BE process with the `--console` command, logs will be output to both the standard output stream and the normal log file. When set to `false`, logs will only be output to the standard output stream and will not generate log files. | - diff --git a/docs/admin-manual/log-management/fe-log.md b/docs/admin-manual/log-management/fe-log.md deleted file mode 100644 index e185ba537efc7..0000000000000 --- a/docs/admin-manual/log-management/fe-log.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -{ - "title": "FE Log Management", - "language": "en", - "description": "This document mainly introduces the log management of the Frontend (FE) process." -} ---- - -This document mainly introduces the log management of the Frontend (FE) process. - -This document is applicable to Doris versions 2.1.4 and later. - -## Log Categories - -When starting the FE process using `sh bin/start_fe.sh --daemon`, the following types of log files will be generated in the FE log directory: - -- fe.log - - FE process running log. The main log file for FE. All levels of FE process logs (DEBUG, INFO, WARN, ERROR, etc.) will be printed to this log file. - -- fe.warn.log - - FE process running log. Only prints logs at WARN level and above. The content in fe.warn.log is a subset of the fe.log log content. It is mainly used to quickly view warning or error level logs. - -- fe.audit.log - - Audit log. Used to record all database operation records executed through this FE node. This includes SQL, DDL, DML statements, etc. - -- fe.out - - Used to receive standard output stream and error data stream logs. For example, output from `echo` commands in start scripts, or other log information not captured by the log4j framework. Usually serves as a supplement to the running log. In rare cases, you may need to check the content of fe.out for more information. - -- fe.gc.log - - GC log of the FE JVM. The behavior of this log is controlled by the JVM startup option `JAVA_OPTS` in fe.conf. - -## Log Configuration - -Includes configuring the log storage path, retention time, retention count, size, etc. - -The following configuration items are configured in the `fe.conf` file. - -| Configuration Item | Default Value | Options | Description | -| --- | --- | --- | --- | -| `LOG_DIR` | `ENV(DORIS_HOME)/log` | | Storage path for all logs. By default, it is the `log/` directory under the FE deployment path. Note that this is an environment variable, and the configuration name should be in uppercase. | -| `sys_log_level` | `INFO` | `INFO`, `WARN`, `ERROR`, `FATAL` | Log level of `fe.log`. Default is INFO. Not recommended to change, as INFO level contains many critical log information. | -| `sys_log_roll_num` | 10 | | Controls the maximum number of files for `fe.log` and `fe.warn.log` in one day. Default is 10. When the number of log files exceeds this threshold due to log rolling or splitting, older log files will be deleted. | -| `sys_log_verbose_modules` | | | Can set specific Java package files to enable DEBUG level logging. See the "Enable DEBUG Log" section for details. | -| `sys_log_enable_compress` | false | true, false | Whether to enable compression for historical `fe.log` and `fe.warn.log` logs. Default is off. When enabled, historical audit logs will be archived using gzip compression. | -| `log_rollover_strategy` | `age` | `age`, `size` | Log retention strategy, default is `age`, which retains historical logs based on time. `size` retains historical logs based on log size. | -| `sys_log_delete_age` | 7d | Supports formats like 7d, 10h, 60m, 120s | Only effective when `log_rollover_strategy` is `age`. Controls the number of days to retain `fe.log` and `fe.warn.log` files. Default is 7 days. Logs older than 7 days will be automatically deleted. | -| `audit_log_delete_age` | 30d | Supports formats like 7d, 10h, 60m, 120s | Only effective when `log_rollover_strategy` is `age`. Controls the number of days to retain `fe.audit.log` files. Default is 30 days. Logs older than 30 days will be automatically deleted. | -| `info_sys_accumulated_file_size` | 4 | | Only effective when `log_rollover_strategy` is `size`. Controls the cumulative size of `fe.log` files. Default is 4GB. When the cumulative log size exceeds this threshold, historical log files will be deleted. | -| `warn_sys_accumulated_file_size` | 2 | | Only effective when `log_rollover_strategy` is `size`. Controls the cumulative size of `fe.warn.log` files. Default is 2GB. When the cumulative log size exceeds this threshold, historical log files will be deleted. | -| `audit_sys_accumulated_file_size` | 4 | | Only effective when `log_rollover_strategy` is `size`. Controls the cumulative size of `fe.audit.log` files. Default is 4GB. When the cumulative log size exceeds this threshold, historical log files will be deleted. | -| `log_roll_size_mb` | 1024 | | Controls the maximum size of individual files for `fe.log`, `fe.warn.log`, `fe.audit.log`. Default is 1024MB. When a single log file exceeds this threshold, a new file will be created automatically. | -| `sys_log_roll_interval` | `DAY` | `DAY`, `HOUR` | Controls the rolling interval of `fe.log` and `fe.warn.log`. Default is 1 day, generating a new log file every day. | -| `audit_log_roll_num` | 90 | | Controls the maximum number of files for `fe.audit.log`. Default is 90. When the number of log files exceeds this threshold due to log rolling or splitting, older log files will be deleted. | -| `audit_log_roll_interval` | `DAY` | `DAY`, `HOUR` | Controls the rolling interval of `fe.audit.log`. Default is 1 day, generating a new log file every day. | -| `audit_log_dir` | `ENV(DORIS_HOME)/log` | | Can specify a separate storage path for `fe.audit.log`. Default is the `log/` directory under the FE deployment path. | -| `audit_log_modules` | `{"slow_query", "query", "load", "stream_load"}` | | Module types in `fe.audit.log`. Default includes slow query, query, load, stream load. "Query" includes all DDL, DML, SQL operations. "Slow query" refers to operations that exceed the `qe_slow_log_ms` threshold. "Load" refers to Broker Load. "Stream load" refers to stream load operations. | -| `qe_slow_log_ms` | 5000 | | When the execution time of DDL, DML, SQL statements exceeds this threshold, it will be separately recorded in the `slow_query` module of `fe.audit.log`. Default is 5000 ms. | -| `sql_digest_generation_threshold_ms` | 5000 | | The threshold of sql_digest generation, in milliseconds. If the response time of a query exceeds this threshold, sql_digest will be generated for it in `fe.audit.log`. Default is 5000 ms. | -| `audit_log_enable_compress` | false | true, false | Whether to enable compression for historical `fe.audit.log` logs. Default is off. When enabled, historical audit logs will be archived using gzip compression. | -| `sys_log_mode` | `NORMAL` | `NORMAL`, `BRIEF`, `ASYNC` | FE log output mode, where `NORMAL` is the default output mode, log output is synchronous and includes location information. `ASYNC` is the default log output is asynchronous and includes location information. `BRIEF` mode is log output asynchronously but does not include location information. The performance of the three log output modes increases in sequence. | - -::: note -Starting from version 3.0.2, the default value of `sys_log_mode` configuration is changed to `ASYNC`. -::: - -:::tip -`sys_log_roll_num` 控制的是一天的保留日志数量,而不是总数量,需要配合 `sys_log_delete_age` 共同确定总保留日志数量。 -`sys_log_roll_num` controls the number of retained logs per day, not the total number. It needs to be combined with `sys_log_delete_age` to determine the total number of retained logs. -::: - -## Enable DEBUG Log - -The Debug level log of FE can be enabled by modifying the configuration file or through the interface or API during runtime. - -- Enable through configuration file - - Add the configuration item `sys_log_verbose_modules` in fe.conf. For example: - - ```text - # Only open DEBUG log for "org.apache.doris.catalog.Catalog" - sys_log_verbose_modules=org.apache.doris.catalog.Catalog - - # Open DEBUG log for all classes in "org.apache.doris.catalog" - sys_log_verbose_modules=org.apache.doris.catalog - - # Open DEBUG log for all classes in "org" - sys_log_verbose_modules=org - ``` - - Add the configuration item and restart the FE node to take effect. - -- Enable through FE UI interface - - You can modify the log level at runtime through the UI interface. No need to restart the FE node. Open the FE node's http port in the browser (default is 8030) and log in to the UI interface. Then click on the `Log` tab in the top navigation bar. - - ![Enable through FE UI interface](/images/log_manage/fe_web_log1.png) - - In the Add input box, you can enter the package name or specific class name to open the corresponding Debug log. For example, entering `org.apache.doris.catalog.Catalog` will open the Debug log of the Catalog class: - - ![Enable through FE UI interface](/images/log_manage/fe_web_log2.png) - - You can also enter the package name or specific class name in the Delete input box to close the corresponding Debug log. - - :::note - The modification here will only affect the log level of the corresponding FE node. It will not affect the log level of other FE nodes. - ::: - -- Modify through API - - You can also modify the log level at runtime through the following API. No need to restart the FE node. - - ```shell - curl -X POST -uuser:passwd fe_host:http_port/rest/v1/log?add_verbose=org.apache.doris.catalog.Catalog - ``` - - Where the username and password are the root or admin users logged into Doris. The `add_verbose` parameter specifies the package name or class name for enabling Debug log. If successful, it will return: - - ```json - { - "msg": "success", - "code": 0, - "data": { - "LogConfiguration": { - "VerboseNames": "org,org.apache.doris.catalog.Catalog", - "AuditNames": "slow_query,query,load", - "Level": "INFO" - } - }, - "count": 0 - } - ``` - - You can also close Debug log through the following API: - - ```shell - curl -X POST -uuser:passwd fe_host:http_port/rest/v1/log?del_verbose=org.apache.doris.catalog.Catalog - ``` - - The `del_verbose` parameter specifies the package name or class name for closing Debug log. - -## Log Configuration for k8s - -In some cases, the FE process is deployed through a container environment (such as k8s). All logs need to be output through standard output stream instead of files. - -In this case, you can start the FE process in the foreground and output all logs to the standard output stream by using the command `sh bin/start_fe.sh --console`. - -To distinguish different types of logs in the same standard output stream, a different prefix will be added before each log. For example: - -``` -RuntimeLogger 2024-06-24 00:05:21,522 INFO (main|1) [DorisFE.start():158] Doris FE starting... -RuntimeLogger 2024-06-24 00:05:21,530 INFO (main|1) [FrontendOptions.analyzePriorityCidrs():194] configured prior_cidrs value: 172.20.32.136/24 -RuntimeLogger 2024-06-24 00:05:21,535 INFO (main|1) [FrontendOptions.initAddrUseIp():101] local address: /172.20.32.136. -RuntimeLogger 2024-06-24 00:05:21,740 INFO (main|1) [ConsistencyChecker.initWorkTime():106] consistency checker will work from 23:00 to 23:00 -RuntimeLogger 2024-06-24 00:05:21,889 ERROR (main|1) [Util.report():128] SLF4J: Class path contains multiple SLF4J bindings. -``` - -The meanings of different prefixes are as follows: - -- `StdoutLogger`: Logs in the standard output stream, corresponding to the content in `fe.out`. -- `StderrLogger`: Logs in the standard error stream, corresponding to the content in `fe.out`. -- `RuntimeLogger`: Logs in `fe.log`. -- `AuditLogger`: Logs in `fe.audit.log`. -- No prefix: Logs in `fe.gc.log`. - -Additionally, there is an additional configuration parameter for the container environment: - -| Configuration Item | Default Value | Options | Description | -| --- | --- | --- | --- | -| `enable_file_logger` | true | true, false | Whether to enable file logging. Default is `true`. When starting the FE process with the `--console` command, logs will be output to both the standard output stream and the normal log file. When set to `false`, logs will only be output to the standard output stream and will not generate log files. | diff --git a/docs/admin-manual/maint-monitor/automatic-service-start.md b/docs/admin-manual/maint-monitor/automatic-service-start.md deleted file mode 100644 index 7a068fd82bc92..0000000000000 --- a/docs/admin-manual/maint-monitor/automatic-service-start.md +++ /dev/null @@ -1,329 +0,0 @@ ---- -{ - "title": "Automated Service Startup", - "language": "en", - "description": "This document describes how to configure the automatic pull-up of the Doris cluster to ensure that services are not pulled up in time after service " -} ---- - -# Automatic service start - -This document describes how to configure the automatic pull-up of the Doris cluster to ensure that services are not pulled up in time after service breaks down due to special circumstances in the production environment. - -The automatic pull-up service of FE and BE must be configured after the Doris cluster is completely set up. - -## Systemd Configures the Doris service - -For details about systemd usage and parameter parsing, see [here](https://systemd.io/) - -### sudo permission control - -sudo permissions are required to control the doris service using systemd. To ensure the minimum granularity of sudo permission assignment, you can assign the systemd control permission of doris-fe and doris-be services to specified non-root users. Configure the systemctl management permission for doris-fe and doris-be in visudo. - -``` -Cmnd_Alias DORISCTL=/usr/bin/systemctl start doris-fe,/usr/bin/systemctl stop doris-fe,/usr/bin/systemctl start doris-be,/usr/bin/systemctl stop doris-be - -## Allow root to run any commands anywhere -root ALL=(ALL) ALL -doris ALL=(ALL) NOPASSWD:DORISCTL -``` - -### Configuration procedure - -1. You should config the "JAVA_HOME" variable in the config file, both fe.conf and be.conf, or you can't use the command "systemctl start" to start doris - ``` - echo "JAVA_HOME=your_java_home" >> /home/doris/fe/conf/fe.conf - echo "JAVA_HOME=your_java_home" >> /home/doris/be/conf/be.conf - ``` -2. Download the doris-fe.service file: [doris-fe.service](https://github.com/apache/doris/blob/master/tools/systemd/doris-fe.service) - -3. The details of doris-fe.service are as follows: - - ``` - # Licensed to the Apache Software Foundation (ASF) under one - # or more contributor license agreements. See the NOTICE file - # distributed with this work for additional information - # regarding copyright ownership. The ASF licenses this file - # to you under the Apache License, Version 2.0 (the - # "License"); you may not use this file except in compliance - # with the License. You may obtain a copy of the License at - # - # http://www.apache.org/licenses/LICENSE-2.0 - # - # Unless required by applicable law or agreed to in writing, - # software distributed under the License is distributed on an - # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - # KIND, either express or implied. See the License for the - # specific language governing permissions and limitations - # under the License. - - [Unit] - Description=Doris FE - After=network-online.target - Wants=network-online.target - - [Service] - Type=forking - User=root - Group=root - LimitCORE=infinity - LimitNOFILE=200000 - Restart=on-failure - RestartSec=30 - StartLimitInterval=120 - StartLimitBurst=3 - KillMode=none - ExecStart=/home/doris/fe/bin/start_fe.sh --daemon - ExecStop=/home/doris/fe/bin/stop_fe.sh - - [Install] - WantedBy=multi-user.target - ``` - -#### Matters needing attention - -- ExecStart and ExecStop are configured based on actual fe paths - -4. Download the doris-be.service file : [doris-be.service](https://github.com/apache/doris/blob/master/tools/systemd/doris-be.service) - -5. The details of doris-be.service are as follows: - ``` - # Licensed to the Apache Software Foundation (ASF) under one - # or more contributor license agreements. See the NOTICE file - # distributed with this work for additional information - # regarding copyright ownership. The ASF licenses this file - # to you under the Apache License, Version 2.0 (the - # "License"); you may not use this file except in compliance - # with the License. You may obtain a copy of the License at - # - # http://www.apache.org/licenses/LICENSE-2.0 - # - # Unless required by applicable law or agreed to in writing, - # software distributed under the License is distributed on an - # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - # KIND, either express or implied. See the License for the - # specific language governing permissions and limitations - # under the License. - - [Unit] - Description=Doris BE - After=network-online.target - Wants=network-online.target - - [Service] - Type=forking - User=root - Group=root - LimitCORE=infinity - LimitNOFILE=200000 - Restart=on-failure - RestartSec=30 - StartLimitInterval=120 - StartLimitBurst=3 - KillMode=none - ExecStart=/home/doris/be/bin/start_be.sh --daemon - ExecStop=/home/doris/be/bin/stop_be.sh - - [Install] - WantedBy=multi-user.target - ``` - -#### Matters needing attention - -- ExecStart and ExecStop are configured based on actual be paths - -6. Service configuration - - Place doris-fe.service and doris-be.service in the /usr/lib/systemd/system directory - -7. Set self-start - - After you add or modify the configuration file, you need to reload it - - ``` - systemctl daemon-reload - ``` - - Set the start, the essence is in the/etc/systemd/system/multi - user. Target. Wants/add service file link - - ``` - systemctl enable doris-fe - systemctl enable doris-be - ``` - -8. Service initiation - - ``` - systemctl start doris-fe - systemctl start doris-be - ``` - -## Supervisor configures the Doris service - -Supervisor Specific use and parameter analysis can be referred to [here](http://supervisord.org/) - -Supervisor configuration automatically pulls up the supervisor configuration. You can install the supervisor directly using the yum command or manually using pip. The pip manual installation process is complicated, and only the yum deployment mode is displayed.Manual deployment refer to [here] (http://supervisord.org/installing.html) for installation deployment. - -### Configuration procedure - -1. yum Install supervisor - - ``` - yum install epel-release - yum install -y supervisor - ``` - -2. Start the service and view the status - - ``` - systemctl enable supervisord # bootstrap - systemctl start supervisord # Start the supervisord service - systemctl status supervisord # Check the supervisord service status - ps -ef|grep supervisord # Check whether the supervisord process exists - ``` - -3. Configure BE process management - - ``` - Modify the start_be.sh script remove the last symbol & - - vim /path/doris/be/bin/start_be.sh - Take this code : nohup $LIMIT ${DORIS_HOME}/lib/palo_be "$@" >> $LOG_DIR/be.out 2>&1 > $LOG_DIR/be.out 2>&1 > $LOG_DIR/fe.out 2>&1 > $LOG_DIR/fe.out 2>&1 > $BROKER_LOG_DIR/apache_hdfs_broker.out 2>&1 > $BROKER_LOG_DIR/apache_hdfs_broker.out 2>&1 ` | | | GC metrics . | GarbageCollector refers to a specific garbage collector | P0 | -| | {type="count"} | Num | Cumulative value of GC times | | | -| | {type="time"} | millisecond | Cumulative value of GC time consumption | | | -| `jvm_old_size_bytes` | | byte | JVM old generation memory statistics | | P0 | -| `jvm_thread` | | Num | JVM thread count statistics | Observe whether the number of JVM threads is reasonable | P0 | -| `jvm_young_size_bytes` | | byte | JVM new generation memory statistics | | P0 | - -**Machine** **metrics** - -| **name** | **Label** | **unit** | **Description** | **Impact** | **Grade** | -| -------------- | ---------------------------- | --------------------------------------------------- | ------------------------------------------------------------ | -------------- | --------- | -| system_meminfo | | byte | FE node machines. Collected from /proc/meminfo . include buffers , cached , memory_available , memory_free , memory_total | | | -| system_snmp | | FE node machines. Collected from /proc/net/ snmp . | | | | -| | {name=" tcp_in_errs "} | Num | tcp packet reception errors | | | -| | {name=" tcp_in_segs "} | Num | tcp packets sent | | | -| | {name=" tcp_out_segs "} | Num | tcp packets sent | | | -| | {name=" tcp_retrans_segs "} | Num | Number of tcp packet retransmissions | | | - -**BE** **metrics metrics** - -**Process metrics** - -| **name** | **Label** | **unit** | **Description** | **Impact** | **grade** | -| ----------------------------------------------- | ----------------------------------------------- | -------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | --------- | -| doris_be_active_scan_context_count | | Num | the number of scanners currently opened directly from the outside | | | -| doris_be_add_batch_task_queue_size | | Num | When recording import, the queue size of the thread pool that receives the batch | If it is greater than 0 , it means there is a backlog at the receiving end of the import task. | P0 | -| agent_task_queue_size | | Num | Display the length of each Agent Task processing queue, such as {type="CREATE_TABLE"} Indicates the length of the CREATE_TABLE task queue | | | -| doris_be_brpc_endpoint_stub_count | | Num | Created _ The number of brpc stubs used for interaction between BEs | | | -| doris_be_brpc_function_endpoint_stub_count | | Num | Created _ The number of brpc stubs used to interact with Remote RPC | | | -| doris_be_cache_capacity | | | Record the capacity of the specified LRU Cache | | | -| doris_be_cache_usage | | | Record the usage of the specified LRU Cache | Used to observe memory usage | P0 | -| doris_be_cache_usage_ratio | | | Record the usage of the specified LRU Cache | | | -| doris_be_cache_lookup_count | | | Record the number of times the specified LRU Cache is searched | | | -| doris_be_cache_hit_count | | | Record the number of hits in the specified LRU Cache | | | -| doris_be_cache_hit_ratio | | | Record the hit rate of the specified LRU Cache | Used to observe whether the cache is effective | P0 | -| | {name=" DataPageCache "} | Num | DataPageCache Data Page for caching data | Data Cache , directly affects query efficiency | P0 | -| | {name=" IndexPageCache "} | Num | IndexPageCache Index Page for caching data | Index Cache , directly affects query efficiency | P0 | -| | {name=" LastestSuccessChannelCache "} | Num | LastestSuccessChannelCache Used to cache import receivers LoadChannel | | | -| | {name=" SegmentCache "} | Num | SegmentCache Used to cache turned on Segment , such as index information | | | -| doris_be_chunk_pool_local_core_alloc_count | | Num | ChunkAllocator , the number of times memory is allocated from the memory queue of the bound core | | | -| doris_be_chunk_pool_other_core_alloc_count | | Num | ChunkAllocator , the number of times memory is allocated from the memory queue of other cores | | | -| doris_be_chunk_pool_reserved_bytes | | byte | ChunkAllocator The amount of memory reserved in | | | -| doris_be_chunk_pool_system_alloc_cost_ns | | nanosecond | SystemAllocator The cumulative value of time spent applying for memory | The slope can be used to observe the time taken for memory allocation. | P0 | -| doris_be_chunk_pool_system_alloc_count | | Num | SystemAllocator Number of times to apply for memory | | | -| doris_be_chunk_pool_system_free_cost_ns | | nanosecond | SystemAllocator Cumulative value of time taken to release memory | The slope can be used to observe the time it takes to release memory. | P0 | -| doris_be_chunk_pool_system_free_count | | Num | SystemAllocator The number of times memory is released | | | -| doris_be_compaction_bytes_total | | byte | value of the amount of data processed by compaction | What is recorded is the input in the compaction task rowset The disk size . It can be observed through the slope rate of compaction | P0 | -| | {type="base"} | byte | Accumulated data volume of Base Compaction | | | -| | {type="cumulative"} | byte | The cumulative data volume of Cumulative Compaction | | | -| doris_be_compaction_deltas_total | | Num | processed by compaction rowset The cumulative value of the number | What is recorded is the input in the compaction task rowset of number | | -| | {type="base"} | Num | Processed by Base Compaction rowset Cumulative number | | | -| | {type="cumulative"} | Num | Processed by Cumulative Compaction rowset Cumulative number | | | -| doris_be_disks_compaction_num | | Num | compaction tasks being executed on the specified data directory . like {path="/path1/"} means /path1 The number of tasks being executed on the directory | Used to observe whether the number of compaction tasks on each disk is reasonable. | P0 | -| doris_be_disks_compaction_score | | Num | Specifies the number of compaction tokens being executed on the data directory. like {path="/path1/"} means /path1 Number of tokens being executed on the directory | | | -| doris_be_compaction_used_permits | | Num | The number of tokens used by the Compaction task | Used to reflect the resource consumption of Compaction | | -| doris_be_compaction_waitting_permits | | Num | Compaction tokens awaiting | | | -| doris_be_data_stream_receiver_count | | Num | Number of data receiving terminals Receiver | FIXME : This indicator is missing for the vectorization engine | | -| doris_be_disks_avail_capacity | | byte | Specify the remaining space on the disk where the specified data directory is located. like {path="/path1/"} express /path1 The remaining space on the disk where the directory is located | | P0 | -| doris_be_disks_local_used_capacity | | byte | the specified data directory is located | | | -| doris_be_disks_remote_used_capacity | | byte | the specified data directory is located | | | -| doris_be_disks_state | | Boolean | Specifies the disk status of the data directory . 1 means normal. 0 means abnormal | | | -| doris_be_disks_total_capacity | | byte | capacity of the disk where the specified data directory is located | Cooperate doris_be_disks_avail_capacity Calculate disk usage | P0 | -| doris_be_engine_requests_total | | Num | value of various task execution statuses on BE | | | -| | {status=" failed ",type ="xxx"} | Num | value of the number of failures for tasks of type xxx | | | -| | {status=" total ",type ="xxx"} | Num | The cumulative value of the total number of tasks of type xxx . | Can monitor the number of failures of various tasks on demand | P0 | -| | {status=" skip ",type =" report_all_tablets "} | Num | value of the number of times xxx type tasks have been skipped | | | -| doris_be_fragment_endpoint_count | | Num | same | FIXME: Same as doris_be_data_stream_receiver_count number. And the vectorization engine is missing | | -| doris_be_fragment_request_duration_us | | microseconds | All fragment intance The cumulative execution time of | the execution time of instance through slope | P0 | -| doris_be_fragment_requests_total | | Num | The cumulative number of executed fragment instances | | | -| doris_be_load_channel_count | | Num | The number of load channels currently open | The larger the value , the more import tasks are currently being executed. | P0 | -| doris_be_local_bytes_read_total | | byte | Depend on LocalFileReader Number of bytes read | | P0 | -| doris_be_local_bytes_written_total | | byte | Depend on LocalFileWriter Number of bytes written | | P0 | -| doris_be_local_file_reader_total | | Num | opened LocalFileReader Cumulative count of | | | -| doris_be_local_file_open_reading | | Num | currently open LocalFileReader number | | | -| doris_be_local_file_writer_total | | Num | opened LocalFileWriter cumulative count . | | | -| doris_be_mem_consumption | | byte | Specifies the current memory overhead of the module . For example, {type="compaction"} represents the current total memory overhead of the compaction module . | Values taken from the same type MemTracker . FIXME | | -| doris_be_memory_allocated_bytes | | byte | BE process physical memory size, taken from /proc/self/status/ VmRSS | | P0 | -| doris_be_memory_jemalloc | | byte | Jemalloc stats, taken from je_mallctl . | [Meaning](https://jemalloc.net/jemalloc.3.html)reference : | P0 | -| doris_be_memory_pool_bytes_total | | byte | all MemPool The size of memory currently occupied. Statistical value, does not represent actual memory usage . | | | -| doris_be_memtable_flush_duration_us | | microseconds | value of the time taken to write memtable to disk | Write latency can be observed via slope | P0 | -| doris_be_memtable_flush_total | | Num | number of memtable writes to disk | The slope can be used to calculate the frequency of writing to a file | P0 | -| doris_be_meta_request_duration | | microseconds | access RocksDB The cumulative time consumption of meta in | BE metadata read and write latency through slope | P0 | -| | {type="read"} | microseconds | Reading time | | | -| | {type="write"} | microseconds | Writing time | | | -| doris_be_meta_request_total | | Num | access RocksDB The cumulative number of meta in | BE metadata access frequency by slope | P0 | -| | {type="read"} | Num | Read times | | | -| | {type="write"} | Num | Number of writes | | | -| doris_be_fragment_instance_count | | Num | The number of fragment instances currently received | Observe whether instance accumulation occurs | P0 | -| doris_be_process_fd_num_limit_hard | | Num | BE process. pass /proc/ pid /limits collection | | | -| doris_be_process_fd_num_limit_soft | | Num | BE process. pass /proc/ pid /limits collection | | | -| doris_be_process_fd_num_used | | Num | The number of file handles used by the BE process. pass /proc/ pid /limits collection | | | -| doris_be_process_thread_num | | Num | BE process threads. pass /proc/ pid /task collection | | P0 | -| doris_be_query_cache_memory_total_byte | | byte | Number of bytes occupied by Query Cache | | | -| doris_be_query_cache_partition_total_count | | Num | current number of Partition Cache caches | | | -| doris_be_query_cache_sql_total_count | | Num | Current number of SQL Cache caches | | | -| doris_be_query_scan_bytes | | byte | Read the cumulative value of the data amount. Here we only count reads Olap The amount of data in the table | | | -| doris_be_query_scan_bytes_per_second | | Bytes / second | according to doris_be_query_scan_bytes Calculated read rate | Observe query rate | P0 | -| doris_be_query_scan_rows | | Num | Read the cumulative value of the number of rows. Here we only count reads Olap The amount of data in the table. and is RawRowsRead (Some data rows may be skipped by the index and not actually read, but will still be recorded in this value ) | Query rate by slope observation | P0 | -| doris_be_result_block_queue_count | | Num | The number of fragment instances in the current query result cache | This queue is only used when being read directly by an external system. For example, Spark on Doris queries data through external scan. | | -| doris_be_result_buffer_block_count | | Num | The number of queries in the current query result cache | This value reflects how many query results are currently waiting for FE consumption in BE . | P0 | -| doris_be_routine_load_task_count | | Num | The number of routine load tasks currently being executed | | | -| doris_be_rowset_count_generated_and_in_use | | Num | New and in use since the last startup The number of rowset ids . | | | -| doris_be_s3_bytes_read_total | | Num | S3FileReader The cumulative number of opens | | | -| doris_be_s3_file_open_reading | | Num | currently open S3FileReader number | | | -| doris_be_s3_bytes_read_total | | byte | S3FileReader Read the cumulative value of bytes | | | -| doris_be_scanner_thread_pool_queue_size | | Num | used for OlapScanner The current queued number of thread pools | it is greater than zero , it means that Scanner starts to accumulate. | P0 | -| doris_be_segment_read | {type=" segment_read_total "} | Num | Cumulative value of the number of segments read | | | -| doris_be_segment_read | {type=" segment_row_total "} | Num | value of the number of rows in the segment read | This value also includes the number of rows filtered by the index. Equivalent to the number of segments read * the total number of rows in each segment | | -| doris_be_send_batch_thread_pool_queue_size | | Num | The number of queues in the thread pool used to send data packets when importing | it is greater than 0 , it means there is accumulation | P0 | -| doris_be_send_batch_thread_pool_thread_num | | Num | The number of threads in the thread pool used to send packets when importing | | | -| doris_be_small_file_cache_count | | Num | currently cached by BE | | | -| doris_be_streaming_load_current_processing | | Num | Number of stream load tasks currently running | Contains only tasks sent by the curl command | | -| doris_be_streaming_load_duration_ms | | millisecond | The cumulative value of the execution time of all stream load tasks | | | -| doris_be_streaming_load_requests_total | | Num | value of the number of stream load tasks | Observable task submission frequency via slope | P0 | -| doris_be_stream_load_pipe_count | | Num | current stream load data pipelines | Including stream load and routine load tasks | | -| doris_be_stream_load | {type=" load_rows "} | Num | number of rows finally imported by stream load | Including stream load and routine load tasks | P0 | -| doris_be_stream_load | {type=" receive_bytes "} | byte | value of the number of bytes received by stream load | Including stream load data received from http , and routine load from kafka read data | P0 | -| doris_be_tablet_base_max_compaction_score | | Num | The current largest Base Compaction Score | This value changes in real time, and peak data may be lost. The higher the value, the more serious the compaction accumulation is . | P0 | -| doris_be_tablet_cumulative_max_compaction_score | | Num | Same as above. Current largest Cumulative Compaction Score | | | -| doris_be_tablet_version_num_distribution | | Num | The histogram of the number of tablet versions . | Distribution used to reflect the number of tablet versions | P0 | -| doris_be_thrift_connections_total | | Num | thrift connections created . like {name="heartbeat"} Indicates the cumulative number of connections to the heartbeat service | This value is the connection of thrift server with BE as the server. | | -| doris_be_thrift_current_connections | | Num | current number of thrift connections. like {name="heartbeat"} Indicates the current number of connections to the heartbeat service . | Same as above | | -| doris_be_thrift_opened_clients | | Num | thrift clients currently open . like {name="frontend"} Indicates the number of clients accessing the FE service | | | -| doris_be_thrift_used_clients | | Num | thrift clients currently in use . like {name="frontend"} Indicates the number of clients being used to access the FE service | | | -| doris_be_timeout_canceled_fragment_count | | Num | Cumulative value of the number of fragment instances canceled due to timeout | This value may be recorded repeatedly. For example, some fragment instances are canceled multiple times | P0 | -| doris_be_stream_load_txn_request | {type="begin"} | Num | value of the number of transactions started by stream load | Including stream load and routine load tasks | | -| doris_be_stream_load_txn_request | {type="commit"} | Num | value of the number of transactions successfully executed by stream load | Same as above | | -| doris_be_stream_load_txn_request | {type="rollback"} | | value of the number of transactions that failed to execute stream load | Same as above | | -| doris_be_unused_rowsets_count | | Num | The number of currently abandoned rowsets | These rowsets will be deleted regularly under normal circumstances. | | -| doris_be_upload_fail_count | | Num | cumulative value of rowset failed to be uploaded to remote storage | | | -| doris_be_upload_rowset_count | | Num | cumulative number of rowsets successfully uploaded to remote storage | | | -| doris_be_upload_total_byte | | | byte | value of rowset data successfully uploaded to remote storage | | -| doris_be_load_bytes | | byte | Cumulative quantity sent through tablet sink | Observable amount of imported data | P0 | -| doris_be_load_rows | | Num | Cumulative number of rows sent through tablet sink | Observable amount of imported data | P0 | -| fragment_thread_pool_queue_size | | Num | current query execution thread pool waiting queue | If it is greater than zero, the query thread has been exhausted and queries will pile up. | P0 | -| doris_be_all_rowsets_num | | Num | All currently rowset number of | | P0 | -| doris_be_all_segments_num | | Num | The number of all current segments | | P0 | -| doris_be_heavy_work_max_threads | | Num | brpc Number of heavy thread pool threads | | p0 | -| doris_be_light_work_max_threads | | Num | brpc Number of light thread pool threads | | p0 | -| doris_be_heavy_work_pool_queue_size | | Num | brpc The maximum length of the heavy thread pool queue will block the submission of work if it exceeds it . | | p0 | -| doris_be_light_work_pool_queue_size | | Num | brpc The maximum length of the light thread pool queue . If it exceeds the maximum length, the submission of work will be blocked. | | p0 | -| doris_be_heavy_work_active_threads | | Num | brpc Number of active threads in heavy thread pool | | p0 | -| doris_be_light_work_active_threads | | Num | brpc Number of active threads in light thread pool | | p0 | -| routine_load_get_msg_latency | | millisecond | Latency for retrieving Kafka messages for Routine Load | | -| routine_load_get_msg_count | | Num | Number of Kafka messages retrieved by Routine Load | | -| routine_load_consume_bytes | | byte | Amount of Kafka data consumed by Routine Load | | -| routine_load_consume_rows | | Num | Number of Kafka messages consumed by Routine Load | | - -**Machine** **metrics** - -| **name** | **Label** | **unit** | **Description** | **Impact** | **Grade** | -| --------------------------------------- | ------------------------- | -------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | --------- | -| doris_be_cpu | | Num | CPU related metrics metrics, from /proc/stat collection. Each value of each logical core will be collected separately . like {device="cpu0 ",mode ="nice"} Indicates the nice value of cpu0 | CPU usage can be calculated | P0 | -| doris_be_disk_bytes_read | | byte | The cumulative value of disk reads. from /proc/ diskstats collection. The values of each disk will be collected separately . like {device=" vdd "} express vvd disk value | | | -| doris_be_disk_bytes_written | | byte | The cumulative value of disk writes. The collection method is the same as above | | | -| doris_be_disk_io_time_ms | | byte | The collection method is the same as above | IO Util can be calculated | P0 | -| doris_be_disk_io_time_weighted | | byte | The collection method is the same as above | | | -| doris_be_disk_reads_completed | | byte | The collection method is the same as above | | | -| doris_be_disk_read_time_ms | | byte | The collection method is the same as above | | | -| doris_be_disk_writes_completed | | byte | The collection method is the same as above | | | -| doris_be_disk_write_time_ms | | byte | The collection method is the same as above | | | -| doris_be_fd_num_limit | | Num | System file handle limit upper limit. from /proc/sys/fs/file-nr collection | | | -| doris_be_fd_num_used | | Num | The number of file handles used by the system . from /proc/sys/fs/file-nr collection | | | -| doris_be_file_created_total | | Num | Cumulative number of local file creation times | all calls local_file_writer And finally close the file count | | -| doris_be_load_average | | Num | Machine Load Avg Metric metrics. For example, {mode="15_minutes"} is 15 minutes Load Avg | Observe the overall machine load | P0 | -| doris_be_max_disk_io_util_percent | | percentage | value of the disk with the largest IO UTIL among all disks | | P0 | -| doris_be_max_network_receive_bytes_rate | | Bytes / second | The maximum receive rate calculated among all network cards | | P0 | -| doris_be_max_network_send_bytes_rate | | Bytes / second | The calculated maximum sending rate among all network cards | | P0 | -| doris_be_memory_pgpgin | | byte | The amount of data written by the system from disk to memory page | | | -| doris_be_memory_pgpgout | | byte | The amount of data written to disk by system memory pages | | | -| doris_be_memory_pswpin | | byte | The number of times the system swapped from disk to memory | Normally, swap should be turned off, so this value should be 0 | | -| doris_be_memory_pswpout | | byte | The number of times the system swapped from memory to disk | Normally, swap should be turned off, so this value should be 0 | | -| doris_be_network_receive_bytes | | byte | each network card are accumulated. Collected from /proc/net/dev | | | -| doris_be_network_receive_packets | | Num | each network card is accumulated. Collected from /proc/net/dev | | | -| doris_be_network_send_bytes | | byte | each network card . Collected from /proc/net/dev | | | -| doris_be_network_send_packets | | Num | The total number of packets sent by each network card is accumulated. Collected from /proc/net/dev | | | -| doris_be_proc | {mode=" ctxt_switch "} | Num | CPU context switches . Collected from /proc/stat | Observe whether there are abnormal context switches | P0 | -| doris_be_proc | {mode="interrupt"} | Num | CPU interrupts . Collected from /proc/stat | | | -| doris_be_proc | {mode=" procs_blocked "} | Num | The number of processes currently blocked in the system (such as waiting for IO ). Collected from /proc/stat | | | -| doris_be_proc | {mode=" procs_running "} | Num | The number of processes currently executing on the system . Collected from /proc/stat | | | -| doris_be_snmp_tcp_in_errs | | Num | tcp packet reception errors. Collected from /proc/net/ snmp | Observable network errors such as retransmission, packet loss, etc. Need and other snmp metrics used together with | P0 | -| doris_be_snmp_tcp_in_segs | | Num | tcp packets sent . Collected from /proc/net/ snmp | | | -| doris_be_snmp_tcp_out_segs | | Num | tcp packets sent. Collected from /proc/net/ snmp | | | -| doris_be_snmp_tcp_retrans_segs | | Num | TCP packet retransmissions . Collected from /proc/net/ snmp | | | diff --git a/docs/admin-manual/maint-monitor/monitor-alert.md b/docs/admin-manual/maint-monitor/monitor-alert.md deleted file mode 100644 index 2231a171e9ee2..0000000000000 --- a/docs/admin-manual/maint-monitor/monitor-alert.md +++ /dev/null @@ -1,288 +0,0 @@ ---- -{ - "title": "Monitoring and alarming", - "language": "en", - "description": "This document mainly introduces Doris's monitoring items and how to collect and display them. And how to configure alarm (TODO)" -} ---- - -This document mainly introduces Doris's monitoring items and how to collect and display them. And how to configure alarm (TODO) - -Dashboard template click download - -| Doris Version | Dashboard Version | -|---------------|----------------------------------------------------------------------------| -| 1.2.x | [revision 5](https://grafana.com/api/dashboards/9734/revisions/5/download) | - -Dashboard templates are updated from time to time. The way to update the template is shown in the last section. - -Welcome to provide better dashboard. - -## Components - -Doris uses [Prometheus](https://prometheus.io/) and [Grafana](https://grafana.com/) to collect and display input monitoring items. - -![Doris monitor dashboard overview](/images/dashboard_overview.png) - -1. Prometheus - - Prometheus is an open source system monitoring and alarm suite. It can collect monitored items by Pull or Push and store them in its own time series database. And through the rich multi-dimensional data query language, to meet the different data display needs of users. - -2. Grafana - - Grafana is an open source data analysis and display platform. Support multiple mainstream temporal database sources including Prometheus. Through the corresponding database query statements, the display data is obtained from the data source. With flexible and configurable dashboard, these data can be quickly presented to users in the form of graphs. - -> Note: This document only provides a way to collect and display Doris monitoring data using Prometheus and Grafana. In principle, these components are not developed or maintained. For more details on these components, please step through the corresponding official documents. - -## Monitoring data - -Doris's monitoring data is exposed through the HTTP interface of Frontend and Backend. Monitoring data is presented in the form of key-value text. Each Key may also be distinguished by different Labels. When the user has built Doris, the monitoring data of the node can be accessed in the browser through the following interfaces: - -* Frontend: `fe_host:fe_http_port/metrics` -* Backend: `be_host:be_web_server_port/metrics` -* Broker: Not available for now - -Users will see the following monitoring item results (for example, FE partial monitoring items): - -``` -# HELP jvm_heap_size_bytes jvm heap stat -# TYPE jvm_heap_size_bytes gauge -jvm_heap_size_bytes{type="max"} 8476557312 -jvm_heap_size_bytes{type="committed"} 1007550464 -jvm_heap_size_bytes{type="used"} 156375280 -# HELP jvm_non_heap_size_bytes jvm non heap stat -# TYPE jvm_non_heap_size_bytes gauge -jvm_non_heap_size_bytes{type="committed"} 194379776 -jvm_non_heap_size_bytes{type="used"} 188201864 -# HELP jvm_young_size_bytes jvm young mem pool stat -# TYPE jvm_young_size_bytes gauge -jvm_young_size_bytes{type="used"} 40652376 -jvm_young_size_bytes{type="peak_used"} 277938176 -jvm_young_size_bytes{type="max"} 907345920 -# HELP jvm_old_size_bytes jvm old mem pool stat -# TYPE jvm_old_size_bytes gauge -jvm_old_size_bytes{type="used"} 114633448 -jvm_old_size_bytes{type="peak_used"} 114633448 -jvm_old_size_bytes{type="max"} 7455834112 -# HELP jvm_gc jvm gc stat -# TYPE jvm_gc gauge -{type="count"} 247 -{type="time"} 860 -# HELP jvm_thread jvm thread stat -# TYPE jvm_thread gauge -jvm_thread{type="count"} 162 -jvm_thread{type="peak_count"} 205 -jvm_thread{type="new_count"} 0 -jvm_thread{type="runnable_count"} 48 -jvm_thread{type="blocked_count"} 1 -jvm_thread{type="waiting_count"} 41 -jvm_thread{type="timed_waiting_count"} 72 -jvm_thread{type="terminated_count"} 0 -... -``` - -This is a monitoring data presented in [Prometheus Format](https://prometheus.io/docs/practices/naming/). We take one of these monitoring items as an example to illustrate: - -``` -# HELP jvm_heap_size_bytes jvm heap stat -# TYPE jvm_heap_size_bytes gauge -jvm_heap_size_bytes{type="max"} 8476557312 -jvm_heap_size_bytes{type="committed"} 1007550464 -jvm_heap_size_bytes{type="used"} 156375280 -``` - -1. Behavior commentary line at the beginning of "#". HELP is the description of the monitored item; TYPE represents the data type of the monitored item, and Gauge is the scalar data in the example. There are also Counter, Histogram and other data types. Specifically, you can see [Prometheus Official Document](https://prometheus.io/docs/practices/instrumentation/#counter-vs.-gauge,-summary-vs.-histogram). -2. `jvm_heap_size_bytes` is the name of the monitored item (Key); `type= "max"` is a label named `type`, with a value of `max`. A monitoring item can have multiple Labels. -3. The final number, such as `8476557312`, is the monitored value. - -## Monitoring Architecture - -The entire monitoring architecture is shown in the following figure: - -![Monitoring Architecture](/images/monitor_arch.png) - -1. The yellow part is Prometheus related components. Prometheus Server is the main process of Prometheus. At present, Prometheus accesses the monitoring interface of Doris node by Pull, and then stores the time series data in the time series database TSDB (TSDB is included in the Prometheus process, and need not be deployed separately). Prometheus also supports building [Push Gateway](https://github.com/prometheus/pushgateway) to allow monitored data to be pushed to Push Gateway by Push by monitoring system, and then data from Push Gateway by Prometheus Server through Pull. -2. [Alert Manager](https://github.com/prometheus/alertmanager) is a Prometheus alarm component, which needs to be deployed separately (no solution is provided yet, but can be built by referring to official documents). Through Alert Manager, users can configure alarm strategy, receive mail, short messages and other alarms. -3. The green part is Grafana related components. Grafana Server is the main process of Grafana. After startup, users can configure Grafana through Web pages, including data source settings, user settings, Dashboard drawing, etc. This is also where end users view monitoring data. - - -## Start building - -Please start building the monitoring system after you have completed the deployment of Doris. - -Prometheus - -1. Download the latest version of Prometheus on the [Prometheus Website](https://prometheus.io/download/). Here we take version 2.43.0-linux-amd64 as an example. -2. Unzip the downloaded tar file on the machine that is ready to run the monitoring service. -3. Open the configuration file prometheus.yml. Here we provide an example configuration and explain it (the configuration file is in YML format, pay attention to uniform indentation and spaces): - - Here we use the simplest way of static files to monitor configuration. Prometheus supports a variety of [service discovery](https://prometheus.io/docs/prometheus/latest/configuration/configuration/), which can dynamically sense the addition and deletion of nodes. - - ``` - # my global config - global: - scrape_interval: 15s # Global acquisition interval, default 1 m, set to 15s - evaluation_interval: 15s # Global rule trigger interval, default 1 m, set 15s here - - # Alertmanager configuration - alerting: - alertmanagers: - - static_configs: - - targets: - # - alertmanager:9093 - - # A scrape configuration containing exactly one endpoint to scrape: - # Here it's Prometheus itself. - scrape_configs: - # The job name is added as a label `job=` to any timeseries scraped from this config. - - job_name: 'DORIS_CLUSTER' # Each Doris cluster, we call it a job. Job can be given a name here as the name of Doris cluster in the monitoring system. - metrics_path: '/metrics' # Here you specify the restful API to get the monitors. With host: port in the following targets, Prometheus will eventually collect monitoring items through host: port/metrics_path. - static_configs: # Here we begin to configure the target addresses of FE and BE, respectively. All FE and BE are written into their respective groups. - - targets: ['fe_host1:8030', 'fe_host2:8030', 'fe_host3:8030'] - labels: - group: fe # Here configure the group of fe, which contains three Frontends - - - targets: ['be_host1:8040', 'be_host2:8040', 'be_host3:8040'] - labels: - group: be # Here configure the group of be, which contains three Backends - - - job_name: 'DORIS_CLUSTER_2' # We can monitor multiple Doris clusters in a Prometheus, where we begin the configuration of another Doris cluster. Configuration is the same as above, the following is outlined. - metrics_path: '/metrics' - static_configs: - - targets: ['fe_host1:8030', 'fe_host2:8030', 'fe_host3:8030'] - labels: - group: fe - - - targets: ['be_host1:8040', 'be_host2:8040', 'be_host3:8040'] - labels: - group: be - - ``` - -4. start Prometheus - - Start Prometheus with the following command: - - `nohup ./prometheus --web.listen-address="0.0.0.0:8181" &` - - This command will run Prometheus in the background and specify its Web port as 8181. After startup, data is collected and stored in the data directory. - -5. stop Promethues - - At present, there is no formal way to stop the process, kill - 9 directly. Of course, Prometheus can also be set as a service to start and stop in a service way. - -6. access Prometheus - - Prometheus can be easily accessed through web pages. The page of Prometheus can be accessed by opening port 8181 through browser. Click on the navigation bar, `Status` -> `Targets`, and you can see all the monitoring host nodes of the grouped Jobs. Normally, all nodes should be `UP`, indicating that data acquisition is normal. Click on an `Endpoint` to see the current monitoring value. If the node state is not UP, you can first access Doris's metrics interface (see previous article) to check whether it is accessible, or query Prometheus related documents to try to resolve. - -7. So far, a simple Prometheus has been built and configured. For more advanced usage, see [Official Documents](https://prometheus.io/docs/introduction/overview/) - -### Grafana - -1. Download the latest version of Grafana on [Grafana's official website](https://grafana.com/grafana/download). Here we take version 8.5.22.linux-amd64 as an example. - -2. Unzip the downloaded tar file on the machine that is ready to run the monitoring service. - -3. Open the configuration file conf/defaults.ini. Here we only list the configuration items that need to be changed, and the other configurations can be used by default. - - ``` - # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used) - data = data - - # Directory where grafana can store logs - logs = data/log - - # Protocol (http, https, socket) - protocal = http - - # The ip address to bind to, empty will bind to all interfaces - http_addr = - - # The http port to use - http_port = 8182 - ``` - -4. start Grafana - - Start Grafana with the following command - - `nohup ./bin/grafana-server &` - - This command runs Grafana in the background, and the access port is 8182 configured above. - -5. stop Grafana - - At present, there is no formal way to stop the process, kill - 9 directly. Of course, you can also set Grafana as a service to start and stop as a service. - -6. access Grafana - - Through the browser, open port 8182, you can start accessing the Grafana page. The default username password is admin. - -7. Configure Grafana - - For the first landing, you need to set up the data source according to the prompt. Our data source here is Prometheus, which was configured in the previous step. - - The Setting page of the data source configuration is described as follows: - - 1. Name: Name of the data source, customized, such as doris_monitor_data_source - 2. Type: Select Prometheus - 3. URL: Fill in the web address of Prometheus, such as http://host:8181 - 4. Access: Here we choose the Server mode, which is to access Prometheus through the server where the Grafana process is located. - 5. The other options are available by default. - 6. Click `Save & Test` at the bottom. If `Data source is working`, it means that the data source is available. - 7. After confirming that the data source is available, click on the + number in the left navigation bar and start adding Dashboard. Here we have prepared Doris's dashboard template (at the beginning of this document). When the download is complete, click `New dashboard` -> `Import dashboard` -> `Upload.json File` above to import the downloaded JSON file. - 8. After importing, you can name Dashboard by default `Doris Overview`. At the same time, you need to select the data source, where you select the `doris_monitor_data_source` you created earlier. - 9. Click `Import` to complete the import. Later, you can see Doris's dashboard display. - -8. So far, a simple Grafana has been built and configured. For more advanced usage, see [Official Documents](http://docs.grafana.org/) - - -## Dashboard - -Here we briefly introduce Doris Dashboard. The content of Dashboard may change with the upgrade of version. This document is not guaranteed to be the latest Dashboard description. - -1. Top Bar - - ![Doris Dashboard-Top Bar](/images/dashboard_navibar.png) - - * The upper left corner is the name of Dashboard. - * The upper right corner shows the current monitoring time range. You can choose different time ranges by dropping down. You can also specify a regular refresh page interval. - * Cluster name: Each job name in the Prometheus configuration file represents a Doris cluster. Select a different cluster, and the chart below shows the monitoring information for the corresponding cluster. - * fe_master: The Master Frontend node corresponding to the cluster. - * fe_instance: All Frontend nodes corresponding to the cluster. Select a different Frontend, and the chart below shows the monitoring information for the Frontend. - * be_instance: All Backend nodes corresponding to the cluster. Select a different Backend, and the chart below shows the monitoring information for the Backend. - * Interval: Some charts show rate-related monitoring items, where you can choose how much interval to sample and calculate the rate (Note: 15s interval may cause some charts to be unable to display). - -2. Row. - - ![Doris Dashboard-Row](/images/dashboard_row.png) - - In Grafana, the concept of Row is a set of graphs. As shown in the figure above, Overview and Cluster Overview are two different Rows. Row can be folded by clicking Row. Currently Dashboard has the following Rows (in continuous updates): - - 1. Overview: A summary display of all Doris clusters. - 2. Cluster Overview: A summary display of selected clusters. - 3. Query Statistic: Query-related monitoring of selected clusters. - 4. FE JVM: Select Frontend's JVM monitoring. - 5. BE: A summary display of the backends of the selected cluster. - 6. BE Task: Display of Backends Task Information for Selected Clusters. - -3. Charts - - ![Doris Dashboard-Charts](/images/dashboard_panel.png) - - A typical icon is divided into the following parts: - - 1. Hover the I icon in the upper left corner of the mouse to see the description of the chart. - 2. Click on the illustration below to view a monitoring item separately. Click again to display all. - 3. Dragging in the chart can select the time range. - 4. The selected cluster name is displayed in [] of the title. - 5. Some values correspond to the Y-axis on the left and some to the right, which can be distinguished by the `-right` at the end of the legend. - 6. Click on the name of the chart -> `Edit` to edit the chart. - -## Dashboard Update - -1. Click on `+` in the left column of Grafana and `Dashboard`. -2. Click `New dashboard` in the upper left corner, and `Import dashboard` appears on the right. -3. Click `Upload .json File` to select the latest template file. -4. Selecting Data Sources -5. Click on `Import (Overwrite)` to complete the template update. diff --git a/docs/admin-manual/maint-monitor/tablet-repair-and-balance.md b/docs/admin-manual/maint-monitor/tablet-repair-and-balance.md deleted file mode 100644 index 2a4b25b532cd1..0000000000000 --- a/docs/admin-manual/maint-monitor/tablet-repair-and-balance.md +++ /dev/null @@ -1,787 +0,0 @@ ---- -{ - "title": "Data Replica Management", - "language": "en", - "description": "Beginning with version 0.9.0, Doris introduced an optimized replica management strategy and supported a richer replica status viewing tool." -} ---- - -Beginning with version 0.9.0, Doris introduced an optimized replica management strategy and supported a richer replica status viewing tool. This document focuses on Doris data replica balancing, repair scheduling strategies, and replica management operations and maintenance methods. Help users to more easily master and manage the replica status in the cluster. - -> Repairing and balancing copies of tables with Colocation attributes can be referred to [HERE](../../query-data/join#colocate-join) - -## Noun Interpretation - -1. Tablet: The logical fragmentation of a Doris table, where a table has multiple fragments. -2. Replica: A sliced copy, defaulting to three copies of a slice. -3. Healthy Replica: A healthy copy that survives at Backend and has a complete version. -4. Tablet Checker (TC): A resident background thread that scans all Tablets regularly, checks the status of these Tablets, and decides whether to send them to Tablet Scheduler based on the results. -5. Tablet Scheduler (TS): A resident background thread that handles Tablets sent by Tablet Checker that need to be repaired. At the same time, cluster replica balancing will be carried out. -6. Tablet SchedCtx (TSC): is a tablet encapsulation. When TC chooses a tablet, it encapsulates it as a TSC and sends it to TS. -7. Storage Medium: Storage medium. Doris supports specifying different storage media for partition granularity, including SSD and HDD. The replica scheduling strategy is also scheduled for different storage media. - -``` - - +--------+ +-----------+ - | Meta | | Backends | - +---^----+ +------^----+ - | | | 3. Send clone tasks - 1. Check tablets | | | - +--------v------+ +-----------------+ - | TabletChecker +--------> TabletScheduler | - +---------------+ +-----------------+ - 2. Waiting to be scheduled - - -``` -The figure above is a simplified workflow. - - -## Duplicate status - -Multiple copies of a Tablet may cause state inconsistencies due to certain circumstances. Doris will attempt to automatically fix the inconsistent copies of these states so that the cluster can recover from the wrong state as soon as possible. - -**The health status of a Replica is as follows:** - -1. BAD - - That is, the copy is damaged. Includes, but is not limited to, the irrecoverable damaged status of copies caused by disk failures, BUGs, etc. - -2. VERSION\_MISSING - - Version missing. Each batch of imports in Doris corresponds to a data version. A copy of the data consists of several consecutive versions. However, due to import errors, delays and other reasons, the data version of some copies may be incomplete. - -3. HEALTHY - - Health copy. That is, a copy of the normal data, and the BE node where the copy is located is in a normal state (heartbeat is normal and not in the offline process). - -**The health status of a Tablet is determined by the status of all its copies. There are the following categories:** - -1. REPLICA\_MISSING - - The copy is missing. That is, the number of surviving copies is less than the expected number of copies. - -2. VERSION\_INCOMPLETE - - The number of surviving copies is greater than or equal to the number of expected copies, but the number of healthy copies is less than the number of expected copies. - -3. REPLICA\_RELOCATING - - Have a full number of live copies of the replication num version, but the BE nodes where some copies are located are in unavailable state (such as decommission) - -4. REPLICA\_MISSING\_IN\_CLUSTER - - When using multi-cluster, the number of healthy replicas is greater than or equal to the expected number of replicas, but the number of replicas in the corresponding cluster is less than the expected number of replicas. - -5. REDUNDANT - - Duplicate redundancy. Healthy replicas are in the corresponding cluster, but the number of replicas is larger than the expected number. Or there's a spare copy of unavailable. - -6. FORCE\_REDUNDANT - - This is a special state. It only occurs when the number of existed replicas is greater than or equal to the number of available nodes, and the number of available nodes is greater than or equal to the number of expected replicas, and when the number of alive replicas is less than the number of expected replicas. In this case, you need to delete a copy first to ensure that there are available nodes for creating a new copy. - -7. COLOCATE\_MISMATCH - - Fragmentation status of tables for Collocation attributes. Represents that the distribution of fragmented copies is inconsistent with the specified distribution of Colocation Group. - -8. COLOCATE\_REDUNDANT - - Fragmentation status of tables for Collocation attributes. Represents the fragmented copy redundancy of the Colocation table. - -8. HEALTHY - - Healthy fragmentation, that is, conditions [1-5] are not satisfied. - -## Replica Repair - -As a resident background process, Tablet Checker regularly checks the status of all fragments. For unhealthy fragmentation, it will be sent to Tablet Scheduler for scheduling and repair. The actual operation of repair is accomplished by clone task on BE. FE is only responsible for generating these clone tasks. - -> Note 1: The main idea of replica repair is to make the number of fragmented replicas reach the desired value by creating or completing them first. Then delete the redundant copy. -> -> Note 2: A clone task is to complete the process of copying specified data from a specified remote end to a specified destination. - -For different states, we adopt different repair methods: - -1. REPLICA\_MISSING/REPLICA\_RELOCATING - - Select a low-load, available BE node as the destination. Choose a healthy copy as the source. Clone tasks copy a complete copy from the source to the destination. For replica completion, we will directly select an available BE node, regardless of the storage medium. - -2. VERSION\_INCOMPLETE - - Select a relatively complete copy as the destination. Choose a healthy copy as the source. The clone task attempts to copy the missing version from the source to the destination. - -3. REPLICA\_MISSING\_IN\_CLUSTER - - This state processing method is the same as REPLICA\_MISSING. - -4. REDUNDANT - - Usually, after repair, there will be redundant copies in fragmentation. We select a redundant copy to delete it. The selection of redundant copies follows the following priorities: - 1. The BE where the copy is located has been offline. - 2. The copy is damaged - 3. The copy is lost in BE or offline - 4. The replica is in the CLONE state (which is an intermediate state during clone task execution) - 5. The copy has version missing - 6. The cluster where the copy is located is incorrect - 7. The BE node where the replica is located has a high load - -5. FORCE\_REDUNDANT - - Unlike REDUNDANT, because at this point Tablet has a copy missing, because there are no additional available nodes for creating new copies. So at this point, a copy must be deleted to free up a available node for creating a new copy. - The order of deleting copies is the same as REDUNDANT. - -6. COLOCATE\_MISMATCH - - Select one of the replica distribution BE nodes specified in Colocation Group as the destination node for replica completion. - -7. COLOCATE\_REDUNDANT - - Delete a copy on a BE node that is distributed by a copy specified in a non-Colocation Group. - - Doris does not deploy a copy of the same Tablet on a different BE of the same host when selecting a replica node. It ensures that even if all BEs on the same host are deactivated, all copies will not be lost. - -### Scheduling priority - -Waiting for the scheduled fragments in Tablet Scheduler gives different priorities depending on the status. High priority fragments will be scheduled first. There are currently several priorities. - -1. VERY\_HIGH - - * REDUNDANT. For slices with duplicate redundancy, we give priority to them. Logically, duplicate redundancy is the least urgent, but because it is the fastest to handle and can quickly release resources (such as disk space, etc.), we give priority to it. - * FORCE\_REDUNDANT. Ditto. - -2. HIGH - - * REPLICA\_MISSING and most copies are missing (for example, 2 copies are missing in 3 copies) - * VERSION\_INCOMPLETE and most copies are missing - * COLOCATE\_MISMATCH We hope that the fragmentation related to the Collocation table can be repaired as soon as possible. - * COLOCATE\_REDUNDANT - -3. NORMAL - - * REPLICA\_MISSING, but most survive (for example, three copies lost one) - * VERSION\_INCOMPLETE, but most copies are complete - * REPLICA\_RELOCATING and relocate is required for most replicas (e.g. 3 replicas with 2 replicas) - -4. LOW - - * REPLICA\_MISSING\_IN\_CLUSTER - * REPLICA\_RELOCATING most copies stable - -### Manual priority - -The system will automatically determine the scheduling priority. Sometimes, however, users want the fragmentation of some tables or partitions to be repaired faster. So we provide a command that the user can specify that a slice of a table or partition is repaired first: - -`ADMIN REPAIR TABLE tbl [PARTITION (p1, p2, ...)];` - -This command tells TC to give VERY HIGH priority to the problematic tables or partitions that need to be repaired first when scanning Tablets. - -> Note: This command is only a hint, which does not guarantee that the repair will be successful, and the priority will change with the scheduling of TS. And when Master FE switches or restarts, this information will be lost. - -Priority can be cancelled by the following commands: - -`ADMIN CANCEL REPAIR TABLE tbl [PARTITION (p1, p2, ...)];` - -### Priority scheduling - -Priority ensures that severely damaged fragments can be repaired first, and improves system availability. But if the high priority repair task fails all the time, the low priority task will never be scheduled. Therefore, we will dynamically adjust the priority of tasks according to the running status of tasks, so as to ensure that all tasks have the opportunity to be scheduled. - -* If the scheduling fails for five consecutive times (e.g., no resources can be obtained, no suitable source or destination can be found, etc.), the priority will be lowered. -* If not scheduled for 30 minutes, priority will be raised. -* The priority of the same tablet task is adjusted at least five minutes apart. - -At the same time, in order to ensure the weight of the initial priority, we stipulate that the initial priority is VERY HIGH, and the lowest is lowered to NORMAL. When the initial priority is LOW, it is raised to HIGH at most. The priority adjustment here also adjusts the priority set manually by the user. - -## Replicas Balance - -Doris automatically balances replicas within the cluster. Currently supports two rebalance strategies, BeLoad and Partition. BeLoad rebalance will consider about the disk usage and replica count for each BE. Partition rebalance just aim at replica count for each partition, this helps to avoid hot spots. If you want high read/write performance, you may need this. Note that Partition rebalance do not consider about the disk usage, pay more attention to it when you are using Partition rebalance. The strategy selection config is not mutable at runtime. - -### BeLoad - -The main idea of balancing is to create a replica of some fragments on low-load nodes, and then delete the replicas of these fragments on high-load nodes. At the same time, because of the existence of different storage media, there may or may not exist one or two storage media on different BE nodes in the same cluster. We require that fragments of storage medium A be stored in storage medium A as far as possible after equalization. So we divide the BE nodes of the cluster according to the storage medium. Then load balancing scheduling is carried out for different BE node sets of storage media. - -Similarly, replica balancing ensures that a copy of the same table will not be deployed on the BE of the same host. - -### BE Node Load - -We use Cluster LoadStatistics (CLS) to represent the load balancing of each backend in a cluster. Tablet Scheduler triggers cluster equilibrium based on this statistic. We currently calculate a load Score for each BE as the BE load score by using **disk usage** and **number of copies**. The higher the score, the heavier the load on the BE. - -Disk usage and number of copies have a weight factor, which is **capacityCoefficient** and **replicaNumCoefficient**, respectively. The sum of them is **constant to 1**. If a valid `backend_load_capacity_coeficient` parameter is configured (value range `0.0`~`1.0`), then `capacityCoefficient = backend_load_capacity_coeficient`. Otherwise, `capacityCoefficient` will dynamically adjust according to actual disk utilization. When the overall disk utilization of a BE is below 50%, the `capacityCoefficient` value is 0.5, and if the disk utilization is above 75% (configurable through the FE configuration item `capacity_used_percent_high_water`), the value is 1. If the utilization rate is between 50% and 75%, the weight coefficient increases smoothly. The formula is as follows: - -`capacityCoefficient = 2 * Disk Utilization - 0.5` - -The weight coefficient ensures that when disk utilization is too high, the backend load score will be higher to ensure that the BE load is reduced as soon as possible. - -Tablet Scheduler updates CLS every 20 seconds. - -### Partition - -The main idea of `partition rebalancing` is to decrease the skew of partitions. The skew of the partition is defined as the difference between the maximum replica count of the partition over all bes and the minimum replica count over all bes. - -So we only consider about the replica count, do not consider replica size(disk usage). -To fewer moves, we use TwoDimensionalGreedyAlgo which two dims are cluster & partition. It prefers a move that reduce the skew of the cluster when we want to rebalance a max skew partition. - -#### Skew Info - -The skew info is represented by `ClusterBalanceInfo`. `partitionInfoBySkew` is a multimap which key is the partition's skew, so we can get max skew partitions simply. `beByTotalReplicaCount` is a multimap which key is the total replica count of the backend. - -`ClusterBalanceInfo` is in CLS, updated every 20 seconds. - -When get more than one max skew partitions, we random select one partition to calculate the move. - -### Equilibrium strategy - -Tablet Scheduler uses Load Balancer to select a certain number of healthy fragments as candidate fragments for balance in each round of scheduling. In the next scheduling, balanced scheduling will be attempted based on these candidate fragments. - -## Resource control - -Both replica repair and balancing are accomplished by replica copies between BEs. If the same BE performs too many tasks at the same time, it will bring a lot of IO pressure. Therefore, Doris controls the number of tasks that can be performed on each node during scheduling. The smallest resource control unit is the disk (that is, a data path specified in be.conf). By default, we configure two slots per disk for replica repair. A clone task occupies one slot at the source and one slot at the destination. If the number of slots is zero, no more tasks will be assigned to this disk. The number of slots can be configured by FE's `schedule_slot_num_per_hdd_path` or `schedule_slot_num_per_ssd_path` parameter. - -In addition, by default, we provide two separate slots per disk for balancing tasks. The purpose is to prevent high-load nodes from losing space by balancing because slots are occupied by repair tasks. - -## Tablet State View - -Tablet state view mainly looks at the state of the tablet, as well as the state of the tablet repair and balancing tasks. Most of these states **exist only in** Master FE nodes. Therefore, the following commands need to be executed directly to Master FE. - -### Tablet state - -1. Global state checking - - Through `SHOW PROC'/cluster_health/tablet_health'; `commands can view the replica status of the entire cluster. - - ``` - +-------+--------------------------------+-----------+------------+-------------------+----------------------+----------------------+--------------+----------------------------+-------------------------+-------------------+---------------------+----------------------+----------------------+------------------+-----------------------------+-----------------+-------------+------------+ - | DbId | DbName | TabletNum | HealthyNum | ReplicaMissingNum | VersionIncompleteNum | ReplicaRelocatingNum | RedundantNum | ReplicaMissingInClusterNum | ReplicaMissingForTagNum | ForceRedundantNum | ColocateMismatchNum | ColocateRedundantNum | NeedFurtherRepairNum | UnrecoverableNum | ReplicaCompactionTooSlowNum | InconsistentNum | OversizeNum | CloningNum | - +-------+--------------------------------+-----------+------------+-------------------+----------------------+----------------------+--------------+----------------------------+-------------------------+-------------------+---------------------+----------------------+----------------------+------------------+-----------------------------+-----------------+-------------+------------+ - | 10005 | default_cluster:doris_audit_db | 84 | 84 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 13402 | default_cluster:ssb1 | 709 | 708 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 10108 | default_cluster:tpch1 | 278 | 278 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | Total | 3 | 1071 | 1070 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - +-------+--------------------------------+-----------+------------+-------------------+----------------------+----------------------+--------------+----------------------------+-------------------------+-------------------+---------------------+----------------------+----------------------+------------------+-----------------------------+-----------------+-------------+------------+ - ``` - - The `HealthyNum` column shows how many Tablets are in a healthy state in the corresponding database. `ReplicaCompactionTooSlowNum` column shows how many Tablets are in a too many versions state in the corresponding database, `InconsistentNum` column shows how many Tablets are in an inconsistent replica state in the corresponding database. The last `Total` line counts the entire cluster. Normally `TabletNum` and `HealthyNum` should be equal. If it's not equal, you can further see which Tablets are there. As shown in the figure above, one table in the ssb1 database is not healthy, you can use the following command to see which one is. - - `SHOW PROC '/cluster_health/tablet_health/13402';` - - Among them `13402` is the corresponding DbId. - - ``` - +-----------------------+--------------------------+--------------------------+------------------+--------------------------------+-----------------------------+-----------------------+-------------------------+--------------------------+--------------------------+----------------------+---------------------------------+---------------------+-----------------+ - | ReplicaMissingTablets | VersionIncompleteTablets | ReplicaRelocatingTablets | RedundantTablets | ReplicaMissingInClusterTablets | ReplicaMissingForTagTablets | ForceRedundantTablets | ColocateMismatchTablets | ColocateRedundantTablets | NeedFurtherRepairTablets | UnrecoverableTablets | ReplicaCompactionTooSlowTablets | InconsistentTablets | OversizeTablets | - +-----------------------+--------------------------+--------------------------+------------------+--------------------------------+-----------------------------+-----------------------+-------------------------+--------------------------+--------------------------+----------------------+---------------------------------+---------------------+-----------------+ - | 14679 | | | | | | | | | | | | | | - +-----------------------+--------------------------+--------------------------+------------------+--------------------------------+-----------------------------+-----------------------+-------------------------+--------------------------+--------------------------+----------------------+---------------------------------+---------------------+-----------------+ - ``` - - The figure above shows the specific unhealthy Tablet ID (14679). Later we'll show you how to view the status of each copy of a specific Tablet. - -2. Table (partition) level status checking - - Users can view the status of a copy of a specified table or partition through the following commands and filter the status through a WHERE statement. If you look at table tbl1, the state on partitions P1 and P2 is a copy of OK: - - `SHOW REPLICA STATUS FROM tbl1 PARTITION (p1, p2) WHERE STATUS = "OK";` - - ``` - +----------+-----------+-----------+---------+-------------------+--------------------+------------------+------------+------------+-------+--------+--------+ - | TabletId | ReplicaId | BackendId | Version | LastFailedVersion | LastSuccessVersion | CommittedVersion | SchemaHash | VersionNum | IsBad | State | Status | - +----------+-----------+-----------+---------+-------------------+--------------------+------------------+------------+------------+-------+--------+--------+ - | 29502429 | 29502432 | 10006 | 2 | -1 | 2 | 1 | -1 | 2 | false | NORMAL | OK | - | 29502429 | 36885996 | 10002 | 2 | -1 | -1 | 1 | -1 | 2 | false | NORMAL | OK | - | 29502429 | 48100551 | 10007 | 2 | -1 | -1 | 1 | -1 | 2 | false | NORMAL | OK | - | 29502433 | 29502434 | 10001 | 2 | -1 | 2 | 1 | -1 | 2 | false | NORMAL | OK | - | 29502433 | 44900737 | 10004 | 2 | -1 | -1 | 1 | -1 | 2 | false | NORMAL | OK | - | 29502433 | 48369135 | 10006 | 2 | -1 | -1 | 1 | -1 | 2 | false | NORMAL | OK | - +----------+-----------+-----------+---------+-------------------+--------------------+------------------+------------+------------+-------+--------+--------+ - ``` - - The status of all copies is shown here. Where `IsBad` is listed as `true`, the copy is damaged. The `Status` column displays other states. Specific status description, you can see help through `HELP SHOW REPLICA STATUS`. - - ` The SHOW REPLICA STATUS `command is mainly used to view the health status of copies. Users can also view additional information about copies of a specified table by using the following commands: - - `SHOW TABLETS FROM tbl1;` - - ``` - +----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+----------------------+--------------+----------------------+----------------------+----------------------+ - | TabletId | ReplicaId | BackendId | SchemaHash | Version | VersionHash | LstSuccessVersion | LstSuccessVersionHash | LstFailedVersion | LstFailedVersionHash | LstFailedTime | DataSize | RowCount | State | LstConsistencyCheckTime | CheckVersion | CheckVersionHash | VersionCount | PathHash | MetaUrl | CompactionStatus | - +----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+----------------------+--------------+----------------------+----------------------+----------------------+ - | 29502429 | 29502432 | 10006 | 1421156361 | 2 | 0 | 2 | 0 | -1 | 0 | N/A | 784 | 0 | NORMAL | N/A | -1 | -1 | 2 | -5822326203532286804 | url | url | - | 29502429 | 36885996 | 10002 | 1421156361 | 2 | 0 | -1 | 0 | -1 | 0 | N/A | 784 | 0 | NORMAL | N/A | -1 | -1 | 2 | -1441285706148429853 | url | url | - | 29502429 | 48100551 | 10007 | 1421156361 | 2 | 0 | -1 | 0 | -1 | 0 | N/A | 784 | 0 | NORMAL | N/A | -1 | -1 | 2 | -4784691547051455525 | url | url | - +----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+----------------------+--------------+----------------------+----------------------+----------------------+ - ``` - - The figure above shows some additional information, including copy size, number of rows, number of versions, where the data path is located. - - > Note: The contents of the `State` column shown here do not represent the health status of the replica, but the status of the replica under certain tasks, such as CLONE, SCHEMA CHANGE, ROLLUP, etc. - - In addition, users can check the distribution of replicas in a specified table or partition by following commands. - - `SHOW REPLICA DISTRIBUTION FROM tbl1;` - - ``` - +-----------+------------+-------+---------+ - | BackendId | ReplicaNum | Graph | Percent | - +-----------+------------+-------+---------+ - | 10000 | 7 | | 7.29 % | - | 10001 | 9 | | 9.38 % | - | 10002 | 7 | | 7.29 % | - | 10003 | 7 | | 7.29 % | - | 10004 | 9 | | 9.38 % | - | 10005 | 11 | > | 11.46 % | - | 10006 | 18 | > | 18.75 % | - | 10007 | 15 | > | 15.62 % | - | 10008 | 13 | > | 13.54 % | - +-----------+------------+-------+---------+ - ``` - - Here we show the number and percentage of replicas of table tbl1 on each BE node, as well as a simple graphical display. - -4. Tablet level status checking - - When we want to locate a specific Tablet, we can use the following command to view the status of a specific Tablet. For example, check the tablet with ID 2950253: - - `SHOW TABLET 29502553;` - - ``` - +------------------------+-----------+---------------+-----------+----------+----------+-------------+----------+--------+---------------------------------------------------------------------------+ - | DbName | TableName | PartitionName | IndexName | DbId | TableId | PartitionId | IndexId | IsSync | DetailCmd | - +------------------------+-----------+---------------+-----------+----------+----------+-------------+----------+--------+---------------------------------------------------------------------------+ - | default_cluster:test | test | test | test | 29502391 | 29502428 | 29502427 | 29502428 | true | SHOW PROC '/dbs/29502391/29502428/partitions/29502427/29502428/29502553'; | - +------------------------+-----------+---------------+-----------+----------+----------+-------------+----------+--------+---------------------------------------------------------------------------+ - ``` - - The figure above shows the database, tables, partitions, roll-up tables and other information corresponding to this tablet. The user can copy the command in the `DetailCmd` command to continue executing: - - `Show Proc'/DBS/29502391/29502428/Partitions/29502427/29502428/29502553;` - - ``` - +-----------+-----------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+------------+----------+----------+--------+-------+--------------+----------------------+ - | ReplicaId | BackendId | Version | VersionHash | LstSuccessVersion | LstSuccessVersionHash | LstFailedVersion | LstFailedVersionHash | LstFailedTime | SchemaHash | DataSize | RowCount | State | IsBad | VersionCount | PathHash | - +-----------+-----------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+------------+----------+----------+--------+-------+--------------+----------------------+ - | 43734060 | 10004 | 2 | 0 | -1 | 0 | -1 | 0 | N/A | -1 | 784 | 0 | NORMAL | false | 2 | -8566523878520798656 | - | 29502555 | 10002 | 2 | 0 | 2 | 0 | -1 | 0 | N/A | -1 | 784 | 0 | NORMAL | false | 2 | 1885826196444191611 | - | 39279319 | 10007 | 2 | 0 | -1 | 0 | -1 | 0 | N/A | -1 | 784 | 0 | NORMAL | false | 2 | 1656508631294397870 | - +-----------+-----------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+------------+----------+----------+--------+-------+--------------+----------------------+ - ``` - - The figure above shows all replicas of the corresponding Tablet. The content shown here is the same as `SHOW TABLETS FROM tbl1;`. But here you can clearly see the status of all copies of a specific Tablet. - -### Duplicate Scheduling Task - -1. View tasks waiting to be scheduled - - `SHOW PROC '/cluster_balance/pending_tablets';` - - ``` - +----------+--------+-----------------+---------+----------+----------+-------+---------+--------+----------+---------+---------------------+---------------------+---------------------+----------+------+-------------+---------------+---------------------+------------+---------------------+--------+---------------------+-------------------------------+ - | TabletId | Type | Status | State | OrigPrio | DynmPrio | SrcBe | SrcPath | DestBe | DestPath | Timeout | Create | LstSched | LstVisit | Finished | Rate | FailedSched | FailedRunning | LstAdjPrio | VisibleVer | VisibleVerHash | CmtVer | CmtVerHash | ErrMsg | - +----------+--------+-----------------+---------+----------+----------+-------+---------+--------+----------+---------+---------------------+---------------------+---------------------+----------+------+-------------+---------------+---------------------+------------+---------------------+--------+---------------------+-------------------------------+ - | 4203036 | REPAIR | REPLICA_MISSING | PENDING | HIGH | LOW | -1 | -1 | -1 | -1 | 0 | 2019-02-21 15:00:20 | 2019-02-24 11:18:41 | 2019-02-24 11:18:41 | N/A | N/A | 2 | 0 | 2019-02-21 15:00:43 | 1 | 0 | 2 | 0 | unable to find source replica | - +----------+--------+-----------------+---------+----------+----------+-------+---------+--------+----------+---------+---------------------+---------------------+---------------------+----------+------+-------------+---------------+---------------------+------------+---------------------+--------+---------------------+-------------------------------+ - ``` - - The specific meanings of each column are as follows: - - * TabletId: The ID of the Tablet waiting to be scheduled. A scheduling task is for only one Tablet - * Type: Task type, which can be REPAIR (repair) or BALANCE (balance) - * Status: The current status of the Tablet, such as REPLICA\_MISSING (copy missing) - * State: The status of the scheduling task may be PENDING/RUNNING/FINISHED/CANCELLED/TIMEOUT/UNEXPECTED - * OrigPrio: Initial Priority - * DynmPrio: Current dynamically adjusted priority - * SrcBe: ID of the BE node at the source end - * SrcPath: hash value of the path of the BE node at the source end - * DestBe: ID of destination BE node - * DestPath: hash value of the path of the destination BE node - * Timeout: When the task is scheduled successfully, the timeout time of the task is displayed here in units of seconds. - * Create: The time when the task was created - * LstSched: The last time a task was scheduled - * LstVisit: The last time a task was accessed. Here "accessed" refers to the processing time points associated with the task, including scheduling, task execution reporting, and so on. - * Finished: Task End Time - * Rate: Clone Task Data Copy Rate - * Failed Sched: Number of Task Scheduling Failures - * Failed Running: Number of task execution failures - * LstAdjPrio: Time of last priority adjustment - * CmtVer/CmtVerHash/VisibleVer/VisibleVerHash: version information for clone tasks - * ErrMsg: Error messages that occur when tasks are scheduled and run - -2. View running tasks - - `SHOW PROC '/cluster_balance/running_tablets';` - - The columns in the result have the same meaning as `pending_tablets`. - -3. View completed tasks - - `SHOW PROC '/cluster_balance/history_tablets';` - - By default, we reserve only the last 1,000 completed tasks. The columns in the result have the same meaning as `pending_tablets`. If `State` is listed as `FINISHED`, the task is normally completed. For others, you can see the specific reason based on the error information in the `ErrMsg` column. - -## Viewing Cluster Load and Scheduling Resources - -1. Cluster load - - You can view the current load of the cluster by following commands: - - `SHOW PROC '/cluster_balance/cluster_load_stat/location_default';` - - First of all, we can see the division of different storage media: - - ``` - +---------------+ - | StorageMedium | - +---------------+ - | HDD | - | SSD | - +---------------+ - ``` - - Click on a storage medium to see the equilibrium state of the BE node that contains the storage medium: - - `SHOW PROC '/cluster_balance/cluster_load_stat/location_default/HDD';` - - ``` - +----------+-----------------+-----------+---------------+----------------+-------------+------------+----------+-----------+--------------------+-------+ - | BeId | Cluster | Available | UsedCapacity | Capacity | UsedPercent | ReplicaNum | CapCoeff | ReplCoeff | Score | Class | - +----------+-----------------+-----------+---------------+----------------+-------------+------------+----------+-----------+--------------------+-------+ - | 10003 | default_cluster | true | 3477875259079 | 19377459077121 | 17.948 | 493477 | 0.5 | 0.5 | 0.9284678149967587 | MID | - | 10002 | default_cluster | true | 3607326225443 | 19377459077121 | 18.616 | 496928 | 0.5 | 0.5 | 0.948660871419998 | MID | - | 10005 | default_cluster | true | 3523518578241 | 19377459077121 | 18.184 | 545331 | 0.5 | 0.5 | 0.9843539990641831 | MID | - | 10001 | default_cluster | true | 3535547090016 | 19377459077121 | 18.246 | 558067 | 0.5 | 0.5 | 0.9981869446537612 | MID | - | 10006 | default_cluster | true | 3636050364835 | 19377459077121 | 18.764 | 547543 | 0.5 | 0.5 | 1.0011489897614072 | MID | - | 10004 | default_cluster | true | 3506558163744 | 15501967261697 | 22.620 | 468957 | 0.5 | 0.5 | 1.0228319835582569 | MID | - | 10007 | default_cluster | true | 4036460478905 | 19377459077121 | 20.831 | 551645 | 0.5 | 0.5 | 1.057279369420761 | MID | - | 10000 | default_cluster | true | 4369719923760 | 19377459077121 | 22.551 | 547175 | 0.5 | 0.5 | 1.0964036415787461 | MID | - +----------+-----------------+-----------+---------------+----------------+-------------+------------+----------+-----------+--------------------+-------+ - ``` - - Some of these columns have the following meanings: - - * Available: True means that BE heartbeat is normal and not offline. - * UsedCapacity: Bytes, the size of disk space used on BE - * Capacity: Bytes, the total disk space size on BE - * UsedPercent: Percentage, disk space utilization on BE - * ReplicaNum: Number of copies on BE - * CapCoeff/ReplCoeff: Weight Coefficient of Disk Space and Copy Number - * Score: Load score. The higher the score, the heavier the load. - * Class: Classified by load, LOW/MID/HIGH. Balanced scheduling moves copies from high-load nodes to low-load nodes - - Users can further view the utilization of each path on a BE, such as the BE with ID 10001: - - `SHOW PROC '/cluster_balance/cluster_load_stat/location_default/HDD/10001';` - - ``` - +------------------+------------------+---------------+---------------+---------+--------+----------------------+ - | RootPath | DataUsedCapacity | AvailCapacity | TotalCapacity | UsedPct | State | PathHash | - +------------------+------------------+---------------+---------------+---------+--------+----------------------+ - | /home/disk4/palo | 498.757 GB | 3.033 TB | 3.525 TB | 13.94 % | ONLINE | 4883406271918338267 | - | /home/disk3/palo | 704.200 GB | 2.832 TB | 3.525 TB | 19.65 % | ONLINE | -5467083960906519443 | - | /home/disk1/palo | 512.833 GB | 3.007 TB | 3.525 TB | 14.69 % | ONLINE | -7733211489989964053 | - | /home/disk2/palo | 881.955 GB | 2.656 TB | 3.525 TB | 24.65 % | ONLINE | 4870995507205544622 | - | /home/disk5/palo | 694.992 GB | 2.842 TB | 3.525 TB | 19.36 % | ONLINE | 1916696897889786739 | - +------------------+------------------+---------------+---------------+---------+--------+----------------------+ - ``` - - The disk usage of each data path on the specified BE is shown here. - -2. Scheduling resources - - Users can view the current slot usage of each node through the following commands: - - `SHOW PROC '/cluster_balance/working_slots';` - - ``` - +----------+----------------------+------------+------------+-------------+----------------------+ - | BeId | PathHash | AvailSlots | TotalSlots | BalanceSlot | AvgRate | - +----------+----------------------+------------+------------+-------------+----------------------+ - | 10000 | 8110346074333016794 | 2 | 2 | 2 | 2.459007474009069E7 | - | 10000 | -5617618290584731137 | 2 | 2 | 2 | 2.4730105014001578E7 | - | 10001 | 4883406271918338267 | 2 | 2 | 2 | 1.6711402709780257E7 | - | 10001 | -5467083960906519443 | 2 | 2 | 2 | 2.7540126380326536E7 | - | 10002 | 9137404661108133814 | 2 | 2 | 2 | 2.417217089806745E7 | - | 10002 | 1885826196444191611 | 2 | 2 | 2 | 1.6327378456676323E7 | - +----------+----------------------+------------+------------+-------------+----------------------+ - ``` - - In this paper, data path is used as granularity to show the current use of slot. Among them, `AvgRate'is the copy rate of clone task in bytes/seconds on the path of historical statistics. - -3. Priority repair view - - The following command allows you to view the priority repaired tables or partitions set by the `ADMIN REPAIR TABLE'command. - - `SHOW PROC '/cluster_balance/priority_repair';` - - Among them, `Remaining TimeMs'indicates that these priority fixes will be automatically removed from the priority fix queue after this time. In order to prevent resources from being occupied due to the failure of priority repair. - -### Scheduler Statistical Status View - -We have collected some statistics of Tablet Checker and Tablet Scheduler during their operation, which can be viewed through the following commands: - -`SHOW PROC '/cluster_balance/sched_stat';` - -``` -+---------------------------------------------------+-------------+ -| Item | Value | -+---------------------------------------------------+-------------+ -| num of tablet check round | 12041 | -| cost of tablet check(ms) | 7162342 | -| num of tablet checked in tablet checker | 18793506362 | -| num of unhealthy tablet checked in tablet checker | 7043900 | -| num of tablet being added to tablet scheduler | 1153 | -| num of tablet schedule round | 49538 | -| cost of tablet schedule(ms) | 49822 | -| num of tablet being scheduled | 4356200 | -| num of tablet being scheduled succeeded | 320 | -| num of tablet being scheduled failed | 4355594 | -| num of tablet being scheduled discard | 286 | -| num of tablet priority upgraded | 0 | -| num of tablet priority downgraded | 1096 | -| num of clone task | 230 | -| num of clone task succeeded | 228 | -| num of clone task failed | 2 | -| num of clone task timeout | 2 | -| num of replica missing error | 4354857 | -| num of replica version missing error | 967 | -| num of replica relocating | 0 | -| num of replica redundant error | 90 | -| num of replica missing in cluster error | 0 | -| num of balance scheduled | 0 | -+---------------------------------------------------+-------------+ -``` - -The meanings of each line are as follows: - -- num of tablet check round: Number of Tablet Checker inspections - -- cost of tablet check(ms): Total time consumed by Tablet Checker inspections (milliseconds) - -- num of tablet checked in tablet checker: Number of tablets checked by the Tablet Checker - -- num of unhealthy tablet checked in tablet checker: Number of unhealthy tablets checked by the Tablet Checker - -- num of tablet being added to tablet scheduler: Number of tablets submitted to the Tablet Scheduler - -- num of tablet schedule round: Number of Tablet Scheduler runs - -- cost of tablet schedule(ms): Total time consumed by Tablet Scheduler runs (milliseconds) - -- num of tablet being scheduled: Total number of tablets scheduled - -- num of tablet being scheduled succeeded: Total number of tablets successfully scheduled - -- num of tablet being scheduled failed: Total number of tablets that failed scheduling - -- num of tablet being scheduled discard: Total number of tablets discarded due to scheduling failures - -- num of tablet priority upgraded: Number of tablet priority upgrades - -- num of tablet priority downgraded: Number of tablet priority downgrades - -- num of clone task: Number of clone tasks generated - -- num of clone task succeeded: Number of successful clone tasks - -- num of clone task failed: Number of failed clone tasks - -- num of clone task timeout: Number of clone tasks that timed out - -- num of replica missing error: Number of tablets whose status is checked as missing replicas - -- num of replica version missing error: Number of tablets checked with missing version status (this statistic includes num of replica relocating and num of replica missing in cluster error) - -- num of replica relocation: Number of replica relocations - -- num of replica redundant error: Number of tablets whose checked status is replica redundant - -- num of replica missing in cluster error: Number of tablets checked with a status indicating they are missing from the corresponding cluster - -- num of balance scheduled: Number of balanced scheduling attempts - -:::info Note - -The above states are only historical accumulative values. We also print these statistics regularly in the FE logs, where the values in parentheses represent the number of changes in each statistical value since the last printing dependence of the statistical information. - -::: - -## Relevant configuration instructions - -### Adjustable parameters - -The following adjustable parameters are all configurable parameters in fe.conf. - -* use\_new\_tablet\_scheduler - - * Description: Whether to enable the new replica scheduling mode. The new replica scheduling method is the replica scheduling method introduced in this document. If turned on, `disable_colocate_join` must be `true`. Because the new scheduling strategy does not support data fragmentation scheduling of co-location tables for the time being. - * Default value:true - * Importance: High - -* tablet\_repair\_delay\_factor\_second - - * Note: For different scheduling priorities, we will delay different time to start repairing. In order to prevent a large number of unnecessary replica repair tasks from occurring in the process of routine restart and upgrade. This parameter is a reference coefficient. For HIGH priority, the delay is the reference coefficient * 1; for NORMAL priority, the delay is the reference coefficient * 2; for LOW priority, the delay is the reference coefficient * 3. That is, the lower the priority, the longer the delay waiting time. If the user wants to repair the copy as soon as possible, this parameter can be reduced appropriately. - * Default value: 60 seconds - * Importance: High - -* schedule\_slot\_num\_per\_path - - * Note: The default number of slots allocated to each disk for replica repair. This number represents the number of replica repair tasks that a disk can run simultaneously. If you want to repair the copy faster, you can adjust this parameter appropriately. The higher the single value, the greater the impact on IO. - * Default value: 2 - * Importance: High - -* balance\_load\_score\_threshold - - * Description: Threshold of Cluster Equilibrium. The default is 0.1, or 10%. When the load core of a BE node is not higher than or less than 10% of the average load core, we think that the node is balanced. If you want to make the cluster load more even, you can adjust this parameter appropriately. - * Default value: 0.1 - * Importance: - -* storage\_high\_watermark\_usage\_percent 和 storage\_min\_left\_capacity\_bytes - - * Description: These two parameters represent the upper limit of the maximum space utilization of a disk and the lower limit of the minimum space remaining, respectively. When the space utilization of a disk is greater than the upper limit or the remaining space is less than the lower limit, the disk will no longer be used as the destination address for balanced scheduling. - * Default values: 0.85 and 2097152000 (2GB) - * Importance: - -* disable\_balance - - * Description: Control whether to turn off the balancing function. When replicas are in equilibrium, some functions, such as ALTER TABLE, will be banned. Equilibrium can last for a long time. Therefore, if the user wants to do the prohibited operation as soon as possible. This parameter can be set to true to turn off balanced scheduling. - * Default value: false - * Importance: - -The following adjustable parameters are all configurable parameters in be.conf. - -* clone\_worker\_count - - * Description: Affects the speed of copy equalization. In the case of low disk pressure, you can speed up replica balancing by adjusting this parameter. - * Default: 3 - * Importance: Medium -### Unadjustable parameters - -The following parameters do not support modification for the time being, just for illustration. - -* Tablet Checker scheduling interval - - Tablet Checker schedules checks every 20 seconds. - -* Tablet Scheduler scheduling interval - - Tablet Scheduler schedules every five seconds - -* Number of Tablet Scheduler Schedules per Batch - - Tablet Scheduler schedules up to 50 tablets at a time. - -* Tablet Scheduler Maximum Waiting Schedule and Number of Tasks in Operation - - The maximum number of waiting tasks and running tasks is 2000. When over 2000, Tablet Checker will no longer generate new scheduling tasks to Tablet Scheduler. - -* Tablet Scheduler Maximum Balanced Task Number - - The maximum number of balanced tasks is 500. When more than 500, there will be no new balancing tasks. - -* Number of slots per disk for balancing tasks - - The number of slots per disk for balancing tasks is 2. This slot is independent of the slot used for replica repair. - -* Update interval of cluster equilibrium - - Tablet Scheduler recalculates the load score of the cluster every 20 seconds. - -* Minimum and Maximum Timeout for Clone Tasks - - A clone task timeout time range is 3 minutes to 2 hours. The specific timeout is calculated by the size of the tablet. The formula is (tablet size)/ (5MB/s). When a clone task fails three times, the task terminates. - -* Dynamic Priority Adjustment Strategy - - The minimum priority adjustment interval is 5 minutes. When a tablet schedule fails five times, priority is lowered. When a tablet is not scheduled for 30 minutes, priority is raised. - -## Relevant issues - -* In some cases, the default replica repair and balancing strategy may cause the network to be full (mostly in the case of gigabit network cards and a large number of disks per BE). At this point, some parameters need to be adjusted to reduce the number of simultaneous balancing and repair tasks. - -* Current balancing strategies for copies of Colocate Table do not guarantee that copies of the same Tablet will not be distributed on the BE of the same host. However, the repair strategy of the copy of Colocate Table detects this distribution error and corrects it. However, it may occur that after correction, the balancing strategy regards the replicas as unbalanced and rebalances them. As a result, the Colocate Group cannot achieve stability because of the continuous alternation between the two states. In view of this situation, we suggest that when using Colocate attribute, we try to ensure that the cluster is isomorphic, so as to reduce the probability that replicas are distributed on the same host. - -## Best Practices - -### Control and manage the progress of replica repair and balancing of clusters - -In most cases, Doris can automatically perform replica repair and cluster balancing by default parameter configuration. However, in some cases, we need to manually intervene to adjust the parameters to achieve some special purposes. Such as prioritizing the repair of a table or partition, disabling cluster balancing to reduce cluster load, prioritizing the repair of non-colocation table data, and so on. - -This section describes how to control and manage the progress of replica repair and balancing of the cluster by modifying the parameters. - -1. Deleting Corrupt Replicas - - In some cases, Doris may not be able to automatically detect some corrupt replicas, resulting in frequent query or import errors on the corrupt replicas. In this case, we need to delete the corrupted copies manually. This method can be used to: delete a copy with a high version number resulting in a -235 error, delete a corrupted copy of a file, etc. - - First, find the tablet id of the corresponding copy, let's say 10001, and use `show tablet 10001;` and execute the `show proc` statement to see the details of each copy of the corresponding tablet. - - Assuming that the backend id of the copy to be deleted is 20001, the following statement is executed to mark the copy as `bad`. - - ``` - ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10001", "backend_id" = "20001", "status" = "bad"); - ``` - - At this point, the `show proc` statement again shows that the `IsBad` column of the corresponding copy has a value of `true`. - - The replica marked as `bad` will no longer participate in imports and queries. The replica repair logic will automatically replenish a new replica at the same time. 2. - -2. prioritize repairing a table or partition - - `help admin repair table;` View help. This command attempts to repair the tablet of the specified table or partition as a priority. - -3. Stop the balancing task - - The balancing task will take up some network bandwidth and IO resources. If you wish to stop the generation of new balancing tasks, you can do so with the following command. - - ``` - ADMIN SET FRONTEND CONFIG ("disable_balance" = "true"); - ``` - -4. Stop all replica scheduling tasks - - Copy scheduling tasks include balancing and repair tasks. These tasks take up some network bandwidth and IO resources. All replica scheduling tasks (excluding those already running, including colocation tables and common tables) can be stopped with the following command. - - ``` - ADMIN SET FRONTEND CONFIG ("disable_tablet_scheduler" = "true"); - ``` - -5. Stop the copy scheduling task for all colocation tables. - - The colocation table copy scheduling is run separately and independently from the regular table. In some cases, users may wish to stop the balancing and repair of colocation tables first and use the cluster resources for normal table repair with the following command. - - ``` - ADMIN SET FRONTEND CONFIG ("disable_colocate_balance" = "true"); - ``` - -6. Repair replicas using a more conservative strategy - - Doris automatically repairs replicas when it detects missing replicas, BE downtime, etc. However, in order to reduce some errors caused by jitter (e.g., BE being down briefly), Doris delays triggering these tasks. - - * The `tablet_repair_delay_factor_second` parameter. Default 60 seconds. Depending on the priority of the repair task, it will delay triggering the repair task for 60 seconds, 120 seconds, or 180 seconds. This time can be extended so that longer exceptions can be tolerated to avoid triggering unnecessary repair tasks by using the following command. - - ``` - ADMIN SET FRONTEND CONFIG ("tablet_repair_delay_factor_second" = "120"); - ``` - -7. use a more conservative strategy to trigger redistribution of colocation groups - - Redistribution of colocation groups may be accompanied by a large number of tablet migrations. `colocate_group_relocate_delay_second` is used to control the redistribution trigger delay. The default is 1800 seconds. If a BE node is likely to be offline for a long time, you can try to increase this parameter to avoid unnecessary redistribution by. - - ``` - ADMIN SET FRONTEND CONFIG ("colocate_group_relocate_delay_second" = "3600"); - ``` - -8. Faster Replica Balancing - - Doris' replica balancing logic adds a normal replica first and then deletes the old one for the purpose of replica migration. When deleting the old replica, Doris waits for the completion of the import task that has already started on this replica to avoid the balancing task from affecting the import task. However, this will slow down the execution speed of the balancing logic. In this case, you can make Doris ignore this wait and delete the old replica directly by modifying the following parameters. - - ``` - ADMIN SET FRONTEND CONFIG ("enable_force_drop_redundant_replica" = "true"); - ``` - - This operation may cause some import tasks to fail during balancing (requiring a retry), but it will speed up balancing significantly. - -Overall, when we need to bring the cluster back to a normal state quickly, consider handling it along the following lines. - -1. find the tablet that is causing the highly optimal task to report an error and set the problematic copy to bad. -2. repair some tables with the `admin repair` statement. -3. Stop the replica balancing logic to avoid taking up cluster resources, and then turn it on again after the cluster is restored. -4. Use a more conservative strategy to trigger repair tasks to deal with the avalanche effect caused by frequent BE downtime. -5. Turn off scheduling tasks for colocation tables on-demand and focus cluster resources on repairing other high-optimality data. diff --git a/docs/admin-manual/open-api/be-http/be-vlog.md b/docs/admin-manual/open-api/be-http/be-vlog.md deleted file mode 100644 index 54a6adc96443b..0000000000000 --- a/docs/admin-manual/open-api/be-http/be-vlog.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -{ - "title": "Modify BE VLOG", - "language": "en", - "description": "This function is used to dynamically adjust the VLOG log on the BE side." -} ---- - -## Request - -`POST /api/glog/adjust?module=&level=` - -## Description - -This function is used to dynamically adjust the VLOG log on the BE side. - -## Query parameters - -* `module_name` - Module to set up VLOG, corresponding to BE without suffix filename - -* `level_number` - VLOG level, from 1 to 10. And -1 for off - -## Request body - -None - -## Response - - ```json - { - msg: "adjust vlog of xxx from -1 to 10 succeed", - code: 0 - } - ``` - -## Examples - - ```bash - curl -X POST "http://127.0.0.1:8040/api/glog/adjust?module=vrow_distribution&level=-1" - ``` diff --git a/docs/admin-manual/open-api/be-http/check-rpc-channel.md b/docs/admin-manual/open-api/be-http/check-rpc-channel.md deleted file mode 100644 index fc7513ac1120a..0000000000000 --- a/docs/admin-manual/open-api/be-http/check-rpc-channel.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -{ - "title": "Check Stub Cache", - "language": "en", - "description": "Check whether the connection cache is available" -} ---- - -# CHECK Stub Cache - -## Request - -`GET /api/check_rpc_channel/{host_to_check}/{remot_brpc_port}/{payload_size}` - -## Description - -Check whether the connection cache is available - -## Path parameters - -* `host_to_check` - - Host to check - -* `remot_brpc_port` - - Remote brpc port - -* `payload_size` - - Load size, unit: B, value range 1~1024000. - -## Request body - -None - -## Response - - ``` - { - "msg":"success", - "code":0, - "data": "open brpc connection to {host_to_check}:{remot_brpc_port} success.", - "count":0 - } - ``` -## Examples - - - ``` - curl http://127.0.0.1:8040/api/check_rpc_channel/127.0.0.1/8060/1024000 - ``` - diff --git a/docs/admin-manual/open-api/be-http/check-tablet-segment.md b/docs/admin-manual/open-api/be-http/check-tablet-segment.md deleted file mode 100644 index 3992605036761..0000000000000 --- a/docs/admin-manual/open-api/be-http/check-tablet-segment.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -{ - "title": "Check All Tablet Segment Lost", - "language": "en", - "description": "There may be some exceptions that cause segment to be lost on BE node. However, the metadata shows that the tablet is normal." -} ---- - -# Check All Tablet Segment Lost - -## Request - -`GET /api/check_tablet_segment_lost?repair={bool}` - -## Description - -There may be some exceptions that cause segment to be lost on BE node. However, the metadata shows that the tablet is normal. This abnormal replica is not detected by FE and cannot be automatically repaired. When query comes, exception information is thrown that `failed to initialize storage reader`. The function of this interface is to check all tablets on the current BE node that have lost segment. - -## Query parameters - -* `repair` - - `true`: tablets with lost segment will be set to SHUTDOWN status and treated as bad replica, which can be detected and repaired by FE. - - `false`: all tablets with missing segment are returned and nothing is done. - -## Request body - -None - -## Response - - The return is all tablets on the current BE node that have lost segment: - - ``` - { - status: "Success", - msg: "Succeed to check all tablet segment", - num: 3, - bad_tablets: [ - 11190, - 11210, - 11216 - ], - set_bad: true, - host: "172.3.0.101" - } - ``` - -## Examples - - - ``` - curl http://127.0.0.1:8040/api/check_tablet_segment_lost?repair=false - ``` - diff --git a/docs/admin-manual/open-api/be-http/checksum.md b/docs/admin-manual/open-api/be-http/checksum.md deleted file mode 100644 index a043900fac596..0000000000000 --- a/docs/admin-manual/open-api/be-http/checksum.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -{ - "title": "Checksum", - "language": "en", - "description": "Checksum" -} ---- - -# Checksum - -## Request - -`GET /api/checksum?tablet_id={int}&version={int}&schema_hash={int}` - -## Description - -Checksum - -## Query parameters - -* `tablet_id` - ID of the tablet to be checked - -* `version` - Version of the tablet to be verified - -* `schema_hash` - Schema hash - -## Request body - -None - -## Response - - ``` - 1843743562 - ``` -## Examples - - - ``` - curl "http://127.0.0.1:8040/api/checksum?tablet_id=1&version=1&schema_hash=-1" - - ``` - diff --git a/docs/admin-manual/open-api/be-http/compaction-run.md b/docs/admin-manual/open-api/be-http/compaction-run.md deleted file mode 100644 index 86bc2c607f3f0..0000000000000 --- a/docs/admin-manual/open-api/be-http/compaction-run.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -{ - "title": "Disk Capacity Management | Be Http", - "language": "en", - "description": "This document mainly introduces system parameters and processing strategies related to disk storage capacity.", - "sidebar_label": "Disk Capacity Management" -} ---- - -# Disk Capacity Management - -This document mainly introduces system parameters and processing strategies related to disk storage capacity. - -If Doris' data disk capacity is not controlled, the process will hang because the disk is full. Therefore, we monitor the disk usage and remaining capacity, and control various operations in the Doris system by setting different warning levels, and try to avoid the situation where the disk is full. - -## Glossary - -* Data Dir: Data directory, each data directory specified in the `storage_root_path` of the BE configuration file `be.conf`. Usually a data directory corresponds to a disk, so the following **disk** also refers to a data directory. - -## Basic Principles - -BE will report disk usage to FE on a regular basis (every minute). FE records these statistical values and restricts various operation requests based on these statistical values. - -Two thresholds, **High Watermark** and **Flood Stage**, are set in FE. Flood Stage is higher than High Watermark. When the disk usage is higher than High Watermark, Doris will restrict the execution of certain operations (such as replica balancing, etc.). If it is higher than Flood Stage, certain operations (such as load data) will be prohibited. - -At the same time, a **Flood Stage** is also set on the BE. Taking into account that FE cannot fully detect the disk usage on BE in a timely manner, and cannot control certain BE operations (such as Compaction). Therefore, Flood Stage on the BE is used for the BE to actively refuse and stop certain operations to achieve the purpose of self-protection. - -## FE Parameter - -**High Watermark:** - -``` -storage_high_watermark_usage_percent: default value is 85 (85%). -storage_min_left_capacity_bytes: default value is 2GB. -``` - -When disk capacity **more than** `storage_high_watermark_usage_percent`, **or** disk free capacity **less than** `storage_min_left_capacity_bytes`, the disk will no longer be used as the destination path for the following operations: - -* Tablet Balance -* Colocation Relocation -* Decommission - -**Flood Stage:** - -``` -storage_flood_stage_usage_percent: default value is 95 (95%). -storage_flood_stage_left_capacity_bytes: default value is 1GB. -``` - -When disk capacity **more than** `storage_flood_stage_usage_percent`, **or** disk free capacity **less than** `storage_flood_stage_left_capacity_bytes`, the disk will no longer be used as the destination path for the following operations: - -* Tablet Balance -* Colocation Relocation -* Replica make up -* Restore -* Load/Insert - -## BE Parameter - -**Flood Stage:** - -``` -capacity_used_percent_flood_stage: default value is 95 (95%). -capacity_min_left_bytes_flood_stage: default value is 1GB. -``` - -When disk capacity **more than** `storage_flood_stage_usage_percent`, **and** disk free capacity **less than** `storage_flood_stage_left_capacity_bytes`, the following operations on this disk will be prohibited: - -* Base/Cumulative Compaction -* Data load -* Clone Task (Usually occurs when the replica is repaired or balanced.) -* Push Task (Occurs during the Loading phase of Hadoop import, and the file is downloaded. ) -* Alter Task (Schema Change or Rollup Task.) -* Download Task (The Downloading phase of the recovery operation.) - -## Disk Capacity Release - -When the disk capacity is higher than High Watermark or even Flood Stage, many operations will be prohibited. At this time, you can try to reduce the disk usage and restore the system in the following ways. - -* Delete table or partition - - By deleting tables or partitions, you can quickly reduce the disk space usage and restore the cluster. - **Note: Only the `DROP` operation can achieve the purpose of quickly reducing the disk space usage, the `DELETE` operation cannot.** - - ``` - DROP TABLE tbl; - ALTER TABLE tbl DROP PARTITION p1; - ``` - -* BE expansion - - After backend expansion, data tablets will be automatically balanced to BE nodes with lower disk usage. The expansion operation will make the cluster reach a balanced state in a few hours or days depending on the amount of data and the number of nodes. - -* Modify replica of a table or partition - - You can reduce the number of replica of a table or partition. For example, the default 3 replica can be reduced to 2 replica. Although this method reduces the reliability of the data, it can quickly reduce the disk usage rate and restore the cluster to normal. - This method is usually used in emergency recovery systems. Please restore the number of copies to 3 after reducing the disk usage rate by expanding or deleting data after recovery. - Modifying the replica operation takes effect instantly, and the backends will automatically and asynchronously delete the redundant replica. - - ``` - ALTER TABLE tbl MODIFY PARTITION p1 SET("replication_num" = "2"); - ``` - -* Delete unnecessary files - - When the BE has crashed because the disk is full and cannot be started (this phenomenon may occur due to untimely detection of FE or BE), you need to delete some temporary files in the data directory to ensure that the BE process can start. - Files in the following directories can be deleted directly: - - * log/: Log files in the log directory. - * snapshot/: Snapshot files in the snapshot directory. - * trash/ Trash files in the trash directory. - - **This operation will affect [Restore data from BE Recycle Bin](../../open-api/be-http/tablet-restore).** - - If the BE can still be started, you can use `ADMIN CLEAN TRASH ON(BackendHost:BackendHeartBeatPort);` to actively clean up temporary files. **all trash files** and expired snapshot files will be cleaned up, **This will affect the operation of restoring data from the trash bin**. - - - If you do not manually execute `ADMIN CLEAN TRASH`, the system will still automatically execute the cleanup within a few minutes to tens of minutes.There are two situations as follows: - * If the disk usage does not reach 90% of the **Flood Stage**, expired trash files and expired snapshot files will be cleaned up. At this time, some recent files will be retained without affecting the recovery of data. - * If the disk usage has reached 90% of the **Flood Stage**, **all trash files** and expired snapshot files will be cleaned up, **This will affect the operation of restoring data from the trash bin**. - - The time interval for automatic execution can be changed by `max_garbage_sweep_interval` and `min_garbage_sweep_interval` in the configuration items. - - When the recovery fails due to lack of trash files, the following results may be returned: - - ``` - {"status": "Fail","msg": "can find tablet path in trash"} - ``` - -* Delete data file (dangerous!!!) - - When none of the above operations can free up capacity, you need to delete data files to free up space. The data file is in the `data/` directory of the specified data directory. To delete a tablet, you must first ensure that at least one replica of the tablet is normal, otherwise **deleting the only replica will result in data loss**. - - Suppose we want to delete the tablet with id 12345: - - * Find the directory corresponding to Tablet, usually under `data/shard_id/tablet_id/`. like: - - ```data/0/12345/``` - - * Record the tablet id and schema hash. The schema hash is the name of the next-level directory of the previous step. The following is 352781111: - - ```data/0/12345/352781111``` - - * Delete the data directory: - - ```rm -rf data/0/12345/``` - - * Delete tablet metadata (refer to [Tablet metadata management tool](../../trouble-shooting/tablet-meta-tool)) - - ```./lib/meta_tool --operation=delete_header --root_path=/path/to/root_path --tablet_id=12345 --schema_hash= 352781111``` - diff --git a/docs/admin-manual/open-api/be-http/compaction-status.md b/docs/admin-manual/open-api/be-http/compaction-status.md deleted file mode 100644 index 136434f098ef3..0000000000000 --- a/docs/admin-manual/open-api/be-http/compaction-status.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -{ - "title": "View Compaction Status", - "language": "en", - "description": "It is used to view the overall compaction status of a BE node and the compaction status of a specified tablet." -} ---- - -# View Compaction Status - -## Request - -`GET /api/compaction/run_status` -`GET /api/compaction/show?tablet_id={int}` - -## Description - -It is used to view the overall compaction status of a BE node and the compaction status of a specified tablet. - -## Query parameters - -* `tablet_id` - ID of the tablet - -## Request body - -None - -## Response - -### The overall compaction status of the node - -``` -{ - "CumulativeCompaction": { - "/home/disk1" : [10001, 10002], - "/home/disk2" : [10003] - }, - "BaseCompaction": { - "/home/disk1" : [10001, 10002], - "/home/disk2" : [10003] - } -} -``` - -This structure represents the id of the tablet that is performing the compaction task in a certain data directory, and the type of compaction. - -### Specify the compaction status of the tablet - -``` -{ - "cumulative policy type": "SIZE_BASED", - "cumulative point": 50, - "last cumulative failure time": "2019-12-16 18:13:43.224", - "last base failure time": "2019-12-16 18:13:23.320", - "last cumu success time": , - "last base success time": "2019-12-16 18:11:50.780", - "rowsets": [ - "[0-48] 10 DATA OVERLAPPING 574.00 MB", - "[49-49] 2 DATA OVERLAPPING 574.00 B", - "[50-50] 0 DELETE NONOVERLAPPING 574.00 B", - "[51-51] 5 DATA OVERLAPPING 574.00 B" - ], - "missing_rowsets": [], - "stale version path": [ - { - "path id": "2", - "last create time": "2019-12-16 18:11:15.110 +0800", - "path list": "2-> [0-24] -> [25-48]" - }, - { - "path id": "1", - "last create time": "2019-12-16 18:13:15.110 +0800", - "path list": "1-> [25-40] -> [40-48]" - } - ] -} -``` - -Explanation of results: - -* cumulative policy type: The cumulative compaction policy type which is used by current tablet. -* cumulative point: The version boundary between base and cumulative compaction. Versions before (excluding) points are handled by base compaction. Versions after (inclusive) are handled by cumulative compaction. -* last cumulative failure time: The time when the last cumulative compaction failed. After 10 minutes by default, cumulative compaction is attempted on the this tablet again. -* last base failure time: The time when the last base compaction failed. After 10 minutes by default, base compaction is attempted on the this tablet again. -* rowsets: The current rowsets collection of this tablet. [0-48] means a rowset with version 0-48. The second number is the number of segments in a rowset. The DELETE indicates the delete version. OVERLAPPING and NONOVERLAPPING indicates whether data between segments is overlap. -* missing_rowset: The missing rowsets. -* stale version path: The merged version path of the rowset collection currently merged in the tablet. It is an array structure and each element represents a merged path. Each element contains three attributes: path id indicates the version path id, and last create time indicates the creation time of the most recent rowset on the path. By default, all rowsets on this path will be deleted after half an hour at the last create time. - -## Examples - -``` -curl http://192.168.10.24:8040/api/compaction/show?tablet_id=10015 -``` diff --git a/docs/admin-manual/open-api/be-http/config.md b/docs/admin-manual/open-api/be-http/config.md deleted file mode 100644 index 66bd8fa30999c..0000000000000 --- a/docs/admin-manual/open-api/be-http/config.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -{ - "title": "Config of BE", - "language": "en", - "description": "Query and update the config of BE" -} ---- - -# Config of BE - -## Request - -`GET /api/show_config` -`POST /api/update_config?{key}={val}` - -## Description - -Query and update the config of BE - -## Query parameters - -* `persist` - Whether to persist. Optional with default `false`. - -* `key` - Config item name - -* `val` - Config item value - -## Request body - -None - -## Response - -### Query - -``` -[["agent_task_trace_threshold_sec","int32_t","2","true"], ...] -``` - -### Update -``` -[ - { - "config_name": "agent_task_trace_threshold_sec", - "status": "OK", - "msg": "" - } -] -``` - -``` -[ - { - "config_name": "agent_task_trace_threshold_sec", - "status": "OK", - "msg": "" - }, - { - "config_name": "enable_segcompaction", - "status": "BAD", - "msg": "set enable_segcompaction=false failed, reason: [NOT_IMPLEMENTED_ERROR]'enable_segcompaction' is not support to modify." - }, - { - "config_name": "enable_time_lut", - "status": "BAD", - "msg": "set enable_time_lut=false failed, reason: [NOT_IMPLEMENTED_ERROR]'enable_time_lut' is not support to modify." - } -] -``` - -## Examples - - -``` -curl "http://127.0.0.1:8040/api/show_config" -``` - -``` -curl -X POST "http://127.0.0.1:8040/api/update_config?agent_task_trace_threshold_sec=2&persist=true" - -``` - -``` -curl -X POST "http://127.0.0.1:8040/api/update_config?agent_task_trace_threshold_sec=2&enable_merge_on_write_correctness_check=true&persist=true" -``` - diff --git a/docs/admin-manual/open-api/be-http/download.md b/docs/admin-manual/open-api/be-http/download.md deleted file mode 100644 index d66ada980c8a0..0000000000000 --- a/docs/admin-manual/open-api/be-http/download.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -{ - "title": "Download Log about Load Error", - "language": "en", - "description": "Download log file about load error" -} ---- - -# Download Log about Load Error - -## Request - -`GET /api/_load_error_log?token={string}&file={string}` - -## Description - -Download log file about load error - -## Query parameters - -* `file` - Path of log - -* `token` - token - -## Request body - -None - -## Response - - File of log - -## Examples - - - ``` - curl "http://127.0.0.1:8040/api/_load_error_log?file=a&token=1" - ``` - diff --git a/docs/admin-manual/open-api/be-http/health.md b/docs/admin-manual/open-api/be-http/health.md deleted file mode 100644 index 5c37a9d986114..0000000000000 --- a/docs/admin-manual/open-api/be-http/health.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -{ - "title": "Check Alive", - "language": "en", - "description": "Provided for the monitoring service to Check whether the BE is alive, Be will respond if alive." -} ---- - -# Check Alive - -## Request - -`GET /api/health` - -## Description - -Provided for the monitoring service to Check whether the BE is alive, Be will respond if alive. - -## Query parameters - -None - -## Request body - -None - -## Response - - ``` - {"status": "OK","msg": ""} - ``` - -## Examples - - - ``` - curl http://127.0.0.1:8040/api/health - ``` - diff --git a/docs/admin-manual/open-api/be-http/meta.md b/docs/admin-manual/open-api/be-http/meta.md deleted file mode 100644 index 6c8ba745b88f6..0000000000000 --- a/docs/admin-manual/open-api/be-http/meta.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -{ - "title": "View Meta", - "language": "en", - "description": "View meta of a tablet" -} ---- - -# View Meta - -## Request - -`GET /api/meta/header/{tablet_id}?byte_to_base64={bool}` - -## Description - -View meta of a tablet - -## Path parameters - -* `tablet_id` - ID of the tablet - -## Query parameters - -* `byte_to_base64` - Whether to encode by base64. Optional with default `false`. - -## Request body - -None - -## Response - - ``` - { - "table_id": 148107, - "partition_id": 148104, - "tablet_id": 148193, - "schema_hash": 2090621954, - "shard_id": 38, - "creation_time": 1673253868, - "cumulative_layer_point": -1, - "tablet_state": "PB_RUNNING", - ... - } - ``` -## Examples - - - ``` - curl "http://127.0.0.1:8040/api/meta/header/148193&byte_to_base64=true" - - ``` - diff --git a/docs/admin-manual/open-api/be-http/metrics.md b/docs/admin-manual/open-api/be-http/metrics.md deleted file mode 100644 index 84d7a25a270b8..0000000000000 --- a/docs/admin-manual/open-api/be-http/metrics.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -{ - "title": "Metrics", - "language": "en", - "description": "Provided for prometheus" -} ---- - -# Metrics - -## Request - -`GET /metrics?type={enum}&with_tablet={bool}` - -## Description - -Provided for prometheus - -## Query parameters - -* `type` - Output style, Optional with default `all` and the following values: - - `core`: Only core items - - `json`: Json format - -* `with_tablet` - Whether to output tablet-related items, Optional with default `false`. - -## Request body - -None - -## Response - - ``` - doris_be__max_network_receive_bytes_rate LONG 60757 - doris_be__max_network_send_bytes_rate LONG 16232 - doris_be_process_thread_num LONG 1120 - doris_be_process_fd_num_used LONG 336 - ,,, - - ``` -## Examples - - - ``` - curl "http://127.0.0.1:8040/metrics?type=json&with_tablet=true" - ``` - diff --git a/docs/admin-manual/open-api/be-http/pad-rowset.md b/docs/admin-manual/open-api/be-http/pad-rowset.md deleted file mode 100644 index 89f0f11071acb..0000000000000 --- a/docs/admin-manual/open-api/be-http/pad-rowset.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -{ - "title": "Pad Rowset", - "language": "en", - "description": "Pad one empty rowset as one substitute for error replica." -} ---- - -# Pad Rowset - -## Request - -`POST /api/pad_rowset?tablet_id={int}&start_version={int}&end_version={int}` - -## Description - -Pad one empty rowset as one substitute for error replica. - -## Query parameters - -* `tablet_id` - ID of the tablet - -* `start_version` - Start version - -* `end_version` - End version - - -## Request body - -None - -## Response - - ``` - { - msg: "OK", - code: 0 - } - ``` -## Examples - - - ``` - curl -X POST "http://127.0.0.1:8040/api/pad_rowset?tablet_id=123456&start_version=1111111&end_version=1111112" - - ``` - diff --git a/docs/admin-manual/open-api/be-http/reset-rpc-channel.md b/docs/admin-manual/open-api/be-http/reset-rpc-channel.md deleted file mode 100644 index 2b240e1ac5e00..0000000000000 --- a/docs/admin-manual/open-api/be-http/reset-rpc-channel.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -{ - "title": "Reset Stub Cache", - "language": "en", - "description": "Reset the connection cache of brpc" -} ---- - -# Reset Stub Cache - -## Request - -`GET /api/reset_rpc_channel/{endpoints}` - -## Description - -Reset the connection cache of brpc - -## Path parameters - -* `endpoints` - - `all`: clear all caches - - `host1:port1,host2:port2`: clear cache of the specified target - -## Request body - -None - -## Response - - ``` - { - "msg":"success", - "code":0, - "data": "no cached channel.", - "count":0 - } - ``` -## Examples - - - ``` - curl http://127.0.0.1:8040/api/reset_rpc_channel/all - ``` - - ``` - curl http://127.0.0.1:8040/api/reset_rpc_channel/1.1.1.1:8080,2.2.2.2:8080 - ``` - diff --git a/docs/admin-manual/open-api/be-http/snapshot.md b/docs/admin-manual/open-api/be-http/snapshot.md deleted file mode 100644 index b49c9c675a360..0000000000000 --- a/docs/admin-manual/open-api/be-http/snapshot.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -{ - "title": "Make Snapshot", - "language": "en", - "description": "Make snapshot of a tablet" -} ---- - -# Make Snapshot - -## Request - -`GET /api/snapshot?tablet_id={int}&schema_hash={int}"` - -## Description - -Make snapshot of a tablet - -## Query parameters - -* `tablet_id` - ID of the tablet - -* `schema_hash` - Schema hash - - -## Request body - -None - -## Response - - ``` - /path/to/snapshot - ``` -## Examples - - - ``` - curl "http://127.0.0.1:8040/api/snapshot?tablet_id=123456&schema_hash=1111111" - - ``` - diff --git a/docs/admin-manual/open-api/be-http/tablet-distribution.md b/docs/admin-manual/open-api/be-http/tablet-distribution.md deleted file mode 100644 index 77d903b0668d1..0000000000000 --- a/docs/admin-manual/open-api/be-http/tablet-distribution.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -{ - "title": "View Tablet Distribution", - "language": "en", - "description": "Get the distribution of tablets under each partition between different disks on BE node" -} ---- - -# View Tablet Distribution - -## Request - -`GET /api/tablets_distribution?group_by={enum}&partition_id={int}` - -## Description - -Get the distribution of tablets under each partition between different disks on BE node - -## Query parameters - -* `group_by` - only supports `partition` - -* `partition_id` - ID of the specified partition, Optional with default all partition. - -## Request body - -None - -## Response - - ``` - { - msg: "OK", - code: 0, - data: { - host: "***", - tablets_distribution: [ - { - partition_id:***, - disks:[ - { - disk_path:"***", - tablets_num:***, - tablets:[ - { - tablet_id:***, - schema_hash:***, - tablet_size:*** - }, - - ... - - ] - }, - - ... - - ] - } - ] - }, - count: *** - } - ``` -## Examples - - - ``` - curl "http://127.0.0.1:8040/api/tablets_distribution?group_by=partition&partition_id=123" - - ``` - diff --git a/docs/admin-manual/open-api/be-http/tablet-info.md b/docs/admin-manual/open-api/be-http/tablet-info.md deleted file mode 100644 index 55d33789d96b3..0000000000000 --- a/docs/admin-manual/open-api/be-http/tablet-info.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -{ - "title": "View Tablet Info", - "language": "en", - "description": "View Tablet Info, including ID and schema hash." -} ---- - -# View Tablet Info - -## Request - -`GET /tablets_json?limit={int}` - -## Description - -View Tablet Info, including ID and schema hash. - -## Query parameters - -* `limit` - Number of tablets output, Optional with default 1000. Take `all` to output all tablets. - -## Request body - -None - -## Response - - ``` - { - msg: "OK", - code: 0, - data: { - host: "10.38.157.107", - tablets: [ - { - tablet_id: 11119, - schema_hash: 714349777 - }, - - ... - - { - tablet_id: 11063, - schema_hash: 714349777 - } - ] - }, - count: 30 - } - ``` -## Examples - - - ``` - curl http://127.0.0.1:8040/tablets_json?limit=all - - ``` diff --git a/docs/admin-manual/open-api/be-http/tablet-migration.md b/docs/admin-manual/open-api/be-http/tablet-migration.md deleted file mode 100644 index 8b9a55391d9b1..0000000000000 --- a/docs/admin-manual/open-api/be-http/tablet-migration.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -{ - "title": "Migration Tablet", - "language": "en", - "description": "Migrate a tablet to the specified disk." -} ---- - -# Migration Tablet - -## Request - -`GET /api/tablet_migration?goal={enum}&tablet_id={int}&schema_hash={int}&disk={string}` - -## Description - -Migrate a tablet to the specified disk. - -## Query parameters - -* `goal` - - `run`:submit the migration task - - `status`:show the status of migration task - -* `tablet_id` - ID of the tablet - -* `schema_hash` - Schema hash - -* `disk` - The specified disk. - -## Request body - -None - -## Response - -### Submit Task - -``` - { - status: "Success", - msg: "migration task is successfully submitted." - } -``` -Or -``` - { - status: "Fail", - msg: "Migration task submission failed" - } -``` - -### Show Status - -``` - { - status: "Success", - msg: "migration task is running", - dest_disk: "xxxxxx" - } -``` - -Or - -``` - { - status: "Success", - msg: "migration task has finished successfully", - dest_disk: "xxxxxx" - } -``` - -Or - -``` - { - status: "Success", - msg: "migration task failed.", - dest_disk: "xxxxxx" - } -``` - -## Examples - - - ``` - curl "http://127.0.0.1:8040/api/tablet_migration?goal=run&tablet_id=123&schema_hash=333&disk=/disk1" - - ``` - diff --git a/docs/admin-manual/open-api/be-http/tablet-reload.md b/docs/admin-manual/open-api/be-http/tablet-reload.md deleted file mode 100644 index c7b61d8912ca3..0000000000000 --- a/docs/admin-manual/open-api/be-http/tablet-reload.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -{ - "title": "Reload Tablet", - "language": "en", - "description": "Reload tablet" -} ---- - -# Reload Tablet - -## Request - -`GET /api/reload_tablet?tablet_id={int}&schema_hash={int}&path={string}"` - -## Description - -Reload tablet - -## Query parameters - -* `tablet_id` - ID of the tablet - -* `schema_hash` - Schema hash - -* `path` - Path of file - - -## Request body - -None - -## Response - - ``` - load header succeed - ``` -## Examples - - - ``` - curl "http://127.0.0.1:8040/api/reload_tablet?tablet_id=123456&schema_hash=1111111&path=/abc" - - ``` - diff --git a/docs/admin-manual/open-api/be-http/tablet-restore.md b/docs/admin-manual/open-api/be-http/tablet-restore.md deleted file mode 100644 index cb1783ddeba3c..0000000000000 --- a/docs/admin-manual/open-api/be-http/tablet-restore.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -{ - "title": "Restore Tablet", - "language": "en", - "description": "To restore the tablet data from trash dir on BE" -} ---- - -# Restore Tablet - -## Request - -`POST /api/restore_tablet?tablet_id={int}&schema_hash={int}"` - -## Description - -To restore the tablet data from trash dir on BE - -## Query parameters - -* `tablet_id` - ID of the tablet - -* `schema_hash` - Schema hash - - -## Request body - -None - -## Response - - ``` - { - msg: "OK", - code: 0 - } - ``` -## Examples - - - ``` - curl -X POST "http://127.0.0.1:8040/api/restore_tablet?tablet_id=123456&schema_hash=1111111" - - ``` - diff --git a/docs/admin-manual/open-api/be-http/version-info.md b/docs/admin-manual/open-api/be-http/version-info.md deleted file mode 100644 index dd76a1487731f..0000000000000 --- a/docs/admin-manual/open-api/be-http/version-info.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -{ - "title": "Be Version Info", - "language": "en", - "description": "Provide BE version info" -} ---- - -# Be Version Info - -## Request - -`GET /api/be_version_info` - -## Description - -Provide BE version info - -## Query parameters - -None - -## Request body - -None - -## Response - - ``` - { - "msg":"success", - "code":0, - "data":{ - "beVersionInfo":{ - "dorisBuildVersionPrefix":"doris", - "dorisBuildVersionMajor":0, - "dorisBuildVersionMinor":0, - "dorisBuildVersionPatch":0, - "dorisBuildVersionRcVersion":"trunk", - "dorisBuildVersion":"doris-0.0.0-trunk", - "dorisBuildHash":"git://4b7b503d1cb3/data/doris/doris/be/../@a04f9814fe5a09c0d9e9399fe71cc4d765f8bff1", - "dorisBuildShortHash":"a04f981", - "dorisBuildTime":"Fri, 09 Sep 2022 07:57:02 UTC", - "dorisBuildInfo":"root@4b7b503d1cb3" - } - }, - "count":0 - } - ``` -## Examples - - - ``` - curl http://127.0.0.1:8040/api/be_version_info - - ``` - diff --git a/docs/admin-manual/open-api/fe-http/backends-action.md b/docs/admin-manual/open-api/fe-http/backends-action.md deleted file mode 100644 index ddda2de725b07..0000000000000 --- a/docs/admin-manual/open-api/fe-http/backends-action.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -{ - "title": "Backends Action", - "language": "en", - "description": "Backends Action returns the Backends list, including Backend's IP, PORT and other information." -} ---- - -# Backends Action - -## Request - -``` -GET /api/backends -``` - -## Description - -Backends Action returns the Backends list, including Backend's IP, PORT and other information. - -## Path parameters - -None - -## Query parameters - -* `is_alive` - - Optional parameters. Whether to return the surviving BE nodes. The default is false, which means that all BE nodes are returned. - -## Request body - -None - -## Response - -``` -{ - "msg": "success", - "code": 0, - "data": { - "backends": [ - { - "ip": "192.1.1.1", - "http_port": 8040, - "is_alive": true - } - ] - }, - "count": 0 -} -``` diff --git a/docs/admin-manual/open-api/fe-http/bootstrap-action.md b/docs/admin-manual/open-api/fe-http/bootstrap-action.md deleted file mode 100644 index b0dc40f2c4f8a..0000000000000 --- a/docs/admin-manual/open-api/fe-http/bootstrap-action.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -{ - "title": "Bootstrap Action", - "language": "en", - "description": "It is used to judge whether the FE has started. When no parameters are provided, only whether the startup is successful is returned." -} ---- - -# Bootstrap Action - -## Request - -`GET /api/bootstrap` - -## Description - -It is used to judge whether the FE has started. When no parameters are provided, only whether the startup is successful is returned. If `token` and `cluster_id` are provided, more detailed information is returned. - -## Path parameters - -none - -## Query parameters - -* `cluster_id` - - The cluster id. It can be viewed in the file `doris-meta/image/VERSION`. - -* `token` - - Cluster token. It can be viewed in the file `doris-meta/image/VERSION`. - -## Request body - -none - -## Response - -* No parameters provided - - ``` - { - "msg": "OK", - "code": 0, - "data": null, - "count": 0 - } - ``` - - A code of 0 means that the FE node has started successfully. Error codes other than 0 indicate other errors. - -* Provide `token` and `cluster_id` - - ``` - { - "msg": "OK", - "code": 0, - "data": { - "queryPort": 9030, - "rpcPort": 9020, - "arrowFlightSqlPort": 9040, - "maxReplayedJournal": 17287 - }, - "count": 0 - } - ``` - - * `queryPort` is the MySQL protocol port of the FE node. - * `rpcPort` is the thrift RPC port of the FE node. - * `maxReplayedJournal` represents the maximum metadata journal id currently played back by the FE node. - * `arrowFlightSqlPort` is the Arrow Flight SQL port of the FE node. - -## Examples - -1. No parameters - - ``` - GET /api/bootstrap - - Response: - { - "msg": "OK", - "code": 0, - "data": null, - "count": 0 - } - ``` - -2. Provide `token` and `cluster_id` - - ``` - GET /api/bootstrap?cluster_id=935437471&token=ad87f6dd-c93f-4880-bcdb-8ca8c9ab3031 - - Response: - { - "msg": "OK", - "code": 0, - "data": { - "queryPort": 9030, - "rpcPort": 9020, - "arrowFlightSqlPort": 9040, - "maxReplayedJournal": 17287 - }, - "count": 0 - } - ``` \ No newline at end of file diff --git a/docs/admin-manual/open-api/fe-http/cancel-load-action.md b/docs/admin-manual/open-api/fe-http/cancel-load-action.md deleted file mode 100644 index 3cbf37b6f3946..0000000000000 --- a/docs/admin-manual/open-api/fe-http/cancel-load-action.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -{ - "title": "Cancel Load Action", - "language": "en", - "description": "Used to cancel the load transaction of the specified label." -} ---- - -# Cancel Load Action - -## Request - -`POST /api//_cancel` - -## Description - -Used to cancel the load transaction of the specified label. -RETURN VALUES - Return a JSON format string: - Status: - Success: cancel succeed - Others: cancel failed - Message: Error message if cancel failed - -## Path parameters - -* `` - - Specify the database name - -## Query parameters - -* `