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

プロプライエタリデータベースからオープンソースデータベースに移行するためのヒント

    当時、プロプライエタリデータベースが唯一の受け入れ可能なオプションでした。

    「Oracle/Microsoft/IBMからの購入で解雇されたことはありません」 言っていた。

    あらゆる目的に使用される巨大なモノリシックデータベース。有料サポート-これが、90年代から00年代初頭のデータベースランドスケープの様子です。確かに、オープンソースのデータベースはありましたが、それらは「おもちゃのデータベース」のように扱われ、小さなWebサイト、ブログ、または非常に小さなeショップに適していました。正気の人は、重要なことにそれらを使用することはありません。

    物事は時間とともに変化し、オープンソースデータベースは成熟しました。毎年ますます作成されています。時系列、分析、列ストア、NoSQL、リレーショナル、キー値など、特定のワークロードに最適なオプションをユーザーが選択できるようになりました。必要なデータベースを選択できます。通常、選択できるオプションは多数あります。これにより、データベースの世界でオープンソースがますます普及するようになります。企業は現在、独自のデータベースベンダーからの請求書を検討しており、無料のオープンソースデータベースを採用することで請求額を少し減らすことができるかどうか疑問に思っています。

    いつものように、賛否両論があります。オープンソースデータベースを実装する前に考慮したいことは何ですか?このブログ投稿では、オープンソースデータベースへの移行を計画する際に覚えておくとよいヒントをいくつか紹介します。

    小さく始めて拡大

    組織がオープンソースデータベースを使用していない場合は、それらを管理した経験がない可能性があります。外部コンサルタントを通じて実行できますが、環境全体をオープンソースデータベースに移行することはおそらく良い考えではありません。

    代わりに、小さなプロジェクトから始めるのがより良いアプローチです。ある種の内部ツールやウェブサイト、あるいはある種の監視ツールを構築する必要があるかもしれません。これは、オープンソースデータベースを使用して実際の環境での使用経験を積む絶好の機会です。これにより、データベースの詳細(診断方法、パフォーマンスの追跡方法、パフォーマンスを向上させるための調整方法)を学ぶことができます。

    さらに、高可用性オプションと実装について詳しく知ることができます。また、使用するプロプライエタリデータベースと、小規模なプロジェクト用に実装したオープンソースデータベースの違いを理解するのにも役立ちます。やがて、組織内のオープンソースデータベースのフットプリントが、チームの経験とともに大幅に増加することがわかります。

    ある時点で、オープンソースデータベースを実行するのに十分な経験を積んだ後、レバーを引いて移行プロジェクトを開始することを決定できます。もう1つの、非常に可能性の高いオプションは、プロジェクトごとにオペレーションをオープンソースデータベースに徐々に移行することです。最終的に、プロプライエタリRDBMSを使用する既存のアプリケーションは非推奨になり、最終的には、オープンソースデータベースに依存するソフトウェアの新しいイテレーションに置き換えられます。

    仕事に適したデータベースを選択

    オープンソースデータベースは、通常、非常に特殊化されていることはすでに説明しました。時系列、ドキュメントストア、Key-Valueストア、列型ストア、テキスト検索など、さまざまな用途に適したデータストアを選択できます。これを前のヒントと組み合わせると、小さなプロジェクトに必要なデータベースの種類を正確に選択できます。環境の監視スタックを構築するとします。

    PrometheusやTimeScaleDBなどの時系列データベースを調べて、監視アプリケーションを強化することをお勧めします。ある種の分析/ビッグデータソリューションを実装したいと思うかもしれません。メインのRDBMSからデータを抽出し、それをオープンソースソリューションにロードするには、ある種のETLプロセスを設計する必要があります。データストアとして使用するオプションは多数あります。要件とデータに応じて、Clickhouse、Cassandra、Hiveなどのさまざまなデータベースから選択できます。

    アプリケーションの一部をプロプライエタリRDBMSからオープンソースソリューションに移行するのはどうですか?

    そのためのオプションもあります。 PostgreSQLやMariaDBのようなデータストアには、Oracleのようなデータストアからの簡単な移行に関連する多くの機能があります。たとえば、Oracleで利用可能なPL/SQLおよびその他のSQL機能のサポートが付属しています。これは非常に役立ちます。Oracleから他のデータベースへの移行と並行して変換する必要のあるコードが少なくなり、ストアドプロシージャと関数もほとんどそのままで機能する可能性が高く、多額の費用をかける必要がありません。アプリケーションのコアロジックを表すコードを書き直し、テストし、デバッグするための時間。

    チームにすでにあるリソースも忘れてはなりません。たぶん誰かがもっと人気のあるオープンソースデータストアで経験を持っていますか?それらが要件に一致し、環境に適合している場合は、チーム内の既存の知識を活用して、オープンソースの世界に簡単に移行できる可能性があります。

    サポートを受けることを検討してください

    あまり経験のないデータストアへの移行は、常に注意が必要です。小さなステップを進めても、予期しない動作、予期しない状況、バグ、または慣れていない操作上の状況にさえ遭遇する可能性があります。

    オープンソースデータベースは通常、電子メールリスト、フォーラム、Slackチャネルなどの優れたコミュニティサポートを備えています。通常、あなたが尋ねると、誰かがあなたを助けようとします。場合によっては、これでは不十分な場合があります。その場合は、有料のサポートを探す必要があります。これを実現する方法はたくさんあります。

    まず第一に、すべてのオープンソースプロジェクトが同じになるわけではありません。 PostgreSQLやMySQLのような大規模なプロジェクトでは、コンサルティングを行うことができる専門家を雇うコンサルティング会社のエコシステムが開発された可能性があります。そのようなオプションが何らかの理由で利用できないか実行可能でない場合は、いつでもプロジェクトのメンテナに連絡することができます。

    データストアを開発している会社が喜んで価格を手伝ってくれることは非常に一般的です。

    独立したコンサルティング会社には大きな利点があります。独立しており、開発したデータストアやツールではなく、経験に基づいてソリューションを提案します。ベンダーは、通常、独自のソリューションと環境を推進します。一方、ベンダーはデータストアの採用を増やすことに非常に興味を持っています。プロプライエタリデータストアから移行する場合は、以前に何度かそのような状況にあった可能性があるため、優れたプラクティスを提供したり、移行プロセスの設計を支援したりできるはずです。経験の浅い企業にとって、移行の分野の専門家にアクセスすることは大きな資産になる可能性があります。

    移行フェーズだけでなく、外部サポートへのアクセスが役立つ場合があります。新しいデータストアの取り扱いは常に注意が必要であり、操作のすべての側面を学ぶには時間がかかります。移行後も、電話をかけたり、質問したり、最も重要なことから学んだりできる人がいることでメリットが得られる場合があります。トレーニング、リモートDBA、これらはすべて、オープンソースデータベースの世界で一般的なオプションです。特に、より大規模で確立されたプロジェクトの場合はそうです。

    役立つシステムまたはツールを見つける

    オープンソースデータベースにはさまざまなツールが付属していますが、多少複雑です。機能(高可用性、バックアップ、監視)を追加するものもあれば、データベース管理を容易にするように設計されているものもあります。

    これらを活用することが重要です(コンサルティング契約は、選択したオープンソースデータストアの最も重要なツールを紹介するためにここで役立つ場合があります)。これらは、運用速度とパフォーマンスを大幅に向上させる可能性があります。セットアップ全体の安定性。

    無料のツールもあれば、操作にライセンスが必要なツールもあります。プールを調べて、自分に最も適したツールを選択する必要があります。ここでは、ロードバランサー、レプリケーショントポロジを管理するツール、仮想IP管理ツール、クラスタリングソリューション、一般的なデータベースパフォーマンスメトリックから始まり、データに基づくスマートな予測を専門家に提供することまで、あらゆるものを追跡できる専用の監視および可観測性プラットフォームについて説明します。クエリパフォーマンスの分析。

    オープンソースの世界は、そのようなツールが繁栄する場所です。これには長所と短所もあります。 「A」ツールを見つけるのは簡単ですが、「THE」ツールを見つけるのは難しいです。 GitHubには多数のプロジェクトがあり、誰もが他のプロジェクトとほぼ同じように取り組んでいます。どちらを選ぶかは難しい部分です。そのため、理想的には、サポート契約を結ぶか、オープンソースデータベースの操作の複数の側面を管理するのに役立つ管理プラットフォームを利用することもできます。これには、次の適切なツールの標準化と選択の支援が含まれます。それ。

    ClusterControlのようなプラットフォームもあります。これは、経験の浅い人々がオープンソースデータベースの力を完全に理解できるように設計されています。 ClusterControlは、MySQLとそのフレーバー、PostgreSQL、TimeScaleDB、MongoDBなどの複数の異なるタイプのオープンソースデータストアをサポートしています。これらのデータストアの管理機能にアクセスするための統一されたユーザーインターフェイスを提供し、それらの展開と管理を容易にします。 ClusterControlを使用すると、さまざまなツールやソリューションのテストに時間を費やす代わりに、高可用性環境を簡単に展開し、バックアップをスケジュールし、システムのメトリックを追跡できます。

    ClusterControlのようなツールは、チームの負荷を軽減し、データベースで何が起こっているのかを理解する能力を高めます。

    時間をかけて

    覚えておくとよいのは、急ぐ必要がないということです。環境の安定性とユーザーの幸福が最も重要です。時間をかけてテストを実行し、アプリケーションのすべての側面を確認してください。適切な高可用性および障害復旧プロセスが実施されていることを確認します。

    切り替えに問題がないことが100%確実な場合にのみ、レバーを引いてオープンソースデータベースに切り替えます。


    1. MySQLデータベースで低速クエリ(低速クエリログ)のログを有効にする

    2. SQL Server再開可能インデックス:それはあなたにとって良いですか?

    3. postgresqlのRownum

    4. SQL Serverトランザクションログ—パート1