From 96748d3f42d4524e0587ac21d205f036c56592f7 Mon Sep 17 00:00:00 2001 From: longdafeng Date: Fri, 3 Jan 2025 11:39:32 +0800 Subject: [PATCH] fixed #234, add en-US directory under the docs/user_manual/operation_and_maintenance --- .../about_this_manual/01_overview.md | 2 +- .../{ => zh-CN}/about_this_manual/_index.md | 0 .../01_object_specification.md | 4 ++-- .../02_charset_specification.md | 2 +- .../03_sql_specification.md | 0 .../04_some_limits.md | 0 .../development_specification/_category_.yml | 0 ...high_availability_architecture_overview.md | 0 .../02_multi_replica_solution.md | 0 .../03_primary_standby_database_solution.md | 0 ...mon_disaster_recovery_deployment_models.md | 0 .../_index.md | 0 .../01_emergency_overview.md | 2 +- .../emergency_handbook/02_slow_response.md | 20 +++++++++--------- .../emergency_handbook/03_cpu_high.md | 16 +++++++------- .../emergency_handbook/04_node_breakdown.md | 4 ++-- .../emergency_handbook/05_network_problem.md | 6 +++--- .../emergency_handbook/06_disk_problem.md | 4 ++-- .../07_disk_capacity_problem.md | 0 .../emergency_handbook/08_how_to_ask.md | 6 +++--- .../emergency_handbook/_category_.yml | 0 .../01_version_upgrade_path.md | 20 +++++++++--------- .../operations_and_maintenance/_index.md | 0 .../commonly_used_sql/01_introduction.md | 2 +- .../02_cluster_operations.md | 0 .../commonly_used_sql/03_tenant_management.md | 0 .../04_user_and_privilege_management.md | 0 .../05_backup_and_restore.md | 0 .../commonly_used_sql/06_merge_management.md | 0 .../07_monitoring_metrics.md | 0 .../commonly_used_sql/08_sql_audit.md | 0 .../commonly_used_sql/09_ocp_monitor_ob.md | 0 .../commonly_used_sql/_category_.yml | 0 .../01_operations_and_maintenance.md | 2 +- .../optimizer_statistics/02_best_practices.md | 0 .../optimizer_statistics/03_command.md | 0 .../optimizer_statistics/_category_.yml | 0 .../01_parameter_templates.md | 16 +++++++------- .../scenario_best_practices/_index.md | 0 .../01_introduction.mdx | 4 ++-- .../02_background_knowledge.md | 8 +++---- .../03_resource_isolation_between_tenants.md | 2 +- .../01_overview.md | 0 .../02_cgroup_config.md | 4 ++-- .../03_disk_performance_calibration.md | 0 .../04_dbms_resource_manager.md | 0 .../05_effect_of_resource_isolation.md | 12 +++++------ .../_category_.yml | 0 .../chapter_01_multi_tenants/_category_.yml | 0 .../01_introduction.md | 4 ++-- .../02_background_knowledge.md | 14 ++++++------ .../03_data_archive_best_practices.md | 20 +++++++++--------- .../_category_.yml | 0 .../chapter_03_htap/01_introduction.mdx | 12 +++++------ .../02_background_knowledge.md | 2 +- ...03_read_write_separation_best_practices.md | 10 ++++----- .../chapter_03_htap/04_htap_best_practices.md | 12 +++++------ .../chapter_03_htap/05_performance_tuning.md | 6 +++--- .../chapter_03_htap/06_others.md | 2 +- .../chapter_03_htap/_category_.yml | 0 .../01_oms_troubleshooting_guide.md | 16 +++++++------- .../02_obd_troubleshooting_guide.md | 6 +++--- .../01_introduction.md | 20 +++++++++--------- .../02_show_trace.md | 4 ++-- .../03_connection_diagnosis.md | 2 +- .../04_routing_diagnosis.md | 0 .../odp_troubleshooting_guide/_category_.yml | 0 docusaurus.config.ts | 6 +++--- sidebars.ts | 14 ++++++------ .../{ => zh-CN}/about_this_manual/001.png | Bin .../01_object_specification/001.png | Bin .../02_charset_specification/001.png | Bin .../01_emergency_overview/001.jpg | Bin .../02_slow_response/001.png | Bin .../02_slow_response/002.png | Bin .../02_slow_response/003.png | Bin .../02_slow_response/004.png | Bin .../02_slow_response/005.png | Bin .../02_slow_response/006.png | Bin .../02_slow_response/007.png | Bin .../02_slow_response/008.png | Bin .../02_slow_response/009.png | Bin .../emergency_handbook/03_cpu_high/001.png | Bin .../emergency_handbook/03_cpu_high/002.png | Bin .../emergency_handbook/03_cpu_high/003.png | Bin .../emergency_handbook/03_cpu_high/004.png | Bin .../emergency_handbook/03_cpu_high/005.png | Bin .../emergency_handbook/03_cpu_high/006.png | Bin .../emergency_handbook/03_cpu_high/007.png | Bin .../emergency_handbook/03_cpu_high/008.png | Bin .../04_node_breakdown/001.png | Bin .../05_network_problem/001.png | Bin .../05_network_problem/002.png | Bin .../05_network_problem/003.png | Bin .../05_network_problem/004.png | Bin .../06_disk_problem/001.png | Bin .../06_disk_problem/002.png | Bin .../emergency_handbook/08_how_to_ask/001.png | Bin .../emergency_handbook/08_how_to_ask/002.png | Bin .../emergency_handbook/08_how_to_ask/003.png | Bin .../01_version_upgrade_path/001.png | Bin .../01_version_upgrade_path/002.png | Bin .../01_version_upgrade_path/003.png | Bin .../01_version_upgrade_path/004.png | Bin .../01_version_upgrade_path/005.png | Bin .../01_version_upgrade_path/006.png | Bin .../01_version_upgrade_path/007.png | Bin .../01_version_upgrade_path/008.png | Bin .../01_version_upgrade_path/009.png | Bin .../01_version_upgrade_path/010.png | Bin .../02_commonly_used_sql/001.png | Bin .../01_parameter_templates/001.png | Bin .../01_parameter_templates/002.png | Bin .../01_parameter_templates/003.png | Bin .../01_parameter_templates/004.png | Bin .../01_parameter_templates/005.png | Bin .../01_parameter_templates/006.png | Bin .../01_parameter_templates/007.png | Bin .../01_parameter_templates/008.png | Bin .../01_introduction/001.png | Bin .../01_introduction/002.png | Bin .../02_background_knowledge/001.png | Bin .../02_background_knowledge/002.png | Bin .../02_background_knowledge/003.png | Bin .../02_background_knowledge/004.png | Bin .../001.png | Bin .../02_cgroup_config/001.png | Bin .../02_cgroup_config/002.png | Bin .../05_effect_of_resource_isolation/001.png | Bin .../05_effect_of_resource_isolation/002.png | Bin .../05_effect_of_resource_isolation/003.png | Bin .../05_effect_of_resource_isolation/004.png | Bin .../05_effect_of_resource_isolation/005.png | Bin .../05_effect_of_resource_isolation/006.png | Bin .../01_introduction/001.png | Bin .../01_introduction/002.png | Bin .../02_background_knowledge/001.png | Bin .../02_background_knowledge/002.png | Bin .../02_background_knowledge/003.png | Bin .../02_background_knowledge/004.png | Bin .../02_background_knowledge/005.png | Bin .../02_background_knowledge/006.png | Bin .../02_background_knowledge/007.png | Bin .../03_data_archive_best_practices/001.png | Bin .../03_data_archive_best_practices/002.png | Bin .../03_data_archive_best_practices/003.png | Bin .../03_data_archive_best_practices/004.png | Bin .../03_data_archive_best_practices/005.png | Bin .../03_data_archive_best_practices/006.png | Bin .../03_data_archive_best_practices/007.png | Bin .../03_data_archive_best_practices/008.png | Bin .../03_data_archive_best_practices/009.png | Bin .../03_data_archive_best_practices/010.png | Bin .../chapter_03_htap/01_introduction/001.png | Bin .../chapter_03_htap/01_introduction/002.png | Bin .../chapter_03_htap/01_introduction/003.png | Bin .../chapter_03_htap/01_introduction/004.png | Bin .../chapter_03_htap/01_introduction/005.png | Bin .../chapter_03_htap/01_introduction/006.png | Bin .../02_background_knowledge/001.png | Bin .../001.png | Bin .../002.png | Bin .../003.png | Bin .../004.png | Bin .../04_htap_best_practices/001.png | Bin .../04_htap_best_practices/002.png | Bin .../04_htap_best_practices/003.png | Bin .../04_htap_best_practices/004.png | Bin .../04_htap_best_practices/005.png | Bin .../04_htap_best_practices/006.png | Bin .../05_performance_tuning/001.png | Bin .../05_performance_tuning/002.png | Bin .../05_performance_tuning/003.png | Bin .../01_oms_troubleshooting_guide/001.png | Bin .../01_oms_troubleshooting_guide/002.png | Bin .../01_oms_troubleshooting_guide/003.png | Bin .../01_oms_troubleshooting_guide/004.png | Bin .../01_oms_troubleshooting_guide/005.png | Bin .../01_oms_troubleshooting_guide/006png.png | Bin .../01_oms_troubleshooting_guide/007.png | Bin .../02_obd_troubleshooting_guide/001.png | Bin .../02_obd_troubleshooting_guide/002.png | Bin .../02_obd_troubleshooting_guide/003.png | Bin .../01_introduction/000.jpg | Bin .../01_introduction/001.png | Bin .../01_introduction/002.png | Bin .../01_introduction/003.png | Bin .../01_introduction/004.png | Bin .../01_introduction/005.png | Bin .../01_introduction/006.png | Bin .../01_introduction/007.png | Bin .../01_introduction/008.png | Bin .../01_introduction/009.png | Bin .../02_show_trace/001.png | Bin .../03_connection_diagnosis/001.png | Bin 195 files changed, 143 insertions(+), 143 deletions(-) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/about_this_manual/01_overview.md (96%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/about_this_manual/_index.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/development_specification/01_object_specification.md (98%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/development_specification/02_charset_specification.md (98%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/development_specification/03_sql_specification.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/development_specification/04_some_limits.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/development_specification/_category_.yml (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/disaster_recovery_architecture_design/01_high_availability_architecture_overview.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/disaster_recovery_architecture_design/02_multi_replica_solution.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/disaster_recovery_architecture_design/03_primary_standby_database_solution.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/disaster_recovery_architecture_design/04_common_disaster_recovery_deployment_models.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/disaster_recovery_architecture_design/_index.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/01_emergency_overview.md (96%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/02_slow_response.md (90%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/03_cpu_high.md (83%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/04_node_breakdown.md (97%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/05_network_problem.md (92%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/06_disk_problem.md (93%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/07_disk_capacity_problem.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/08_how_to_ask.md (94%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/_category_.yml (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path.md (87%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/_index.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/commonly_used_sql/01_introduction.md (93%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/commonly_used_sql/02_cluster_operations.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/commonly_used_sql/03_tenant_management.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/commonly_used_sql/04_user_and_privilege_management.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/commonly_used_sql/05_backup_and_restore.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/commonly_used_sql/06_merge_management.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/commonly_used_sql/07_monitoring_metrics.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/commonly_used_sql/08_sql_audit.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/commonly_used_sql/09_ocp_monitor_ob.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/commonly_used_sql/_category_.yml (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/optimizer_statistics/01_operations_and_maintenance.md (99%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/optimizer_statistics/02_best_practices.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/optimizer_statistics/03_command.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/optimizer_statistics/_category_.yml (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/01_parameter_templates.md (96%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/_index.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/01_introduction.mdx (97%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge.md (97%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants.md (98%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/01_overview.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config.md (98%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/03_disk_performance_calibration.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/04_dbms_resource_manager.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation.md (81%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/_category_.yml (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/_category_.yml (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/01_introduction.md (96%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/02_background_knowledge.md (93%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices.md (91%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/_category_.yml (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/01_introduction.mdx (92%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/02_background_knowledge.md (97%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices.md (91%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/04_htap_best_practices.md (84%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/05_performance_tuning.md (89%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/06_others.md (96%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/_category_.yml (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/01_oms_troubleshooting_guide.md (96%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/02_obd_troubleshooting_guide.md (97%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction.md (97%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace.md (98%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis.md (99%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/04_routing_diagnosis.md (100%) rename docs/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/_category_.yml (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/about_this_manual/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/development_specification/01_object_specification/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/development_specification/02_charset_specification/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/01_emergency_overview/001.jpg (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/02_slow_response/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/02_slow_response/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/02_slow_response/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/02_slow_response/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/02_slow_response/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/02_slow_response/006.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/02_slow_response/007.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/02_slow_response/008.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/02_slow_response/009.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/03_cpu_high/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/03_cpu_high/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/03_cpu_high/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/03_cpu_high/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/03_cpu_high/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/03_cpu_high/006.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/03_cpu_high/007.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/03_cpu_high/008.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/04_node_breakdown/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/05_network_problem/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/05_network_problem/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/05_network_problem/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/05_network_problem/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/06_disk_problem/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/06_disk_problem/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/08_how_to_ask/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/08_how_to_ask/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/emergency_handbook/08_how_to_ask/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path/006.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path/007.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path/008.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path/009.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/01_version_upgrade_path/010.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/operations_and_maintenance/02_commonly_used_sql/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/01_parameter_templates/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/01_parameter_templates/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/01_parameter_templates/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/01_parameter_templates/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/01_parameter_templates/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/01_parameter_templates/006.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/01_parameter_templates/007.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/01_parameter_templates/008.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/01_introduction/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/01_introduction/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/006.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/01_introduction/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/01_introduction/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/006.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/007.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/006.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/007.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/008.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/009.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/010.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/01_introduction/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/01_introduction/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/01_introduction/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/01_introduction/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/01_introduction/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/01_introduction/006.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/02_background_knowledge/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/04_htap_best_practices/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/04_htap_best_practices/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/04_htap_best_practices/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/04_htap_best_practices/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/04_htap_best_practices/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/04_htap_best_practices/006.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/05_performance_tuning/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/05_performance_tuning/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/scenario_best_practices/chapter_03_htap/05_performance_tuning/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/01_oms_troubleshooting_guide/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/01_oms_troubleshooting_guide/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/01_oms_troubleshooting_guide/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/01_oms_troubleshooting_guide/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/01_oms_troubleshooting_guide/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/01_oms_troubleshooting_guide/006png.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/01_oms_troubleshooting_guide/007.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/02_obd_troubleshooting_guide/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/02_obd_troubleshooting_guide/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/02_obd_troubleshooting_guide/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/000.jpg (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/002.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/003.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/004.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/005.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/006.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/007.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/008.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/009.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace/001.png (100%) rename static/img/user_manual/operation_and_maintenance/{ => zh-CN}/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis/001.png (100%) diff --git a/docs/user_manual/operation_and_maintenance/about_this_manual/01_overview.md b/docs/user_manual/operation_and_maintenance/zh-CN/about_this_manual/01_overview.md similarity index 96% rename from docs/user_manual/operation_and_maintenance/about_this_manual/01_overview.md rename to docs/user_manual/operation_and_maintenance/zh-CN/about_this_manual/01_overview.md index 3efa0d382..2ec28398c 100644 --- a/docs/user_manual/operation_and_maintenance/about_this_manual/01_overview.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/about_this_manual/01_overview.md @@ -17,7 +17,7 @@ weight: 1 (实际编写和整理的过程中,会持续根据用户建议和实际情况进行调整,非最终版本) -![image.png](/img/user_manual/operation_and_maintenance/about_this_manual/001.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/about_this_manual/001.png) 《OceanBase 4.x DBA 进阶教程》 diff --git a/docs/user_manual/operation_and_maintenance/about_this_manual/_index.md b/docs/user_manual/operation_and_maintenance/zh-CN/about_this_manual/_index.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/about_this_manual/_index.md rename to docs/user_manual/operation_and_maintenance/zh-CN/about_this_manual/_index.md diff --git a/docs/user_manual/operation_and_maintenance/development_specification/01_object_specification.md b/docs/user_manual/operation_and_maintenance/zh-CN/development_specification/01_object_specification.md similarity index 98% rename from docs/user_manual/operation_and_maintenance/development_specification/01_object_specification.md rename to docs/user_manual/operation_and_maintenance/zh-CN/development_specification/01_object_specification.md index 8acf51ba9..7454e78bb 100644 --- a/docs/user_manual/operation_and_maintenance/development_specification/01_object_specification.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/development_specification/01_object_specification.md @@ -35,7 +35,7 @@ obclient [test]> select ```` from `table`; ## tenant(租户)使用规范 -租户的概念可以类比为 MySQL 的一个实例,概念详见这个教程的[《租户背景知识》](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/background_knowledge)小节。 +租户的概念可以类比为 MySQL 的一个实例,概念详见这个教程的[《租户背景知识》](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/background_knowledge)小节。 **禁止在生产环境中使用 sys 租户存放用户数据!需要创建新的用户租户来使用!** @@ -113,7 +113,7 @@ obclient [test]> show databases; 例如在用户账单领域,数据库往往需要按照 user_id 做 HASH 一级分区,然后再在各个一级分区内部,继续按照账单创建时间做 RANGE 二级分区。 -![image](/img/user_manual/operation_and_maintenance/development_specification/01_object_specification/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/development_specification/01_object_specification/001.png) 尽管 OceanBase 数据库在组合分区上支持 RANGE + HASH 和 HASH + RANGE 两种组合,但是对于 RANGE 分区的分区操作 add / drop,必须是 RANGE 分区做为一级分区的方式。所以针对例如数据量较大的流水表,为了维护方便(新增和删除分区),建议使用 RANGE + HASH 组合方式。 diff --git a/docs/user_manual/operation_and_maintenance/development_specification/02_charset_specification.md b/docs/user_manual/operation_and_maintenance/zh-CN/development_specification/02_charset_specification.md similarity index 98% rename from docs/user_manual/operation_and_maintenance/development_specification/02_charset_specification.md rename to docs/user_manual/operation_and_maintenance/zh-CN/development_specification/02_charset_specification.md index 79d94e8ab..fb20f5782 100644 --- a/docs/user_manual/operation_and_maintenance/development_specification/02_charset_specification.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/development_specification/02_charset_specification.md @@ -90,7 +90,7 @@ obclient [test]> show collation;; * 当通过 OCP 创建租户时,直接选择字符集为 gbk 即可。 - ![image](/img/user_manual/operation_and_maintenance/development_specification/02_charset_specification/001.png) + ![image](/img/user_manual/operation_and_maintenance/zh-CN/development_specification/02_charset_specification/001.png) * 当通过命令行创建租户时,可以在 create tenant 语句添加 charset 设置,添加 `"charset=gbk"`。 diff --git a/docs/user_manual/operation_and_maintenance/development_specification/03_sql_specification.md b/docs/user_manual/operation_and_maintenance/zh-CN/development_specification/03_sql_specification.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/development_specification/03_sql_specification.md rename to docs/user_manual/operation_and_maintenance/zh-CN/development_specification/03_sql_specification.md diff --git a/docs/user_manual/operation_and_maintenance/development_specification/04_some_limits.md b/docs/user_manual/operation_and_maintenance/zh-CN/development_specification/04_some_limits.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/development_specification/04_some_limits.md rename to docs/user_manual/operation_and_maintenance/zh-CN/development_specification/04_some_limits.md diff --git a/docs/user_manual/operation_and_maintenance/development_specification/_category_.yml b/docs/user_manual/operation_and_maintenance/zh-CN/development_specification/_category_.yml similarity index 100% rename from docs/user_manual/operation_and_maintenance/development_specification/_category_.yml rename to docs/user_manual/operation_and_maintenance/zh-CN/development_specification/_category_.yml diff --git a/docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/01_high_availability_architecture_overview.md b/docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/01_high_availability_architecture_overview.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/01_high_availability_architecture_overview.md rename to docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/01_high_availability_architecture_overview.md diff --git a/docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/02_multi_replica_solution.md b/docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/02_multi_replica_solution.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/02_multi_replica_solution.md rename to docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/02_multi_replica_solution.md diff --git a/docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/03_primary_standby_database_solution.md b/docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/03_primary_standby_database_solution.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/03_primary_standby_database_solution.md rename to docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/03_primary_standby_database_solution.md diff --git a/docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/04_common_disaster_recovery_deployment_models.md b/docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/04_common_disaster_recovery_deployment_models.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/04_common_disaster_recovery_deployment_models.md rename to docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/04_common_disaster_recovery_deployment_models.md diff --git a/docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/_index.md b/docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/_index.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/_index.md rename to docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/_index.md diff --git a/docs/user_manual/operation_and_maintenance/emergency_handbook/01_emergency_overview.md b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/01_emergency_overview.md similarity index 96% rename from docs/user_manual/operation_and_maintenance/emergency_handbook/01_emergency_overview.md rename to docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/01_emergency_overview.md index c7fdff710..a3fd8b012 100644 --- a/docs/user_manual/operation_and_maintenance/emergency_handbook/01_emergency_overview.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/01_emergency_overview.md @@ -37,7 +37,7 @@ weight: 1 OBServer 的故障排查脑图详见: -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/01_emergency_overview/001.jpg) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/01_emergency_overview/001.jpg) ## What's more ? diff --git a/docs/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response.md b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response.md similarity index 90% rename from docs/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response.md rename to docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response.md index 0fb02a16b..2a7994608 100644 --- a/docs/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response.md @@ -11,7 +11,7 @@ weight: 2 ## 排查方向和流程 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/001.png) ### 排查硬件问题 @@ -23,7 +23,7 @@ weight: 2 ### 排查大查询(slow query)问题 直接通过 OCP 排查是否存在 “可疑 SQL”。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/002.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/002.png) 如果存在某个大查询(或者叫大请求)占用了过多资源,导致大量短请求无法及时得到响应,可以考虑以下方法: @@ -45,11 +45,11 @@ weight: 2 资源问题这里除了某几个大查询占用了过多资源,还有一种租户队列积压的情况。排查方式有以下几种: - 可以通过 OCP 观察单条 slow query 的平均 queue_time(排队时间)在 elapsed_time(响应时间) 中的占比是否符合预期,如果 queue_time 超长,则可能是租户队列积压。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/003.png) -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/004.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/003.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/004.png) - 或者可以通过 GV$OB_SQL_AUDIT 视图查询 slow query 各种维度的信息,详见:《DBA 入门教程》中的 [“分析 SQL 监控视图”](https://www.oceanbase.com/docs/community-tutorials-cn-1000000001390074) 小节。一些重要的事件间隔如下: -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/005.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/005.png) ``` -- 这个例子中查询的是:tenant id 为 1002 的租户,在 2024-11-20 12:00:00 之后 -- query 执行时间超过 100 ms 的其中一条 SQL @@ -87,7 +87,7 @@ weight: 2 ``` grep 'dump tenant info' observer.log* ``` -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/006.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/006.png) 日志中,有几个关键字可参考: @@ -179,7 +179,7 @@ req_queue_total_size: 0 如果资源问题这个分支的嫌疑被排除了,大概率就是计划问题了。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/007.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/007.png) 如果 SQL 执行效率是 “由快变慢”,那么可以重点怀疑以下几个常见问题: @@ -195,12 +195,12 @@ req_queue_total_size: 0 - 第三个是在版本升级后,在低版本中好的计划,在高版本中回退成了差的计划。 - 一般来说,升级之后,绝大多数的计划都会变成更优的计划,这种回退只是极其个别的情况。这种情况在《入门教程》中没有为大家介绍,可以直接通过 OCP 观察对应 SQL 的历史趋势及计划变化来判断。 - ![image](/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/008.png) + ![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/008.png) - 解决方法详见[《入门教程》中的 “通过 Hint 生成指定计划” 以及 “通过 Outline 进行计划绑定”](https://www.oceanbase.com/docs/community-tutorials-cn-1000000001390068)。 - 第四个是硬解析问题,也可以直接通过 OCP 观察对应 SQL 计划生产时间的历史趋势来判断。解决方法详见[《入门教程》中的 “硬解析问题”](https://www.oceanbase.com/docs/community-tutorials-cn-1000000001390072)。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/009.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/009.png) -如果 SQL 执行效率不是由快变慢,而是 “一如既往的慢”,那就去看这本《DBA 进阶教程》中的 [“SQL 性能诊断和调优” 小节](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/performance_tuning)吧,哈哈~ \ No newline at end of file +如果 SQL 执行效率不是由快变慢,而是 “一如既往的慢”,那就去看这本《DBA 进阶教程》中的 [“SQL 性能诊断和调优” 小节](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/performance_tuning)吧,哈哈~ \ No newline at end of file diff --git a/docs/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high.md b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high.md similarity index 83% rename from docs/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high.md rename to docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high.md index 69c87bb91..843094c93 100644 --- a/docs/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high.md @@ -11,7 +11,7 @@ weight: 3 ## 排查方向和流程 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/001.png) ### 排查节点上是否有 CPU 使用率高的进程 @@ -42,7 +42,7 @@ top -p `pidof observer` -H 例如有某个租户执行的 SQL 占用了超多 CPU,导致其他租户受影响了,可以直接通过 top -H 结果中的 T1002_L0_G100 看出具体是哪个租户在整幺蛾子。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/002.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/002.png) 上面的示例就可以通过 T1002_L0_xxxx 看出来是 1002 号租户在犯坏。 @@ -51,7 +51,7 @@ top -p `pidof observer` -H 这里就又回到了上一小节的内容,需要分析下为啥这条 SQL 这么特殊了。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/003.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/003.png) @@ -73,17 +73,17 @@ top -p `pidof observer` -H - 首先在 2024/11/21 20:37 左右,给数据库加一点儿压力。 - 然后在 OCP 首页的 “性能监控” 中的 “OBServer 性能” 里,就能看到对应集群 CPU 使用率一下子就快跑满了(“性能监控” 四个字就在首页,不需要到处找)。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/004.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/004.png) - 再然后,在 “数据库性能” 里,可以看到这个集群的 SQL 响应时间也大幅上升。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/005.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/005.png) - 再再然后,就可以去看下这个集群里各个租户的情况,发现一个叫做 mysql 的用户租户,情况比较特殊,CPU 使用率很高。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/006.png) -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/007.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/006.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/007.png) - 点一下 “SQL 诊断”,就可以看到是这个集群里,一个叫 mysql 的租户,正在疯狂重复执行一条计算逻辑超级复杂的 SQL。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/008.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/008.png) - 到此为止,问题定位。 diff --git a/docs/user_manual/operation_and_maintenance/emergency_handbook/04_node_breakdown.md b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/04_node_breakdown.md similarity index 97% rename from docs/user_manual/operation_and_maintenance/emergency_handbook/04_node_breakdown.md rename to docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/04_node_breakdown.md index 90c53c50b..565e8118f 100644 --- a/docs/user_manual/operation_and_maintenance/emergency_handbook/04_node_breakdown.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/04_node_breakdown.md @@ -11,7 +11,7 @@ weight: 4 ## 排查方向和流程 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/04_node_breakdown/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/04_node_breakdown/001.png) ### 排查是否宕机 @@ -126,7 +126,7 @@ $ps -ef | grep observer 这里最后多补充一句,就是: - 如果机器可以恢复,首先可以尝试在 OCP 中重启。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/001.png) 如果在 OCP 中无法立刻重启,可以手动进入安装目录去启动 observer 进程: diff --git a/docs/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem.md b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem.md similarity index 92% rename from docs/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem.md rename to docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem.md index eb305d4a3..ded225bdd 100644 --- a/docs/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem.md @@ -22,11 +22,11 @@ weight: 5 ## 排查方向 - 网络丢包时,OCP 会有告警。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/002.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/002.png) - 如果有网络故障或者长时间丢包,OCP 可能直接会有[主机不可用](https://www.oceanbase.com/docs/common-ocp-1000000001740695)告警。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/003.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/003.png) - 网络故障排查方法,详见:[OceanBase 官网文档](https://www.oceanbase.com/docs/common-ocp-1000000001740641),这里不赘述。 @@ -103,4 +103,4 @@ SELECT zone, status FROM oceanbase.DBA_OB_ZONES; 如果遇到这种情况,可以通过 OCP 的 SQL 诊断进行确认,对 SQL 进行调优,或者直接在 OCP 上对该 SQL 进行限流。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/004.png) \ No newline at end of file +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/004.png) \ No newline at end of file diff --git a/docs/user_manual/operation_and_maintenance/emergency_handbook/06_disk_problem.md b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/06_disk_problem.md similarity index 93% rename from docs/user_manual/operation_and_maintenance/emergency_handbook/06_disk_problem.md rename to docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/06_disk_problem.md index 4ea17c63b..e32797a77 100644 --- a/docs/user_manual/operation_and_maintenance/emergency_handbook/06_disk_problem.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/06_disk_problem.md @@ -15,7 +15,7 @@ weight: 6 OCP 对于 io_await 有对应监控项 [os_tsar_nvme_ioawait](https://www.oceanbase.com/docs/common-ocp-1000000001740621) 和 [os_tsar_sda_ioawait](https://www.oceanbase.com/docs/common-ocp-1000000001740634),在 io_await 值异常时,默认会进行监控告警。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/06_disk_problem/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/06_disk_problem/001.png) - 如果没有过多业务流量,也没有其他进程占用磁盘 IO,一般是迁移复制、合并等因素叠加的结果。处理的思路通常是将一些高 IO 的负载任务降级。 @@ -40,7 +40,7 @@ OCP 对于 io_await 有对应监控项 [os_tsar_nvme_ioawait](https://www.oceanb 这种情况大概率是后台的每日合并搞的鬼,先通过 OCP 检查下系统是否处于合并状态。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/06_disk_problem/002.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/06_disk_problem/002.png) 如果处于合并合并状态,可以先暂停合并,流量高峰过后再恢复合并。 ``` diff --git a/docs/user_manual/operation_and_maintenance/emergency_handbook/07_disk_capacity_problem.md b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/07_disk_capacity_problem.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/emergency_handbook/07_disk_capacity_problem.md rename to docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/07_disk_capacity_problem.md diff --git a/docs/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask.md b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask.md similarity index 94% rename from docs/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask.md rename to docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask.md index c12bd6c9b..56a30a5fb 100644 --- a/docs/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask.md @@ -10,7 +10,7 @@ weight: 6 类似于下面这个帖子,如果只提供一个错误码和对应的报错信息 Internal error,大概率是看不出问题原因的,还需要用户协助提供这个错误码对应的日志信息。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask/001.png) **这一小节就简单为大家介绍下,在遇到非预期的报错时,需要为论坛值班同学提供哪些信息,以及如何捞取 OBServer 的日志。** @@ -63,7 +63,7 @@ grep Y584A0B9E1F14-0006299CA6E2263B-0-0 observer.log.2024121918* rootservice.log 如果大家愿意再自己多走一步的话,可以在这个 zlatan.log 文件里把 ``ret=-4016``(因为报错的错误码是 4016)这个关键字高亮一下。按日志时间顺序看,最早出现 ``ret=-4016`` 的地方,就是问题发生的直接原因。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask/002.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask/002.png) ``` rootservice.log.20241219182047574:[2024-12-19 18:12:51.807165] WDIAG [RS] @@ -133,7 +133,7 @@ grep Y584A0B9E1F14-0006299CA6E2263B-0-0 * > zlatan.log 如果不喜欢在黑屏命令行中 grep 日志,可以用 OCP 提供的白屏日志服务。关键字还是 ``ret=-errno``,而且更便捷地选择日志的时间范围。 -![image](/img/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask/003.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask/003.png) ## 捞到日志之后 diff --git a/docs/user_manual/operation_and_maintenance/emergency_handbook/_category_.yml b/docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/_category_.yml similarity index 100% rename from docs/user_manual/operation_and_maintenance/emergency_handbook/_category_.yml rename to docs/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/_category_.yml diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path.md similarity index 87% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path.md index 3db0a0fd0..b6833a5ed 100644 --- a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path.md @@ -5,7 +5,7 @@ weight: 1 ## 背景 《DBA 进阶教程》中的这篇内容,源自 OceanBase 社区论坛中一位叫做皇甫侯的用户的建议,这位用户希望我们能够为用户讲解一下 OceanBase 的版本升级路径。在这篇文档里,我会把个人认为需要用户了解的版本升级知识做一个简单的总结和分享,希望能够对大家有所帮助。 -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/001.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/001.png) 如果大家在对 OceanBase 的运维过程中,还有哪些希望了解的内容,欢迎在[《OceanBase 4.x 运维开发手册》用户意见收集](https://ask.oceanbase.com/t/topic/35610431)这个帖子里留言评论,我们会根据大家的意见和建议不断完善这个《DBA 进阶教程》。 @@ -28,20 +28,20 @@ weight: 1 例如下图中 4.2.1_BP8(LTS) 就表示是 4.2.1 这个版本中进行过 8 次 Bundle Patch 的长期支持版本。 -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/002.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/002.png) ## Barrier 版本 下载了一个 4.2.3.1 的 observer,想测试下通过 OCP 把很久很久之前部署的一个单机的 4.1.0.1 给升级到 4.2.3.1 版本(测试集群是单机单副本,所以没法儿轮转升级,只能停服升级)。 -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/003.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/003.png) 本以为吃着火锅唱着歌就能把级给升了,结果不巧,OCP 说还需要给它上传一个额外的 barrier 版本。也就是说,需要下载两个 observer 的 binary 提供给 OCP,一个是需要经停的 4.2.1.2,一个是终点站 4.2.3.1。 -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/004.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/004.png) 提供完了 barrier 版本的包就不用管了,OCP 会帮你把集群直接升级到最终的 4.2.3.1 版本。 -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/005.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/005.png) 正好也趁这个机会,在介绍升级拓扑之前,先说一下什么是 barrier 版本,以及 barrier 版本的作用。 @@ -53,13 +53,13 @@ OceanBase 在很多版本之间,都支持不停机地进行轮转升级。轮 下图中有五个版本 A、B、C、D、E,其中 C 是 barrier 版本。对于 A、B 来说,都可以直接升级到 C。对于版本 C 来说,可以直接升级到 D 或 E。但是 A、B 无法直接升级到 D、E,他们升级到 D、E 的路径上,都需要经停版本 C,即先升级到版本 C,再升级到 D、E。 -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/006.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/006.png) 另外一个需要注意的点是 barrier 是针对某个版本的,即这个 barrier 可能对一些版本是 barrier,升级必须经停,对另一些则不是 barrier。 下图中有四个版本 A、B、C、D,其中 C 对于 A 来说是 barrier版本,那么如果 A 要升级到 D,就必须要经停 C,无法直接升级到 D,整个升级流程是 A -> C -> D。而 C 对于 B 来说不是 barrier 版本,所以 B 可以直接升级到 D。 -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/007.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/007.png) 这里需要注意的是,上面写的 “经停” 并不代表需要停机升级,只是比喻升级过程需要经历先升级到 barrier 版本,再升级到目标版本的这样一个过程。 @@ -68,9 +68,9 @@ OceanBase 在很多版本之间,都支持不停机地进行轮转升级。轮 这个文件会放在安装目录里,不同版本的内容略有不同,因为发现编译安装和通过 OCP 安装的文件路径好像还不太一样,所以就请大家自行在准备升级到的最高版本的包里 find 下吧。 -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/008.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/008.png) -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/009.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/009.png) 升级拓扑主要由以下部分组成: @@ -80,7 +80,7 @@ OceanBase 在很多版本之间,都支持不停机地进行轮转升级。轮 + require_from_binary:缺省为 False。如果为 True,表示是上面提到的 barrier 版本。 + when_come_from:一般是一个列表,伴随 require_from_binary 出现,表示从列表中的版本升级时,需要经停当前版本。 -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/010.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/010.png) 上图是一个升级的例子,为方便大家理解做了一些简化,不代表某个真实版本升级拓扑(不同版本的真实升级拓扑详见安装路径中的 oceanbase_upgrade_dep.yml 文件,一般可能会比上图略微复杂一些)。 diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/_index.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/_index.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/_index.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/_index.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/01_introduction.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/01_introduction.md similarity index 93% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/01_introduction.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/01_introduction.md index 4fb5b51f0..eba32a01d 100644 --- a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/01_introduction.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/01_introduction.md @@ -6,7 +6,7 @@ weight: 1 ## 背景 《DBA 进阶教程》中的这一章节的内容,源自 OceanBase 社区论坛中雪北的建议,这位用户希望我们能够在教程中增加一些运维常用的 SQL 或者命令,用于替换 OCP 工具的部分功能,以便在命令行模式中对数据库进行运维操作。 -![image.png](/img/user_manual/operation_and_maintenance/operations_and_maintenance/02_commonly_used_sql/001.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/02_commonly_used_sql/001.png) 在这篇文档里,我会把 OceanBase 技术支持同学长期总结出来的运维常用 SQL,做一个简单的汇总和分享,希望能够对习惯使用命令行对 OceanBase 进行运维的朋友有所帮助。 diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/02_cluster_operations.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/02_cluster_operations.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/02_cluster_operations.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/02_cluster_operations.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/03_tenant_management.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/03_tenant_management.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/03_tenant_management.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/03_tenant_management.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/04_user_and_privilege_management.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/04_user_and_privilege_management.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/04_user_and_privilege_management.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/04_user_and_privilege_management.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/05_backup_and_restore.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/05_backup_and_restore.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/05_backup_and_restore.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/05_backup_and_restore.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/06_merge_management.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/06_merge_management.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/06_merge_management.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/06_merge_management.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/07_monitoring_metrics.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/07_monitoring_metrics.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/07_monitoring_metrics.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/07_monitoring_metrics.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/08_sql_audit.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/08_sql_audit.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/08_sql_audit.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/08_sql_audit.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/09_ocp_monitor_ob.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/09_ocp_monitor_ob.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/09_ocp_monitor_ob.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/09_ocp_monitor_ob.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/_category_.yml b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/_category_.yml similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/commonly_used_sql/_category_.yml rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/commonly_used_sql/_category_.yml diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/optimizer_statistics/01_operations_and_maintenance.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/optimizer_statistics/01_operations_and_maintenance.md similarity index 99% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/optimizer_statistics/01_operations_and_maintenance.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/optimizer_statistics/01_operations_and_maintenance.md index e14a86980..12815ab83 100644 --- a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/optimizer_statistics/01_operations_and_maintenance.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/optimizer_statistics/01_operations_and_maintenance.md @@ -127,7 +127,7 @@ FROM (SELECT task_id, 1. **(最常见场景) ** 收集失败的表是一个数据量大表(行数超过上亿),长时间没收集成功,出现收集超时报错 ret=-4012,请按照如下方式进行解决:[“自动收集卡在超大表运维手段”](#自动收集卡在超大表运维手段)。 -2. 租户中的表太多,大部分表都需要重新收集统计信息,但是收集窗口时间有限,导致未收集完成。该场景下需要考虑重新对该租户在 **业务低峰期** 的时候手动收集一次,收集策略可参考:[《手动统计信息收集命令使用手册》](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/operations_and_maintenance/optimizer_statistics/command)。 +2. 租户中的表太多,大部分表都需要重新收集统计信息,但是收集窗口时间有限,导致未收集完成。该场景下需要考虑重新对该租户在 **业务低峰期** 的时候手动收集一次,收集策略可参考:[《手动统计信息收集命令使用手册》](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/optimizer_statistics/command)。 3. 非超时报错,其他错误码,请先在 **业务低峰期 ** 对该表重新手动收集一次统计信息(详见:《手动统计信息收集命令使用手册》)。后续继续观察,同时将该报错问题反馈给 OceanBase 社区论坛的官方值班同学。 diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/optimizer_statistics/02_best_practices.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/optimizer_statistics/02_best_practices.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/optimizer_statistics/02_best_practices.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/optimizer_statistics/02_best_practices.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/optimizer_statistics/03_command.md b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/optimizer_statistics/03_command.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/optimizer_statistics/03_command.md rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/optimizer_statistics/03_command.md diff --git a/docs/user_manual/operation_and_maintenance/operations_and_maintenance/optimizer_statistics/_category_.yml b/docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/optimizer_statistics/_category_.yml similarity index 100% rename from docs/user_manual/operation_and_maintenance/operations_and_maintenance/optimizer_statistics/_category_.yml rename to docs/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/optimizer_statistics/_category_.yml diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates.md similarity index 96% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates.md index ec518abb7..086a72b1f 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates.md @@ -20,13 +20,13 @@ weight: 1 ## 检查参数模板的配置文件 在 OceanBase 的 OBServer 源码中,会维护若干种场景的配置项和参数默认值,并通过 RPM 包输出。用户在 OCP 中上传 OB 4.3 及以上版本的软件包时,OCP 后台会自动解析软件包中的配置文件,保存到集群/租户参数模板中。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/001.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/001.png) 解析配置文件并保存到特定的 meta 表中,可能需要一分钟左右,大家如果在 OCP 界面一直看不到参数模板的各种选项,可以确认 OCP 是否完成参数模板配置解析。步骤如下: 1. 在 OCP 的 **租户 - 租户管理** 中复制 ocp_meta 租户的登录连接串 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/002.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/002.png) 2. 通过刚刚复制的连接串,登录相应的 OBServer 节点中的 ocp_meta 租户。 @@ -86,7 +86,7 @@ extra_data_json: {"fullVersion":"4.3.2.1-100000102024081217","scenario":"HTAP"} ## 设置集群级的参数模板 用户在创建 4.3 及以上版本集群时,根据真实使用场景,可以选择以下几种场景参数模板。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/003.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/003.png) 步骤比较简单,在 OCP 中的 **创建集群** 页面,配置集群参数时,可以使用默认参数配置,也可以打开 **参数配置** 模块,并配置集群参数: @@ -105,7 +105,7 @@ extra_data_json: {"fullVersion":"4.3.2.1-100000102024081217","scenario":"HTAP"} ## 设置租户级的参数模板 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/004.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/004.png) 步骤同样比较简单,在 **OCP 的 租户 - 新建租户** 界面中,打开 **参数配置** 模块,并配置租户参数: @@ -117,17 +117,17 @@ extra_data_json: {"fullVersion":"4.3.2.1-100000102024081217","scenario":"HTAP"} ## 遇到的问题及解决方法(OCP 4.3.2 社区版已修复) 在试用过程中,遇到了一个小 BUG:在通过 OLAP 参数模板来创建租户时,由于 OCP 记录的部分元数据信息有误,导致误判断了个别参数的类型,导致租户创建失败(创建集群,以及通过除 OLAP 以外的参数模板创建租户,均不会触发这个 BUG)。报错信息如下: -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/005.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/005.png) OCP 的同学表示这个是已知问题,在 OCP 4.3.2 社区版中会被修复。如果使用的是更早的版本,可以先通过在选择 OLAP 参数模板后,临时删除这几个没显示取值类型的参数(即图中的 parallel_degree_policy、_io_read_batch_size、_io_read_redundant_limit_percentage)。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/006.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/006.png) 租户创建好之后,手动去 **租户 - 参数管理** 中对这三个参数进行设置即可。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/007.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/007.png) -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/008.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/008.png) diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/_index.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/_index.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/_index.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/_index.md diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/01_introduction.mdx b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/01_introduction.mdx similarity index 97% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/01_introduction.mdx rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/01_introduction.mdx index 3875aff99..840131145 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/01_introduction.mdx +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/01_introduction.mdx @@ -42,7 +42,7 @@ weight: 1 既适用于中大型企业内部大量不同业务链路的资源池化,也适用于各个行业 SaaS 服务商,为不同客户提供不同规格的实例,保证资源隔离性的同时降低成本。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/01_introduction/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/01_introduction/001.png) ## 方案优势 @@ -68,7 +68,7 @@ weight: 1 - 借助 OMS ,在不停机的情况下全站业务向 OceanBase 实现高效快捷的迁移,业务仅需极少改造甚至零改造。 - 通过 OceanBase 集群强大丰富的 Leader 分布和读写路由策略,将蚂蚁集团多年沉淀的高并发最佳实践输出给用户。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/01_introduction/002.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/01_introduction/002.png) #### 用户收益 - 基于大集群多租户,实现秒级的数据库实例资源扩缩容,在整体集群资源使用不变的前提下,稳定承载大量业务的高峰压力。 diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge.md similarity index 97% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge.md index a80d2bbfc..df6c1ca9f 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge.md @@ -27,7 +27,7 @@ weight: 2 每个 Unit 都归属于一个资源池,每个资源池由若干个 Unit 组成,资源池是资源分配的基本单位,同一个资源池内的各个 Unit 具有相同的资源规格,即该资源池内 Unit 的物理资源大小都相同。 - ![资源池](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/001.png) + ![资源池](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/001.png) 如上图,展示了一个由 6 个 Unit 组成的资源池 a_pool,该资源池具有如下重要属性: @@ -39,7 +39,7 @@ weight: 2 创建租户时通过设置 `RESOURCE_POOL_LIST`,可以指定该租户关联到的资源池,从而该租户拥有指定资源池的 Unit。例如:设置租户 `a` 的 `RESOURCE_POOL_LIST=('a_pool')`,其部署图如下: -![租户资源池](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/002.png) +![租户资源池](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/002.png) 该租户部署于 3 个 Zone,每个 Zone 有 2 个 Unit,可以通过调整 `a_pool` 的 `Unit_CONFIG_ID` 参数来动态调整租户的物理资源。 @@ -76,7 +76,7 @@ Root Service 承担了 OceanBase 数据库的大量管理工作,包括集群 用户租户与 Meta 租户是相关的概念,可以简单理解为:用户租户存放的都是与用户数据相关的信息,包括用户创建的表和部分系统表,这部分数据需要在主备集群之间同步,物理备份恢复也需要操作这部分数据;而 Meta 租户存放的都是支撑用户租户运行的租户私有数据,主备集群会各自创建自己的 Meta 租户,物理备份数据恢复出来的租户也会有自己的 Meta 租户,所以这部分数据不需要在主备集群之间同步,也不需要备份。系统租户与 Meta 租户类似,存放的是支撑集群运行的集群私有数据,同样无需主备集群之间同步及物理备份。 -![租户类型1](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/003.png) +![租户类型1](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/003.png) 如上图所示: @@ -138,7 +138,7 @@ obclient [oceanbase]> SELECT * FROM DBA_OB_TENANTS; 集群中只有一个系统租户,通过系统租户,可以在集群中创建和管理用户租户。在用户租户中,可以创建和管理用户(user)、库(database)、表(table)、视图(view)等数据库对象。各种不同数据库对象的层级关系大致如下图所示: -![租户](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/004.png) +![租户](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/004.png) 在用户租户下创建的用户,只能登录到本租户,对其他租户不可见。可以从视图 `mysql.user` 中查询用户信息。 diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants.md similarity index 98% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants.md index 722924e7e..8aac19fab 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants.md @@ -40,7 +40,7 @@ OceanBase 数据库中把 Unit 当作给租户分配资源的基本单位,一 * 为了达到更好的隔离效果,从 V4.0.0 版本开始,支持配置 cgroup 来进行 CPU 隔离。cgroup (Control Groups)是 Linux 内核提供的一种机制,这种机制可以根据特定的行为,将一系列系统任务及其子任务整合(或分隔)到按资源划分等级的不同组内,从而为系统资源管理提供一个统一的框架。cgroup 能对线程的 CPU 使用率进行精准的限制,达到租户之间 CPU 强隔离的效果。 - ![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants/001.png) + ![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants/001.png) * 不同租户的 SQL 模块是不会互相影响的。 diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/01_overview.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/01_overview.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/01_overview.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/01_overview.md diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config.md similarity index 98% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config.md index 5663c89b7..65f9e3612 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config.md @@ -234,13 +234,13 @@ OceanBase 数据库的版本升级后,cgroup 的目录结构可能会有变化 在未开启全局 CPU 资源的前后台隔离功能时,OBServer 节点的 CPU 隔离包含租户间的 CPU 隔离和租户内的 CPU 隔离,其隔离效果如下图所示。 -![开启全局 CPU 的前后台隔离前](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/001.png) +![开启全局 CPU 的前后台隔离前](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/001.png) 隔离的层次为一个树状结构,租户之间的隔离策略由租户的 Unit 规格决定,每个租户内部还有各租户内任务的资源隔离,由 `DBMS_RESOURCE_MANAGER` 系统包来进行控制。 开启全局 CPU 资源的前后台隔离功能后,系统会在租户层级创建一个基于后台任务的子 cgroup。该后台子 cgroup 可以理解为一个 “虚拟租户”,即相当于一个 `MAX_CPU` 为配置项 `global_background_cpu_quota` 的值,并且 `MIN_CPU` 为 1 的虚拟租户。开启了全局 CPU 资源前后台隔离功能的隔离效果如下表所示。 -![开启全局 CPU 的前后台隔离后](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/002.png) +![开启全局 CPU 的前后台隔离后](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/002.png) 开启全局 CPU 资源的前后台隔离功能后,即使不设置租户内的隔离策略,也会在整体层面上限制所有后台任务可使用的 CPU 资源上限(`global_background_cpu_quota`),从而有效地避免出现后台任务影响前台业务的情况。 diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/03_disk_performance_calibration.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/03_disk_performance_calibration.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/03_disk_performance_calibration.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/03_disk_performance_calibration.md diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/04_dbms_resource_manager.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/04_dbms_resource_manager.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/04_dbms_resource_manager.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/04_dbms_resource_manager.md diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation.md similarity index 81% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation.md index 178c90bdd..38dead455 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation.md @@ -9,7 +9,7 @@ weight: 4 **在用户使用 OceanBase 的过程中,一般只需要预设两套资源管理计划,白天激活 DAYTIME 计划,夜间激活 NIGHT 计划,就可以实现满足基本的隔离需求的同时实现资源利用率的最大化。** -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/001.png) 例如我们可以用以下语法定义一个白天资源使用计划(resource plan),并且制定了此计划下 OLTP (interactive_group)和 OLAP (batch_group) 的资源百分比。80% 的资源用于 TP,剩下 20% 资源用于 AP。 @@ -43,7 +43,7 @@ OceanBase 还提供了按登录用户对 SQL 分类的方法,客户可以创 从下图测试结果可以看出来,切换为夜晚计划后,AP 的 CPU 资源占比变大后,AP 的 QPS 明显变高,TP 的 QPS 有一些降低。下图中 AP 和 TP QPS 发送变化的点就是切换资源使用计划的时间。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/002.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/002.png) 上图中看起来 TP 的 QPS 降低比较少,和 AP 的 QPS 变化相比起来没有那么明显。这是因为 AP 是从 0.3 到 0.5,增加了 66.7%, TP 从 0.7 到 0.5,只会下降 28.5%,所以 TP 的 QPS 变化幅度在理想情况下就要比 AP 的变化幅度更小,是符合预期的。 @@ -57,9 +57,9 @@ OceanBase 还提供了按登录用户对 SQL 分类的方法,客户可以创 首先验证租户间磁盘 IO 隔离,各租户的配置和实验结果如下方图表所示: -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/003.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/003.png) -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/004.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/004.png) - 磁盘已经打满时,新加入的租户 3 依然拥有 1 万 IOPS,因为其通过 MIN_IOPS 预留了 1 万; - 租户 4 的 IOPS 没有超过 5 千,因为其通过 MAX_IOPS 设置了资源上限; @@ -68,9 +68,9 @@ OceanBase 还提供了按登录用户对 SQL 分类的方法,客户可以创 接下来,我们将验证租户内负载的隔离。我们在租户 2 内设置了 4 个类别的负载,各负载的配置和实验结果如下方图表所示: -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/005.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/005.png) -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/006.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/006.png) - B 负载稳定在近 2000 IOPS,哪怕其权重为 0,因为 B 负载通过 MIN_PERCENT 预留了租户 MIN_IOPS 97% 的资源; - A 负载稳定在 1000 IOPS 左右,因为其 MAX_PERCENT 为 1,最多只能使用租户 MAX_IOPS 1% 的资源; diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/_category_.yml b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/_category_.yml similarity index 100% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/_category_.yml rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/_category_.yml diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/_category_.yml b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/_category_.yml similarity index 100% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/_category_.yml rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/_category_.yml diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/01_introduction.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/01_introduction.md similarity index 96% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/01_introduction.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/01_introduction.md index 63cd20a5f..f3c85cc59 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/01_introduction.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/01_introduction.md @@ -33,7 +33,7 @@ weight: 1 - 此方案历经蚂蚁集团核心业务场景验证,交易支付历史库单实例数据超过 6PB,采用上百台大容量机械盘的低成本硬件支撑,磁盘水位自动均衡,平稳运行多年,节省了大量机器资源。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/01_introduction/001.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/01_introduction/001.png) ## 方案优势 @@ -64,7 +64,7 @@ weight: 1 - 在数据迁移方面,因 OceanBase 兼容 MySQL 协议与语法,因此 OMS 可以做到平滑迁移,可大幅降低业务迁移和改造成本。OMS 通过全量迁移、增量迁移、反向迁移,保障数据迁过程中的强一致,并提供数据同步到 kafka 等消息队列中的能力。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/01_introduction/002.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/01_introduction/002.png) #### 用户收益 diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge.md similarity index 93% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge.md index 8cf6a9f55..02488882e 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge.md @@ -13,7 +13,7 @@ weight: 2 OceanBase 的存储引擎基于 LSM-Tree 架构,将数据分为基线数据(放在基线 SSTable 中)和增量数据(放在 MemTable / 转储的 SSTable 中)两部分。其中基线数据是只读的,一旦生成就不再被修改;增量数据支持读写。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/001.png) **OceanBase 数据库的 DML 操作插入、更新、删除等操作,首先写入内存里的 MemTable,所以在写入性能上就相当于内存数据库的写入性能,超级适合历史归档库写多读少的场景。** @@ -56,11 +56,11 @@ OceanBase 中的通用压缩是在不感知微块内部数据格式的前提下 Bit-packing 和 HEX 编码类似,都是在压缩数据的基数较小时,通过更小位宽的编码来表示原数据。而且这两种编码可以与其他编码叠加,对于其他编码产生的数值或字符串数据,都可以再通过 bit-packing 或 HEX 编码进一步去除冗余。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/002.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/002.png) (bit-packing) -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/003.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/003.png) (HEX 编码) @@ -69,7 +69,7 @@ Bit-packing 和 HEX 编码类似,都是在压缩数据的基数较小时,通 字典编码则可以通过在数据块内建立字典,来对低基数的数据进行压缩。当低基数的数据在微块内的分布符合对应的特征时,也可以使用游程编码 / 常量编码等方法进行进一步的压缩。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/004.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/004.png) (字典编码 / RLE 编码) @@ -80,11 +80,11 @@ Bit-packing 和 HEX 编码类似,都是在压缩数据的基数较小时,通 差值编码也是常用的编码方法, OceanBase 中的差值编码分为数值差值编码和定长字符串差值编码。数值差值编码主要用来对值域较小的数值类数据类型进行压缩。对于日期、时间戳等数据,或其他临近数据差值较小的数值类数据,可以只存储最小值,每行存储原数据与最小值的差值。定长字符串编码则可以比较好地对人工生成的 ID,如订单号/身份证号、url 等有一定模式的字符串进行压缩,对一个微块的数据存储一个模式串,每行额外存储与模式串不同的子串差值,来达到更好的压缩效果。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/005.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/005.png) (整形差值) -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/006.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/006.png) (字符串差值) @@ -140,4 +140,4 @@ OceanBase 对分析处理能力进行了大幅的优化,其中包括聚合与 - IJCAI-16 taobao user log 则是淘宝脱敏后的真实业务数据,存储了用户浏览商品时的行为日志。在 OceanBase 默认配置( zstd + encoding )下压缩率可以达到 9.9 ,只开启 encoding 压缩率可以达到 8.3 ,只开启 zstd 压缩率为 6.0 。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/007.png) \ No newline at end of file +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/007.png) \ No newline at end of file diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices.md similarity index 91% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices.md index e33405b81..12d71265b 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices.md @@ -25,7 +25,7 @@ weight: 3 - 对应用和在线库保持相同的访问接口,降低应用复杂度。 当面对这些需求时,OceanBase 成为一种天然的选择。其具备良好的单机分布式扩展能力和 HTAP 混合负载处理能力,使其能够高效地支持业务系统的在线库和历史库场景。更为重要的是,OceanBase 在满足业务需求的同时,能够降低至少一半的存储成本。据部分客户反馈,将业务历史库从其他数据库迁移至 OceanBase 后,存储成本普遍可降低 80% 左右,这也是许多用户在历史库场景选择 OceanBase 的主要原因之一。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/001.png) 随着历史库产品架构的设计,我们进一步思考历史库的存储架构问题: - 首先,**关于历史库的数据库架构是否需要与在线库保持一致的问题,我们认为不需要**。在线库可能出于数据规模和性能的需要,采取分库分表等架构,但历史库对性能的要求通常较低。分库分表架构对数据库的部署运维、备份恢复都带来额外的成本。特别是采用 OceanBase 作为历史库时,单表轻松承载几十 TB 的数据规模,即使数据规模很大也可以采用分区表。 @@ -56,7 +56,7 @@ ODC 的数据归档功能十分易用,(四)、(五)小节在白屏下 **面对这些问题,ODC 从 4.2.0 版本引入了数据归档功能,旨在解决数据管理中的难题,提高工作效率和数据安全性。ODC 支持定时将源数据库中的表数据归档至其它目标数据库中,以解决因线上数据增多影响查询性能与业务运作的问题。** 下图是 ODC 的数据归档能力概览: -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/002.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/002.png) ### (一)安装部署 ODC @@ -79,13 +79,13 @@ docker run -v /var/log/odc:/opt/odc/log -v /var/data/odc:/opt/odc/data \ oceanbase/odc:4.2.2 ``` 3. **如果 ODC 的租户资源给的特别少,例如 1.5c5g,那么 odc 启动大概需要一分半钟,如果不能立即登录网页的话,不要心急**,可以通过`` cd /var/log/odc`` 后 ``tail -F odc.log`` 观察初始化的过程。过程中可以看到 localIpAddress=xxx.xx.xx.xx, listenPort=8989,后面需要用这个 ip 和 port(默认 8989)去在网页上登录 http://xxx.xx.xx.xx:8989/ ,最后看到类似于 `` Started OdcServer in 96.934 seconds `` 的内容,就是初始化成功了。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/003.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/003.png) 4. 最好提前在官方文档上看一下你要使用的功能[有没有什么限制](https://www.oceanbase.com/docs/common-odc-1000000001418139#3-title-%E5%8A%9F%E8%83%BD%E9%99%90%E5%88%B6),如果有的话,要在创建新数据源时准备好。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/004.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/004.png) 例如数据归档要有 proxy,并且在配置数据源的时候需要通过 proxy 连接(用 proxy 连接的连接串进行智能解析,见下图)。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/005.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/005.png) 安装完成之后,通过复制黏贴数据库的连接串,并点击智能解析就可以创建新的数据源了,信息在智能解析之后会替你自动填写好(见上图)。**这里最后还有几个要注意的点:** - 本地安装的 OB 集群,类型要选择 OceanBase MySQL,不要乱选,例如选择 MySQL Cloud。如果 OB 集群是本地安装的,却选择了 MySQL Cloud,也是可以成功创建数据源的,但是可能会出一些非预期的问题,例如可能会默认连到 sys 租户上。 @@ -154,19 +154,19 @@ oceanbase/odc:4.2.2 在 ODC 中,点击「工单」-> 「新建工单」-> 「数据归档」,进入数据归档工单的创建页,填写工单详情。这里我们配置了 tb_order 表从在线库到历史库的归档任务,勾选了归档完成后清理源端已归档数据。注意这里使用了变量 archive_date,其值设置为当前时间往前偏移 1 年,通过在过滤条件中引用变量的方式,可以实现每次执行归档任务都归档 1 年前的数据。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/006.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/006.png) ODC 数据归档支持多种执行调度策略,可以立即执行、指定时间执行,也可以周期执行。还支持配置结构同步、数据插入策略和限流策略。结构同步时可根据需要选择是否同步分区和索引,因为历史库可能会和在线库有不同的分区设计,历史库和在线库的查询需求也不一样也可以通过更少的索引进一步降低存储成本。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/007.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/007.png) 点击新建任务,会显示归档 SQL 的预览,进一步确认需要归档的数据范围。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/008.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/008.png) 可以看到,通过 ODC 数据归档任务,只需简单配置,就可以成功地将冷数据从在线库归档到了历史库,实现了在线库的冷热数据分离。那么我们完成这个过程就足够么,如果我们因为业务变动或误操作,需要将已归档到历史库的数据恢复到在线库又该如何处理呢?新建一个反向归档任务不可谓不行,但我们既要花费精力重新配置新任务,又要担心配置错误引入问题。ODC 已经为用户考虑到了这一点,提供了一键回滚功能。我们以刚才的任务为例,现在需要将已经归档的数据回滚到在线库,我们仅需要在执行记录页,点击数据归档任务记录后的回滚按钮,即可发起归档回滚任务。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/009.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/009.png) ### (四)过期数据清理,降低存储成本 @@ -178,7 +178,7 @@ ODC 的数据归档功能来实现在线库的冷热数据分离,将冷数据 ### (五)新建「数据清理」工单 在 ODC 中,点击「工单」-> 「新建工单」-> 「数据清理」,进入数据清理工单的创建页,看到这个页面是不是非常熟悉,数据清理工单的配置与数据归档工单基本一致,这里我们不再赘述,直接创建一个周期性清理的工单。ODC 数据清理也支持联动历史库做清理前的数据校验。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/010.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/010.png) diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/_category_.yml b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/_category_.yml similarity index 100% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/_category_.yml rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/_category_.yml diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction.mdx b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction.mdx similarity index 92% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction.mdx rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction.mdx index ac32d4b33..83e984bb1 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction.mdx +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction.mdx @@ -9,11 +9,11 @@ weight: 1 ## HTAP 一体化混合负载场景 企业级应用的业务场景通常可以分为两个类别:联机交易和实时分析,我们通常称为 OLTP 和 OLAP 的业务应用。 -![image](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/001.png) +![image](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/001.png) 大型企业往往会选择多款数据库产品分别支持 OLTP 和 OLAP 类的应用场景。这种组合式的解决方案需要数据在不同系统间进行流转,数据同步的过程会带来时间延迟和数据不一致的风险;同时,多套不同的系统也会产生冗余数据,增加存储成本。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/002.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/002.png) @@ -41,7 +41,7 @@ weight: 1 - OceanBase 的 HTAP 模式,满足了业务上分析查询的业务得以前置,无需等待 T + 1 数据,直接于在线库实现实时营销决策等分析需求。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/003.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/003.png) ## 方案优势 - 强大的数据更新能力:基于关系型数据库的更新能力,副本间毫秒级极低延迟。 @@ -54,11 +54,11 @@ weight: 1 - 灵活的动态扩容:单集群最大可超过上千节点,数据容量超过 PB 级。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/004.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/004.png) OceanBase 通过 Flink CDC 组件作为流处理引擎,同时以 OceanBase 的 PL / SQL + Job Package 实现批处理任务,完成数据集成以及数据建模的流批一体处理。同时通过向量引擎 + 多副本架构,实现数据与业务的协同以及时效性的保障。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/005.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/005.png) ## 用户案例 @@ -76,7 +76,7 @@ OceanBase 通过 Flink CDC 组件作为流处理引擎,同时以 OceanBase 的 - OceanBase对传统集中式数据库具备优异的兼容能力,帮助中国石化原始数据库应用无损迁移,过渡方案确保柔性切割。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/006.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/006.png) #### 用户收益 diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/02_background_knowledge.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/02_background_knowledge.md similarity index 97% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/02_background_knowledge.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/02_background_knowledge.md index f23aa46f3..6cbaf4412 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/02_background_knowledge.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/02_background_knowledge.md @@ -17,7 +17,7 @@ weight: 2 综上,OceanBase SQL 引擎的整体框架如下图所示: -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/02_background_knowledge/001.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/02_background_knowledge/001.png) 上图中用差旅这件事,对优化器和执行期的功能做了一个类比,大意就是优化器会枚举所有到目的地的方案,并评估不同方案的代价,选出最优的一种,然后执行器根据优化器选择的方案去执行。 diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices.md similarity index 91% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices.md index cf37ed542..91ac5f203 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices.md @@ -23,7 +23,7 @@ OceanBase 通过应用侧为执行的 SQL 添加 SQL Hint 来显性开启弱一 **路由策略示意图:** -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/001.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/001.png) **优点**:配置相对简单,只修改 OBProxy 配置,无需修改 OBserver 配置;读流量均摊到全部 Follower 副本上。 @@ -41,7 +41,7 @@ OceanBase 通过应用侧为执行的 SQL 添加 SQL Hint 来显性开启弱一 **路由策略示意图:** -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/002.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/002.png) **优点**:通过设置只读 zone 实现了 zone 级别隔离读写请求,隔离性相比备优先读的方案更高。 @@ -59,12 +59,12 @@ OceanBase 中除了默认的全功能性副本之外,还有一种只读型副 2. AP 类请求走独立的 OBProxy,访问只读型副本。 3. 配置方法略,在创建租户时会要求选择各个 zone 中的副本类型,在对应 zone 中选择只对副本就好了。**这里需要注意的一点是:全功能副本支持随时在线动态调整为只读副本。** -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/003.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/003.png) **路由策略示意图:** -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/004.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/004.png) **优点**:OLAP 与 OLTP 的请求可以做到完全隔离,互相不受任何影响。 @@ -77,7 +77,7 @@ OceanBase 中除了默认的全功能性副本之外,还有一种只读型副 注意:备只能读不能写,并且这个读必须是弱一致性读。 -物理备库介绍详见:[基于日志异步复制的物理备库解决方案](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/disaster_recovery_architecture_design/primary_standby_database_solution)。 +物理备库介绍详见:[基于日志异步复制的物理备库解决方案](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design/primary_standby_database_solution)。 创建备租户,只需要在通过 OCP 创建租户时,选择租户类型为 “备租户” 并设置对应的主租户即可,十分简单,这里不再细说。 diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices.md similarity index 84% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices.md index 0202e8f8c..700a85eff 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices.md @@ -20,7 +20,7 @@ OceanBase 从 4.3.3 版本开始,支持了只读列存副本,在上一小节 > > 相比使用行、列两份副本的优势是,可以只在需要进行 AP 计算的特定列上创建索引,既能够达到加速 AP 查询的目的,也能够最大程度的降低存储成本。 - ![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/001.png) + ![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/001.png) ## 准实时决策分析业务架构: - **适用场景:以 TP 业务为主,同时也有较多 AP 需求,且不能接受上面这种利用 cgroup 资源组的方式进行资源隔离。** @@ -34,7 +34,7 @@ OceanBase 从 4.3.3 版本开始,支持了只读列存副本,在上一小节 > 只读列存副本是刚刚(2024.10.24)发布的 4.3.3 版本新增的特性,推荐先在 POC 测试环境中使用,不推荐直接上生产环境,以免影响系统稳定性。 - ![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/002.png) + ![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/002.png) ## 轻量级数仓业务架构 @@ -52,7 +52,7 @@ OceanBase 从 4.3.3 版本开始,支持了只读列存副本,在上一小节 > "轻量数仓" 不是 “离线数仓”,含义是:不只有复杂查询,也有简单和轻量的点查。 - ![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/003.png) + ![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/003.png) ## OceanBase 在实时数仓业务设计中的位置及作用 @@ -75,13 +75,13 @@ OceanBase 从 4.3.3 版本开始,支持了只读列存副本,在上一小节 - 可以让 OceanBase 作为数仓主体。 - 通过 OceanBase 的物化视图能力,存储在 DWD 和 DWS 中清洗和汇总数据,从而消除上述不同层次间的 ETL 流程。 - ![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/004.png) + ![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/004.png) - 可以用 OceanBase 作为数仓的存储方案。 - 通过 Flink 等第三方生态工具进行计算,同时也会使用 OceanBase 进行一部分复杂查询(混合计算模式)。 - ![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/005.png) + ![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/005.png) - 当数据量大,且需要使用第三方生态工具作为数据加工层时: - 可以用 OceanBase 作 ODS 层,解决实时写入性能差的痛点。 - 可以用 OceanBase 作 ADS 层,解决高并发场景性能差的痛点。 - ![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/006.png) \ No newline at end of file + ![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/006.png) \ No newline at end of file diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning.md similarity index 89% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning.md index 32da912cc..318a6bbe2 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning.md @@ -24,18 +24,18 @@ SQL 性能诊断和调优,是在收集《进阶教程》用户建议过程中 上述这些内容都可以在《入门教程》第七章中学到(也可以只学这些内容),如果实在没有耐心阅读第七章的全部内容,那么就推荐阅读红框标注的这三个小节。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning/001.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning/001.png) 如果连这三个小节都没有耐心去阅读的话,那么就推荐阅读下面这两个小节右侧用红框标注的这几个段落,可以消除在 SQL 性能分析过程中一大部分去 OceanBase 社区论坛问答区提问的开销。 一个是常见 SQL 调优方式中的:统计信息、计划缓存、索引调优。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning/002.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning/002.png) 一个是典型场景和排查思路这一小节的完整内容。 -![image.png](/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning/003.png) +![image.png](/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning/003.png) diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/06_others.md b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/06_others.md similarity index 96% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/06_others.md rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/06_others.md index 631b9e6b9..e0f537fa5 100644 --- a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/06_others.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/06_others.md @@ -7,7 +7,7 @@ weight: 5 ## AP 场景参数配置最佳实践 -- **最佳实践很简单,就是一句话:推荐直接用参数模板。** 参数模板可以了却手动配置参数的烦恼,详见本教程的[《参数模板》](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/scenario_best_practices/parameter_templates) 章节。 +- **最佳实践很简单,就是一句话:推荐直接用参数模板。** 参数模板可以了却手动配置参数的烦恼,详见本教程的[《参数模板》](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/parameter_templates) 章节。 - 这里顺带把 OceanBase 文档团队同学整理的各个模板下的详细参数配置,也分享给大家,供感兴趣的同学参考: diff --git a/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/_category_.yml b/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/_category_.yml similarity index 100% rename from docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/_category_.yml rename to docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/_category_.yml diff --git a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide.md b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide.md similarity index 96% rename from docs/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide.md rename to docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide.md index 41311815d..426ec2546 100644 --- a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide.md @@ -24,7 +24,7 @@ OMS 社区版发生报错时,请先确认是否存在因官网文档中已提 下图为 OMS 社区版数据迁移或数据同步任务发生报错时的整体排查思路。 -![FAQ-1](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/001.png) +![FAQ-1](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/001.png) ## 产品功能、组件和日志位置说明 @@ -65,11 +65,11 @@ OMS 社区版发生报错时,请先确认是否存在因官网文档中已提 4. 单击页面右上角的 **查看组件监控**。 - ![FAQ-2](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/002.png) + ![FAQ-2](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/002.png) 5. 在 **查看组件监控** 对话框,查看 Full-Import 全量迁移组件的 **组件 ID**。 - ![FAQ-3](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/003.png) + ![FAQ-3](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/003.png) ### 增量同步 @@ -93,13 +93,13 @@ OMS 社区版发生报错时,请先确认是否存在因官网文档中已提 4. 单击页面右上角的 **查看组件监控**。 - ![FAQ-2](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/002.png) + ![FAQ-2](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/002.png) 5. 在 **查看组件监控** 对话框,查看 Store 增量拉取组件的 **组件 ID**。 组件 ID 的格式为 `{ip}-{port}:{subtopic}:{seq}`,您可以从组件 ID 中获取 Store 组件的 `{port}`。 - ![FAQ-4](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/004.png) + ![FAQ-4](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/004.png) @@ -293,7 +293,7 @@ slice 分片-> source 读取源端-> dispatcher 数据分发-> sink 写入目标 ## 全量校验数据问题 -![FAQ-5](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/005.png) +![FAQ-5](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/005.png) ### 如何从 Store 中 dump 数据 @@ -304,7 +304,7 @@ slice 分片-> source 读取源端-> dispatcher 数据分发-> sink 写入目标 wget 'localhost:17006/p_47qaxxxsu8_source-000-0' --post-data 'filter.conditions=*.*.*&checkpoint=1667996779' ``` -![FAQ-6](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/005.png) +![FAQ-6](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/005.png) ## 典型使用场景和功能 @@ -376,7 +376,7 @@ OceanBase 社区版作为源端时,对于无中间件表,OMS 社区版迁移 3. A、B 需要保留应用所有数据 -![FAQ-7](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/007.png) +![FAQ-7](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/007.png) ### 全量校验 diff --git a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide.md b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide.md similarity index 97% rename from docs/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide.md rename to docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide.md index 7cf592bea..668e2498c 100644 --- a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide.md @@ -12,7 +12,7 @@ OBD 发生报错时,请先确认是否存在因官网文档中已提到的使 下图为 OBD start 和 upgrade 发生报错时的整体排查思路: -![画板](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide/001.png) +![画板](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide/001.png) ## oceanbase 错误信息概述及错误码 [oceanbase错误信息和错误码](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000367311) @@ -20,9 +20,9 @@ OBD 发生报错时,请先确认是否存在因官网文档中已提到的使 ## 日志查看和位置说明 用户执行命令失败后可以直接使用终端控制台打印的 ``obd display-trace {trace-id}`` 查看该命令对应的详细日志具体操作如: -![](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide/002.png) +![](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide/002.png) -![](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide/003.png) +![](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide/003.png) obd 日志路径: ~/.obd/log/obd diff --git a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction.md b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction.md similarity index 97% rename from docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction.md rename to docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction.md index c834f7ad3..72fc26e59 100644 --- a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction.md @@ -10,13 +10,13 @@ weight: 1 ## ODP 的故障排查脑图 如果大家已经了解 ODP,只想对在 ODP 使用过程中遇到的问题进行排查,可以参考下面这张图片,跳转到后面几个小节进行阅读。 -![image](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/000.jpg) +![image](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/000.jpg) ## ODP 是什么 ODP 是代理服务器,代理服务器会让访问数据库的链路多一跳,那为什么需要 ODP 呢?我们以下图为例进行说明。 -![代理](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/001.png) +![代理](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/001.png) 图中 APP 是我们的业务程序,APP 下面有三台 ODP(ODP 的进程名叫做 obproxy),在实际部署中,ODP 和 APP 之间一般会有一个负载均衡(如 F5、LVS 或 Nginx 等)将请求分散到多台 ODP 上面,ODP 下面是 OBServer 节点,图中有 6 个 OBServer 节点。 @@ -80,7 +80,7 @@ Partition 是 OceanBase 数据存储的基本单元。当我们创建一张 Tabl 其路由实现逻辑如下图所示: -![路由逻辑](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/002.png) +![路由逻辑](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/002.png) 1. 解析 SQL 并提取信息 @@ -110,7 +110,7 @@ Partition 是 OceanBase 数据存储的基本单元。当我们创建一张 Tabl 本地计划表示语句所涉及的所有分区的主副本都在当前 Session 所在的 OBServer 节点上,整条 SQL 在执行过程中,不需要和其他 OBServer 节点再进行额外地交互。 -![本地计划](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/003.png) +![本地计划](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/003.png) 一般来说,本地执行通过 explain 命令看到的计划会长这样: @@ -128,7 +128,7 @@ Partition 是 OceanBase 数据存储的基本单元。当我们创建一张 Tabl 远程(Remote)计划表示当前语句所涉及的所有分区主副本都与当前 Session 所在的 OBServer 节点不同,且都集中在另外一台 OBServer 节点上,需要 OBServer 节点再对 SQL 或者子计划进行一次转发。 -![远程计划](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/004.png) +![远程计划](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/004.png) 一般来说,远程执行通过 explain 命令看到的计划会长这样(存在 `EXCHANGE REMOTE` 算子): @@ -158,7 +158,7 @@ Partition 是 OceanBase 数据存储的基本单元。当我们创建一张 Tabl 分布式计划会使用并行执行的方式进行调度,调度过程中会将其切分成多个操作步骤,每个操作步骤称之为一个 DFO(Data Flow Operation)。 -![分布式计划](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/005.png) +![分布式计划](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/005.png) 分布式执行通过 explain 命令看到的计划(存在 `EXCHANGE DISTR` 算子): @@ -338,7 +338,7 @@ select database_name, table_name, table_id, table_type, zone, svr_ip, role from OceanBase 数据库作为典型的高可用分布式关系型数据库,使用 Paxos 协议进行日志同步,天然支持多地多中心的部署方式以提供高可靠的容灾保证。但当真正多地多中心部署时,任何数据库都会面临异地路由延迟问题。逻辑数据中心(Logical Data Center,LDC)路由正是为了解决这一问题而设计的。在为 OceanBase 集群的每个 Zone 设置地区(Region)属性和机房(IDC)属性,并为 ODP 指定机房(IDC)名称配置项的情况下,当数据请求发到 ODP 时,ODP 将按 “同机房 > 同地区 > 异地” 的优先级顺序进行 OBServer 节点的选取。具体的设置方法详见官网《OceanBase 数据库代理》文档 [数据路由/租户内路由/路由策略路由](https://www.oceanbase.com/docs/common-odp-doc-cn-1000000000517780)。 -![LDC](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/006.png) +![LDC](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/006.png) 同时,OceanBase 数据库还支持通过调整系统变量的方式改变默认的路由策略,详见官网《OceanBase 数据库》文档 [参考指南/系统原理/数据链路/数据库代理/SQL 路由](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001050895)。 @@ -346,7 +346,7 @@ OceanBase 数据库作为典型的高可用分布式关系型数据库,使用 高可用因素是指 OceanBase 数据库对机器故障有容忍能力,让故障对应用透明无感知,ODP 发现 OBServer 节点故障后,路由时会排除故障节点,选择健康节点,对于正在执行的SQL也有一定的重试能力。高可用涉及故障探测、黑名单机制、重试逻辑等内容。如图所示,ODP 发现 OBServer1 故障后,将该节点加入黑名单。路由时从健康节点选择。 -![高可用](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/007.png) +![高可用](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/007.png) 了解了数据路由的影响因素和路由原则后,我们就可以更高效地进行路由策略设计了。不过,现实情况会复杂很多,原则上我们要实时感知 OBServer 节点状态、数据分布等,但在工程实践中很难做到,便引发出许多问题。因此,我们在考虑路由时需要兼顾功能、性能和高可用,让 OceanBase 数据库“更好用”。 @@ -364,7 +364,7 @@ ODP 实现了集群路由、租户路由和租户内路由,通过 ODP 可以 需要注意的是,这里的 rslist 不需要包含所有的集群机器列表,ODP 会通过访问视图获取集群所有机器,一般 rslist 为 RootServer(OceanBase 数据库的总控服务)所在的机器。 -![集群路由步骤](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/008.png) +![集群路由步骤](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/008.png) 从上图中可以看到,OCP 是集群路由时非常重要的一个模块。当生产环境中出现集群路由问题时,需着重排查是否是 OCP 模块出现了问题。 @@ -400,7 +400,7 @@ ODP 会每 15 秒访问一次 `DBA_OB_SERVERS`,维护最新的路由信息, ODP 查询租户路由信息并不是通过 unit 相关的表,而是通过特殊表名 `__all_dummy` 表示查询租户信息。ODP 需要通过内部表 `__all_virtual_proxy_schema` 获取租户的机器列表,在访问 `__all_virtual_proxy_schema` 时,ODP 指定表名(`__all_dummy`)和指定租户名获取租户的节点信息。 -![普通租户路由](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/009.png) +![普通租户路由](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/009.png) ODP 会将获取到的租户信息保存在本地内存中,并根据一定策略进行缓存信息的更新。对于 sys 租户,通过每 15 秒一次的拉取任务获得最新的信息;对于普通租户,ODP 的刷新频率并不高,普通租户的路由缓存策略如下: diff --git a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace.md b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace.md similarity index 98% rename from docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace.md rename to docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace.md index aaa5edd7b..012d0a49a 100644 --- a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace.md @@ -13,7 +13,7 @@ OceanBase 数据库的数据链路为 `APPServer <-> OBProxy <-> OBServer`。APP 当出现端到端的性能问题时(在数据库场景下,端到端表示在应用服务器上观察到 SQL 请求的 RT 很高),此时首先需要定位是数据库访问链路上哪个组件的问题,再排查组件内的具体问题。 -![全链路追踪](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace/001.png) +![全链路追踪](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace/001.png) 全链路追踪覆盖了两条主要的数据流路径: @@ -198,4 +198,4 @@ set ob_enable_show_trace='off'; 如果慢在 ODP 转发阶段,可以怀疑是不是 ODP 和 OBServer 节点之间的网络出现故障了,或者是不是 ODP 还没缓存位置信息等问题。 -如果慢在 SQL 执行阶段,就可以怀疑是不是创建的索引不够优等问题,并进行相应的 SQL 调优,详见本教程的[《SQL 性能诊断和调优》小节](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/performance_tuning)。 \ No newline at end of file +如果慢在 SQL 执行阶段,就可以怀疑是不是创建的索引不够优等问题,并进行相应的 SQL 调优,详见本教程的[《SQL 性能诊断和调优》小节](https://oceanbase.github.io/docs/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/performance_tuning)。 \ No newline at end of file diff --git a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis.md b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis.md similarity index 99% rename from docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis.md rename to docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis.md index a7ec81cde..8c528e2ea 100644 --- a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis.md +++ b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis.md @@ -301,7 +301,7 @@ ODP 或 OceanBase 数据库内部错误有如下几种场景。 客户端请求到 OceanBase 数据库的链路比较常见的有下图两种。 -![链路图](/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis/001.png) +![链路图](/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis/001.png) 客户端的请求到 OceanBase 数据库之间的链路需要经过多个节点,任一节点出现问题都有可能会导致客户端的连接断开。所以当发生断连接且客户端没有收到明确的错误包提示断连接原因时,排查断连接问题需先确定断连接方,之后再根据断连接方对应排查断连接原因。具体操作如下。 diff --git a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/04_routing_diagnosis.md b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/04_routing_diagnosis.md similarity index 100% rename from docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/04_routing_diagnosis.md rename to docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/04_routing_diagnosis.md diff --git a/docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/_category_.yml b/docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/_category_.yml similarity index 100% rename from docs/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/_category_.yml rename to docs/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/_category_.yml diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 9f8cb2fde..6bfe9b41b 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -17,17 +17,17 @@ const prod_docs = const user_manual = [ { - label: 'Quick Starts And Hands-On Practices (in English)', + label: 'Quick Starts (in English)', to: '/docs/user_manual/quick_starts/en-US/chapter_01_overview_of_the_oceanbase_database/overview' }, { - label: 'Quick Starts And Hands-On Practices (in Chinese)', + label: 'Quick Starts (in Chinese)', href: 'https://www.oceanbase.com/docs/enterprise-tutorials-cn-1000000001390092' }, { label: 'Operation And Maintenance Manual (in Chinese)', - to: '/docs/user_manual/operation_and_maintenance/about_this_manual/overview' + to: '/docs/user_manual/operation_and_maintenance/zh-CN/about_this_manual/overview' } ] diff --git a/sidebars.ts b/sidebars.ts index 34eaafd9e..9d36d665f 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -141,7 +141,7 @@ const sidebars: SidebarsConfig = { label: '关于 《DBA 进阶教程》', items: [{ type: 'autogenerated', - dirName: 'user_manual/operation_and_maintenance/about_this_manual' + dirName: 'user_manual/operation_and_maintenance/zh-CN/about_this_manual' }] }, { @@ -149,7 +149,7 @@ const sidebars: SidebarsConfig = { label: '容灾架构设计', items: [{ type: 'autogenerated', - dirName: 'user_manual/operation_and_maintenance/disaster_recovery_architecture_design' + dirName: 'user_manual/operation_and_maintenance/zh-CN/disaster_recovery_architecture_design' }] }, { @@ -157,7 +157,7 @@ const sidebars: SidebarsConfig = { label: '运维管理', items: [{ type: 'autogenerated', - dirName: 'user_manual/operation_and_maintenance/operations_and_maintenance' + dirName: 'user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance' }] }, { @@ -165,7 +165,7 @@ const sidebars: SidebarsConfig = { label: '场景最佳实践', items: [{ type: 'autogenerated', - dirName: 'user_manual/operation_and_maintenance/scenario_best_practices' + dirName: 'user_manual/operation_and_maintenance/zh-CN/scenario_best_practices' }] }, { @@ -173,7 +173,7 @@ const sidebars: SidebarsConfig = { label: '数据库开发规范', items: [{ type: 'autogenerated', - dirName: 'user_manual/operation_and_maintenance/development_specification' + dirName: 'user_manual/operation_and_maintenance/zh-CN/development_specification' }] }, { @@ -181,7 +181,7 @@ const sidebars: SidebarsConfig = { label: 'OBServer 故障应急手册', items: [{ type: 'autogenerated', - dirName: 'user_manual/operation_and_maintenance/emergency_handbook' + dirName: 'user_manual/operation_and_maintenance/zh-CN/emergency_handbook' }] }, { @@ -189,7 +189,7 @@ const sidebars: SidebarsConfig = { label: '社区版工具问题排查手册', items: [{ type: 'autogenerated', - dirName: 'user_manual/operation_and_maintenance/tool_emergency_handbook' + dirName: 'user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook' }] }, ], diff --git a/static/img/user_manual/operation_and_maintenance/about_this_manual/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/about_this_manual/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/about_this_manual/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/about_this_manual/001.png diff --git a/static/img/user_manual/operation_and_maintenance/development_specification/01_object_specification/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/development_specification/01_object_specification/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/development_specification/01_object_specification/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/development_specification/01_object_specification/001.png diff --git a/static/img/user_manual/operation_and_maintenance/development_specification/02_charset_specification/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/development_specification/02_charset_specification/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/development_specification/02_charset_specification/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/development_specification/02_charset_specification/001.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/01_emergency_overview/001.jpg b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/01_emergency_overview/001.jpg similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/01_emergency_overview/001.jpg rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/01_emergency_overview/001.jpg diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/001.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/002.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/003.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/004.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/005.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/006.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/006.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/006.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/006.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/007.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/007.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/007.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/007.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/008.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/008.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/008.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/008.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/009.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/009.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/02_slow_response/009.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/02_slow_response/009.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/001.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/002.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/003.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/004.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/005.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/006.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/006.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/006.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/006.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/007.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/007.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/007.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/007.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/008.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/008.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/03_cpu_high/008.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/03_cpu_high/008.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/04_node_breakdown/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/04_node_breakdown/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/04_node_breakdown/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/04_node_breakdown/001.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/001.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/002.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/003.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/05_network_problem/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/05_network_problem/004.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/06_disk_problem/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/06_disk_problem/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/06_disk_problem/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/06_disk_problem/001.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/06_disk_problem/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/06_disk_problem/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/06_disk_problem/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/06_disk_problem/002.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask/001.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask/002.png diff --git a/static/img/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/emergency_handbook/08_how_to_ask/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/emergency_handbook/08_how_to_ask/003.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/001.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/002.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/003.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/004.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/005.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/006.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/006.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/006.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/006.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/007.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/007.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/007.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/007.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/008.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/008.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/008.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/008.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/009.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/009.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/009.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/009.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/010.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/010.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/01_version_upgrade_path/010.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/01_version_upgrade_path/010.png diff --git a/static/img/user_manual/operation_and_maintenance/operations_and_maintenance/02_commonly_used_sql/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/02_commonly_used_sql/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/operations_and_maintenance/02_commonly_used_sql/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/operations_and_maintenance/02_commonly_used_sql/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/003.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/004.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/005.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/006.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/006.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/006.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/006.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/007.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/007.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/007.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/007.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/008.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/008.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/01_parameter_templates/008.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/01_parameter_templates/008.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/01_introduction/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/01_introduction/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/01_introduction/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/01_introduction/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/01_introduction/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/01_introduction/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/01_introduction/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/01_introduction/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/003.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/02_background_knowledge/004.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/03_resource_isolation_between_tenants/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/02_cgroup_config/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/003.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/004.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/005.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/006.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/006.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/006.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_01_multi_tenants/04_resource_isolation_within_a_tenant/05_effect_of_resource_isolation/006.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/01_introduction/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/01_introduction/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/01_introduction/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/01_introduction/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/01_introduction/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/01_introduction/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/01_introduction/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/01_introduction/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/003.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/004.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/005.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/006.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/006.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/006.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/006.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/007.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/007.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/007.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/02_background_knowledge/007.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/003.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/004.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/005.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/006.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/006.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/006.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/006.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/007.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/007.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/007.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/007.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/008.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/008.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/008.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/008.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/009.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/009.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/009.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/009.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/010.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/010.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/010.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_02_archive_database/03_data_archive_best_practices/010.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/003.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/004.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/005.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/006.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/006.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/01_introduction/006.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/01_introduction/006.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/02_background_knowledge/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/02_background_knowledge/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/02_background_knowledge/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/02_background_knowledge/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/003.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/03_read_write_separation_best_practices/004.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/003.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/004.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/005.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/006.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/006.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/04_htap_best_practices/006.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/04_htap_best_practices/006.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning/001.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning/002.png diff --git a/static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/scenario_best_practices/chapter_03_htap/05_performance_tuning/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/scenario_best_practices/chapter_03_htap/05_performance_tuning/003.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/001.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/002.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/003.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/004.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/005.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/006png.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/006png.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/006png.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/006png.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/007.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/007.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/01_oms_troubleshooting_guide/007.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/01_oms_troubleshooting_guide/007.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide/001.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide/002.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/02_obd_troubleshooting_guide/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/02_obd_troubleshooting_guide/003.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/000.jpg b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/000.jpg similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/000.jpg rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/000.jpg diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/001.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/002.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/002.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/002.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/002.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/003.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/003.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/003.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/003.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/004.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/004.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/004.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/004.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/005.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/005.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/005.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/005.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/006.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/006.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/006.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/006.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/007.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/007.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/007.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/007.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/008.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/008.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/008.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/008.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/009.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/009.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/009.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/01_introduction/009.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/02_show_trace/001.png diff --git a/static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis/001.png b/static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis/001.png similarity index 100% rename from static/img/user_manual/operation_and_maintenance/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis/001.png rename to static/img/user_manual/operation_and_maintenance/zh-CN/tool_emergency_handbook/odp_troubleshooting_guide/03_connection_diagnosis/001.png