あらゆる環境で複数のオープンソースデータベーステクノロジーを管理することは、特にリソースが少ない場合、困難な作業になる可能性があります。展開、監視、その他のデータベース管理タスクを手動で行うと、シナリオがさらに悪化する可能性があります。このシナリオがおなじみのように思われる場合、このブログは、ClusterControlなどのデータベース自動化ツールを使用してオープンソースの異種データベースの管理を自動化するのに役立ちます。
さまざまなテクノロジーに基づいてオープンソースデータベースを管理するエンタープライズソリューションを探している組織や企業にとって、ClusterControlは優れたオプションです。 ClusterControlは、MySQL、MongoDB、PostgreSQL、MariaDBなど、さまざまな一般的なオープンソースデータベーステクノロジーをサポートしており、大規模な組織や企業でエンタープライズアプリケーションや複雑なアーキテクチャに使用されています。
ソリューションアーキテクトは、ClusterControlを効率的に利用して、既存の環境とアーキテクチャに適合させることができます。 ClusterControlはモノリシックアプリケーションですが、cmonと通信する複数のコンポーネントがあります。これらのコンポーネントは連携して動作し、ClusterControlがサポートするさまざまなタイプのオープンソースデータベースをシームレスに管理します。
ClusterControlでサポートされているデータベースベンダー
ClusterControlを使用すると、RDBMSからNoSQLまでのさまざまなオープンソースデータベースのデータベースクラスタを最初からデプロイまたは作成できます。 SSHクレデンシャルなどのサーバー接続情報を提供するだけです。 ClusterControlは、サポートされているLinuxオペレーティングシステムに限定されたデータベースサーバーの実行に必要なすべての癖とちょっとしたことを管理します。 ClusterControlは、必要な構成パラメーターを追加し、特にバックアップ、冗長性、および登録済み(または作成済み)およびインポート済みのデータベースの高可用性のために、必要と見なされるチューニングとユーザーを支援します。
ClusterControlがサポートするほとんどのデータベーステクノロジー(MongoDBバリアントとNDBを除く)は、さまざまなロードバランサーまたはプロキシと簡単に連携できます。これは、ClusterControlUIを使用して数回クリックするだけで簡単にセットアップできます。 。
ClusterControlが複数のデータベーステクノロジーを管理している場合は、次のようになります。
ClusterControlは数千のクラスターを管理できますが、これはClusterControlソフトウェアをホストしているサーバーの容量とリソースによって異なります。
MySQL / MariaDB/Perconaサーバー
Oracle MySQLはClusterControlにデプロイまたはインポートでき、プライマリスタンバイ/マスタースレーブレプリケーションとしてセットアップできます。デフォルトでは、ClusterControlを使用してデプロイおよび設定されると、Oracle MySQLレプリケーションは半同期レプリケーションを使用します。これにより、非同期レプリケーションよりも一貫性が向上します。これは、プライマリスタンバイレプリケーションを展開するときに、ClusterControlモニター(cmon)によって標準構成として構成および設定されます。
MariaDBとPerconaサーバーは、プライマリスタンバイ/マスタースレーブレプリケーションとして設定できます。また、Galeraレプリケーションプラグインを使用して同期レプリケーションを作成することもできます。 Oracle MySQLと同じように、プライマリスタンバイレプリケーションの設定は、プライマリスタンバイレプリケーションにも同じように適用されます。
MariaDBとPerconaサーバーがGaleraクラスターをデプロイするようにセットアップされている場合、これは、セットアップされるレプリケーションが同期レプリケーションと見なされることを意味します。
MySQLクラスター(NDB)
ClusterControlは、電気通信または関連業界で一般的に使用される分散データベースシステムであるMySQL Cluster(NDB)もサポートしています。このテクノロジーは、高可用性を実現するために構築されており、高いパフォーマンスレベルを必要とするミッションクリティカルなエンタープライズアプリケーションで広く使用されています。 ClusterControlはUIを使用してNDBをデプロイし、ユーザーの観点から設定するのはかなり簡単です。それでも、NDBの監視および管理機能は、他のデータベーステクノロジで提供されているものと比較して制限されています。 MySQL Cluster(NDB)は管理が複雑なデータベースですが、NDBの操作に慣れると、特に高可用性機能を備えた強力なデータベースになる可能性があります。
PostgreSQL / TimescaleDB
世界で最も先進的なオープンソースリレーショナルデータベースとして引用されているPostgreSQLは、ClusterControlにデプロイまたはインポートでき、豊富な機能も提供します。 ClusterControlを使用すると、ユーザーはPostgreSQLレプリケーションを設定して、同期レプリケーションまたは従来の非同期レプリケーションのいずれかを選択できます。
TimescaleDBはPostgreSQLの拡張機能であり、主に時系列データのオープンソースリレーショナルデータベースとして特化しています。 cmonがPostgreSQL上でTimescaleDBを管理する方法にはほとんど違いはありませんが、すべてではないにしても、ほとんどの機能は同じです。サポートされているバージョンによって異なる場合がありますが、両方の管理と監視は同じです。
MongoDB/PerconaサーバーforMongoDB
ClusterControlは、データベースのNoSQLファミリーの一部として、MongoDBまたはMongoDB用のPerconaサーバーをサポートします。どちらのベンダーも、ClusterControlによる管理と監視の方法に違いはありません。 ClusterControlによるNoSQLサポートを有効にするために存在するすべての機能は、両方のベンダーに適用できます。 ClusterControlを使用してReplicaSetまたはMongoDBシャードをデプロイでき、管理とセットアップが非常に簡単です。
ClusterControlによる自動フェイルオーバー
ClusterControlは、管理側からの変更なしに障害を自動的に管理するように構築されています。障害は、ハードウェア障害、データ破損、またはプロセスIDの強制終了やデータディレクトリの物理的な削除などの事故の形で発生する可能性があります。 ClusterControlは、以下に示すように、クラスターとノードのリカバリ用の自動リカバリモードで構築されています。
ノードリカバリとは、データベースノードへのプロセスと接続を監視することにより、断続的な障害が発生した場合にClusterControlがデータベースノードをリカバリできることを意味します。このプロセスはsystemdと同様に機能し、ClusterControl UIを介して意図的に停止しない限り、MySQLサービスが開始および実行されていることを確認します。
一方、クラスターリカバリは、ClusterControlがデータベーストポロジを理解し、リカバリを実行する際のベストプラクティスに従うことを保証します。 Galera Cluster、NDB Cluster、MongoDB Replicasetなどのフォールトトレランスが組み込まれているデータベースクラスターの場合、フェイルオーバープロセスは、クォーラム計算、ハートビート、および役割の切り替え(存在する場合)を介してデータベースサーバーによって自動的に実行されます。 ClusterControlはプロセスを監視し、トポロジビューでの変更の反映や、レプリカセット内の新しいプライマリノードなどの新しい役割の監視および管理コンポーネントの調整など、視覚化に必要な調整を行います。
このプロセスについて詳しく知りたい場合は、こちらをご覧ください。
セキュリティは、データベースを実行する上で最も重要な側面の1つでもあります。開発者であろうとDBAであろうと、データベースを管理する場合は、データを保護し、不正アクセスからデータを保護するのはあなたの責任です。
データベースを安全に保つには、転送中と保存中の両方で、暗号化の詳細と理解に注意を払う必要があります。一部の業界は、準拠しなかった場合の説明責任が高く、説明責任の基準が高くなっています(GDPRなどを考えてください)。
ClusterControlのポイントアンドクリックUIを使用して、チームにオープンソースデータベースを手動で設定させるのではなく、人為的エラーを排除するために簡単かつ安全にデプロイできます。また、データベースインフラストラクチャに高レベルの保護を追加して、データを安全に保つ高度なセキュリティ機能も備えています。
ClusterControlは、SSLを有効にする効率的でユーザーフレンドリーなUIを提供します。これにより、安全なトランスポート層の構成とセットアップが自動化されます。たとえば、MySQLデータベースのバリアントでは、これは次のように[セキュリティ]タブの下にあります。
ClusterControlは、上のスクリーンショットに示すように、クライアントサーバー通信およびGaleraベースのレプリケーションクラスターでのレプリケーション内の通信にSSL/TLSを有効にします。 ClusterControlは、以下のスクリーンショットに示すように、保存時に暗号化を有効にできる高度なバックアップ機能も提供します。
写真の作成者写真の説明
ClusterControlによるデータベースの自動化
ClusterControlを使用している場合も、自動化スクリプトは必要ありません。たとえば、ClusterControlでは、バックアップをその場で作成して実行できます。また、バックアップポリシーを作成してバックアップをスケジュールし、自動的に実行されるようにすることもできます。仕組みは次のとおりです。
すべてのアクションは、アプリケーションのバックグラウンドでジョブをトリガーし、ジョブが完了すると通知されます。たとえば、以前にトリガーしたバックアップに基づいて、このジョブが完了すると、アラームがトリガーされ、電子メールまたは統合されたサードパーティの通知システムを介して適切に配信されることがわかります。これは、ClusterControl内のセットアップ設定によって異なります。以下のスクリーンショットの例では、自動化された環境メカニズムを介して実行されていたバックアップが成功したことを通知するため、ClusterControlがアラームをトリガーします。
ClusterControlを使用すると、複数のデータベーステクノロジーを使用して、大規模なデータベースや環境を効率的かつ簡単に管理できます。 ClusterControlはモノリシックですが、クラウドまたはコンテナ化された環境を介して実行できるため、多くの利点があり、さまざまなタイプのアーキテクチャをサポートします。今日30日間無料でClusterControlをお試しください。次の日にお会いしましょう。