sql >> データベース >  >> RDS >> MariaDB

MySQLまたはMariaDBのデータベースベンダーロックインの回避

    ベンダーロックインは、「独自のロックインまたは顧客ロックイン。これにより、顧客は製品やサービスをベンダーに依存し、実質的なコストなしに別のベンダーを使用することはできません」と定義されます(ウィキペディア)。望ましいビジネスモデルとなる多くのソフトウェア会社にとって、紛れもなく。しかし、それは顧客にとって良いことですか?

    プロプライエタリデータベースは、他の一般的なデータベースソフトウェアソリューションからの移行を強力にサポートしています。ただし、それは別のベンダーロックインを引き起こすだけです。それでは、それはソリューションのオープンソースですか?

    オープンソースには何年も前に、多くの高価なデータベースソリューションが選択されていたという制限のために。残念ながら、多くのオープンソースにとっては選択肢ではありませんでした。

    実際、何年にもわたって、オープンソースデータベースは、重要で複雑なデータトランザクションシステムを実行するためのエンタープライズサポートと成熟度を獲得してきました。

    PerconaやMariaDBのような新しいバージョンのデータベースでは、互換性や企業が24時間年中無休のサポート、セキュリティ、監査、クラスタリング、オンラインバックアップ、高速復元などの優れた新機能を追加しました。これらすべてにより、移行プロセスがこれまでになくアクセスしやすくなりました。

    移行は賢明な方法かもしれませんが、リスクが伴います。プロプライエタリからオープンサポートへの移行を手動で計画する場合でも、移行プロセス全体を自動化するための商用ツールを使用して移行する場合でも、プロセスと結果の検証に関連する可能性のあるすべてのボトルネックと方法を知る必要があります。

    データベースシステムを変更することは、ベンダーロックインのさらなるリスクを検討する絶好の機会でもあります。移行プロセス中に、いくつかのテクノロジーでロックされないようにする方法を考えるかもしれません。この記事では、MySQLとMariaDBのベンダーロックインのいくつかの主要な側面に焦点を当てます。

    データベース監視のためのロックインの回避

    オープンソースデータベースのユーザーは、多くの場合、本番データベース環境を監視するためにツールと自社開発のスクリプトを組み合わせて使用​​する必要があります。ただし、ソリューションに独自の独自のスクリプトが含まれている場合でも、それを維持し、新しいデータベース機能に対応することは困難です。

    うまくいけば、My​​SQL/MariaDB用の興味深い無料の監視ツールがたくさんあります。 DBAが推奨する最も無料のツールは、PMM、Zabbix、ClusterControl Community Edition、NagiosMySQLプラグインです。 PMMとClusterControlは専用のデータベースソリューションですが。

    Percona Monitoring and Management(PMM)は、MySQLプラットフォームのパフォーマンスを管理し、クエリのパフォーマンスを調整するための完全なオープンソースソリューションです。 PMMは、環境の範囲内ですべてのパフォーマンスとクエリデータを保持するオンプレミスソリューションです。以下のリンクからPMMデモを見つけることができます。

    従来のサーバー監視ツールは、最新の分散データベースアーキテクチャ用に構築されていません。今日のほとんどの本番データベースは、より単純なマスタースレーブレプリケーションから冗長ロードバランサーが前面にあるマルチマスタークラスターまで、高可用性セットアップで実行されます。運用チームは、データベース環境を構成する数十、多くの場合数百のサービスを処理します。

    複数のデータベースシステムがあるということは、組織が開発側でより機敏になることを意味します開発者が選択できるようになりますが、運用側にも追加の知識が必要になります。インフラストラクチャをMySQLのみから拡張して、MongoDBやPostgreSQLなどの他のストレージバックエンドをデプロイすることは、それらを監視、管理、およびスケーリングする必要があることを意味します。すべてのストレージバックエンドはさまざまなユースケースで優れているため、これは、すべてのストレージバックエンドの車輪の再発明が必要であることも意味します。

    ClusterControlは、レプリケーションまたはクラスタリング。クラスタソリューション全体のステータスを示しますが、単一のインスタンスに大いに使用できます。 ClusterControlは多くの高度なメトリックを表示しますが、それらを理解するのに役立つ組み込みのアドバイザーもあります。 ClusterControlのデモは、以下のリンクにあります。

    データベースバックアップソリューションのロックインの回避

    バックアップを取る方法は複数ありますが、特定のニーズに合う方法はどれですか。ポイントインタイムリカバリを実装するにはどうすればよいですか?

    OracleまたはSQLServerから移行する場合は、PerconaのxtrabackupツールまたはMarkの同様のmariabackupをお勧めします。

    Percona XtraBackupは、最も人気のあるオープンソースのMySQL / MariaDBホットバックアップソフトウェアであり、InnoDBおよびXtraDBデータベースのノンブロッキングバックアップを実行します。これは、MySQLデータディレクトリとその下のファイルの正確なコピーで構成される物理バックアップカテゴリに分類されます。

    XtraBackupは、バックアッププロセス中にデータベースをロックしません。大規模なデータベース(100 GB以上)の場合、mysqldumpと比較してはるかに優れた復元時間を提供します。復元プロセスでは、バックアップファイルからMySQLデータを準備してから、ターゲットノードの現在のデータディレクトリに置き換えるか切り替えます。

    データベースの高可用性とスケーラビリティのためのロックインの回避

    失敗に備えて設計していない場合は、クラッシュに向かっていると言われています。障害に耐えるために、データベースシステムをゼロからどのように作成しますか?障害はさまざまな方法で発生し、場合によっては想像しにくい方法で発生するため、これは課題となる可能性があります。これは、今日のデータベース環境の複雑さの結果です。

    クラスタリングは、OracleやSQLServerなどのデータベースの高価な機能です。追加のライセンスが必要です。

    Galera Clusterは、高可用性MySQLおよびMariaDBの主流オプションです。また、従来のMySQLマスタースレーブアーキテクチャの信頼できる代替品としての地位を確立していますが、ドロップインの代替品ではありません。

    Galera Clusterは、MySQLおよびMariaDB用の同期アクティブ-アクティブデータベースクラスタリングテクノロジーです。 Galera Clusterは、OracleのMySQLClusterとして知られているNDBとは異なります。 MariaDBクラスターは、Codershipが提供するマルチマスターレプリケーションプラグインに基づいています。

    Galera Clusterには特定のユースケースに適さないいくつかの特性がありますが、ほとんどのアプリケーションはそれでも実行できるように適合させることができます。

    利点は明らかです。フェイルオーバーと読み取りスケーラビリティが組み込まれたマルチマスターInnoDBセットアップです。

    データベースの負荷分散のためのロックインの回避

    プロキシは、MySQLの高可用性セットアップの構成要素です。障害が発生したノードを検出し、まだ使用可能なホストにクエリをルーティングできます。マスターに障害が発生し、スレーブの1つを昇格させる必要がある場合、プロキシはそのようなトポロジの変更を検出し、それに応じてトラフィックをルーティングします。

    より高度なプロキシは、正確なクエリルールに基づいてトラフィックをルーティングしたり、クエリをキャッシュしたり、それらをミラーリングしたりするなど、より多くのことを実行できます。さまざまなタイプのシャーディングを実装するためにも使用できます。

    最も便利なものは、ProxySQL、HAproxy、MaxScale(無料での使用が制限されています)です。

    クラウドに移行する際のロックインの回避

    過去10年間で、多くの企業は、データセンターとアジャイルソフトウェア開発の予算上の制限を回避するためにクラウドベースのテクノロジーに移行しました。クラウドを利用することで、企業とアプリケーションは、クラウドコンピューティングに由来するコスト削減と汎用性から利益を得ることができます。

    クラウドソリューションは企業に多くのメリットをもたらしますが、それでもいくつかのリスクをもたらします。たとえば、ベンダーロックインはデータセンターと同じくらいクラウドでも高くなっています。

    クラウドでワークロードを実行する企業が増えるにつれ、データの管理にクラウドデータベースサービスがますます使用されるようになっています。データベースを維持する代わりにクラウドデータベースサービスを使用する利点の1つは、管理のオーバーヘッドが削減されることです。主要なクラウドベンダーのデータベースサービスには多くの類似点がありますが、それらには個別の特性があり、ワークロードに適しているか、または適していない可能性があります。

    データベースホスティングハイブリッドモデル

    より多くの企業がクラウドに移行するにつれて、ハイブリッドモデルの人気が実際に高まっています。ハイブリッドモデルは、多くの企業にとって安全なモデルと見なされています。

    実際、心臓移植を行い、すべてをすぐに移植することは困難です。多くの企業は、すべてが移行されるまで通常1年、場合によっては永久にかかる遅い移行を行っています。移動は許容できる平和で行われるべきです。

    ハイブリッドモデルを使用すると、可用性の高いスケーラブルなシステムを構築できるだけでなく、その性質上、ロックインを回避するための優れた最初のステップになります。アーキテクチャの設計により、システムは一種の混合モードで動作します。

    このようなアーキテクチャの例としては、社内のデータセンターで動作するクラスターと、そのコピーがクラウドに配置されている場合があります。

    結論

    プロプライエタリデータベースからオープンソースへの移行には、所有コストの削減、オープンソースデータベースエンジンへのアクセスと使用、Webとの緊密な統合などのいくつかの利点があります。オープンソースには提供できるものがたくさんあり、その性質上、ベンダーロックインを回避するための優れたオプションです。


    1. SQL ServerでのCOUNT()のしくみ

    2. SQLが等しくないクエリでnull値を表示しませんか?

    3. MySQLIN句のカンマ区切り値

    4. ProxySQLとAWSAuroraを使用したデータベース負荷分散