Apache DolphinScheduler は、メタデータ データベースとして OceanBase の使用をサポートしています。

ファイル

DolphinScheduler は、分散アーキテクチャ、マルチタスクタイプ、視覚的な操作、分散スケジューリング、高可用性などの機能を備えたオープンソースの分散タスク スケジューリング システムであり、大規模な分散タスク スケジューリング シナリオに適しています。現在、DolphinScheduler でサポートされているメタベースには、Mysql、PostgreSQL、H2 が含まれます。ビジネスでより優れたパフォーマンスとスケーラビリティが必要な場合は、代わりに DolphinScheduler の OceanBase データベースをメタベースとして使用できます。ノード数や規模を自由に調整でき、シームレスな拡張・縮小を実現します。

1. OceanBaseデータベース

OceanBase データベースは、Alibaba が独自に開発した分散リレーショナル データベースであり、次の特徴があります。

  1. 分散アーキテクチャ: OceanBase は分散アーキテクチャを採用しており、水平方向に拡張でき、PB レベルのデータ ストレージと処理をサポートします。

  2. 高可用性: OceanBase は分散コピー メカニズムを採用し、データの冗長バックアップを実現し、ノードに障害が発生した場合でも利用可能なサービスを確実に提供できるようにします。

  3. ハイパフォーマンス: OceanBase は、データストレージ、クエリ最適化、分散トランザクションなどを含む多次元最適化テクノロジーを採用しており、データベースのパフォーマンスを大幅に向上させることができます。

  4. 強い一貫性: OceanBase は、Paxos プロトコルに基づくマルチコピー コンセンサス アルゴリズムを使用して、分散トランザクション処理で強い一貫性を実現します。

  5. SQL との互換性: OceanBase は、DDL、DML、DQL などのコマンドを含む標準 SQL 言語をサポートします。

  6. スケーラビリティ: OceanBase はオンラインでの拡張と縮小をサポートしており、ビジネス ニーズに応じてノードの数と規模を自由に調整できます。

  7. セキュリティ: OceanBase は、データベースのセキュリティを確保するために、パスワード暗号化、データ暗号化、アクセス制御などを含む多層セキュリティ戦略を採用しています。

つまり、OceanBase データベースは高可用性、高パフォーマンス、強力な一貫性という特徴を備えており、大規模で同時実行性の高いビジネス シナリオに適しています。

2. DolphinScheduler は OceanBase データ ソースをサポートします

ビジネスのスケジューリングにおいて DolphinScheduler のデータ ソースとして OceanBase を使用する利点は次のとおりです。

  1. 高いパフォーマンス: OceanBase は大規模なデータを処理でき、データの保存と処理に多次元の最適化技術を採用しているため、他のデータベースと比較してパフォーマンスが高く、データを高速に処理できます。

  2. 高い信頼性: OceanBase は分散型データベースであり、マルチノードのデータ冗長バックアップにより、ノードに障害が発生した場合に自動的に切り替えることができ、高いサービス信頼性を確保します。

  3. トランザクション処理: ビジネスでアトミックな操作が必要な場合、OceanBase はデータが不整合にならないように、強力に一貫性のある分散トランザクション処理を提供できます。

  4. 分散スケジューリング: DolphinScheduler 自体は、OceanBase 分散アーキテクチャに適合する分散タスク スケジューリング システムであり、Oceanbase の分散機能を最大限に活用して、より効率的なスケジューリング サービスを提供できます。

  5. スケーラビリティ: DolphinScheduler と OceanBase はどちらもオンライン拡張と縮小をサポートしており、ビジネス ニーズに応じてノードの数と規模を自由に調整して、シームレスな拡張と縮小を実現します。

OceanBaseをデータソースとして使用することで、高性能、高信頼性、高セキュリティ、強力な拡張性を実現でき、DolphinSchedulerと組み合わせて使用​​することで、スケジューリング業務の安定性、信頼性、拡張性の向上を実現します。

3. OceanBase のどの機能が Mysql と互換性がありますか?

  1. データ型: OceanBase は、整数、浮動小数点数、日付と時刻、文字列などの MySQL の一般的なデータ型をサポートします。

  2. SQL 構文: OceanBase は、SELECT、INSERT、UPDATE、DELETE およびその他のコマンドなどの一般的な MySQL SQL ステートメントをサポートします。

  3. ストレージ エンジン: OceanBase は、MySQL のトランザクションおよびロック機能と互換性のある InnoDB ストレージ エンジンをサポートしています。

  4. ストアド プロシージャ: OceanBase は、ストアド プロシージャ、ストアド関数、ストアド トリガーなどの MySQL のストアド プロシージャ機能をサポートします。

  5. ツールとドライバー: OceanBase は、MySQL Workbench、Navicat、JDBC などの一般的な MySQL ツールとドライバーをサポートします。

4. DolphinScheduler を OceanBase メタベースに置き換える手順

  1. ホスト アドレス、ポート番号、ユーザー名、パスワード、その他の情報を含む OceanBase データ ソースを作成します。

Alibaba パブリック クラウド: Alibaba Cloud 公式 Web サイトでパブリック クラウドの OceanBase インスタンスを申請します。申請が成功すると、Console-ApsaraDB for OceanBase-Instance List ページで実行中のインスタンスを確認できます。

ファイル

インスタンスに入ると、データベース インスタンスとプロキシのプライベート ネットワークとパブリック ネットワークのアドレスが下に表示されます。右上隅で新しいデータベースとアカウントを作成できます。スーパー アカウント以外のアカウントは、アクセスするにはアカウント管理ページで権限を変更する必要があります。このアカウントとパスワードはサービス内部として使用されます。 OceanBase データベースに接続するためのデータベース アカウントのパスワード:ファイル

作成が成功したら、パネルでデータベースにログインするか、他のデータ ソース接続ツールを使用するか、コマンド ラインを使用してデータベースにログインし、SQL を実行してデータベースが使用可能かどうかを確認します。ファイル

  1. OceanBase に入ったら、DolphinScheduler データベースを作成し、テーブル初期化 SQL ファイルを実行します。dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql;

ファイル

ファイル

  1. DolphinScheduler の構成ファイルを変更し、元の MySQL データ ソースを新しい OceanBase データ ソースに置き換えます。

API サービスをローカルで開始します。dolphinscheduler-apiモジュール構成ファイル内のデータベース アドレスを変更します。

ファイル

スタンドアロン サービスをローカルで開始します。dolphinscheduler-standalone-serverモジュール構成ファイル内のデータベース アドレスを変更します。

同上

サーバー展開:/apache-dolphinscheduler-3.1.2-bin/bin/env/dolphinscheduler_env.shデータベースアドレスの変更

ファイル

  1. DolphinScheduler を起動し、正常にログインすると、他のモジュールが正常に動作して、OceanBase メタデータ データベースが正常に接続され、正常に使用されていることを確認できます。

ファイル

5. 切り替え時の注意点

1. 外部キー制約

DolphinSchedulerSQL ファイルを使用してdolphinscheduler_mysql.sqlデータベースを初期化する場合、SQL の開始時にSET FOREIGN_KEY_CHECKS=0外部キー制約がチェックされません。DDL ステートメントの外部キー制約は、OceanBase Community Edition 4.0 より前ではサポートされていないことに注意してください。例正式バージョン V3.1.1、

したがって、ここでは OceanBase のバージョン互換性に注意を払う必要があります。

ファイル

2. データ移行後の挿入エラー

エラーメッセージは次のとおりです。

エラーメッセージ

Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at com.mysql.cj.protocol.a.NativePacketPayload.readInteger(NativePacketPayload.java:398)
    at com.mysql.cj.protocol.a.NativePacketPayload.readString(NativePacketPayload.java:605)
    at com.mysql.cj.protocol.a.NativeServerSessionStateController$NativeServerSessionStateChanges.init(NativeServerSessionStateController.java:112)
    at com.mysql.cj.protocol.a.result.OkPacket.parse(OkPacket.java:66)
    at com.mysql.cj.protocol.a.NativeProtocol.readServerStatusForResultSets(NativeProtocol.java:1691)
    at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:116)
    at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:48)
    at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1600)
    at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1654)
    at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1000)
    at com.mysql.cj.NativeSession.execSQL(NativeSession.java:666)
    at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:930)
    ... 157 common frames omitted

この状況は、OceanBase データベースに切り替えた後にデータが挿入されるときに発生することがあります。データを初期化する際、ID 付きのテーブルにデータが挿入され、その後、再度データが挿入されます。このとき、デフォルトの主キーの自動インクリメントは 0 から始まり、デフォルトの自動インクリメント ステップは 10001 から始まります。次のように:

ファイル

6. まとめ

DolphinScheduler 自体は非常に強力な分散スケジューリング システムであり、大規模なデータ タスクを簡単に管理およびスケジュールするのに役立ちます。また、OceanBase と組み合わせて使用​​すると、より回復力があり、安全で信頼性の高いデータ ストレージ方法を提供できます。この組み合わせにより、大規模データのタスク管理とスケジューリングの問題をより適切に解決しながら、タスク アプリケーションの作業効率と信頼性を向上させることができます。したがって、DolphinScheduler を使用してデータ タスクの管理とスケジュールを設定している場合は、タスク アプリケーションの効率と信頼性を高めるために、OceanBase をメタデータ データベースとして使用することを強くお勧めします。

この記事はBeluga オープンソース テクノロジーによってサポートされています。

インド国防省が自社開発した Maya OS は、Windows Redis 7.2.0 を完全に置き換えるもので、最も広範囲にわたるバージョンの 7-Zip 公式 Web サイトが、Baidu によって悪意のある Web サイトであると特定されました 。 Xiaomi がCyber​​Dog 2をリリース、オープンソース率80%以上 ChatGPTの1日コスト約70万ドル、OpenAIが破産寸前の可能性 瞑想ソフトが上場へ、「中国初のLinux人」が設立 Apache Doris 2.0.0版正式リリース: ブラインド テストのパフォーマンスが 10 倍向上、より統合され多様な超高速分析エクスペリエンス Linux カーネル (v0.01) のオープン ソース コード解釈の最初のバージョン Chrome 116 が正式リリース
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/dailidong/blog/10098006