OB CloudはMySQL互換モードのテナントをサポートしており、SQL構文とセマンティクス、ストアドプロシージャ、システムパッケージ、システムビュー、各種言語ドライバ、組み込みSQLプリコンパイラなど、あらゆる面で互換性があります。アプリケーションはほとんど変更せずに簡単に移行できます。
説明
このチュートリアルは、OB Cloudコンソールでもインタラクティブチュートリアルとして公開されています。実際のOB Cloud環境で操作しながら体験することも可能です。OB Cloudコンソールにログインし、左側のナビゲーションバーの実践チュートリアルをクリックすると、公開されているすべてのインタラクティブチュートリアルを見ることができます。
制限事項
- ご自身が現在のインスタンスに対するインスタンス管理者、データ読取り、およびデータサービス管理者権限を保有していること。権限がない場合は、組織管理者に連絡し追加してもらってください。
- 利用可能なトランザクション型クラスタインスタンスを保有していること。
操作手順
サンプルSQLファイルをダウンロードします。
**互換性の評価**ページに入るためにクリックします。
**作成する**をクリックします。
**オフライン評価**をクリックします。
**オフライン評価を作成する**ページで、以下のパラメータを入力します。
説明
システムが自動的に評価タスク名を作成しています。必要に応じてカスタム名を選択することができます。
- ターゲット側
パラメータ説明クラウドベンダー **Tencent Cloud**を選択します。 データベースタイプ **TencentDB for MySQL**を選択します。 Region ドロップダウンリストからリージョンを選択します。 データソース **SQL**を選択します。 アップロードファイル ステップ1でダウンロードしたサンプルSQLファイルをここにアップロードします。 - ソース側
パラメータ説明ターゲットデータベースの種類 OceanBase MySQL Mode ターゲットデータベースのバージョン ドロップダウンリストから該当するデータベースバージョンを選択できます。 評価を開始する をクリックします。互換性評価のリストページで、作成した評価タスクを見つけることができます。
評価タスクが完了するのを待ち、評価タスクのリストページで、レポートを見る をクリックして、生成された互換性評価レポートを表示します。
互換性評価レポートは、収集されたすべてのSQL文を表示し、その互換性を評価します。レポートの最初のページには、アップロードされたファイルの互換度が表示され、すべての評価対象が一覧表示されます。互換性の詳細 の下で評価対象のタイプをクリックすると、詳細を見ることができます。レポートの詳細については、互換性評価レポートの表示とダウンロードに関するドキュメントをご参照ください。
SQLファイルの例
client-demo.sql ファイルは、コース管理システムのデータベース構造を例に、テーブル、インデックス、ビュー、データパーティションなどの一般的なデータベース操作を網羅しています。
全SQL文の表示
学生テーブルの作成
CREATE TABLE IF NOT EXISTS students ( student_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, registration_date DATE NOT NULL, INDEX idx_registration_date (registration_date) ) ENGINE=InnoDBコーステーブルの作成
CREATE TABLE IF NOT EXISTS courses ( course_id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, credits INT NOT NULL ) ENGINE=InnoDB教員テーブルの作成
CREATE TABLE IF NOT EXISTS teachers ( teacher_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL ) ENGINE=InnoDBコーススケジュールテーブルの作成とパーティショニング
CREATE TABLE IF NOT EXISTS course_schedules ( schedule_id INT AUTO_INCREMENT PRIMARY KEY, course_id INT NOT NULL, teacher_id INT, schedule_time DATETIME NOT NULL, INDEX idx_schedule_time (schedule_time) ) ENGINE=InnoDB PARTITION BY RANGE(YEAR(schedule_time)) ( PARTITION p2020 VALUES LESS THAN (2021), PARTITION p2021 VALUES LESS THAN (2022), PARTITION p2022 VALUES LESS THAN (2023), PARTITION p2023 VALUES LESS THAN (2024), PARTITION p_future VALUES LESS THAN MAXVALUE )ビューの作成:コースと教員情報
CREATE VIEW `vw_course_teacher` AS SELECT c.course_id, c.title AS course_title, c.credits, t.name AS teacher_name FROM courses AS c LEFT JOIN course_schedules AS cs ON c.course_id = cs.course_id LEFT JOIN teachers AS t ON cs.teacher_id = t.teacher_id;ビューの作成:間もなく開講するコース情報
CREATE VIEW `vw_upcoming_courses` AS SELECT c.title AS course_title, t.name AS teacher_name, cs.schedule_time FROM course_schedules AS cs JOIN courses AS c ON cs.course_id = c.course_id JOIN teachers AS t ON cs.teacher_id = t.teacher_id WHERE cs.schedule_time BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 1 WEEK);ビューの作成:学生登録情報
CREATE VIEW `vw_student_registration` AS SELECT student_id, name AS student_name, registration_date FROM students;