diff --git a/docs/en/developer/index.md b/docs/en/developer/index.md index e97b746a42..093295a5db 100644 --- a/docs/en/developer/index.md +++ b/docs/en/developer/index.md @@ -29,7 +29,7 @@ Databend provides REST APIs for direct integration and custom applications. ## Development Tools -- **[BendSQL CLI](/tutorials/connect/connect-to-databendcloud-bendsql)** - Command-line interface for Databend +- **[BendSQL CLI](/tutorials/getting-started/connect-to-databendcloud-bendsql)** - Command-line interface for Databend - **[Databend Cloud Console](/guides/cloud/using-databend-cloud/worksheet)** - Web-based management interface ## Additional Resources diff --git a/docs/en/guides/20-cloud/10-using-databend-cloud/02-dashboard.md b/docs/en/guides/20-cloud/10-using-databend-cloud/02-dashboard.md index ee5026c4e4..2d70e2fafc 100644 --- a/docs/en/guides/20-cloud/10-using-databend-cloud/02-dashboard.md +++ b/docs/en/guides/20-cloud/10-using-databend-cloud/02-dashboard.md @@ -61,4 +61,4 @@ To view the dashboards shared with you by others, click **Dashboards** in the si ## Tutorials -- [Dashboarding COVID-19 Data](/tutorials/databend-cloud/dashboard) \ No newline at end of file +- [Dashboarding COVID-19 Data](/tutorials/cloud-ops/dashboard) diff --git a/docs/en/guides/30-sql-clients/00-bendsql/index.md b/docs/en/guides/30-sql-clients/00-bendsql/index.md index 17ba53eb94..7f93d1a37c 100644 --- a/docs/en/guides/30-sql-clients/00-bendsql/index.md +++ b/docs/en/guides/30-sql-clients/00-bendsql/index.md @@ -242,7 +242,7 @@ bendsql ## Tutorials - [Connecting to Self-Hosted Databend using BendSQL](/tutorials/) -- [Connecting to Databend Cloud using BendSQL](/tutorials/connect/connect-to-databendcloud-bendsql) +- [Connecting to Databend Cloud using BendSQL](/tutorials/getting-started/connect-to-databendcloud-bendsql) ## BendSQL Settings diff --git a/docs/en/guides/40-load-data/02-load-db/kafka.md b/docs/en/guides/40-load-data/02-load-db/kafka.md index 87f642fcc5..20d1ba4670 100644 --- a/docs/en/guides/40-load-data/02-load-db/kafka.md +++ b/docs/en/guides/40-load-data/02-load-db/kafka.md @@ -30,5 +30,5 @@ To download bend-ingest-kafka and learn more about the tool, visit the [GitHub r ## Tutorials -- [Loading from Kafka with bend-ingest-kafka](/tutorials/load/kafka-bend-ingest-kafka) -- [Loading from Kafka with databend-kafka-connect](/tutorials/load/kafka-databend-kafka-connect) \ No newline at end of file +- [Loading from Kafka with bend-ingest-kafka](/tutorials/ingest-and-stream/kafka-bend-ingest-kafka) +- [Loading from Kafka with databend-kafka-connect](/tutorials/ingest-and-stream/kafka-databend-kafka-connect) diff --git a/docs/en/guides/57-data-management/02-data-recovery.md b/docs/en/guides/57-data-management/02-data-recovery.md index e54b147c09..b63af40471 100644 --- a/docs/en/guides/57-data-management/02-data-recovery.md +++ b/docs/en/guides/57-data-management/02-data-recovery.md @@ -139,4 +139,4 @@ export AWS_SECRET_ACCESS_KEY=minioadmin ### Tutorials -- [Backing Up and Restoring Data with BendSave](/tutorials/recovery/bendsave) \ No newline at end of file +- [Backing Up and Restoring Data with BendSave](/tutorials/operate-and-recover/bendsave) diff --git a/docs/en/sql-reference/10-sql-commands/00-ddl/01-table/92-attach-table.md b/docs/en/sql-reference/10-sql-commands/00-ddl/01-table/92-attach-table.md index e11d1230f2..0729caa587 100644 --- a/docs/en/sql-reference/10-sql-commands/00-ddl/01-table/92-attach-table.md +++ b/docs/en/sql-reference/10-sql-commands/00-ddl/01-table/92-attach-table.md @@ -140,4 +140,4 @@ CONNECTION = (CONNECTION_NAME = 'my_s3_connection'); ## Learn More -- [Linking Tables with ATTACH TABLE](/tutorials/databend-cloud/link-tables) +- [Linking Tables with ATTACH TABLE](/tutorials/cloud-ops/link-tables) diff --git a/docs/en/tutorials/_category_.json b/docs/en/tutorials/_category_.json index cf1cc305ea..3f61555a24 100644 --- a/docs/en/tutorials/_category_.json +++ b/docs/en/tutorials/_category_.json @@ -1,3 +1,5 @@ { - "label": "Tutorials" + "label": "Tutorials", + "link": { "type": "doc", "id": "index" }, + "position": 0 } diff --git a/docs/en/tutorials/cloud-ops/_category_.json b/docs/en/tutorials/cloud-ops/_category_.json new file mode 100644 index 0000000000..b1e9e5bfd8 --- /dev/null +++ b/docs/en/tutorials/cloud-ops/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Cloud Operations", + "position": 6 +} diff --git a/docs/en/tutorials/databend-cloud/aws-billing.md b/docs/en/tutorials/cloud-ops/aws-billing.md similarity index 99% rename from docs/en/tutorials/databend-cloud/aws-billing.md rename to docs/en/tutorials/cloud-ops/aws-billing.md index 38f61fe6d1..1d65ed7612 100644 --- a/docs/en/tutorials/databend-cloud/aws-billing.md +++ b/docs/en/tutorials/cloud-ops/aws-billing.md @@ -1,5 +1,6 @@ --- -title: Analyzing AWS Billing +title: "Databend Cloud: AWS Billing" +sidebar_label: "AWS Billing" --- In this tutorial, we'll walk you through the process of importing AWS billing data and conducting cost analysis using SQL. You'll learn how to load the AWS billing data into Databend Cloud, query it to find key cost drivers, and gain insights into your AWS usage. @@ -271,4 +272,4 @@ WHERE line_item_blended_cost IS NOT NULL GROUP BY Instance_Type ORDER BY Total_Cost DESC; -``` \ No newline at end of file +``` diff --git a/docs/en/tutorials/databend-cloud/dashboard.md b/docs/en/tutorials/cloud-ops/dashboard.md similarity index 98% rename from docs/en/tutorials/databend-cloud/dashboard.md rename to docs/en/tutorials/cloud-ops/dashboard.md index f29491bb5b..9f763d0a20 100644 --- a/docs/en/tutorials/databend-cloud/dashboard.md +++ b/docs/en/tutorials/cloud-ops/dashboard.md @@ -1,5 +1,6 @@ --- -title: Dashboarding COVID-19 Data +title: "Databend Cloud: Dashboard Tour" +sidebar_label: "Dashboard" --- import StepsWrap from '@site/src/components/StepsWrap'; import StepContent from '@site/src/components/Steps/step-content'; diff --git a/docs/en/tutorials/databend-cloud/link-tables.md b/docs/en/tutorials/cloud-ops/link-tables.md similarity index 97% rename from docs/en/tutorials/databend-cloud/link-tables.md rename to docs/en/tutorials/cloud-ops/link-tables.md index 041a7a00b8..b02693ac51 100644 --- a/docs/en/tutorials/databend-cloud/link-tables.md +++ b/docs/en/tutorials/cloud-ops/link-tables.md @@ -1,5 +1,6 @@ --- -title: Linking Tables with ATTACH TABLE +title: "Databend Cloud: Data Sharing via ATTACH TABLE" +sidebar_label: "Data Sharing" --- In this tutorial, we'll walk you through how to link a table in Databend Cloud with an existing Databend table stored in an S3 bucket using the [ATTACH TABLE](/sql/sql-commands/ddl/table/attach-table) command. @@ -57,7 +58,7 @@ SELECT snapshot_location FROM FUSE_SNAPSHOT('default', 'population'); ## Step 2: Set Up Attached Tables in Databend Cloud -1. Connect to Databend Cloud using BendSQL. If you're unfamiliar with BendSQL, refer to this tutorial: [Connecting to Databend Cloud using BendSQL](../connect/connect-to-databendcloud-bendsql.md). +1. Connect to Databend Cloud using BendSQL. If you're unfamiliar with BendSQL, refer to this tutorial: [Connecting to Databend Cloud using BendSQL](../getting-started/connect-to-databendcloud-bendsql.md). 2. Execute the following statements to create two attached tables: - The first table, `population_all_columns`, includes all columns from the source data. diff --git a/docs/en/tutorials/connect/_category_.json b/docs/en/tutorials/connect/_category_.json deleted file mode 100644 index 942d7fd6c4..0000000000 --- a/docs/en/tutorials/connect/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "label": "Client Connection" -} \ No newline at end of file diff --git a/docs/en/tutorials/databend-cloud/_category_.json b/docs/en/tutorials/databend-cloud/_category_.json deleted file mode 100644 index 3dd75de5e3..0000000000 --- a/docs/en/tutorials/databend-cloud/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Databend Cloud", - "key": "tutorials-databend-cloud" -} diff --git a/docs/en/tutorials/develop/_category_.json b/docs/en/tutorials/develop/_category_.json new file mode 100644 index 0000000000..14be710388 --- /dev/null +++ b/docs/en/tutorials/develop/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Develop with Databend", + "position": 4 +} diff --git a/docs/en/tutorials/programming/python/_category_.json b/docs/en/tutorials/develop/python/_category_.json similarity index 100% rename from docs/en/tutorials/programming/python/_category_.json rename to docs/en/tutorials/develop/python/_category_.json diff --git a/docs/en/tutorials/programming/python/integrating-with-databend-cloud-using-databend-driver.md b/docs/en/tutorials/develop/python/integrating-with-databend-cloud-using-databend-driver.md similarity index 95% rename from docs/en/tutorials/programming/python/integrating-with-databend-cloud-using-databend-driver.md rename to docs/en/tutorials/develop/python/integrating-with-databend-cloud-using-databend-driver.md index bb5a4425bb..32aad7f092 100644 --- a/docs/en/tutorials/programming/python/integrating-with-databend-cloud-using-databend-driver.md +++ b/docs/en/tutorials/develop/python/integrating-with-databend-cloud-using-databend-driver.md @@ -1,5 +1,5 @@ --- -title: Integrating with Databend Cloud using databend-driver +title: "Python: Databend Cloud with databend-driver" --- In this tutorial, we'll walk you through how to use the `databend-driver` to connect to Databend Cloud, create a table, insert data, and retrieve results with Python. @@ -53,4 +53,4 @@ for row in rows: python main.py (1, 'yy') (2, 'xx') -``` \ No newline at end of file +``` diff --git a/docs/en/tutorials/programming/python/integrating-with-databend-cloud-using-databend-sqlalchemy.md b/docs/en/tutorials/develop/python/integrating-with-databend-cloud-using-databend-sqlalchemy.md similarity index 95% rename from docs/en/tutorials/programming/python/integrating-with-databend-cloud-using-databend-sqlalchemy.md rename to docs/en/tutorials/develop/python/integrating-with-databend-cloud-using-databend-sqlalchemy.md index a69123485b..0cbbc2a1ab 100644 --- a/docs/en/tutorials/programming/python/integrating-with-databend-cloud-using-databend-sqlalchemy.md +++ b/docs/en/tutorials/develop/python/integrating-with-databend-cloud-using-databend-sqlalchemy.md @@ -1,5 +1,5 @@ --- -title: Integrating with Databend Cloud using databend-sqlalchemy +title: "Python: Databend Cloud with SQLAlchemy" --- In this tutorial, we'll walk you through how to use the `databend-sqlalchemy` library to connect to Databend Cloud, create a table, insert data, and query results using Python. diff --git a/docs/en/tutorials/programming/python/integrating-with-self-hosted-databend.md b/docs/en/tutorials/develop/python/integrating-with-self-hosted-databend.md similarity index 99% rename from docs/en/tutorials/programming/python/integrating-with-self-hosted-databend.md rename to docs/en/tutorials/develop/python/integrating-with-self-hosted-databend.md index 0cdfc85f28..c6034e3176 100644 --- a/docs/en/tutorials/programming/python/integrating-with-self-hosted-databend.md +++ b/docs/en/tutorials/develop/python/integrating-with-self-hosted-databend.md @@ -1,5 +1,5 @@ --- -title: Integrating with Self-Hosted Databend +title: "Python: Self-hosted Databend" --- This tutorial demonstrates how to connect to a locally deployed Databend instance using Python. We'll cover three approaches—`databend-driver`, `databend-sqlalchemy` with the connector, and `databend-sqlalchemy` with the engine—to perform basic operations such as creating a database, adding a table, inserting data, querying, and cleaning up resources. @@ -171,4 +171,4 @@ Readings in Database Systems Michael Stonebraker 2004 ``` - \ No newline at end of file + diff --git a/docs/en/tutorials/getting-started/_category_.json b/docs/en/tutorials/getting-started/_category_.json new file mode 100644 index 0000000000..79c2ad46f8 --- /dev/null +++ b/docs/en/tutorials/getting-started/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Connect to Databend", + "position": 1 +} diff --git a/docs/en/tutorials/connect/connect-to-databend-bendsql.md b/docs/en/tutorials/getting-started/connect-to-databend-bendsql.md similarity index 96% rename from docs/en/tutorials/connect/connect-to-databend-bendsql.md rename to docs/en/tutorials/getting-started/connect-to-databend-bendsql.md index d636b845c7..460717d48a 100644 --- a/docs/en/tutorials/connect/connect-to-databend-bendsql.md +++ b/docs/en/tutorials/getting-started/connect-to-databend-bendsql.md @@ -1,7 +1,6 @@ --- -title: "Connecting to Self-Hosted Databend using BendSQL" -sidebar_label: "Connecting to Self-Hosted Databend (BendSQL)" -slug: / +title: "Connect with BendSQL (Self-hosted)" +sidebar_label: "Connect with BendSQL (Self-hosted)" --- import StepsWrap from '@site/src/components/StepsWrap'; diff --git a/docs/en/tutorials/connect/connect-to-databend-dbeaver.md b/docs/en/tutorials/getting-started/connect-to-databend-dbeaver.md similarity index 93% rename from docs/en/tutorials/connect/connect-to-databend-dbeaver.md rename to docs/en/tutorials/getting-started/connect-to-databend-dbeaver.md index 7de76f87db..c747ce935f 100644 --- a/docs/en/tutorials/connect/connect-to-databend-dbeaver.md +++ b/docs/en/tutorials/getting-started/connect-to-databend-dbeaver.md @@ -1,6 +1,6 @@ --- -title: "Connecting to Self-Hosted Databend using DBeaver" -sidebar_label: "Connecting to Self-Hosted Databend (DBeaver)" +title: "Connect with DBeaver (Self-hosted)" +sidebar_label: "Connect with DBeaver (Self-hosted)" --- import StepsWrap from '@site/src/components/StepsWrap'; diff --git a/docs/en/tutorials/connect/connect-to-databendcloud-bendsql.md b/docs/en/tutorials/getting-started/connect-to-databendcloud-bendsql.md similarity index 94% rename from docs/en/tutorials/connect/connect-to-databendcloud-bendsql.md rename to docs/en/tutorials/getting-started/connect-to-databendcloud-bendsql.md index 4e0285f521..633d57effa 100644 --- a/docs/en/tutorials/connect/connect-to-databendcloud-bendsql.md +++ b/docs/en/tutorials/getting-started/connect-to-databendcloud-bendsql.md @@ -1,6 +1,6 @@ --- -title: "Connecting to Databend Cloud using BendSQL" -sidebar_label: "Connecting to Databend Cloud (BendSQL)" +title: "Connect to Databend Cloud with BendSQL" +sidebar_label: "Databend Cloud with BendSQL" --- import StepsWrap from '@site/src/components/StepsWrap'; diff --git a/docs/en/tutorials/connect/connect-to-databendcloud-dbeaver.md b/docs/en/tutorials/getting-started/connect-to-databendcloud-dbeaver.md similarity index 95% rename from docs/en/tutorials/connect/connect-to-databendcloud-dbeaver.md rename to docs/en/tutorials/getting-started/connect-to-databendcloud-dbeaver.md index 0434e54927..3ae684a9fc 100644 --- a/docs/en/tutorials/connect/connect-to-databendcloud-dbeaver.md +++ b/docs/en/tutorials/getting-started/connect-to-databendcloud-dbeaver.md @@ -1,6 +1,6 @@ --- -title: 'Connecting to Databend Cloud using DBeaver' -sidebar_label: 'Connecting to Databend Cloud (DBeaver)' +title: 'Connect to Databend Cloud with DBeaver' +sidebar_label: 'Databend Cloud with DBeaver' --- import StepsWrap from '@site/src/components/StepsWrap'; import StepContent from '@site/src/components/Steps/step-content'; diff --git a/docs/en/tutorials/index.md b/docs/en/tutorials/index.md new file mode 100644 index 0000000000..ff6d623a7a --- /dev/null +++ b/docs/en/tutorials/index.md @@ -0,0 +1,43 @@ +--- +id: index +title: Tutorials +slug: / +sidebar_label: Overview +sidebar_position: 0 +description: Find hands-on guides for connecting, ingesting, migrating, developing, and operating Databend. +--- + +Pick a task to get started: + +## Connect to Databend +- [BendSQL (Self-hosted)](/tutorials/getting-started/connect-to-databend-bendsql) +- [DBeaver (Self-hosted)](/tutorials/getting-started/connect-to-databend-dbeaver) +- [BendSQL (Databend Cloud)](/tutorials/getting-started/connect-to-databendcloud-bendsql) +- [DBeaver (Databend Cloud)](/tutorials/getting-started/connect-to-databendcloud-dbeaver) + +## Ingest & Stream Data +- [Kafka to Databend via Bend Ingest](/tutorials/ingest-and-stream/kafka-bend-ingest-kafka) +- [Kafka Connect Sink](/tutorials/ingest-and-stream/kafka-databend-kafka-connect) +- [Vector log ingestion to Databend Cloud](/tutorials/ingest-and-stream/automating-json-log-loading-with-vector) +- [MySQL/Redis dictionaries](/tutorials/ingest-and-stream/access-mysql-and-redis) +- [Query system metadata](/tutorials/ingest-and-stream/query-metadata) + +## Migrate Databases +- [How to choose a MySQL migration path](/tutorials/migrate/) +- [MySQL CDC with Debezium](/tutorials/migrate/migrating-from-mysql-with-debezium) +- [MySQL CDC with Flink](/tutorials/migrate/migrating-from-mysql-with-flink-cdc) +- [MySQL batch: db-archiver / DataX / Addax](/tutorials/migrate/migrating-from-mysql-with-db-archiver) +- [Snowflake to Databend](/tutorials/migrate/migrating-from-snowflake) + +## Develop with Databend +- [Python + Databend Cloud (driver)](/tutorials/develop/python/integrating-with-databend-cloud-using-databend-driver) +- [Python + Databend Cloud (SQLAlchemy)](/tutorials/develop/python/integrating-with-databend-cloud-using-databend-sqlalchemy) +- [Python + Self-hosted Databend](/tutorials/develop/python/integrating-with-self-hosted-databend) + +## Operate & Recover +- [Disaster recovery with BendSave](/tutorials/operate-and-recover/bendsave) + +## Cloud Operations +- [Understand AWS billing](/tutorials/cloud-ops/aws-billing) +- [Use the Databend Cloud dashboard](/tutorials/cloud-ops/dashboard) +- [Link tables across databases](/tutorials/cloud-ops/link-tables) diff --git a/docs/en/tutorials/ingest-and-stream/_category_.json b/docs/en/tutorials/ingest-and-stream/_category_.json new file mode 100644 index 0000000000..1670de1902 --- /dev/null +++ b/docs/en/tutorials/ingest-and-stream/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Ingest & Stream Data", + "position": 2 +} diff --git a/docs/en/tutorials/integrate/access-mysql-and-redis.md b/docs/en/tutorials/ingest-and-stream/access-mysql-and-redis.md similarity index 99% rename from docs/en/tutorials/integrate/access-mysql-and-redis.md rename to docs/en/tutorials/ingest-and-stream/access-mysql-and-redis.md index 8fa0589324..e80759a747 100644 --- a/docs/en/tutorials/integrate/access-mysql-and-redis.md +++ b/docs/en/tutorials/ingest-and-stream/access-mysql-and-redis.md @@ -1,5 +1,5 @@ --- -title: Accessing MySQL and Redis with Dictionaries +title: Access MySQL & Redis via Dictionaries --- In this tutorial, we’ll guide you through accessing MySQL and Redis data using dictionaries in Databend. You’ll learn how to create dictionaries that map to these external data sources, enabling seamless data querying and integration. diff --git a/docs/en/tutorials/load/automating-json-log-loading-with-vector.md b/docs/en/tutorials/ingest-and-stream/automating-json-log-loading-with-vector.md similarity index 99% rename from docs/en/tutorials/load/automating-json-log-loading-with-vector.md rename to docs/en/tutorials/ingest-and-stream/automating-json-log-loading-with-vector.md index 4ec7906a0d..0b4067ab11 100644 --- a/docs/en/tutorials/load/automating-json-log-loading-with-vector.md +++ b/docs/en/tutorials/ingest-and-stream/automating-json-log-loading-with-vector.md @@ -1,5 +1,5 @@ --- -title: Automating JSON Log Loading with Vector +title: Ingest JSON Logs with Vector (Cloud) --- In this tutorial, we'll simulate generating logs locally, collect them using [Vector](https://vector.dev/), store them in S3, and automate their ingestion into Databend Cloud using scheduled tasks. @@ -202,4 +202,4 @@ SELECT * FROM logs; │ login │ 2024-12-08 10:00:00 │ 1 │ │ purchase │ 2024-12-08 10:05:00 │ 2 │ └──────────────────────────────────────────────────────────┘ -``` \ No newline at end of file +``` diff --git a/docs/en/tutorials/load/kafka-bend-ingest-kafka.md b/docs/en/tutorials/ingest-and-stream/kafka-bend-ingest-kafka.md similarity index 98% rename from docs/en/tutorials/load/kafka-bend-ingest-kafka.md rename to docs/en/tutorials/ingest-and-stream/kafka-bend-ingest-kafka.md index ab005aa4f7..c7b98375c2 100644 --- a/docs/en/tutorials/load/kafka-bend-ingest-kafka.md +++ b/docs/en/tutorials/ingest-and-stream/kafka-bend-ingest-kafka.md @@ -1,5 +1,5 @@ --- -title: Loading from Kafka with bend-ingest-kafka +title: Ingest Kafka with Bend Ingest --- In this tutorial, we'll guide you through setting up a Kafka environment using Docker and loading messages from Kafka into Databend Cloud with [bend-ingest-kafka](https://github.com/databendcloud/bend-ingest-kafka). @@ -148,4 +148,4 @@ record_metadata: {"create_time":"2024-08-27T19:10:45.888Z","key":"","offset":0," raw_data: {"age":25,"id":2,"name":"Bob"} record_metadata: {"create_time":"2024-08-27T19:10:52.946Z","key":"","offset":1,"partition":0,"topic":"test-topic"} add_time: 2024-08-27 19:12:55.081470 -``` \ No newline at end of file +``` diff --git a/docs/en/tutorials/load/kafka-databend-kafka-connect.md b/docs/en/tutorials/ingest-and-stream/kafka-databend-kafka-connect.md similarity index 99% rename from docs/en/tutorials/load/kafka-databend-kafka-connect.md rename to docs/en/tutorials/ingest-and-stream/kafka-databend-kafka-connect.md index a162195028..f5e5a0c673 100644 --- a/docs/en/tutorials/load/kafka-databend-kafka-connect.md +++ b/docs/en/tutorials/ingest-and-stream/kafka-databend-kafka-connect.md @@ -1,5 +1,5 @@ --- -title: Loading from Kafka with databend-kafka-connect +title: Ingest Kafka with Kafka Connect --- In this tutorial, we'll establish a connection between Kafka in Confluent Cloud and Databend Cloud using the Kafka Connect sink connector plugin, [databend-kafka-connect](https://github.com/databendcloud/databend-kafka-connect). Then, we'll demonstrate how to produce messages and load them into Databend Cloud. @@ -185,4 +185,4 @@ Starting Kafka Producer. Use Ctrl-C or Ctrl-D to exit. 3. In Databend Cloud, verify that the data has been successfully loaded: -![alt text](../../../../static/img/documents/tutorials/kafka-5.png) \ No newline at end of file +![alt text](../../../../static/img/documents/tutorials/kafka-5.png) diff --git a/docs/en/tutorials/load/query-metadata.md b/docs/en/tutorials/ingest-and-stream/query-metadata.md similarity index 99% rename from docs/en/tutorials/load/query-metadata.md rename to docs/en/tutorials/ingest-and-stream/query-metadata.md index adf78c5a02..6e4c2a06e2 100644 --- a/docs/en/tutorials/load/query-metadata.md +++ b/docs/en/tutorials/ingest-and-stream/query-metadata.md @@ -1,5 +1,5 @@ --- -title: Querying Metadata +title: Inspect Databend Metadata --- In this tutorial, we'll walk you through uploading a sample Parquet file to an internal stage, inferring the column definitions, and creating a table that includes file-level metadata fields. This is useful when you want to track the origin of each row or include metadata like file names and row numbers in your dataset. diff --git a/docs/en/tutorials/integrate/_category_.json b/docs/en/tutorials/integrate/_category_.json deleted file mode 100644 index 6364bf2019..0000000000 --- a/docs/en/tutorials/integrate/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "label": "Data Integration" -} \ No newline at end of file diff --git a/docs/en/tutorials/load/_category_.json b/docs/en/tutorials/load/_category_.json deleted file mode 100644 index da866039fc..0000000000 --- a/docs/en/tutorials/load/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "label": "Data Loading" -} \ No newline at end of file diff --git a/docs/en/tutorials/migrate/_category_.json b/docs/en/tutorials/migrate/_category_.json index 5224f7ca97..00f403072d 100644 --- a/docs/en/tutorials/migrate/_category_.json +++ b/docs/en/tutorials/migrate/_category_.json @@ -1,3 +1,4 @@ { - "label": "Migrating from Databases" -} \ No newline at end of file + "label": "Database Migration", + "position": 3 +} diff --git a/docs/en/tutorials/migrate/index.md b/docs/en/tutorials/migrate/index.md index a7428c1a44..0da28ffad6 100644 --- a/docs/en/tutorials/migrate/index.md +++ b/docs/en/tutorials/migrate/index.md @@ -1,5 +1,5 @@ --- -title: Data Migration to Databend +title: Plan Your Migration to Databend --- # Data Migration to Databend diff --git a/docs/en/tutorials/migrate/migrating-from-mysql-with-addax.md b/docs/en/tutorials/migrate/migrating-from-mysql-with-addax.md index ca869c78d6..1bdbe107cc 100644 --- a/docs/en/tutorials/migrate/migrating-from-mysql-with-addax.md +++ b/docs/en/tutorials/migrate/migrating-from-mysql-with-addax.md @@ -1,6 +1,6 @@ --- -title: Migrating from MySQL with Addax -sidebar_label: 'MySQL → Databend: Addax' +title: Migrate MySQL with Addax (Batch) +sidebar_label: 'MySQL → Databend: Addax (Batch)' --- > **Capabilities**: Full Load, Incremental diff --git a/docs/en/tutorials/migrate/migrating-from-mysql-with-datax.md b/docs/en/tutorials/migrate/migrating-from-mysql-with-datax.md index 60e3747dee..5251a6b228 100644 --- a/docs/en/tutorials/migrate/migrating-from-mysql-with-datax.md +++ b/docs/en/tutorials/migrate/migrating-from-mysql-with-datax.md @@ -1,6 +1,6 @@ --- -title: Migrating from MySQL with DataX -sidebar_label: 'MySQL → Databend: DataX' +title: Migrate MySQL with DataX (Batch) +sidebar_label: 'MySQL → Databend: DataX (Batch)' --- > **Capabilities**: Full Load, Incremental @@ -121,4 +121,4 @@ databend> select * from migrated_db.tb01; | 1 | 4.1 | 2023-02-01 07:11:08.501000 | test2 | | 1 | 4.1 | 2023-02-01 07:11:08.501000 | test2 | +------+------+----------------------------+-------+ -``` \ No newline at end of file +``` diff --git a/docs/en/tutorials/migrate/migrating-from-mysql-with-db-archiver.md b/docs/en/tutorials/migrate/migrating-from-mysql-with-db-archiver.md index 51639cfcf3..1bf2cc1b9c 100644 --- a/docs/en/tutorials/migrate/migrating-from-mysql-with-db-archiver.md +++ b/docs/en/tutorials/migrate/migrating-from-mysql-with-db-archiver.md @@ -1,6 +1,6 @@ --- -title: Migrating from MySQL with db-archiver -sidebar_label: 'MySQL → Databend: db-archiver' +title: Migrate MySQL with db-archiver (Batch) +sidebar_label: 'MySQL → Databend: db-archiver (Batch)' --- > **Capabilities**: Full Load, Incremental @@ -109,7 +109,7 @@ Bye ## Step 3: Set Up Target in Databend Cloud -1. Connect to Databend Cloud using BendSQL. If you're unfamiliar with BendSQL, refer to this tutorial: [Connecting to Databend Cloud using BendSQL](../connect/connect-to-databendcloud-bendsql.md). +1. Connect to Databend Cloud using BendSQL. If you're unfamiliar with BendSQL, refer to this tutorial: [Connecting to Databend Cloud using BendSQL](../getting-started/connect-to-databendcloud-bendsql.md). 2. Copy and paste the following SQL to create a target table named **my_table**: ```sql diff --git a/docs/en/tutorials/migrate/migrating-from-mysql-with-debezium.md b/docs/en/tutorials/migrate/migrating-from-mysql-with-debezium.md index 84a619bf6b..e17a7ab808 100644 --- a/docs/en/tutorials/migrate/migrating-from-mysql-with-debezium.md +++ b/docs/en/tutorials/migrate/migrating-from-mysql-with-debezium.md @@ -1,6 +1,6 @@ --- -title: Migrating from MySQL with Debezium -sidebar_label: 'MySQL → Databend: Debezium' +title: Migrate MySQL with Debezium (CDC) +sidebar_label: 'MySQL → Databend: Debezium (CDC)' --- > **Capabilities**: CDC, Full Load @@ -92,4 +92,4 @@ quarkus.log.level=INFO quarkus.log.category."org.eclipse.jetty".level=WARN ``` -You're all set! If you query the products table in Databend, you will see that the data from MySQL has been successfully synchronized. Feel free to perform insertions, updates, or deletions in MySQL, and you will observe the corresponding changes reflected in Databend as well. \ No newline at end of file +You're all set! If you query the products table in Databend, you will see that the data from MySQL has been successfully synchronized. Feel free to perform insertions, updates, or deletions in MySQL, and you will observe the corresponding changes reflected in Databend as well. diff --git a/docs/en/tutorials/migrate/migrating-from-mysql-with-flink-cdc.md b/docs/en/tutorials/migrate/migrating-from-mysql-with-flink-cdc.md index f8e85d319c..ea732e6e75 100644 --- a/docs/en/tutorials/migrate/migrating-from-mysql-with-flink-cdc.md +++ b/docs/en/tutorials/migrate/migrating-from-mysql-with-flink-cdc.md @@ -1,5 +1,5 @@ --- -title: Migrating from MySQL with Flink CDC +title: Migrate MySQL with Flink CDC sidebar_label: 'MySQL → Databend: Flink CDC' --- @@ -135,7 +135,7 @@ mysql> select * from products; ## Step 3: Set Up Target in Databend Cloud -1. Connect to Databend Cloud using BendSQL. If you're unfamiliar with BendSQL, refer to this tutorial: [Connecting to Databend Cloud using BendSQL](../connect/connect-to-databendcloud-bendsql.md). +1. Connect to Databend Cloud using BendSQL. If you're unfamiliar with BendSQL, refer to this tutorial: [Connecting to Databend Cloud using BendSQL](../getting-started/connect-to-databendcloud-bendsql.md). 2. Copy and paste the following SQL to create a target table named **products**: @@ -330,4 +330,4 @@ SELECT * FROM products; │ 18 │ cloud │ test for databend │ │ 17 │ jacket │ black wind breaker │ └──────────────────────────────────────────────────────────────────────────────────────┘ -``` \ No newline at end of file +``` diff --git a/docs/en/tutorials/migrate/migrating-from-mysql-with-kafka-connect.md b/docs/en/tutorials/migrate/migrating-from-mysql-with-kafka-connect.md index ad84a37f3a..bd36c042de 100644 --- a/docs/en/tutorials/migrate/migrating-from-mysql-with-kafka-connect.md +++ b/docs/en/tutorials/migrate/migrating-from-mysql-with-kafka-connect.md @@ -1,6 +1,6 @@ --- -title: Migrating from MySQL with Kafka Connect -sidebar_label: 'MySQL → Databend: Kafka Connect' +title: Migrate MySQL with Kafka Connect (CDC) +sidebar_label: 'MySQL → Databend: Kafka Connect (CDC)' --- > **Capabilities**: CDC, Incremental, Full Load @@ -227,4 +227,4 @@ To test updates, ensure you're using timestamp or timestamp+incrementing mode: - **Connector Not Starting**: Check Kafka Connect logs for errors - **No Data in Databend**: Verify topic exists and contains data using Kafka console consumer -- **Schema Issues**: Ensure `auto.create` and `auto.evolve` are set to `true` \ No newline at end of file +- **Schema Issues**: Ensure `auto.create` and `auto.evolve` are set to `true` diff --git a/docs/en/tutorials/migrate/migrating-from-snowflake.md b/docs/en/tutorials/migrate/migrating-from-snowflake.md index 2f60ba598e..6c5fe1d052 100644 --- a/docs/en/tutorials/migrate/migrating-from-snowflake.md +++ b/docs/en/tutorials/migrate/migrating-from-snowflake.md @@ -1,5 +1,5 @@ --- -title: Migrating from Snowflake +title: Migrate from Snowflake to Databend sidebar_label: Snowflake → Databend --- @@ -196,4 +196,4 @@ SELECT * FROM my_target_table; │ 2 │ Bob │ 25 │ │ 3 │ Charlie │ 35 │ └──────────────────────────────────────────────────────┘ -``` \ No newline at end of file +``` diff --git a/docs/en/tutorials/operate-and-recover/_category_.json b/docs/en/tutorials/operate-and-recover/_category_.json new file mode 100644 index 0000000000..de8761f7d6 --- /dev/null +++ b/docs/en/tutorials/operate-and-recover/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Operate & Recover", + "position": 5 +} diff --git a/docs/en/tutorials/recovery/bendsave.md b/docs/en/tutorials/operate-and-recover/bendsave.md similarity index 99% rename from docs/en/tutorials/recovery/bendsave.md rename to docs/en/tutorials/operate-and-recover/bendsave.md index 89e7e655f9..fec0e044d5 100644 --- a/docs/en/tutorials/recovery/bendsave.md +++ b/docs/en/tutorials/operate-and-recover/bendsave.md @@ -1,5 +1,5 @@ --- -title: Backing Up and Restoring Data with BendSave +title: Backup & Restore with BendSave --- This tutorial walks you through how to back up and restore data using BendSave. We'll use a local MinIO instance as both the S3-compatible storage backend for Databend and the destination for storing backups. diff --git a/docs/en/tutorials/programming/_category_.json b/docs/en/tutorials/programming/_category_.json deleted file mode 100644 index a2b8a275bb..0000000000 --- a/docs/en/tutorials/programming/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "label": "Programming" -} \ No newline at end of file diff --git a/docs/en/tutorials/recovery/_category_.json b/docs/en/tutorials/recovery/_category_.json deleted file mode 100644 index f80a3b8bd2..0000000000 --- a/docs/en/tutorials/recovery/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "label": "Data Recovery" -} \ No newline at end of file diff --git a/docusaurus.config.ts b/docusaurus.config.ts index a6f0be6bba..27e30e9c28 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -336,4 +336,4 @@ const config: Config = { } satisfies Preset.ThemeConfig, }; -export default config; \ No newline at end of file +export default config; diff --git a/site-redirects.ts b/site-redirects.ts index 32549df835..b2eaf8f3ae 100644 --- a/site-redirects.ts +++ b/site-redirects.ts @@ -73,6 +73,71 @@ const siteRedirects = [ from: '/guides/migrate/mysql', to: '/tutorials/migrate/migrating-from-mysql-with-db-archiver' }, + // Tutorials reorg (EN) 2025-11 + { + from: '/tutorials/connect/connect-to-databend-bendsql', + to: '/tutorials/getting-started/connect-to-databend-bendsql' + }, + { + from: '/tutorials/connect/connect-to-databend-dbeaver', + to: '/tutorials/getting-started/connect-to-databend-dbeaver' + }, + { + from: '/tutorials/connect/connect-to-databendcloud-bendsql', + to: '/tutorials/getting-started/connect-to-databendcloud-bendsql' + }, + { + from: '/tutorials/connect/connect-to-databendcloud-dbeaver', + to: '/tutorials/getting-started/connect-to-databendcloud-dbeaver' + }, + { + from: '/tutorials/load/automating-json-log-loading-with-vector', + to: '/tutorials/ingest-and-stream/automating-json-log-loading-with-vector' + }, + { + from: '/tutorials/load/kafka-bend-ingest-kafka', + to: '/tutorials/ingest-and-stream/kafka-bend-ingest-kafka' + }, + { + from: '/tutorials/load/kafka-databend-kafka-connect', + to: '/tutorials/ingest-and-stream/kafka-databend-kafka-connect' + }, + { + from: '/tutorials/load/query-metadata', + to: '/tutorials/ingest-and-stream/query-metadata' + }, + { + from: '/tutorials/integrate/access-mysql-and-redis', + to: '/tutorials/ingest-and-stream/access-mysql-and-redis' + }, + { + from: '/tutorials/programming/python/integrating-with-databend-cloud-using-databend-driver', + to: '/tutorials/develop/python/integrating-with-databend-cloud-using-databend-driver' + }, + { + from: '/tutorials/programming/python/integrating-with-databend-cloud-using-databend-sqlalchemy', + to: '/tutorials/develop/python/integrating-with-databend-cloud-using-databend-sqlalchemy' + }, + { + from: '/tutorials/programming/python/integrating-with-self-hosted-databend', + to: '/tutorials/develop/python/integrating-with-self-hosted-databend' + }, + { + from: '/tutorials/recovery/bendsave', + to: '/tutorials/operate-and-recover/bendsave' + }, + { + from: '/tutorials/databend-cloud/aws-billing', + to: '/tutorials/cloud-ops/aws-billing' + }, + { + from: '/tutorials/databend-cloud/dashboard', + to: '/tutorials/cloud-ops/dashboard' + }, + { + from: '/tutorials/databend-cloud/link-tables', + to: '/tutorials/cloud-ops/link-tables' + }, // Array Functions: 00-array-functions -> 10-semi-structured-functions/array { from: '/sql/sql-functions/array-functions/array-aggregate', @@ -1127,12 +1192,12 @@ const siteRedirects = [ }, { from: '/tutorials/load/automating_json_log_loading_with_vector/', - to: '/tutorials/load/automating-json-log-loading-with-vector/' + to: '/tutorials/ingest-and-stream/automating-json-log-loading-with-vector' }, // loading data { from: '/guides/load-data/transform/querying-metadata', - to: '/tutorials/load/query-metadata' + to: '/tutorials/ingest-and-stream/query-metadata' }, // Query guide restructuring - moved from flat to hierarchical structure {