{
    "demo_001": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Todd Bao (CEG)",
            "Yasuo Honda (JBG)",
            "Tadatoshi Sekiguchi (JBG)"
        ],
        "description_en": "This hands-on lab demonstrates how to achieve zero downtime for a database during a data center or availability zone failure. Thanks to TiDB's distributed architecture, failures at the data center or Availability Zone level don't need to trigger a server-side failover and let the database clients wait on the failover to complete. Instead, database clients can seamlessly connect to the available TiDB server instances, ensuring continuous business operations. Should such disasters occur, the application can set an operation timeout by their business requirements. Unlike traditional systems, TiDB doesn't require server-side failover to complete before the database client can reconnect.",
        "description_zh": "本实验演示了在数据中心或可用性区域发生故障时如何实现数据库的零宕机。由于 TiDB 的分布式架构，数据中心或可用性区域级别的故障不需要触发服务器端故障转移，并让数据库客户端等待故障转移完成。相反，数据库客户端可以无缝连接到可用的 TiDB 服务器实例，确保业务连续运行。如果发生此类灾难，应用程序可以根据其业务需求设置操作超时。与传统系统不同，TiDB 不需要在数据库客户端重新连接之前完成服务器端故障转移。",
        "description_ja": "この演習では、データセンターまたは可用性ゾーンの障害が発生した場合にデータベースのゼロダウンタイムを実現する方法を示します。TiDB の分散アーキテクチャのおかげで、データセンターまたは可用性ゾーンレベルの障害は、サーバーサイドのフェイルオーバーをトリガーする必要はありません。データベースクライアントはフェイルオーバーが完了するのを待つ必要がありません。代わりに、データベースクライアントは利用可能な TiDB サーバーインスタンスにシームレスに接続でき、ビジネスの連続性を確保できます。このような災害が発生した場合、アプリケーションはビジネス要件に応じて操作タイムアウトを設定できます。従来のシステムとは異なり、TiDB はデータベースクライアントが再接続する前にサーバーサイドのフェイルオーバーを完了する必要はありません。",
        "description_ko": "이 실습은 데이터 센터 또는 가용성 영역 장애 시 데이터베이스의 무중단 운영을 달성하는 방법을 보여줍니다. TiDB의 분산 아키텍처 덕분에 데이터 센터 또는 가용성 영역 수준의 장애는 서버 측 장애 조치를 트리거할 필요가 없으며, 데이터베이스 클라이언트가 장애 조치 완료를 기다릴 필요도 없습니다. 대신 데이터베이스 클라이언트는 사용 가능한 TiDB 서버 인스턴스에 원활하게 연결하여 비즈니스 운영의 연속성을 보장할 수 있습니다. 이러한 재해가 발생하면 애플리케이션은 비즈니스 요구 사항에 따라 작업 타임아웃을 설정할 수 있습니다. 기존 시스템과 달리 TiDB는 데이터베이스 클라이언트가 다시 연결하기 전에 서버 측 장애 조치가 완료될 필요가 없습니다.",
        "lab_code": "demo_001",
        "group_type": "single",
        "group_name": "demo_001",
        "credit_redeemable": true,
        "credits": 3,
        "title_en": "Database Zero Downtime Under Availability Zone Failure",
        "title_zh": "可用区故障期间数据库零宕机",
        "title_ja": "アベイラビリティゾーン障害時ダウンタイムなし",
        "title_ko": "가용성 영역 장애 시 데이터베이스 무중단 운영",
        "category_en": [
            "Disaster Recovery",
            "High Availability"
        ],
        "category_zh": [
            "容灾",
            "高可用"
        ],
        "category_ja": [
            "ディザスタリカバリ",
            "高可用性"
        ],
        "category_ko": [
            "재해 복구",
            "고가용성"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "6.5.9",
            "7.5.4",
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_005": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Todd Bao (CEG)",
            "Yasuo Honda (JBG)",
            "Tadatoshi Sekiguchi (JBG)"
        ],
        "description_en": "This hands-on lab showcases TiDB's seamless online rolling upgrade capability, avoiding disruptions to client applications — a common issue with traditional database upgrades. TiDB's cloud-native, loosely coupled architecture allows component-by-component, instance-by-instance upgrades. TiProxy enhances this by decoupling client sessions from stateless TiDB servers. During TiDB server reboots for upgrades, TiProxy seamlessly migrates sessions to active instances, ensuring uninterrupted client operations throughout the upgrade process.",
        "description_zh": "本实验展示了 TiDB 无缝在线滚动升级功能，避免了传统数据库升级中常见的客户应用程序中断问题。TiDB 的云原生、松耦合架构允许逐个组件、逐个实例进行升级。TiProxy 通过将客户会话与无状态 TiDB 服务器解耦，增强了这一功能。在 TiDB 服务器因升级而重新启动时，TiProxy 会将会话无缝迁移到活动实例，确保在整个升级过程中客户操作不中断。",
        "description_ja": "このハンズオン演習では、TiDB のシームレスなオンラインローリングアップグレード機能を紹介し、クライアントアプリケーションの中断を回避します。これは従来のデータベースのアップグレードでよくある問題です。TiDB のクラウドネイティブで疎結合なアーキテクチャにより、コンポーネントごと、インスタンスごとにアップグレードが可能です。TiProxy は、クライアントセッションを状態のない TiDB サーバーから切り離すことで、この機能を強化しています。TiDB サーバーがアップグレードのために再起動される際、TiProxy はセッションをアクティブなインスタンスにシームレスに移行し、アップグレードプロセス全体でクライアント操作が中断されないようにします。",
        "description_ko": "이 실습에서는 TiDB의 원활한 온라인 롤링 업그레이드 기능을 소개하며, 기존 데이터베이스 업그레이드에서 흔히 발생하는 클라이언트 애플리케이션 중단 문제를 방지합니다. TiDB의 클라우드 네이티브, 느슨하게 결합된 아키텍처는 컴포넌트별, 인스턴스별 업그레이드를 가능하게 합니다. TiProxy는 클라이언트 세션을 상태 비저장 TiDB 서버에서 분리하여 이 기능을 향상시킵니다. 업그레이드를 위해 TiDB 서버가 재부팅되는 동안, TiProxy는 세션을 활성 인스턴스로 원활하게 마이그레이션하여 업그레이드 프로세스 전반에 걸쳐 클라이언트 작업이 중단되지 않도록 보장합니다.",
        "lab_code": "demo_005",
        "group_type": "single",
        "group_name": "demo_005",
        "credit_redeemable": true,
        "credits": 5,
        "title_en": "Database Zero Downtime Online Upgrade With TiProxy",
        "title_zh": "数据库零宕机在线升级",
        "title_ja": "アップグレード時ダウンタイムなし",
        "title_ko": "TiProxy를 사용한 데이터베이스 온라인 업그레이드 시 무중단",
        "category_en": [
            "High Availability"
        ],
        "category_zh": [
            "高可用"
        ],
        "category_ja": [
            "高可用性"
        ],
        "category_ko": [
            "고가용성"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_005_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_005_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_005_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_005_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.4"
        ],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 1,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_006": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Tony Huang (CEG)",
            "Fei Dong (CEG)"
        ],
        "description_en": "This hands-on lab demonstrates how to use TiDB's resource control feature to manage mixed workloads in a database. TiDB's resource control feature allows you to set resource limits for different workloads, ensuring that one workload doesn't consume all the resources and impact other workloads. This feature is especially useful in a multi-tenant environment where different workloads have different resource requirements.",
        "description_zh": "本实验演示了如何使用 TiDB 的资源控制功能来管理数据库中的混合工作负载。TiDB 的资源控制功能允许您为不同的工作负载设置资源限制，确保一个工作负载不会消耗所有资源并影响其他工作负载。此功能在多租户环境中特别有用，因为不同的工作负载具有不同的资源需求。",
        "description_ja": "このハンズオン演習では、データベース内の混合ワークロードを管理するために TiDB のリソース制御機能を使用する方法を示します。TiDB のリソース制御機能を使用すると、異なるワークロードに対してリソース制限を設定でき、1 つのワークロードがすべてのリソースを消費して他のワークロードに影響を与えることがありません。この機能は、異なるワークロードに異なるリソース要件があるマルチテナント環境で特に有用です。",
        "description_ko": "이 실습에서는 데이터베이스의 혼합 워크로드를 관리하기 위해 TiDB의 리소스 제어 기능을 사용하는 방법을 보여줍니다. TiDB의 리소스 제어 기능을 사용하면 다양한 워크로드에 대해 리소스 제한을 설정할 수 있어, 하나의 워크로드가 모든 리소스를 소비하여 다른 워크로드에 영향을 주는 것을 방지할 수 있습니다. 이 기능은 서로 다른 워크로드가 서로 다른 리소스 요구사항을 가진 멀티테넌트 환경에서 특히 유용합니다.",
        "lab_code": "demo_006",
        "group_type": "single",
        "group_name": "demo_006",
        "credit_redeemable": true,
        "credits": 8,
        "title_en": "Using Resource Control with Mixed Workloads",
        "title_zh": "利用资源控制功能管理数据库混合工作负载",
        "title_ja": "リソース制御を使用して混合ワークロードを管理",
        "title_ko": "혼합 워크로드에 리소스 제어 사용",
        "category_en": [
            "Building Modern Applications",
            "Multi-Tenant"
        ],
        "category_zh": [
            "构建现代应用",
            "多租户"
        ],
        "category_ja": [
            "モダンアプリケーションの構築",
            "マルチテナント"
        ],
        "category_ko": [
            "현대 애플리케이션 구축",
            "멀티테넌트"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_006_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_006_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_006_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_006_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.4",
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_009": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Todd Bao (CEG)"
        ],
        "description_en": "This hands-on lab demonstrates how to scale a TiDB cluster in and out. Scaling in and out refers to adding or removing nodes from a TiDB cluster to adjust its capacity. Scaling in and out is a common operation in a cloud environment where workloads can change rapidly. This lab shows you how to scale a TiDB cluster in and out using TiUP, a powerful cluster management tool for TiDB.",
        "description_zh": "本实验演示了如何对 TiDB 集群进行扩容和缩容。扩容和缩容是指向 TiDB 集群添加或删除节点以调整其容量。在工作负载可能快速变化的云环境中，扩容和缩容是一种常见操作。本实验向您展示了如何使用 TiUP 对 TiDB 集群进行扩容和缩容，TiUP 是 TiDB 的强大集群管理工具。",
        "description_ja": "このハンズオン演習では、TiDB クラスタのスケーリングインとスケーリングアウトの方法を示します。スケーリングインとスケーリングアウトとは、TiDB クラスタにノードを追加または削除して容量を調整することを指します。スケーリングインとスケーリングアウトは、ワークロードが急速に変化する可能性があるクラウド環境で一般的な操作です。この演習では、TiDB の強力なクラスタ管理ツールである TiUP を使用して TiDB クラスタをスケーリングインおよびスケーリングアウトする方法を示します。",
        "description_ko": "이 실습에서는 TiDB 클러스터를 확장하고 축소하는 방법을 보여줍니다. 확장 및 축소는 TiDB 클러스터에 노드를 추가 또는 제거하여 용량을 조정하는 것을 의미합니다. 확장 및 축소는 작업 부하가 급격히 변화할 수 있는 클라우드 환경에서 일반적인 작업입니다. 이 실습에서는 TiUP, TiDB의 강력한 클러스터 관리 도구를 사용하여 TiDB 클러스터를 확장하고 축소하는 방법을 보여줍니다.",
        "lab_code": "demo_009",
        "group_type": "single",
        "group_name": "demo_009",
        "credit_redeemable": true,
        "credits": 15,
        "title_en": "Database Scaling In and Scaling Out",
        "title_zh": "TiDB 集群扩容与缩容",
        "title_ja": "TiDB クラスタのスケールインとスケールアウト",
        "title_ko": "TiDB 클러스터 확장 및 축소",
        "category_en": [
            "Scalability"
        ],
        "category_zh": [
            "可扩展性"
        ],
        "category_ja": [
            "スケーラビリティ"
        ],
        "category_ko": [
            "확장성"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_009_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_009_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_009_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_009_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 45,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "6.5.9",
            "7.5.4",
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 4,
        "tidb_count": 2,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_010": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Todd Bao (CEG)"
        ],
        "description_en": "This hands-on lab demonstrates how to deploy a TiDB cluster using TiUP, a powerful cluster management tool for TiDB. TiUP simplifies the deployment process by providing a unified interface for deploying, scaling, and managing TiDB clusters. This lab shows you how to deploy a TiDB cluster using TiUP, including setting up the cluster topology and verifying the cluster's status.",
        "description_zh": "本实验演示了如何使用 TiUP 部署 TiDB 集群，TiUP 是 TiDB 的强大集群管理工具。TiUP 通过提供统一的界面来部署、扩展和管理 TiDB 集群，简化了部署过程。本实验向您展示了如何使用 TiUP 部署 TiDB 集群，包括设置集群拓扑和验证集群状态。",
        "description_ja": "このハンズオン演習では、TiUP を使用して TiDB クラスタを導入する方法を示します。TiUP は、TiDB クラスタの導入、スケーリング、管理に統一されたインターフェースを提供することで、導入プロセスを簡素化します。この演習では、TiUP を使用して TiDB クラスタを導入する方法、つまりクラスタのトポロジを設定し、クラスタのステータスを確認する方法を示します。",
        "description_ko": "이 실습에서는 TiUP을 사용하여 TiDB 클러스터를 배포하는 방법을 보여줍니다. TiUP은 TiDB 클러스터의 배포, 확장, 관리에 통합된 인터페이스를 제공하여 배포 프로세스를 간소화합니다. 이 실습에서는 TiUP을 사용하여 TiDB 클러스터를 배포하는 방법을 보여줍니다. 클러스터 토폴로지를 설정하고 클러스터의 상태를 확인하는 방법을 보여줍니다.",
        "lab_code": "demo_010",
        "group_type": "single",
        "group_name": "demo_010",
        "credit_redeemable": true,
        "credits": 5,
        "title_en": "Deploying a TiDB Cluster Using TiUP",
        "title_zh": "使用 TiUP 部署 TiDB 集群",
        "title_ja": "TiUP を使用した TiDB クラスタの導入",
        "title_ko": "TiUP을 사용한 TiDB 클러스터 배포",
        "category_en": [
            "Infrastructure Management"
        ],
        "category_zh": [
            "基础设施管理"
        ],
        "category_ja": [
            "インフラストラクチャ管理"
        ],
        "category_ko": [
            "인프라 관리"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_010_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_010_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_010_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_010_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "6.5.9",
            "7.5.4",
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_011": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Todd Bao (CEG)"
        ],
        "description_en": "This hands-on lab demonstrates how to migrate from MySQL to TiDB using TiDB Data Migration. TiDB Data Migration is a powerful tool that simplifies the migration process by providing a unified interface for migrating data from MySQL to TiDB. This lab shows you how to migrate from MySQL to TiDB using TiDB Data Migration, including setting up the migration task and verifying the migration result.",
        "description_zh": "本实验演示了如何使用 TiDB Data Migration 从 MySQL 迁移到 TiDB。TiDB Data Migration 是一个强大的工具，通过提供统一的界面，简化了从 MySQL 迁移到 TiDB 的迁移过程。本实验向您展示了如何使用 TiDB Data Migration 从 MySQL 迁移到 TiDB，包括设置迁移任务和验证迁移结果。",
        "description_ja": "このハンズオン演習では、TiDB Data Migration を使用して MySQL から TiDB に移行する方法を示します。TiDB Data Migration は、MySQL から TiDB へのデータ移行を行うための統一されたインターフェースを提供することで、移行プロセスを簡素化する強力なツールです。この演習では、TiDB Data Migration を使用して MySQL から TiDB に移行する方法、つまり移行タスクの設定と移行結果の確認方法を示します。",
        "description_ko": "이 실습에서는 TiDB Data Migration을 사용하여 MySQL에서 TiDB로 마이그레이션하는 방법을 보여줍니다. TiDB Data Migration은 MySQL에서 TiDB로 데이터를 마이그레이션하기 위한 통합된 인터페이스를 제공하여 마이그레이션 프로세스를 간소화하는 강력한 도구입니다. 이 실습에서는 TiDB Data Migration을 사용하여 MySQL에서 TiDB로 마이그레이션하는 방법을 보여줍니다. 마이그레이션 작업을 설정하고 마이그레이션 결과를 확인하는 방법을 보여줍니다.",
        "lab_code": "demo_011",
        "group_type": "single",
        "group_name": "demo_011",
        "credit_redeemable": true,
        "credits": 5,
        "title_en": "Migrate from MySQL to TiDB Using TiDB Data Migration",
        "title_zh": "使用 TiDB Data Migration 从 MySQL 迁移到 TiDB",
        "title_ja": "TiDB データ移行を使用して MySQL から TiDB に移行する",
        "title_ko": "TiDB Data Migration을 사용하여 MySQL에서 TiDB로 마이그레이션",
        "category_en": [
            "Data Migration"
        ],
        "category_zh": [
            "数据迁移"
        ],
        "category_ja": [
            "データ移行"
        ],
        "category_ko": [
            "데이터 마이그레이션"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_011_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_011_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_011_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_011_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 90,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 0,
        "mysql_count": 1,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_012": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Todd Bao (CEG)",
            "Sean Bogaard (CEG)",
            "Kyle Cao (NA)",
            "Masaki Hayashi (JBG)",
            "Sam Dillard (NA)",
            "Matthew Penaroza (NA)"
        ],
        "description_en": "In this hands-on lab, you will set up a database replication task from a MySQL source to a TiDB destination. You will also conduct real-time analysis on TiDB as changes are applied to MySQL. Thus, TiDB balances the transactional and analytical workload demands as an Operational Data Layer with TiFlash/HTAP support.",
        "description_zh": "在这个实验中，您将设置一个从 MySQL 源到 TiDB 目的地的数据库复制任务。您还将在 MySQL 应用更改时对 TiDB 进行实时分析。因此，TiDB 作为由 TiFlash/HTAP 支持的运营数据层平衡了事务和分析工作负载需求。",
        "description_ja": "このハンズオン演習では、MySQL ソースから TiDB 宛先へのデータベースレプリケーションタスクを設定します。また、MySQL に変更が適用されるときに TiDB でリアルタイム分析を実行します。これにより、TiDB は TiFlash/HTAP サポートを備えた運用データレイヤーとしてトランザクションと分析のワークロード要求をバランスします。",
        "description_ko": "이 실습에서는 MySQL 소스에서 TiDB 대상으로 데이터베이스 복제 작업을 설정합니다. MySQL에 변경 사항이 적용될 때 TiDB에서 실시간 분석을 수행합니다. 따라서 TiDB는 TiFlash/HTAP 지원을 통해 트랜잭션 및 분석 워크로드 요구 사항을 조정합니다.",
        "lab_code": "demo_012",
        "group_type": "single",
        "group_name": "demo_012",
        "credit_redeemable": true,
        "credits": 6,
        "title_en": "Using TiDB as an Operational Data Layer",
        "title_zh": "使用 TiDB 作为 ODS",
        "title_ja": "TiDB を運用データ レイヤーとして使用する",
        "title_ko": "TiDB를 운영 데이터 레이어로 사용",
        "category_en": [
            "Building Modern Applications"
        ],
        "category_zh": [
            "构建现代应用"
        ],
        "category_ja": [
            "モダンアプリケーションの構築"
        ],
        "category_ko": [
            "모던 애플리케이션 구축"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_012_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_012_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_012_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_012_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 90,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 1,
        "tiflash_count": 1,
        "mysql_count": 1,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_013": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)"
        ],
        "description_en": "In this practice, participants will learn how to control the scaling rates of the TiKV cluster by adjusting the parameters of the PD component and the TiKV cluster itself. This will help in managing the impact of scaling operations on the load of the TiKV cluster.",
        "description_zh": "在本实验中，参与者将学习通过 PD 组件和 TiKV 集群的参数分别控制扩容和缩容平衡的速率，以此来调整 TiKV 集群的扩容和缩容操作对于负载的影响。",
        "description_ja": "本演習では、受講者が PD コンポーネントおよび TiKV クラスタのパラメータを通じて、スケールアウトおよびスケールインのバランス速度をそれぞれ制御する方法を学び、これにより TiKV クラスタのスケールアウトおよびスケールイン操作が負荷に与える影響を調整します。",
        "description_ko": "이 실습에서는 PD 구성 요소와 TiKV 클러스터 자체의 매개 변수를 조정하여 TiKV 클러스터의 확장 및 축소 속도를 제어하는 방법을 배웁니다. 이를 통해 TiKV 클러스터의 확장 및 축소 작업이 부하에 미치는 영향을 조정할 수 있습니다.",
        "lab_code": "demo_013",
        "group_type": "single",
        "group_name": "demo_013",
        "credit_redeemable": true,
        "credits": 5,
        "title_en": "Seamless Scaling Deep Dive - Mastering the Rebalancing Speed",
        "title_zh": "深入理解扩容与缩容 - 控制重平衡的速率",
        "title_ja": "データベーススケーラビリティ徹底解説：リバランス速度を制する技術",
        "title_ko": "스케일 아웃 및 스케일 인을 깊이 이해하십시오 - 재균형화 속도 제어",
        "category_en": [
            "Scalability"
        ],
        "category_zh": [
            "可扩展性"
        ],
        "category_ja": [
            "スケーラビリティ"
        ],
        "category_ko": [
            "확장성"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/images/2025/7/24/0daed4194e657971fb48425981b9ba22b5820dbf.png",
        "splash_image_zh": "https://lab-static.pingcap.com/images/2025/7/24/0daed4194e657971fb48425981b9ba22b5820dbf.png",
        "splash_image_ja": "https://lab-static.pingcap.com/images/2025/7/24/0daed4194e657971fb48425981b9ba22b5820dbf.png",
        "splash_image_ko": "https://lab-static.pingcap.com/images/2025/7/24/0daed4194e657971fb48425981b9ba22b5820dbf.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.4",
            "8.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 4,
        "tidb_count": 2,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_201": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Masaki Hayashi (JBG)"
        ],
        "description_en": "In this hands-on lab, you will learn the basic operations and advanced features of TiDB Cloud. Specifically, we will cover creating a cluster and issuing queries from MySQL Client, accessing the database through Python scripts, and accelerating complex queries with TiFlash/HTAP. This is a practical workshop that allows even beginners to learn the basics and advanced features of TiDB Cloud in one go.",
        "description_zh": "在这个实验中，您将学习 TiDB Cloud 的基本操作和高级功能。具体来说，我们将介绍如何创建集群并从 MySQL 客户端发出查询，如何通过 Python 脚本访问数据库，以及如何使用 TiFlash/HTAP 加速复杂查询。这是一个实践性的研讨会，即使是初学者也可以一次性学习 TiDB Cloud 的基本操作和高级功能。",
        "description_ja": "このハンズオン演習では、TiDB Cloud の基本操作と高度な機能を学びます。具体的には、クラスタの作成、MySQL クライアントからのクエリの発行、Python スクリプトを使用したデータベースへのアクセス、TiFlash/HTAP を使用した複雑なクエリの高速化について説明します。これは、初心者でも TiDB Cloud の基本操作と高度な機能を一度に学ぶことができる実践的なワークショップです。",
        "description_ko": "이 실습에서는 TiDB Cloud의 기본 작업과 고급 기능을 배우게 됩니다. 특히, 클러스터 생성, MySQL 클라이언트에서 쿼리 발행, Python 스크립트를 사용한 데이터베이스 액세스, TiFlash/HTAP을 사용한 복잡한 쿼리 가속에 대해 설명합니다. 이 실습은 초보자도 한 번에 TiDB Cloud의 기본 작업과 고급 기능을 배울 수 있는 실습적인 워크샵입니다.",
        "lab_code": "demo_201",
        "group_type": "single",
        "group_name": "demo_201",
        "credit_redeemable": true,
        "credits": 1,
        "title_en": "Getting Started with TiDB Cloud",
        "title_zh": "TiDB Cloud 入门",
        "title_ja": "TiDB Cloud 入門",
        "title_ko": "TiDB Cloud 시작하기",
        "category_en": [
            "Building Modern Applications",
            "Best Practices for Users from MySQL"
        ],
        "category_zh": [
            "构建现代应用",
            "MySQL 用户最佳实践"
        ],
        "category_ja": [
            "モダンアプリケーションの構築",
            "MySQL ユーザー向けベストプラクティス"
        ],
        "category_ko": [
            "모던 애플리케이션 구축",
            "MySQL 사용자 모범 사례"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Cloud Serverless",
        "supportBYO": true,
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "tokyo",
            "oregon",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "serverless-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "rocky",
        "monitor_count": 1,
        "pd_count": 0,
        "tikv_count": 0,
        "tidb_count": 0,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_301": {
        "migrate_to_v2": true,
        "employee_only": true,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Yule Hu (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "This hands-on lab demonstrates how to estimate the size of a TiDB cluster and migrate data from MySQL to TiDB. Specifically, we will cover how to estimate the capacity of a TiDB cluster, create a TiDB cluster using TiUP, and migrate data from MySQL to TiDB using TiDB Data Migration. This lab is a practical workshop that allows you to learn how to size a TiDB cluster and migrate data from MySQL to TiDB in one go.",
        "description_zh": "本实验演示了如何估算 TiDB 集群的容量并将数据从 MySQL 迁移到 TiDB。具体来说，我们将介绍如何估算 TiDB 集群的容量、使用 TiUP 创建 TiDB 集群以及使用 TiDB Data Migration 将数据从 MySQL 迁移到 TiDB。这是一个实践性的研讨会，让您一次性学习如何估算 TiDB 集群的容量并将数据从 MySQL 迁移到 TiDB。",
        "description_ja": "このハンズオン演習では、TiDB クラスタの容量を見積もり、MySQL から TiDB へデータを移行する方法を示します。具体的には、TiDB クラスタの容量を見積もる方法、TiUP を使用して TiDB クラスタを作成する方法、および TiDB Data Migration を使用して MySQL から TiDB へデータを移行する方法について説明します。この演習は、TiDB クラスタの容量を見積もり、MySQL から TiDB へデータを移行する方法を一度に学ぶことができる実践的なワークショップです。",
        "description_ko": "이 실습에서는 TiDB 클러스터의 용량을 추정하고 MySQL에서 TiDB로 데이터를 마이그레이션하는 방법을 보여줍니다. 특히, TiDB 클러스터의 용량을 추정하는 방법, TiUP을 사용하여 TiDB 클러스터를 생성하는 방법, 그리고 TiDB Data Migration을 사용하여 MySQL에서 TiDB로 데이터를 마이그레이션하는 방법에 대해 설명합니다. 이 실습은 TiDB 클러스터의 용량을 추정하고 MySQL에서 TiDB로 데이터를 마이그레이션하는 방법을 한 번에 배울 수 있는 실습적인 워크샵입니다.",
        "lab_code": "demo_301",
        "group_type": "single",
        "group_name": "demo_301",
        "credit_redeemable": false,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Cluster Sizing and Data Migration",
        "title_zh": "TiDB 集群容量预估和数据迁移",
        "title_ja": "TiDB クラスタのサイズ設定とデータ移行",
        "title_ko": "TiDB 클러스터 용량 추정 및 데이터 마이그레이션",
        "category_en": [
            "Data Migration"
        ],
        "category_zh": [
            "数据迁移"
        ],
        "category_ja": [
            "データ移行"
        ],
        "category_ko": [
            "데이터 마이그레이션"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 0,
        "mysql_count": 1,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_302": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Yule Hu (CEG)",
            "Bowen Tang (CBG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "This hands-on lab demonstrates how to replay a SQL workload using TiDB Data Migration and sql-replay utility. Specifically, we will cover how to capture a SQL workload from a MySQL database, replay the SQL workload on a TiDB cluster, and analyze the performance of the TiDB cluster. This lab is a practical workshop that allows you to learn how to replay a SQL workload using TiDB Data Migration and analyze the performance of a TiDB cluster.",
        "description_zh": "本实验演示了如何使用 TiDB Data Migration 和 sql-replay 工具重放 SQL 负载。具体来说，我们将介绍如何从 MySQL 数据库中捕获 SQL 负载，在 TiDB 集群上重放 SQL 负载，并分析 TiDB 集群的性能。这是一个实践性的研讨会，让您学习如何使用 TiDB Data Migration 重放 SQL 负载并分析 TiDB 集群的性能。",
        "description_ja": "このハンズオン演習では、TiDB Data Migration と sql-replay ユーティリティを使用して SQL ワークロードを再生する方法を示します。具体的には、MySQL データベースから SQL ワークロードをキャプチャし、TiDB クラスタで SQL ワークロードを再生し、TiDB クラスタのパフォーマンスを分析する方法について説明します。この演習は、TiDB Data Migration を使用して SQL ワークロードを再生し、TiDB クラスタのパフォーマンスを分析する方法を学ぶことができる実践的なワークショップです。",
        "description_ko": "이 실습에서는 TiDB Data Migration 및 sql-replay 유틸리티를 사용하여 SQL 워크로드를 재생하는 방법을 보여줍니다. 특히, MySQL 데이터베이스에서 SQL 워크로드를 캡처하고 TiDB 클러스터에서 SQL 워크로드를 재생하고 TiDB 클러스터의 성능을 분석하는 방법에 대해 설명합니다. 이 실습은 TiDB Data Migration을 사용하여 SQL 워크로드를 재생하고 TiDB 클러스터의 성능을 분석하는 방법을 한 번에 배울 수 있는 실습적인 워크샵입니다.",
        "lab_code": "demo_302",
        "group_type": "single",
        "group_name": "demo_302",
        "credit_redeemable": true,
        "credits": 10,
        "title_en": "SQL Workload Replay",
        "title_zh": "SQL 负载重放",
        "title_ja": "SQL ワークロードの再生",
        "title_ko": "SQL 워크로드 재생",
        "category_en": [
            "Data Migration"
        ],
        "category_zh": [
            "数据迁移"
        ],
        "category_ja": [
            "データ移行"
        ],
        "category_ko": [
            "데이터 마이그레이션"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_302_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_302_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_302_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_302_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 90,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 1,
        "tiflash_count": 0,
        "mysql_count": 1,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_303": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Yule Hu (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In the financial industry, a dual data center architecture is a common deployment model, especially for core business systems. Banks and financial institutions place a high premium on data availability and disaster recovery capabilities. TiDB's DR Auto-sync solution is specifically designed for such environments, providing robust data protection on dual data center infrastructures while ensuring an RPO (Recovery Point Objective) of 0 and an RTO (Recovery Time Objective) measured in minutes. This lab simulates the deployment of DR Auto-Sync in a dual data center scenario, demonstrating how to achieve data consistency and high availability when one of the data centers is unavailable or experiences network disruptions.",
        "description_zh": "在金融行业，双数据中心架构是一种常见的部署模式，尤其是对于核心业务系统。银行和金融机构高度重视数据可用性和灾难恢复能力。TiDB 的 DR Auto-sync 解决方案专为此类环境而设计，可在双数据中心基础架构上提供强大的数据保护，同时确保 RPO（恢复点目标）为 0 和 RTO（恢复时间目标）以分钟为单位。本实验在双数据中心场景中部署 DR Auto-Sync，演示了当其中一个数据中心不可用或遇到网络中断时如何实现数据一致性和高可用性。",
        "description_ja": "金融業界では、デュアル データ センター アーキテクチャは、特にコア ビジネス システム向けの一般的な導入モデルです。銀行や金融機関は、データの可用性と災害復旧機能を重視しています。TiDB の DR Auto-Sync ソリューションは、このような環境向けに特別に設計されており、デュアル データ センター インフラストラクチャで堅牢なデータ保護を提供しながら、RPO (リカバリ ポイント目標) 0 と RTO (リカバリ時間目標) を数分で測定します。この演習では、デュアル データ センター シナリオでの DR 自動同期の導入をシミュレートし、データ センターの 1 つが使用不可になったり、ネットワークが中断したりした場合に、データの一貫性と高可用性を実現する方法を示します。",
        "description_ko": "금융 업계에서 이중 데이터 센터 아키텍처는 특히 핵심 비즈니스 시스템에서 일반적인 배포 모델입니다. 은행과 금융 기관은 데이터 가용성과 재해 복구 기능을 매우 중요하게 여깁니다. TiDB의 DR Auto-sync 솔루션은 이러한 환경을 위해 특별히 설계되어 이중 데이터 센터 인프라에서 강력한 데이터 보호를 제공하면서 RPO(복구 지점 목표) 0과 분 단위로 측정되는 RTO(복구 시간 목표)를 보장합니다. 이 실습은 이중 데이터 센터 시나리오에서 DR Auto-Sync 배포를 시뮬레이션하여 데이터 센터 중 하나가 사용할 수 없거나 네트워크 중단이 발생할 때 데이터 일관성과 고가용성을 달성하는 방법을 보여줍니다.",
        "lab_code": "demo_303",
        "group_type": "single",
        "group_name": "demo_303",
        "credit_redeemable": true,
        "credits": 15,
        "title_en": "Dual Data Center Deployment Solution - TiDB Disaster Recovery Auto-Sync",
        "title_zh": "双数据中心部署方案 - TiDB 容灾自动同步",
        "title_ja": "TiDB デュアルデータセンター展開ソリューション: DR Auto-Sync",
        "title_ko": "TiDB 이중 데이터 센터 배포 솔루션: DR Auto-Sync",
        "category_en": [
            "Fintech",
            "Disaster Recovery",
            "High Availability"
        ],
        "category_zh": [
            "金融科技",
            "容灾",
            "高可用性"
        ],
        "category_ja": [
            "フィンテック",
            "ディザスタリカバリ",
            "高可用性"
        ],
        "category_ko": [
            "금융 기술",
            "재해 복구",
            "고가용성"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_303-en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_303-en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_303-en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_303-en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 100,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "8.1.1"
        ],
        "prepare_tidb": false,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "az1monitor1"
        ],
        "ssh_jump_role": "az1monitor1",
        "ssh_jump_user": "ec2-user",
        "ssh_max_count": 4,
        "monitor_count": 0,
        "pd_count": 0,
        "tikv_count": 0,
        "tidb_count": 0,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 1,
        "az2monitor_count": 1,
        "az1tidb_count": 1,
        "az2tidb_count": 1,
        "az1pd_count": 2,
        "az2pd_count": 2,
        "az1tikv_count": 2,
        "az2tikv_count": 2
    },
    "demo_304": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Yule Hu (CEG)",
            "Todd Bao (CEG)",
            "Sean Bogaard (CEG)"
        ],
        "description_en": "SaaS (Software-as-a-Service) applications often require a highly scalable and multi-tenant friendly features to handle numerous customers with diverse workloads. TiDB, as a distributed SQL database, provides several practical features that enhance the flexibility, performance, and operational efficiency of SaaS applications.\nIn this hands-on lab, you will explore four modules designed around TiDB features highly valued by our SaaS provider users. These tasks include rapidly creating thousands of schemas and tables, performing seamless online schema changes, and applying global execution plan bindings to standardize query execution across multiple schemas.",
        "description_zh": "SaaS（软件即服务）应用程序通常需要高度可扩展且多租户友好的功能。 TiDB 作为一个分布式 SQL 数据库，提供了多种实用功能，可增强 SaaS 应用程序的灵活性、性能和运营效率。\n在此动手实验中，您将探索围绕我们的 SaaS 提供商用户高度重视的 TiDB 功能设计的四个模块。 这些任务包括快速创建数千个架构和表、执行无缝的在线架构更改以及应用全局执行计划绑定以标准化跨多个架构的查询执行。",
        "description_ja": "SaaS (Software-as-a-Service) アプリケーションでは、さまざまなワークロードを持つ多数の顧客に対応するために、高度にスケーラブルでマルチテナント対応の機能が必要になることがよくあります。分散 SQL データベースである TiDB は、SaaS アプリケーションの柔軟性、パフォーマンス、運用効率を高める実用的な機能をいくつか提供します。\nこのハンズオン演習では、SaaS プロバイダー ユーザーから高く評価されている TiDB 機能を中心に設計された 4 つのモジュールを学習します。これらのタスクには、数千のスキーマとテーブルを迅速に作成すること、シームレスなオンライン スキーマ変更を実行すること、複数のスキーマ間でクエリ実行を標準化するためにグローバル実行プラン バインディングを適用することが含まれます。",
        "description_ko": "SaaS (Software-as-a-Service) 애플리케이션은 다양한 워크로드를 가진 수많은 고객을 처리하기 위해 높은 확장성과 멀티테넌트 친화적인 기능이 필요한 경우가 많습니다. 분산 SQL 데이터베이스인 TiDB는 SaaS 애플리케이션의 유연성, 성능 및 운영 효율성을 향상시키는 여러 실용적인 기능을 제공합니다.\n이 실습에서는 SaaS 제공업체 사용자들이 높이 평가하는 TiDB 기능을 중심으로 설계된 네 가지 모듈을 탐색합니다. 이러한 작업에는 수천 개의 스키마와 테이블을 신속하게 생성하고, 원활한 온라인 스키마 변경을 수행하며, 여러 스키마에서 쿼리 실행을 표준화하기 위해 글로벌 실행 계획 바인딩을 적용하는 것이 포함됩니다.",
        "lab_code": "demo_304",
        "group_type": "single",
        "group_name": "demo_304",
        "credit_redeemable": true,
        "credits": 5,
        "title_en": "Practical Database Features For SaaS Applications",
        "title_zh": "适用于 SaaS 的实用数据库功能",
        "title_ja": "SaaS 向けの実用的なデータベース機能",
        "title_ko": "SaaS 애플리케이션을 위한 실용적인 데이터베이스 기능",
        "category_en": [
            "SaaS",
            "Multi-Tenant"
        ],
        "category_zh": [
            "SaaS",
            "多租户"
        ],
        "category_ja": [
            "SaaS",
            "マルチテナント"
        ],
        "category_ko": [
            "SaaS",
            "멀티테넌트"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 100,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "8.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 1,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_405": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Cheese Wong (CEG)"
        ],
        "description_en": "In this lab, you will learn how to: Connect to, access and modify data in TiDB Cloud Starter cluster by Python code; Use prepared statements and batch inserts to improve the performance of your application; Use AUTO_RANDOM instead of AUTO_INCREMENT to avoid hotspots; Use online DDL to perform online schema changes; Use and compare pessimistic and optimistic modes for transaction concurrency control.",
        "description_zh": "在本实验中，您将学习如何：通过 Python 代码连接、访问和修改 TiDB Cloud Starter 集群中的数据；使用预准备语句和批量插入来提高应用程序的性能；使用 AUTO_RANDOM 代替 AUTO_INCREMENT 以避免热点；使用在线 DDL 执行在线架构更改；使用并比较悲观和乐观模式进行事务并发控制。",
        "description_ja": "この演習では、次のことを学びます: Pythonコードを使用して、TiDB Cloud Starter クラスタに接続し、データにアクセスして変更する方法; プリペアドステートメントとバッチ挿入を使用して、アプリケーションのパフォーマンスを向上させる方法; ホットスポットを回避するためにAUTO_INCREMENTの代わりにAUTO_RANDOMを使用する方法; オンラインDDLを使用してオンラインスキーマ変更を実行する方法; トランザクションの同時実行制御のために悲観的モードと楽観的モードを使用して比較する方法。",
        "description_ko": "이 실습에서는 다음을 배우게 됩니다: Python 코드를 사용하여 TiDB Cloud Starter 클러스터에 연결하고 데이터에 액세스하고 수정하는 방법; 애플리케이션의 성능을 향상시키기 위해 준비된 문장과 배치 삽입을 사용하는 방법; 화염 지점을 피하기 위해 AUTO_INCREMENT 대신 AUTO_RANDOM을 사용하는 방법; 온라인 DDL을 사용하여 온라인 스키마 변경을 수행하는 방법; 트랜잭션 동시성 제어를 위해 비관적 모드와 낙관적 모드를 사용하고 비교하는 방법。",
        "lab_code": "demo_405",
        "group_type": "single",
        "group_name": "demo_405",
        "credit_redeemable": true,
        "credits": 2,
        "title_en": "Working with TiDB Using mysql-connector-python",
        "title_zh": "利用 mysql-connector-python 中使用 TiDB",
        "title_ja": "mysql-connector-python で TiDB を活用する",
        "title_ko": "mysql-connector-python을 사용하여 TiDB 사용",
        "category_en": [
            "Building Modern Applications",
            "Best Practices for Users from MySQL",
            "Python"
        ],
        "category_zh": [
            "构建现代应用",
            "MySQL 用户最佳实践",
            "Python"
        ],
        "category_ja": [
            "モダンアプリケーションの構築",
            "MySQL ユーザーのベストプラクティス",
            "Python"
        ],
        "category_ko": [
            "현대 애플리케이션 구축",
            "MySQL 사용자 모범 사례",
            "Python"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Cloud Serverless",
        "supportBYO": true,
        "security_access": true,
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "tokyo",
            "oregon",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "serverless-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ubuntu",
        "ssh_max_count": 0,
        "monitor_count": 1,
        "pd_count": 0,
        "tikv_count": 0,
        "tidb_count": 0,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_408": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Cheese Wong (CEG)"
        ],
        "description_en": "In this lab, you will learn how to: Store and search text and image Embeddings using TiDB Cloud Starter to accelerate AI application development; Use OpenAI and CLIP models to generate Embeddings; Perform vector similarity search via SQL queries; Apply Retrieval-Augmented Generation (RAG) and GraphRAG techniques to retrieve relevant information from large datasets; Extract graphs from text using DSPy and enhance retrieval performance by storing and querying graph data in TiDB Cloud Starter.",
        "description_zh": "在本次实验中，你将学习如何：使用 TiDB Cloud Starter 存储和搜索文本与图像的 Embedding，加速 AI 应用开发；使用 OpenAI 和 CLIP 模型生成 Embedding；通过 SQL 查询进行向量相似度搜索；应用检索增强生成（RAG）和图检索增强生成（GraphRAG）技术，从海量数据中检索相关信息；使用 DSPy 从文本中提取图谱，并通过在 TiDB Cloud Starter 中存储和查询图数据，提升检索性能。",
        "description_ja": "この演習では、次のことを学びます：TiDB Cloud Starter を使用してテキストおよび画像の埋め込み（Embedding）を保存・検索し、AIアプリケーション開発を加速する方法；OpenAIとCLIPモデルを使ってEmbeddingを生成する方法；SQLクエリでベクトル類似度検索を行う方法；Retrieval-Augmented Generation（RAG）および GraphRAG 技術を活用して大量データから関連情報を取得する方法；DSPyを使ってテキストからグラフを抽出し、TiDB Cloud Starterに保存・検索することで、検索性能を向上させる方法。",
        "description_ko": "이 실습에서는 다음을 배우게 됩니다: TiDB Cloud Starter 를 사용하여 텍스트 및 이미지 Embedding을 저장하고 검색하여 AI 애플리케이션 개발을 가속화하는 방법; OpenAI와 CLIP 모델을 사용하여 Embedding을 생성하는 방법; SQL 쿼리를 통해 벡터 유사도 검색을 수행하는 방법; Retrieval-Augmented Generation (RAG) 및 GraphRAG 기술을 활용하여 대량 데이터에서 관련 정보를 검색하는 방법; DSPy를 사용하여 텍스트에서 그래프를 추출하고 TiDB Cloud Starter 에 저장하여 검색 성능을 향상시키는 방법。",
        "lab_code": "demo_408",
        "group_type": "single",
        "group_name": "demo_408",
        "credit_redeemable": true,
        "credits": 1,
        "title_en": "Build Simple Vector Search Applications Using Jupyter Notebook",
        "title_zh": "使用 Jupyter Notebook 构建简单向量搜索应用",
        "title_ja": "Jupyter Notebook を使用してシンプルなベクトル検索アプリケーションを構築する",
        "title_ko": "Jupyter Notebook을 사용하여 간단한 벡터 검색 애플리케이션 구축",
        "category_en": [
            "Generative AI at TiDB",
            "Building Modern Applications",
            "Python"
        ],
        "category_zh": [
            "生成式 AI 与 TiDB",
            "构建现代应用",
            "Python"
        ],
        "category_ja": [
            "生成 AI と TiDB",
            "モダンアプリケーションの構築",
            "Python"
        ],
        "category_ko": [
            "TiDB에서의 생성형 AI",
            "현대적 애플리케이션 구축",
            "Python"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Cloud Serverless",
        "supportBYO": false,
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "tokyo",
            "oregon",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "serverless-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ubuntu",
        "monitor_count": 1,
        "pd_count": 0,
        "tikv_count": 0,
        "tidb_count": 0,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_409": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Cheese Wong (CEG)"
        ],
        "description_en": "In this lab, you will learn how to: Use TiDB Cloud Starter as a storage layer for AI applications; Generate and utilize Embeddings with OpenAI models; Perform Retrieval-Augmented Generation (RAG) to retrieve information from large datasets; Build a Text-to-SQL AI application that translates natural language into SQL queries and executes them on TiDB Cloud Starter; Develop interactive AI applications with Streamlit, integrating database operations, vector search, and LLM capabilities to create practical tools.",
        "description_zh": "在本实验中，您将学习：使用 TiDB Cloud Starter 作为 AI 应用的数据存储层；使用 OpenAI 模型生成并利用 Embedding 向量；通过 RAG（检索增强生成）从大规模数据集中检索信息；构建一个将自然语言翻译为 SQL 查询并在 TiDB Cloud Starter 上执行的 Text-to-SQL 应用；使用 Streamlit 开发交互式 AI 应用，结合数据库操作、向量检索与大语言模型能力，打造实用工具。",
        "description_ja": "この演習では、次のことを学びます。TiDB Cloud Starter を AI アプリケーションのストレージレイヤーとして使用する方法；OpenAI モデルで Embedding ベクトルを生成・活用する方法；RAG（検索拡張生成）を用いて大規模データから情報を取得する方法；自然言語を SQL クエリに変換して TiDB Cloud Starter に実行する Text-to-SQL アプリケーションを構築する方法；Streamlit を使ってデータベース操作、ベクトル検索、大規模言語モデルの能力を統合した実践的な AI ツールを開発する方法。",
        "description_ko": "이 실습에서는 다음을 배우게 됩니다: TiDB Cloud Starter 를 사용하여 AI 애플리케이션의 데이터 저장층을 사용하는 방법; OpenAI 모델을 사용하여 Embedding 벡터를 생성하고 활용하는 방법; Retrieval-Augmented Generation (RAG)을 사용하여 대량 데이터에서 정보를 검색하는 방법; 자연어를 SQL 쿼리로 변환하고 TiDB Cloud Starter 에서 실행하는 Text-to-SQL AI 애플리케이션을 구축하는 방법; Streamlit을 사용하여 데이터베이스 작업, 벡터 검색, LLM 기능을 통합하여 실용적인 도구를 만드는 방법。",
        "lab_code": "demo_409",
        "group_type": "single",
        "group_name": "demo_409",
        "credit_redeemable": true,
        "credits": 1,
        "title_en": "Build RAG and Text2SQL AI Apps (OpenAI)",
        "title_zh": "构建 RAG 和 Text2SQL AI 应用 (OpenAI)",
        "title_ja": "RAG および Text2SQL AI アプリケーションの構築 (OpenAI)",
        "title_ko": "RAG 및 Text2SQL AI 애플리케이션 구축 (OpenAI)",
        "category_en": [
            "Generative AI at TiDB",
            "Building Modern Applications",
            "Python"
        ],
        "category_zh": [
            "生成式 AI 与 TiDB",
            "构建现代应用",
            "Python"
        ],
        "category_ja": [
            "生成 AI と TiDB",
            "モダンアプリケーションの構築",
            "Python"
        ],
        "category_ko": [
            "TiDB에서의 생성형 AI",
            "현대적 애플리케이션 구축",
            "Python"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Cloud Serverless",
        "supportBYO": true,
        "security_access": true,
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "tokyo",
            "oregon",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "serverless-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ubuntu",
        "ssh_max_count": 0,
        "monitor_count": 1,
        "pd_count": 0,
        "tikv_count": 0,
        "tidb_count": 0,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_421": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Cheese Wong (CEG)"
        ],
        "description_en": "In this lab, you will learn how to: Use TiDB Cloud Starter as a unified storage layer for AI applications; Generate and utilize Embeddings with Amazon Bedrock models; Perform Retrieval-Augmented Generation (RAG) to retrieve information from large datasets; Build a Text-to-SQL AI application that translates natural language into SQL queries and executes them on TiDB Cloud Starter; Develop interactive AI applications with Streamlit, integrating database operations, vector search, and LLM capabilities to create practical tools.",
        "description_zh": "在本实验中，您将学习：使用 TiDB Cloud Starter 作为 AI 应用的统一数据存储层；使用 Amazon Bedrock 模型生成并利用 Embedding 向量；通过 RAG（检索增强生成）从大规模数据集中检索信息；构建一个将自然语言翻译为 SQL 查询并在 TiDB Cloud Starter 上执行的 Text-to-SQL 应用；使用 Streamlit 开发交互式 AI 应用，结合数据库操作、向量检索与大语言模型能力，打造实用工具。",
        "description_ja": "この演習では、次のことを学びます。TiDB Cloud Starter を AI アプリケーションの統合ストレージレイヤーとして使用する方法；Amazon Bedrock モデルで Embedding ベクトルを生成・活用する方法；RAG（検索拡張生成）を用いて大規模データから情報を取得する方法；自然言語を SQL クエリに変換して TiDB Cloud Starter に実行する Text-to-SQL アプリケーションを構築する方法；Streamlit を使ってデータベース操作、ベクトル検索、大規模言語モデルの能力を統合した実践的な AI ツールを開発する方法。",
        "description_ko": "이 실습에서는 다음을 배우게 됩니다: TiDB Cloud Starter 를 AI 애플리케이션의 통합 스토리지 레이어로 사용하는 방법; Amazon Bedrock 모델을 사용하여 Embedding 벡터를 생성하고 활용하는 방법; Retrieval-Augmented Generation (RAG)을 사용하여 대량 데이터에서 정보를 검색하는 방법; 자연어를 SQL 쿼리로 변환하고 TiDB Cloud Starter 에서 실행하는 Text-to-SQL AI 애플리케이션을 구축하는 방법; Streamlit을 사용하여 데이터베이스 작업, 벡터 검색, LLM 기능을 통합하여 실용적인 도구를 만드는 방법。",
        "lab_code": "demo_421",
        "group_type": "single",
        "group_name": "demo_421",
        "credit_redeemable": true,
        "credits": 1,
        "title_en": "Build RAG and Text2SQL AI Applications (Amazon Bedrock)",
        "title_zh": "构建 RAG 和 Text2SQL AI 应用 (Amazon Bedrock)",
        "title_ja": "RAG および Text2SQL AI アプリケーションの構築 (Amazon Bedrock)",
        "title_ko": "RAG 및 Text2SQL AI 애플리케이션 구축 (Amazon Bedrock)",
        "category_en": [
            "Generative AI at TiDB",
            "Building Modern Applications",
            "Python"
        ],
        "category_zh": [
            "生成式 AI 与 TiDB",
            "构建现代应用",
            "Python"
        ],
        "category_ja": [
            "生成 AI と TiDB",
            "モダンアプリケーションの構築",
            "Python"
        ],
        "category_ko": [
            "TiDB에서의 생성형 AI",
            "현대적 애플리케이션 구축",
            "Python"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_421_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_421_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_421_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_421_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Cloud Serverless",
        "supportBYO": true,
        "security_access": true,
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "tokyo",
            "oregon",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "serverless-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ubuntu",
        "ssh_max_count": 0,
        "monitor_count": 1,
        "pd_count": 0,
        "tikv_count": 0,
        "tidb_count": 0,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_422": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Cheese Wong (CEG)"
        ],
        "description_en": "In the first four modules of this lab, you'll work with multiple heterogeneous data stores (such as MySQL, Milvus, and ElasticSearch) to address different requirements in a GenAI RAG application. This will require several Python packages, allowing you to experience the challenges of development and maintenance. In Module 5, you'll use just one Python package - pytidb - and one data store - TiDB - as the unified data storage for GenAI. Here, you'll see firsthand how much simpler and more efficient it is to power your GenAI applications with TiDB.",
        "description_zh": "在本实验的前四个模块中，您将使用多个异构数据存储（如 MySQL、Milvus 和 ElasticSearch）来满足 GenAI RAG 应用的不同需求。这需要使用多个 Python 包，让您体验开发和维护的挑战。在第五个模块中，您将使用一个 Python 包 - pytidb - 和一个数据存储 - TiDB - 作为 GenAI 的统一数据存储。在这里，您将亲眼看到使用 TiDB 为 GenAI 应用提供动力是多么简单和高效。",
        "description_ja": "この演習の最初の 4 つのモジュールでは、MySQL、Milvus、ElasticSearch などの複数の異種データ ストアを使用して、GenAI RAG アプリケーションの異なる要件に対応します。これには複数の Python パッケージが必要になり、開発と保守の課題を体験できます。第 5 モジュールでは、1 つの Python パッケージ - pytidb - と 1 つのデータ ストア - TiDB - を使用して、GenAI の統一データ ストレージを提供します。ここでは、TiDB を使用して GenAI アプリケーションを提供することがどれほど簡単で効率的かを実感できます。",
        "description_ko": "이 랩의 첫 번째 4개 모듈에서는 MySQL, Milvus, ElasticSearch 등 여러 이기종 데이터 스토어를 사용하여 GenAI RAG 애플리케이션의 다양한 요구 사항에 대응합니다. 이를 위해 여러 Python 패키지를 사용하여 개발 및 유지 관리의 과제를 경험할 수 있습니다. 5번째 모듈에서는 단 하나의 Python 패키지 - pytidb - 와 하나의 데이터 스토어 - TiDB - 를 GenAI의 통합 데이터 스토어로 사용합니다. 여기서는 TiDB를 사용하여 GenAI 애플리케이션을 제공하는 것이 얼마나 간단하고 효율적인지를 직접 확인할 수 있습니다.",
        "lab_code": "demo_422",
        "group_type": "single",
        "group_name": "demo_422",
        "credit_redeemable": true,
        "credits": 1,
        "title_en": "Use TiDB as a Unified Storage for AI Apps (Amazon Bedrock)",
        "title_zh": "使用 TiDB 作为 AI 应用的统一存储 (Amazon Bedrock)",
        "title_ja": "AIアプリケーション向け統合ストレージとしてのTiDBの活用 (Amazon Bedrock)",
        "title_ko": "AI 애플리케이션을 위한 통합 스토리지로서의 TiDB 사용 (Amazon Bedrock)",
        "category_en": [
            "Generative AI at TiDB",
            "Building Modern Applications",
            "Python"
        ],
        "category_zh": [
            "生成式 AI 与 TiDB",
            "构建现代应用",
            "Python"
        ],
        "category_ja": [
            "生成 AI と TiDB",
            "モダンアプリケーションの構築",
            "Python"
        ],
        "category_ko": [
            "TiDB에서의 생성형 AI",
            "현대적 애플리케이션 구축",
            "Python"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/Demo_422_SplashImage_20250625.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/Demo_422_SplashImage_20250625.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/Demo_422_SplashImage_20250625.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/Demo_422_SplashImage_20250625.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Cloud Serverless",
        "supportBYO": true,
        "security_access": true,
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "serverless-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ubuntu",
        "ssh_max_count": 0,
        "monitor_count": 1,
        "pd_count": 0,
        "tikv_count": 0,
        "tidb_count": 0,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_423": {
        "migrate_to_v2": true,
        "employee_only": true,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Cheese Wong (CEG)"
        ],
        "description_en": "In the first four modules of this lab, you'll work with multiple heterogeneous data stores (such as MySQL, Milvus, and ElasticSearch) to address different requirements in a GenAI RAG application. This will require several Python packages, allowing you to experience the challenges of development and maintenance. In Module 5, you'll use just one Python package - pytidb - and one data store - TiDB - as the unified data storage for GenAI. Here, you'll see firsthand how much simpler and more efficient it is to power your GenAI applications with TiDB.",
        "description_zh": "在本实验的前四个模块中，您将使用多个异构数据存储（如 MySQL、Milvus 和 ElasticSearch）来满足 GenAI RAG 应用的不同需求。这需要使用多个 Python 包，让您体验开发和维护的挑战。在第五个模块中，您将使用一个 Python 包 - pytidb - 和一个数据存储 - TiDB - 作为 GenAI 的统一数据存储。在这里，您将亲眼看到使用 TiDB 为 GenAI 应用提供动力是多么简单和高效。",
        "description_ja": "この演習の最初の 4 つのモジュールでは、MySQL、Milvus、ElasticSearch などの複数の異種データ ストアを使用して、GenAI RAG アプリケーションの異なる要件に対応します。これには複数の Python パッケージが必要になり、開発と保守の課題を体験できます。第 5 モジュールでは、1 つの Python パッケージ - pytidb - と 1 つのデータ ストア - TiDB - を使用して、GenAI の統一データ ストレージを提供します。ここでは、TiDB を使用して GenAI アプリケーションを提供することがどれほど簡単で効率的かを実感できます。",
        "description_ko": "이 랩의 첫 번째 4개 모듈에서는 MySQL, Milvus, ElasticSearch 등 여러 이기종 데이터 스토어를 사용하여 GenAI RAG 애플리케이션의 다양한 요구 사항에 대응합니다. 이를 위해 여러 Python 패키지를 사용하여 개발 및 유지 관리의 과제를 경험할 수 있습니다. 5번째 모듈에서는 단 하나의 Python 패키지 - pytidb - 와 하나의 데이터 스토어 - TiDB - 를 GenAI의 통합 데이터 스토어로 사용합니다. 여기서는 TiDB를 사용하여 GenAI 애플리케이션을 제공하는 것이 얼마나 간단하고 효율적인지를 직접 확인할 수 있습니다.",
        "lab_code": "demo_423",
        "group_type": "single",
        "group_name": "demo_423",
        "credit_redeemable": true,
        "credits": 1,
        "title_en": "Use TiDB as a Unified Storage for AI Apps (OpenAI)",
        "title_zh": "使用 TiDB 作为 AI 应用的统一存储 (OpenAI)",
        "title_ja": "AIアプリケーション向け統合ストレージとしてのTiDBの活用 (OpenAI)",
        "title_ko": "AI 애플리케이션을 위한 통합 스토리지로서의 TiDB 사용 (OpenAI)",
        "category_en": [
            "Generative AI at TiDB",
            "Building Modern Applications",
            "Python"
        ],
        "category_zh": [
            "生成式 AI 与 TiDB",
            "构建现代应用",
            "Python"
        ],
        "category_ja": [
            "生成 AI と TiDB",
            "モダンアプリケーションの構築",
            "Python"
        ],
        "category_ko": [
            "TiDB에서의 생성형 AI",
            "현대적 애플리케이션 구축",
            "Python"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/Demo_422_SplashImage_20250625.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/Demo_422_SplashImage_20250625.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/Demo_422_SplashImage_20250625.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/Demo_422_SplashImage_20250625.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Cloud Serverless",
        "supportBYO": true,
        "security_access": true,
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "serverless-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ubuntu",
        "ssh_max_count": 0,
        "monitor_count": 1,
        "pd_count": 0,
        "tikv_count": 0,
        "tidb_count": 0,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_501": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Chenhao Huang (CEG)"
        ],
        "description_en": "In this lab you will learn how to create a TiDB Cloud Dedicated cluster, how to connect to the cluster, how to backup and restore the data, how to import data to TiDB Cloud Dedicated cluster, as well as how to scale the cluster.",
        "description_ja": "この演習では、TiDB Cloud Dedicatedクラスタの作成方法、クラスタへの接続方法、データのバックアップと復元方法、TiDB Cloud Dedicatedクラスタへのデータインポート方法、そしてクラスタのスケーリング方法を学びます。",
        "description_zh": "在本实验中，您将学习如何创建 TiDB Cloud Dedicated 集群、如何连接到集群、如何备份和恢复数据、如何将数据导入到 TiDB Cloud Dedicated 集群，以及如何扩展集群。",
        "description_ko": "이 실습에서는 TiDB Cloud Dedicated 클러스터를 생성하는 방법, 클러스터에 연결하는 방법, 데이터를 백업하고 복원하는 방법, TiDB Cloud Dedicated 클러스터로 데이터를 가져오는 방법, 그리고 클러스터를 확장하는 방법을 배우게 됩니다.",
        "lab_code": "demo_501",
        "group_type": "single",
        "group_name": "demo_501",
        "credit_redeemable": true,
        "credits": 1,
        "title_en": "TiDB Cloud Dedicated Workshop I",
        "title_ja": "TiDB Cloud Dedicated ワークショップ I",
        "title_zh": "TiDB Cloud Dedicated 动手练习 I",
        "title_ko": "TiDB Cloud Dedicated 워크샵 I",
        "category_en": [
            "Building Modern Applications",
            "TiDB Cloud Dedicated"
        ],
        "category_zh": [
            "构建现代应用",
            "TiDB Cloud Dedicated"
        ],
        "category_ja": [
            "ビルド現代アプリケーション",
            "TiDB Cloud Dedicated"
        ],
        "category_ko": [
            "현대 애플리케이션 구축",
            "TiDB Cloud Dedicated"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Cloud Dedicated",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 115,
        "regions": [
            "tokyo",
            "oregon",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "serverless-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ubuntu",
        "ssh_max_count": 0,
        "monitor_count": 1,
        "pd_count": 0,
        "tikv_count": 0,
        "tidb_count": 0,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_601": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Todd Bao (CEG)"
        ],
        "description_en": "In this workshop, we will explore some key new features introduced in TiDB version 8. Our focus will center on six pivotal modules: the TiKV MVCC in-memory engine, Foreign Keys, Global Index for Partitioned Tables, Monitoring Indexes Usage Statistics, TiProxy, and Vector Search.",
        "description_zh": "在本实验中，我们将探讨 TiDB 8 中引入的一些关键新功能。我们的重点将集中在六个模块上：TiKV MVCC 内存引擎、外键、分区表的全局索引、监控索引使用情况统计、TiProxy 和向量搜索。",
        "description_ja": "この演習では、TiDB バージョン 8 で導入されたいくつかの重要な新機能について説明します。焦点は、TiKV MVCC インメモリ エンジン、外部キー、パーティション テーブルのグローバル インデックス、インデックス使用状況統計の監視、TiProxy、およびベクトル検索という 6 つの重要なモジュールに集中します。",
        "description_ko": "이 실습에서는 TiDB 버전 8에서 도입된 몇 가지 중요한 새로운 기능에 대해 살펴볼 것입니다. 우리의 초점은 6개의 중요한 모듈에 있을 것입니다: TiKV MVCC 메모리 엔진, 외래 키, 파티션 테이블의 전역 인덱스, 인덱스 사용 통계 모니터링, TiProxy, 그리고 벡터 검색.",
        "lab_code": "demo_601",
        "group_type": "single",
        "group_name": "demo_601",
        "credit_redeemable": true,
        "credits": 5,
        "title_en": "New Features in TiDB 8.1 and 8.5",
        "title_zh": "TiDB 8.1 和 8.5 的新功能",
        "title_ja": "TiDB 8.1 および 8.5 の新機能",
        "title_ko": "TiDB 8.1 및 8.5의 새로운 기능",
        "category_en": [
            "TiDB New Features"
        ],
        "category_zh": [
            "TiDB 新功能"
        ],
        "category_ja": [
            "TiDB 新機能"
        ],
        "category_ko": [
            "TiDB 새로운 기능"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_501_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "8.5.1"
        ],
        "prepare_tidb": false,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 1,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "demo_701": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Cheese Wong (CEG)",
            "Chenhao Huang (CEG)"
        ],
        "description_en": "In this lab, you will learn how to: Connect to, access and modify data in TiDB Cloud Starter cluster by Java; Use prepared statements and batch inserts to improve the performance of your application; Use AUTO_RANDOM instead of AUTO_INCREMENT to avoid hotspots; Use online DDL to perform online schema changes; Use and compare pessimistic and optimistic modes for transaction concurrency control.",
        "description_zh": "在本实验中，您将学习如何：通过 Java 代码连接、访问和修改 TiDB Cloud Starter 集群中的数据；使用预准备语句和批量插入来提高应用程序的性能；使用 AUTO_RANDOM 代替 AUTO_INCREMENT 以避免热点；使用在线 DDL 执行在线架构更改；使用并比较悲观和乐观模式进行事务并发控制。",
        "description_ja": "この演習では、次のことを学びます: Java コードを使用して、TiDB Cloud Starter クラスタに接続し、データにアクセスして変更する方法; プリペアドステートメントとバッチ挿入を使用して、アプリケーションのパフォーマンスを向上させる方法; ホットスポットを回避するためにAUTO_INCREMENTの代わりにAUTO_RANDOMを使用する方法; オンラインDDLを使用してオンラインスキーマ変更を実行する方法; トランザクションの同時実行制御のために悲観的モードと楽観的モードを使用して比較する方法。",
        "description_ko": "이 실습에서는 다음을 배우게 됩니다: Java 코드를 사용하여 TiDB Cloud Starter 클러스터에 연결하고 데이터에 액세스하고 수정하는 방법; 애플리케이션의 성능을 향상시키기 위해 준비된 문장과 배치 삽입을 사용하는 방법; AUTO_INCREMENT 대신 AUTO_RANDOM을 사용하여 화염 지점을 피하는 방법; 온라인 DDL을 사용하여 온라인 스키마 변경을 수행하는 방법; 트랜잭션 동시성 제어를 위해 비관적 모드와 낙관적 모드를 사용하고 비교하는 방법。",
        "lab_code": "demo_701",
        "group_type": "single",
        "group_name": "demo_701",
        "credit_redeemable": true,
        "credits": 2,
        "title_en": "Working with TiDB Using JDBC",
        "title_zh": "利用 JDBC 中使用 TiDB",
        "title_ja": "JDBC で TiDB を活用する",
        "title_ko": "JDBC를 사용하여 TiDB 활용",
        "category_en": [
            "Building Modern Applications",
            "Best Practices for Users from MySQL",
            "Java"
        ],
        "category_zh": [
            "构建现代应用",
            "MySQL 用户最佳实践",
            "Java"
        ],
        "category_ja": [
            "モダンアプリケーションの構築",
            "MySQL ユーザーのベストプラクティス",
            "Java"
        ],
        "category_ko": [
            "현대적 애플리케이션 구축",
            "MySQL 사용자 모범 사례",
            "Java"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_201_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Cloud Serverless",
        "supportBYO": true,
        "security_access": true,
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 90,
        "regions": [
            "tokyo",
            "oregon",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "serverless-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ubuntu",
        "ssh_max_count": 0,
        "monitor_count": 1,
        "pd_count": 0,
        "tikv_count": 0,
        "tidb_count": 0,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_303_lab_ff0": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to deploy a TiDB cluster using TiUP. Specifically, we will cover how to deploy a TiDB cluster using TiUP, configure TiDB, and interact with the TiDB cluster. This lab is a practical workshop that allows you to learn how to deploy a TiDB cluster using TiUP.",
        "description_zh": "在这个实验中，您将学习如何使用 TiUP 部署 TiDB 集群。具体来说，我们将介绍如何使用 TiUP 部署 TiDB 集群、配置 TiDB 并与 TiDB 集群互动。这是一个实践性的动手练习，让您学习如何使用 TiUP 部署 TiDB 集群。",
        "description_ja": "このハンズオン演習では、TiUP を使用して TiDB クラスタを展開する方法を学びます。具体的には、TiUP を使用して TiDB クラスタを展開し、TiDB を構成し、TiDB クラスタと対話する方法について説明します。この演習は、TiUP を使用して TiDB クラスタを展開する方法を学ぶことができる実践的なワークショップです。",
        "description_ko": "이 실습에서는 TiUP을 사용하여 TiDB 클러스터를 배포하는 방법을 배우게 됩니다. 구체적으로, TiUP을 사용하여 TiDB 클러스터를 배포하고 TiDB를 구성하고 TiDB 클러스터와 상호 작용하는 방법에 대해 설명합니다. 이 실습은 TiUP을 사용하여 TiDB 클러스터를 배포하는 방법을 배울 수 있는 실습적인 행사입니다.",
        "lab_code": "dba_303_lab_ff0",
        "group_type": "course",
        "group_name": "dba_303",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Admin Lab 1: Deploying a TiDB Cluster Using TiUP",
        "title_zh": "管理 TiDB 实验 1: 使用 TiUP 部署 TiDB 集群",
        "title_ja": "管理 TiDB 演習 1: TiUP を使用した TiDB クラスタの導入",
        "title_ko": "TiDB 관리 실습 1: TiUP을 사용하여 TiDB 클러스터 배포하기",
        "category_en": [
            "TiDB Self-Managed Admin Using TiUP",
            "Infrastructure Management"
        ],
        "category_zh": [
            "使用 TiUP 进行 TiDB Self-Managed 管理",
            "基础设施管理"
        ],
        "category_ja": [
            "TiUP を使用した TiDB Self-Managed 管理",
            "インフラストラクチャ管理"
        ],
        "category_ko": [
            "TiUP 을 사용한 TiDB Self-Managed 관리",
            "인프라 관리"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/dba_303_ch01_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/dba_303_ch01_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/dba_303_ch01_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/dba_303_ch01_en.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 60,
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.0"
        ],
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_303_lab_ff1": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to configure TiDB. Specifically, we will cover how to configure TiDB, interact with the TiDB cluster, and monitor the TiDB cluster. This lab is a practical workshop that allows you to learn how to configure TiDB.",
        "description_zh": "在这个实验中，您将学习如何配置 TiDB。具体来说，我们将介绍如何配置 TiDB、与 TiDB 集群互动并监控 TiDB 集群。这是一个实践性的研讨会，让您学习如何配置 TiDB。",
        "description_ja": "このハンズオン演習では、TiDB の設定方法を学びます。具体的には、TiDB の設定方法、TiDB クラスタとの対話、TiDB クラスタの監視について説明します。この演習は、TiDB の設定方法を学ぶことができる実践的なワークショップです。",
        "description_ko": "이 실습에서는 TiDB를 구성하는 방법을 배우게 됩니다. 구체적으로, TiDB를 구성하고 TiDB 클러스터와 상호 작용하고 TiDB 클러스터를 모니터링하는 방법에 대해 설명합니다. 이 실습은 TiDB를 구성하는 방법을 배울 수 있는 실습적인 행사입니다.",
        "lab_code": "dba_303_lab_ff1",
        "group_type": "course",
        "group_name": "dba_303",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Admin Lab 2: Configuring TiDB",
        "title_zh": "管理 TiDB 实验 2: 配置 TiDB",
        "title_ja": "管理 TiDB 演習 2: TiDB の設定",
        "title_ko": "TiDB 관리 실습 2: TiDB 구성",
        "category_en": [
            "TiDB Self-Managed Admin Using TiUP",
            "Parameters and System Variables Management"
        ],
        "category_zh": [
            "使用 TiUP 进行 TiDB Self-Managed 管理",
            "参数和系统变量管理"
        ],
        "category_ja": [
            "TiUP を使用した TiDB Self-Managed 管理",
            "パラメータとシステム変数の管理"
        ],
        "category_ko": [
            "TiUP 을 사용한 TiDB Self-Managed 관리",
            "매개변수 및 시스템 변수 관리"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/dba_303_ch02_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/dba_303_ch02_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/dba_303_ch02_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/dba_303_ch02_en.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.0"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_303_lab_ff2": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to manage TiDB users. Specifically, we will cover how to manage TiDB users, interact with the TiDB cluster, and monitor the TiDB cluster. This lab is a practical workshop that allows you to learn how to manage TiDB users.",
        "description_zh": "在这个实验中，您将学习如何管理 TiDB 用户。具体来说，我们将介绍如何管理 TiDB 用户、与 TiDB 集群互动并监控 TiDB 集群。这是一个实践性的研讨会，让您学习如何管理 TiDB 用户。",
        "description_ja": "このハンズオン演習では、TiDB ユーザーの管理方法を学びます。具体的には、TiDB ユーザーの管理方法、TiDB クラスタとの対話、TiDB クラスタの監視について説明します。この演習は、TiDB ユーザーの管理方法を学ぶことができる実践的なワークショップです。",
        "description_ko": "이 실습에서는 TiDB 사용자를 관리하는 방법을 배우게 됩니다. 구체적으로, TiDB 사용자를 관리하고 TiDB 클러스터와 상호 작용하고 TiDB 클러스터를 모니터링하는 방법에 대해 설명합니다. 이 실습은 TiDB 사용자를 관리하는 방법을 배울 수 있는 실습적인 행사입니다.",
        "lab_code": "dba_303_lab_ff2",
        "group_type": "course",
        "group_name": "dba_303",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Admin Lab 3: Managing TiDB Users",
        "title_zh": "管理 TiDB 实验 3: 管理 TiDB 用户",
        "title_ja": "管理 TiDB 演習 3: TiDB ユーザーの管理",
        "title_ko": "TiDB 관리 실습 3: TiDB 사용자 관리",
        "category_en": [
            "TiDB Self-Managed Admin Using TiUP",
            "Database User Management"
        ],
        "category_zh": [
            "使用 TiUP 进行 TiDB Self-Managed 管理",
            "数据库用户管理"
        ],
        "category_ja": [
            "TiUP を使用した TiDB Self-Managed 管理",
            "データベースユーザーの管理"
        ],
        "category_ko": [
            "TiUP 을 사용한 TiDB Self-Managed 관리",
            "데이터베이스 사용자 관리"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/dba_303_ch03_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/dba_303_ch03_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/dba_303_ch03_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/dba_303_ch03_en.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.0"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_303_lab_ff3": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to operate a TiDB cluster. Specifically, we will cover how to start/stop/scale-in/scale-out a TiDB cluster. This lab is a practical workshop that allows you to learn how to operate a TiDB cluster.",
        "description_zh": "在这个实验中，您将学习如何操作 TiDB 集群。具体来说，我们将介绍如何启动/停止/缩容/扩容 TiDB 集群。这是一个实践性的研讨会，让您学习如何操作 TiDB 集群。",
        "description_ja": "このハンズオン演習では、TiDB クラスタの操作方法を学びます。具体的には、TiDB クラスタの起動/停止/スケールイン/スケールアウト方法について説明します。この演習は、TiDB クラスタの操作方法を学ぶことができる実践的なワークショップです。",
        "description_ko": "이 실습에서는 TiDB 클러스터를 운영하는 방법을 배우게 됩니다. 구체적으로, TiDB 클러스터를 시작/중지/축소/확장하는 방법에 대해 설명합니다. 이 실습은 TiDB 클러스터를 운영하는 방법을 배울 수 있는 실습적인 행사입니다.",
        "lab_code": "dba_303_lab_ff3",
        "group_type": "course",
        "group_name": "dba_303",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Admin Lab 4: Operating a TiDB Cluster",
        "title_zh": "管理 TiDB 实验 4: 操作 TiDB 集群",
        "title_ja": "管理 TiDB 演習 4: TiDB クラスタの運用",
        "title_ko": "TiDB 관리 실습 4: TiDB 클러스터 운영",
        "category_en": [
            "TiDB Self-Managed Admin Using TiUP",
            "Infrastructure Management"
        ],
        "category_zh": [
            "使用 TiUP 进行 TiDB Self-Managed 管理",
            "基础设施管理"
        ],
        "category_ja": [
            "TiUP を使用した TiDB Self-Managed 管理",
            "インフラストラクチャ管理"
        ],
        "category_ko": [
            "TiUP 을 사용한 TiDB Self-Managed 관리",
            "인프라 관리"
        ],
        "environment": "TiDB Self-Managed",
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/dba_303_ch04_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/dba_303_ch04_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/dba_303_ch04_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/dba_303_ch04_en.png",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.0"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_303_lab_ff5": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to import data into TiDB using TiDB Lightning. Specifically, we will cover how to import CSV files into TiDB, importing data into TiDB in parallel,  This lab is a practical workshop that allows you to learn how to import data into TiDB using TiDB Lightning.",
        "description_zh": "在这个实验中，您将学习如何使用 TiDB Lightning 将数据导入 TiDB。具体来说，我们将介绍如何将 CSV 文件导入 TiDB、并行导入数据到 TiDB。这是一个实践性的研讨会，让您学习如何使用 TiDB Lightning 将数据导入 TiDB。",
        "description_ja": "このハンズオン演習では、TiDB Lightning を使用してデータを TiDB にインポートする方法を学びます。具体的には、CSV ファイルを TiDB にインポートし、TiDB にデータを並列にインポートする方法について説明します。この演習は、TiDB Lightning を使用してデータを TiDB にインポートする方法を学ぶことができる実践的なワークショップです。",
        "description_ko": "이 실습에서는 TiDB Lightning을 사용하여 TiDB에 데이터를 가져오는 방법을 배우게 됩니다. 구체적으로, CSV 파일을 TiDB에 가져오고 TiDB에 병렬로 데이터를 가져오는 방법에 대해 설명합니다. 이 실습은 TiDB Lightning을 사용하여 TiDB에 데이터를 가져오는 방법을 배울 수 있는 실습적인 행사입니다.",
        "lab_code": "dba_303_lab_ff5",
        "group_type": "course",
        "group_name": "dba_303",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Admin Lab 6: Importing Data into TiDB Using TiDB Lightning",
        "title_zh": "管理 TiDB 实验 6: 使用 TiDB Lightning 将数据导入 TiDB",
        "title_ja": "管理 TiDB 演習 6: TiDB Lightning を使用して TiDB にデータをインポートする",
        "title_ko": "TiDB 관리 실습 6: TiDB Lightning을 사용하여 TiDB에 데이터 가져오기",
        "category_en": [
            "TiDB Self-Managed Admin Using TiUP",
            "Export and Import",
            "Data Migration"
        ],
        "category_zh": [
            "使用 TiUP 进行 TiDB Self-Managed 管理",
            "导出和导入",
            "数据迁移"
        ],
        "category_ja": [
            "TiUP を使用した TiDB Self-Managed 管理",
            "エクスポートとインポート",
            "データ移行"
        ],
        "category_ko": [
            "TiUP 을 사용한 TiDB Self-Managed 관리",
            "데이터 내보내기와 가져오기",
            "데이터 마이그레이션"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/dba_303_ch07_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/dba_303_ch07_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/dba_303_ch07_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/dba_303_ch07_en.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_303_lab_ff6": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to export data using Dumpling. Specifically, we will cover how to deploy the Dumpling data export tool, import data into TiDB using TiDB Lightning, export the data from TiDB Using Dumpling, exporting data from MySQL using Dumpling. This lab is a practical workshop that allows you to learn how to export data using Dumpling.",
        "description_zh": "在这个实验中，您将学习如何使用 Dumpling 导出数据。具体来说，我们将介绍如何部署 Dumpling 数据导出工具、使用 TiDB Lightning 将数据导入 TiDB、使用 Dumpling 从 TiDB 导出数据、使用 Dumpling 从 MySQL 导出数据。这是一个实践性的研讨会，让您学习如何使用 Dumpling 导出数据。",
        "description_ja": "このハンズオン演習では、Dumpling を使用してデータをエクスポートする方法を学びます。具体的には、Dumpling データエクスポートツールを展開し、TiDB にデータをインポートし、Dumpling を使用して TiDB からデータをエクスポートし、Dumpling を使用して MySQL からデータをエクスポートする方法について説明します。この演習は、Dumpling を使用してデータをエクスポートする方法を学ぶことができる実践的なワークショップです。",
        "description_ko": "이 실습에서는 Dumpling을 사용하여 데이터를 내보내는 방법을 배우게 됩니다. 구체적으로, Dumpling 데이터 내보내기 도구를 배포하고, TiDB Lightning을 사용하여 TiDB에 데이터를 가져오고, Dumpling을 사용하여 TiDB에서 데이터를 내보내고, Dumpling을 사용하여 MySQL에서 데이터를 내보내는 방법에 대해 설명합니다. 이 실습은 Dumpling을 사용하여 데이터를 내보내는 방법을 배울 수 있는 실습적인 행사입니다.",
        "lab_code": "dba_303_lab_ff6",
        "group_type": "course",
        "group_name": "dba_303",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Admin Lab 7: Exporting Data Using Dumpling",
        "title_zh": "管理 TiDB 实验 7: 使用 Dumpling 导出数据",
        "title_ja": "管理 TiDB 演習 7: Dumpling を使用したデータのエクスポート",
        "title_ko": "TiDB 관리 실습 7: Dumpling을 사용하여 데이터 내보내기",
        "category_en": [
            "TiDB Self-Managed Admin Using TiUP",
            "Export and Import",
            "Data Migration"
        ],
        "category_zh": [
            "使用 TiUP 进行 TiDB Self-Managed 管理",
            "导出和导入",
            "数据迁移"
        ],
        "category_ja": [
            "TiUP を使用した TiDB Self-Managed 管理",
            "エクスポートとインポート",
            "データ移行"
        ],
        "category_ko": [
            "TiUP 을 사용한 TiDB Self-Managed 관리",
            "데이터 내보내기와 가져오기",
            "데이터 마이그레이션"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/dba_303_ch08_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/dba_303_ch08_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/dba_303_ch08_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/dba_303_ch08_en.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_303_lab_ff7": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to perform backup and restore operations. Specifically, we will cover how to deploy Backup & Restore, making a full TiDB cluster backup to locally attached storage with Backup & Restore, back up and restore a database to S3 bucket with Backup & Restore, and back up and restore a table to S3 bucket with Backup & Restore.",
        "description_zh": "在这个实验中，您将学习如何执行备份和还原操作。具体来说，我们将介绍如何部署备份和还原、使用备份和还原将完整的 TiDB 集群备份到本地附加存储、使用备份和还原将数据库备份到 S3 存储桶、使用备份和还原将表备份到 S3 存储桶。",
        "description_ja": "このハンズオン演習では、バックアップとリストア操作の方法を学びます。具体的には、バックアップとリストアのデプロイ、バックアップとリストアを使用して完全な TiDB クラスタのバックアップをローカルに接続されたストレージに作成する方法、バックアップとリストアを使用してデータベースを S3 バケットにバックアップおよびリストアする方法、バックアップとリストアを使用してテーブルを S3 バケットにバックアップおよびリストアする方法について説明します。",
        "description_ko": "이 실습에서는 백업 및 복원 작업을 수행하는 방법을 배우게 됩니다. 구체적으로, 백업 및 복원을 사용하여 전체 TiDB 클러스터를 로컬에 연결된 스토리지에 백업하고, 백업 및 복원을 사용하여 데이터베이스를 S3 버킷에 백업하고 복원하는 방법, 백업 및 복원을 사용하여 테이블을 S3 버킷에 백업하고 복원하는 방법에 대해 설명합니다.",
        "lab_code": "dba_303_lab_ff7",
        "group_type": "course",
        "group_name": "dba_303",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Admin Lab 8: Performing Backup and Restore",
        "title_zh": "管理 TiDB 实验 8: 备份与还原",
        "title_ja": "管理 TiDB 演習 8: バックアップと復元",
        "title_ko": "TiDB 관리 실습 8: 백업 및 복원",
        "category_en": [
            "TiDB Self-Managed Admin Using TiUP",
            "Database Recovery"
        ],
        "category_zh": [
            "使用 TiUP 进行 TiDB Self-Managed 管理",
            "数据库恢复"
        ],
        "category_ja": [
            "TiUP を使用した TiDB Self-Managed 管理",
            "データベースの復元"
        ],
        "category_ko": [
            "TiUP 을 사용한 TiDB Self-Managed 관리",
            "데이터베이스 복구"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/dba_303_ch09_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/dba_303_ch09_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/dba_303_ch09_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/dba_303_ch09_en.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_303_lab_ff8": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to use sync-diff-inspector for data check. Specifically, we will cover how to deploy the sync-diff-inspector tool, check data for TiDB upstream and downstream clusters, ",
        "description_zh": "在这个实验中，您将学习如何使用 sync-diff-inspector 进行数据检查。具体来说，我们将介绍如何部署 sync-diff-inspector 工具、检查 TiDB 上游和下游集群的数据。",
        "description_ja": "このハンズオン演習では、データチェックに sync-diff-inspector を使用する方法を学びます。具体的には、sync-diff-inspector ツールをデプロイし、TiDB の上流および下流クラスタのデータをチェックする方法について説明します。",
        "description_ko": "이 실습에서는 sync-diff-inspector를 사용하여 데이터 검사를 수행하는 방법을 배우게 됩니다. 구체적으로, sync-diff-inspector 도구를 배포하고, TiDB 위와 아래 클러스터의 데이터를 검사하는 방법에 대해 설명합니다.",
        "lab_code": "dba_303_lab_ff8",
        "group_type": "course",
        "group_name": "dba_303",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Admin Lab 9: Using sync-diff-inspector for Data Check",
        "title_zh": "管理 TiDB 实验 9: 使用 sync-diff-inspector 进行数据检查",
        "title_ja": "管理 TiDB 演習 9: データチェックに sync-diff-inspector を使用する",
        "title_ko": "TiDB 관리 실습 9: sync-diff-inspector를 사용하여 데이터 검사",
        "category_en": [
            "TiDB Self-Managed Admin Using TiUP",
            "Data Migration"
        ],
        "category_zh": [
            "使用 TiUP 进行 TiDB Self-Managed 管理",
            "数据迁移"
        ],
        "category_ja": [
            "TiUP を使用した TiDB Self-Managed 管理",
            "データ移行"
        ],
        "category_ko": [
            "TiUP 을 사용한 TiDB Self-Managed 관리",
            "데이터 마이그레이션"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/dba_303_ch10_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/dba_303_ch10_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/dba_303_ch10_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/dba_303_ch10_en.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_303_lab_ff9": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to migrate data using TiDB Data Migration. Specifically, we will cover how to deploy TiCDC, create a replication task, and remove a TiCDC cluster.",
        "description_zh": "在这个实验中，您将学习如何使用 TiDB Data Migration 迁移数据。具体来说，我们将介绍如何部署 TiCDC、创建复制任务、删除 TiCDC 集群。",
        "description_ja": "このハンズオン演習では、TiDB Data Migration を使用してデータを移行する方法を学びます。具体的には、TiCDC をデプロイし、レプリケーションタスクを作成し、TiCDC クラスタを削除する方法について説明します。",
        "description_ko": "이 실습에서는 TiDB Data Migration을 사용하여 데이터를 마이그레이션하는 방법을 배우게 됩니다. 구체적으로, TiCDC를 배포하고, 복제 작업을 만들고, TiCDC 클러스터를 제거하는 방법에 대해 설명합니다.",
        "lab_code": "dba_303_lab_ff9",
        "group_type": "course",
        "group_name": "dba_303",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Admin Lab 10: Migrating Data Using TiDB Data Migration",
        "title_zh": "管理 TiDB 实验 10: 使用 TiDB Data Migration 进行数据迁移",
        "title_ja": "管理 TiDB 演習 10: TiDB Data Migration を使用したデータの移行",
        "title_ko": "TiDB 관리 실습 10: TiDB Data Migration을 사용하여 데이터 마이그레이션",
        "category_en": [
            "TiDB Self-Managed Admin Using TiUP",
            "Data Migration"
        ],
        "category_zh": [
            "使用 TiUP 进行 TiDB Self-Managed 管理",
            "数据迁移"
        ],
        "category_ja": [
            "TiUP を使用した TiDB Self-Managed 管理",
            "データ移行"
        ],
        "category_ko": [
            "TiUP 을 사용한 TiDB Self-Managed 관리",
            "데이터 마이그레이션"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/dba_303_ch11_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/dba_303_ch11_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/dba_303_ch11_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/dba_303_ch11_en.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_303_lab_ff10": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Todd Bao (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to replicate TiDB change events using TiCDC. Specifically, we will cover how to deploy TiCDC, create a replication task, and remove a TiCDC cluster.",
        "description_zh": "在这个实验中，您将学习如何使用 TiCDC 复制 TiDB 变更事件。具体来说，我们将介绍如何部署 TiCDC、创建复制任务、删除 TiCDC 集群。",
        "description_ja": "このハンズオン演習では、TiCDC を使用して TiDB の変更イベントを複製する方法を学びます。具体的には、TiCDC をデプロイし、レプリケーションタスクを作成し、TiCDC クラスタを削除する方法について説明します。",
        "description_ko": "이 실습에서는 TiCDC를 사용하여 TiDB 변경 이벤트를 복제하는 방법을 배우게 됩니다. 구체적으로, TiCDC를 배포하고, 복제 작업을 만들고, TiCDC 클러스터를 제거하는 방법에 대해 설명합니다.",
        "lab_code": "dba_303_lab_ff10",
        "group_type": "course",
        "group_name": "dba_303",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-database-administration-for-self-hosted-deployments/",
        "title_en": "TiDB Admin Lab 11: Replicating TiDB Change Events Using TiCDC",
        "title_zh": "管理 TiDB 实验 11: 使用 TiCDC 复制 TiDB 变更事件",
        "title_ja": "管理 TiDB 演習 11: TiCDC を使用して TiDB 変更イベントを複製する",
        "title_ko": "TiDB 관리 실습 11: TiCDC를 사용하여 TiDB 변경 이벤트 복제",
        "category_en": [
            "TiDB Self-Managed Admin Using TiUP",
            "Replication"
        ],
        "category_zh": [
            "使用 TiUP 进行 TiDB Self-Managed 管理",
            "复制"
        ],
        "category_ja": [
            "TiUP を使用した TiDB Self-Managed 管理",
            "レプリケーション"
        ],
        "category_ko": [
            "TiUP 을 사용한 TiDB Self-Managed 관리",
            "복제"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/dba_303_ch12_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/dba_303_ch12_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/dba_303_ch12_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/dba_303_ch12_en.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.1"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_307_lab_ff0": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Tony Huang (CEG)"
        ],
        "description_en": "In this hands-on lab, you will learn how to create clustered and non-clustered indexes. Specifically, we will cover the best practices of using clustered and non-clustered indexes, split the TiKV regions to prevent hotspots, and use the key visualizer. ",
        "description_zh": "在这个实验中，您将学习如何创建聚簇索引和非聚簇索引。具体来说，我们将介绍使用聚簇索引和非聚簇索引的最佳实践、拆分 TiKV 区域以防止热点、使用键可视化器。",
        "description_ja": "このハンズオン演習では、クラスタ化および非クラスタ化インデックスの作成方法を学びます。具体的には、クラスタ化および非クラスタ化インデックスの最適な使用方法、ホットスポットを防ぐための TiKV リージョンの分割、キー ビジュアライザーの使用について説明します。",
        "description_ko": "이 실습에서는 클러스터형 및 비클러스터형 인덱스를 만드는 방법을 배우게 됩니다. 구체적으로, 클러스터형 및 비클러스터형 인덱스의 최적 사용 방법, 후크 스폿을 방지하기 위한 TiKV 리전 분할, 키 시각화기 사용에 대해 설명합니다.",
        "lab_code": "dba_307_lab_ff0",
        "group_type": "course",
        "group_name": "dba_307",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "title_en": "TiDB SQL Tuning Lab 1: Clustered and Non-Clustered Indexes",
        "title_zh": "TiDB SQL 调优实验 1: 聚簇索引和非聚簇索引",
        "title_ja": "TiDB SQL チューニング演習 1: CLUSTERED インデックスと NONCLUSTERED インデックス",
        "title_ko": "TiDB SQL 튜닝 실습 1: 클러스터형 및 비클러스터형 인덱스",
        "category_en": [
            "TiDB SQL Tuning"
        ],
        "category_zh": [
            "TiDB SQL 调优"
        ],
        "category_ja": [
            "TiDB SQL チューニング"
        ],
        "category_ko": [
            "TiDB SQL 튜닝"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/307-01.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/307-01.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/307-01.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/307-01.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.4"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "ssh_max_count": 2,
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_307_lab_ff1": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Tony Huang (CEG)"
        ],
        "description_en": " In this hands-on lab, you will create and manage Range partitioning, Range COLUMNS partitioning, List partitioning and List COLUMNS partitioning tables. You will learn about the differences between Hash partitioning and Key partitioning tables. Finally, you will compare the performance between partitioned and non-partitioned table.",
        "description_zh": "在这个实验中，您将创建和管理 Range 分区、Range COLUMNS 分区、List 分区和 List COLUMNS 分区表。您将了解 Hash 分区和 Key 分区表之间的区别。最后，您将比较分区表和非分区表之间的性能。",
        "description_ja": "このハンズオン演習では、Range パーティショニング、Range COLUMNS パーティショニング、List パーティショニング、List COLUMNS パーティショニングテーブルを作成および管理します。Hash パーティショニングテーブルと Key パーティショニングテーブルの違いについて学びます。最後に、パーティション化されたテーブルと非パーティション化されたテーブルのパフォーマンスを比較します。",
        "description_ko": "이 실습에서는 Range 파티셔닝, Range COLUMNS 파티셔닝, List 파티셔닝, List COLUMNS 파티셔닝 테이블을 만들고 관리합니다. Hash 파티셔닝 테이블과 Key 파티셔닝 테이블의 차이점에 대해 배우게 됩니다. 마지막으로, 파티셔닝된 테이블과 비파티셔닝된 테이블의 성능을 비교합니다.",
        "lab_code": "dba_307_lab_ff1",
        "group_type": "course",
        "group_name": "dba_307",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "title_en": "TiDB SQL Tuning Lab 2: Partitioned Tables",
        "title_zh": "TiDB SQL 调优实验 2: 分区表",
        "title_ja": "TiDB SQL チューニング演習 2: パーティションテーブル",
        "title_ko": "TiDB SQL 튜닝 실습 2: 파티션 테이블",
        "category_en": [
            "TiDB SQL Tuning"
        ],
        "category_zh": [
            "TiDB SQL 调优"
        ],
        "category_ja": [
            "TiDB SQL チューニング"
        ],
        "category_ko": [
            "TiDB SQL 튜닝"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/307-02.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/307-02.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/307-02.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/307-02.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.4"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "ssh_max_count": 2,
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_307_lab_ff2": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Tony Huang (CEG)"
        ],
        "description_en": "In this hands-on lab, you will examine the TiDB optimizer's execution plan for several different SELECT queries by using the EXPLAIN and EXPLAIN ANALYZE command.",
        "description_zh": "在这个实验中，您将使用 EXPLAIN 和 EXPLAIN ANALYZE 命令检查几个不同 SELECT 查询的 TiDB 优化器执行计划。",
        "description_ja": "このハンズオン演習では、EXPLAIN および EXPLAIN ANALYZE コマンドを使用して、いくつかの異なる SELECT クエリに対する TiDB オプティマイザーの実行プランを調べます。",
        "description_ko": "이 실습에서는 EXPLAIN 및 EXPLAIN ANALYZE 명령을 사용하여 여러 가지 다른 SELECT 쿼리에 대한 TiDB 최적화 실행 계획을 확인합니다.",
        "lab_code": "dba_307_lab_ff2",
        "group_type": "course",
        "group_name": "dba_307",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "title_en": "TiDB SQL Tuning Lab 3: Query Optimizer",
        "title_zh": "TiDB SQL 调优实验 3: 查询优化器",
        "title_ja": "TiDB SQL チューニング演習 3: クエリオプティマイザー",
        "title_ko": "TiDB SQL 튜닝 실습 3: 쿼리 최적화",
        "category_en": [
            "TiDB SQL Tuning"
        ],
        "category_zh": [
            "TiDB SQL 调优"
        ],
        "category_ja": [
            "TiDB SQL チューニング"
        ],
        "category_ko": [
            "TiDB SQL 튜닝"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/307-03.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/307-03.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/307-03.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/307-03.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.4"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "ssh_max_count": 2,
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_307_lab_ff3": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Tony Huang (CEG)"
        ],
        "description_en": "In this hands-on lab, you determine the optimizer's strategy for a particular query. Add indexes to the tables that the query accesses and evaluate the effect on the query execution plan. Improve the performance of a specific query.",
        "description_zh": "在这个实验中，您将确定特定查询的优化器策略。为查询访问的表添加索引，并评估对查询执行计划的影响。提高特定查询的性能。",
        "description_ja": "このハンズオン演習では、特定のクエリに対するオプティマイザーの戦略を決定します。クエリがアクセスするテーブルにインデックスを追加し、クエリ実行計画への影響を評価します。特定のクエリのパフォーマンスを向上させます。",
        "description_ko": "이 실습에서는 특정 쿼리에 대한 최적화 실행 계획을 결정합니다. 쿼리가 액세스하는 테이블에 인덱스를 추가하고 쿼리 실행 계획에 미치는 영향을 평가합니다. 특정 쿼리의 성능을 향상시킵니다.",
        "lab_code": "dba_307_lab_ff3",
        "group_type": "course",
        "group_name": "dba_307",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "title_en": "TiDB SQL Tuning Lab 4: Optimizing Queries",
        "title_zh": "TiDB SQL 调优实验 4: 优化查询",
        "title_ja": "TiDB SQL チューニング演習 4: クエリの最適化",
        "title_ko": "TiDB SQL 튜닝 실습 4: 쿼리 최적화",
        "category_en": [
            "TiDB SQL Tuning"
        ],
        "category_zh": [
            "TiDB SQL 调优"
        ],
        "category_ja": [
            "TiDB SQL チューニング"
        ],
        "category_ko": [
            "TiDB SQL 튜닝"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/307-04.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/307-04.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/307-04.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/307-04.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.4"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "ssh_max_count": 2,
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_307_lab_ff4": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Tony Huang (CEG)"
        ],
        "description_en": "In this hands-on lab, you test how statistics affect execution plans and the performance issues caused by the stale statistics.",
        "description_zh": "在这个实验中，您将测试统计信息如何影响执行计划以及过时统计信息导致的性能问题。",
        "description_ja": "このハンズオン演習では、統計情報が実行計画にどのように影響するか、および古い統計情報によって引き起こされるパフォーマンスの問題をテストします。",
        "description_ko": "이 실습에서는 통계 정보가 실행 계획에 미치는 영향과 오래된 통계 정보로 인해 발생하는 성능 문제를 테스트합니다.",
        "lab_code": "dba_307_lab_ff4",
        "group_type": "course",
        "group_name": "dba_307",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "title_en": "TiDB SQL Tuning Lab 5: Statistics Management",
        "title_zh": "TiDB SQL 调优实验 5: 统计信息管理",
        "title_ja": "TiDB SQL チューニング演習 5: 統計情報管理",
        "title_ko": "TiDB SQL 튜닝 실습 5: 통계 정보 관리",
        "category_en": [
            "TiDB SQL Tuning"
        ],
        "category_zh": [
            "TiDB SQL 调优"
        ],
        "category_ja": [
            "TiDB SQL チューニング"
        ],
        "category_ko": [
            "TiDB SQL 튜닝"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/307-05.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/307-05.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/307-05.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/307-05.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.4"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "ssh_max_count": 2,
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "dba_307_lab_ff5": {
        "migrate_to_v2": true,
        "employee_only": false,
        "delivery_type": "Instructor-Led",
        "target_audience": [
            "Architect",
            "Developer",
            "DevOps"
        ],
        "authors": [
            "Fei Dong (CEG)",
            "Tony Huang (CEG)"
        ],
        "description_en": "In this hands-on lab, you use SQL hints and SQL Plan Management (SPM) to selection a specific execution plan.",
        "description_zh": "在这个实验中，您将使用 SQL 提示和 SQL 执行计划管理（SPM）选择特定的执行计划。",
        "description_ja": "このハンズオン演習では、SQL ヒントと SQL プラン管理（SPM）を使用して特定の実行計画を選択します。",
        "description_ko": "이 실습에서는 SQL 힌트와 SQL 실행 계획 관리(SPM)를 사용하여 특정 실행 계획을 선택합니다.",
        "lab_code": "dba_307_lab_ff5",
        "group_type": "course",
        "group_name": "dba_307",
        "credit_redeemable": true,
        "credits": 7,
        "training_class_url_en": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_zh": "https://cn.pingcap.com/education/",
        "training_class_url_ja": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "training_class_url_ko": "https://www.pingcap.com/education/course-tidb-sql-tuning/",
        "title_en": "TiDB SQL Tuning Lab 6: Optimizer Hints and SQL Plan Management (SPM)",
        "title_zh": "TiDB SQL 调优实验 6: 优化器提示和 SQL 执行计划管理 (SPM)",
        "title_ja": "TiDB SQL チューニング演習 6: オプティマイザヒントと SQL プラン管理（SPM）",
        "title_ko": "TiDB SQL 튜닝 실습 6: 최적화 힌트와 SQL 실행 계획 관리 (SPM)",
        "category_en": [
            "TiDB SQL Tuning"
        ],
        "category_zh": [
            "TiDB SQL 调优"
        ],
        "category_ja": [
            "TiDB SQL チューニング"
        ],
        "category_ko": [
            "TiDB SQL 튜닝"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/307-06.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/307-06.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/307-06.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/307-06.png",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 360,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "7.5.4"
        ],
        "prepare_tidb": true,
        "prepare_tidb_script": "setup-prepare-tidb.sh",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "ssh_max_count": 3,
        "monitor_count": 1,
        "pd_count": 1,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 1,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "bgl_migrate": {
        "migrate_to_v2": true,
        "employee_only": true,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Todd Bao (CEG)",
            "Yasuo Honda (JBG)",
            "Tadatoshi Sekiguchi (JBG)"
        ],
        "description_en": "(WIP) For lab builders.",
        "description_zh": "(WIP) For lab builders.",
        "description_ja": "(WIP) For lab builders.",
        "description_ko": "(WIP) For lab builders.",
        "lab_code": "bgl_migrate",
        "group_type": "single",
        "group_name": "bgl_migrate",
        "credit_redeemable": false,
        "credits": 3,
        "title_en": "(WIP) For lab builders.",
        "title_zh": "(WIP) For lab builders.",
        "title_ja": "(WIP) For lab builders.",
        "title_ko": "(WIP) For lab builders.",
        "category_en": [
            "Disaster Recovery",
            "High Availability"
        ],
        "category_zh": [
            "容灾",
            "高可用"
        ],
        "category_ja": [
            "ディザスタリカバリ",
            "高可用性"
        ],
        "category_ko": [
            "재해 복구",
            "고가용성"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "6.5.9",
            "7.5.4",
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "ch_migrate": {
        "migrate_to_v2": true,
        "employee_only": true,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Todd Bao (CEG)",
            "Yasuo Honda (JBG)",
            "Tadatoshi Sekiguchi (JBG)"
        ],
        "description_en": "(WIP) For lab builder - Chenhao",
        "description_zh": "(WIP) For lab builder - Chenhao",
        "description_ja": "(WIP) For lab builder - Chenhao",
        "description_ko": "(WIP) For lab builder - Chenhao",
        "lab_code": "ch_migrate",
        "group_type": "single",
        "group_name": "ch_migrate",
        "credit_redeemable": false,
        "credits": 3,
        "title_en": "(WIP) For lab builder - Chenhao",
        "title_zh": "(WIP) For lab builder - Chenhao",
        "title_ja": "(WIP) For lab builder - Chenhao",
        "title_ko": "(WIP) For lab builder - Chenhao",
        "category_en": [
            "Disaster Recovery",
            "High Availability"
        ],
        "category_zh": [
            "容灾",
            "高可用"
        ],
        "category_ja": [
            "ディザスタリカバリ",
            "高可用性"
        ],
        "category_ko": [
            "재해 복구",
            "고가용성"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "6.5.9",
            "7.5.4",
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    },
    "df_migrate": {
        "migrate_to_v2": true,
        "employee_only": true,
        "delivery_type": "Self-Paced",
        "target_audience": [
            "Architect",
            "DBA",
            "DevOps"
        ],
        "authors": [
            "Todd Bao (CEG)",
            "Yasuo Honda (JBG)",
            "Tadatoshi Sekiguchi (JBG)"
        ],
        "description_en": "(WIP) For lab builder - Dong Fei",
        "description_zh": "(WIP) For lab builder - Dong Fei",
        "description_ja": "(WIP) For lab builder - Dong Fei",
        "description_ko": "(WIP) For lab builder - Dong Fei",
        "lab_code": "df_migrate",
        "group_type": "single",
        "group_name": "df_migrate",
        "credit_redeemable": false,
        "credits": 3,
        "title_en": "(WIP) For lab builder - Dong Fei",
        "title_zh": "(WIP) For lab builder - Dong Fei",
        "title_ja": "(WIP) For lab builder - Dong Fei",
        "title_ko": "(WIP) For lab builder - Dong Fei",
        "category_en": [
            "Disaster Recovery",
            "High Availability"
        ],
        "category_zh": [
            "容灾",
            "高可用"
        ],
        "category_ja": [
            "ディザスタリカバリ",
            "高可用性"
        ],
        "category_ko": [
            "재해 복구",
            "고가용성"
        ],
        "splash_image_en": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_zh": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_ja": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "splash_image_ko": "https://lab-static.pingcap.com/quick-demo/demo_001_en.png",
        "pingcaper_message_en": "Employee unlimited access",
        "pingcaper_message_zh": "员工无限制访问",
        "pingcaper_message_ja": "従業員無制限アクセス",
        "pingcaper_message_ko": "직원 무제한 접근",
        "environment": "TiDB Self-Managed",
        "backend_wait_for_cloudformation_seconds": 170,
        "ui_duration_before_lab_ready_seconds": 180,
        "estimated_duration_minutes": 60,
        "regions": [
            "oregon",
            "tokyo",
            "singapore",
            "frankfurt"
        ],
        "tidb_versions": [
            "6.5.9",
            "7.5.4",
            "8.1.1",
            "8.5.1"
        ],
        "prepare_tidb": false,
        "prepare_tidb_script": "N/A",
        "lab_cleanup_needed": false,
        "lab_cleanup_script": "N/A",
        "status_check_script": "self-managed-no-cluster-status-check.sh",
        "status_check_targets": [
            "monitor1"
        ],
        "ssh_jump_role": "monitor1",
        "ssh_jump_user": "ec2-user",
        "monitor_count": 1,
        "pd_count": 3,
        "tikv_count": 3,
        "tidb_count": 2,
        "tiflash_count": 0,
        "mysql_count": 0,
        "tiproxy_count": 0,
        "az1monitor_count": 0,
        "az2monitor_count": 0,
        "az1tidb_count": 0,
        "az2tidb_count": 0,
        "az1pd_count": 0,
        "az2pd_count": 0,
        "az1tikv_count": 0,
        "az2tikv_count": 0
    }
}