ClusterControl 1.5リリースの一部として発表され、MariaDBバージョン10.2を完全にサポートするようになりました。この新しいバージョンは、MariaDBが選択したHAソリューションであるGalera Clusterとの統合をさらに強化し、ウィンドウ関数、共通テーブル式、JSON関数などのSQLの拡張機能も備えています。
MariaDBは、最も急速に成長しているオープンソースデータベースであり、すべての主要なLinuxディストリビューションに含まれ、世界をリードするクラウドプロバイダーでの存在感を高めていることで、世界中の6000万人以上の開発者にリーチしています。 Linuxディストリビューションとクラウドプラットフォーム全体で広く使用されていることと、その使いやすさにより、MariaDBはすぐに現代の企業のオープンソースデータベース標準になりました。
MariaDB Serverは、最近のOpenStackの調査で、現在使用されているデータベーステクノロジーの第1位と第2位としてリストされています。
バージョン10.2の新機能
MariaDB Server 10.1は、Galera Clusterのデフォルトの組み込み統合をもたらし、ユーザーが究極の高可用性を実現できるようにしました。 Someninesは、このクラスタリングテクノロジーを早期に採用し、MariaDBがHAに採用するのを見て興奮していました。
MariaDBによって発表された新しい10.2バージョンに含まれる拡張機能の一部を次に示します…
- ウィンドウ関数、一般的なテーブル式、JSON関数などのSQLの機能強化により、MariaDBサーバーの新しいユースケースが可能になります
- 標準のMariaDBサーバーレプリケーションにはさらに最適化があります
- 多くの領域の制限が削除されたため、使いやすくなり、アプリケーションレベルで制限を処理する必要がなくなりました。
- Facebookによって開発された新しいストレージエンジンであるMyRocksが導入され、MariaDBサーバーのユースケースがさらに充実します(注:この新しいストレージエンジンは、ClusterControlのMariaDBデプロイメントでも利用できるようになりましたが、ClusterControlでは利用できます。 MyRocks固有のモニタリングはまだサポートされていません 。)
ウィンドウ関数
ウィンドウ関数はビジネスインテリジェンス(BI)で人気があり、国や営業チームの指標など、データのサブセットに基づいてより複雑なレポートを生成する必要があります。もう1つの一般的な使用例は、特定の期間内のすべての行のように、時系列ベースのデータを現在のレコードだけでなく、時間ウィンドウに基づいて集計する必要がある場合です。
分析がエンドユーザーにとってますます重要になるにつれて、ウィンドウ関数は、パフォーマンスが最適化された分析SQLクエリを作成する新しい方法を提供します。これは、読み取りと保守が簡単で、高価なサブクエリや自己結合を作成する必要がありません。
>一般的なテーブル式
階層クエリと再帰クエリは通常、共通テーブル式(CTE)を使用して実装されます。これらはFROM句の派生テーブルに似ていますが、識別キーワードWITHを使用することで、オプティマイザはより効率的なクエリプランを作成できます。自動的に作成された一時的で名前付きの結果セットとして機能します。これはクエリの時点でのみ有効であり、再帰的かつ階層的な実行に使用でき、一時的なデータセットの再利用も可能です。専用のメソッドがあると、より表現力豊かでクリーンなSQLコードを作成するのにも役立ちます。
JSON関数
テキストベースでプラットフォームに依存しないデータ交換形式であるJSON(JavaScript Object Notation)は、データを交換するためだけでなく、非構造化データを格納するための形式としても使用されます。 MariaDB Server 10.2は、データベースのテキストベースのフィールドに格納されているJSON形式のデータのクエリ、変更、検証、およびインデックス作成を可能にする24を超えるJSON関数を提供します。その結果、必要に応じて非構造化データを操作することで、MariaDBの強力なリレーショナルモデルを強化できます。
仮想列、JSON関数、JSON_VALUE、および仮想列でのMariaDB Server 10.2の最新のインデックス機能を使用することで、JSON値がJSON文字列から自動的に抽出され、仮想列に格納されてインデックスが作成され、JSONへの最速のアクセスが提供されます。文字列。
JSON関数JSON_VALIDを使用して、MariaDB Server10.2の新しいCHECKCONSTRAINTSは、正しいJSON形式のJSON文字列のみをフィールドに追加できることを保証します。
バイナリログベースのロールバック
MariaDB Server 10.2で提供される拡張mysqlbinlogユーティリティには、データベースまたはテーブルを以前の状態に戻すことができる新しいポイントインタイムロールバック機能が含まれており、すでにコミットされたデータのバイナリログベースのロールバックを提供します。ツールmysqlbinlogはデータを直接変更するのではなく、トランザクションの元に戻されたステートメントを含む「エクスポートファイル」を生成し、バイナリログファイルに記録します。作成されたファイルは、コマンドラインクライアントまたは他のSQLツールで使用して、含まれているSQLステートメントを実行できます。このようにして、特定のタイムスタンプまでにコミットされたすべてのトランザクションがロールバックされます。
データの追加、変更、削除などの論理的な間違いに対処する場合、これまでのところ、唯一可能な方法は、mysqlbinlogを使用してトランザクションを確認し、問題を手動で修正することでした。ただし、修正は通常、間違ったステートメントにのみ対処し、それによって他のデータの依存関係を無視するため、これはデータの不整合につながることがよくあります。
通常、DBAまたはユーザーエラーが原因で、巨大なデータベースを復元すると、サービスが大幅に停止する可能性があります。ポイントインタイムロールバックを使用して最後のトランザクションをロールバックするには、抽出、簡単なレビュー、および元に戻されたトランザクションの実行の時間のみが必要であり、貴重な時間、リソース、およびサービスを節約できます。
なぜMariaDBなのか?
いくつかのMySQLオプションから選択できるのに、なぜアプリケーションを強化するテクノロジーとしてMariaDBを選択するのでしょうか。 MariaDBを選択するメリットのいくつかを次に示します...
- MariaDBは、クライアント、クラスター、カーネル、ストレージなど、すべてのレイヤーで拡張可能な最新のアーキテクチャーに基づいて構築されています。この拡張性には、2つの大きな利点があります。プラグインを介した継続的なコミュニティイノベーションが可能になり、OLTPからOLAPまでのさまざまなユースケースをサポートするようにMariaDBを簡単に構成できます。
- MariaDBは、Oracle / MySQLから独立した、独自のロードマップの一部である機能と拡張機能を開発します。これにより、MariaDBはより広範なコミュニティのイノベーションを受け入れて引き付けることができ、独自のシステムからオープンソースのMariaDBへの移行を容易にする社内で開発された新機能を追加できます。
- MariaDBは、すべてのレイヤーでデータベースを保護するように設計されているため、政府や銀行など、最高レベルのセキュリティ機能を必要とする業界で使用される信頼できる汎用データベースになっています。
- MariaDBは、NoSQLサポートを含むさまざまなストレージエンジンのサポートを提供し、ユーザーが環境に最適なものを決定するためのいくつかの選択肢を提供します。
- MariaDBは、クエリの最適化を含む多くのパフォーマンス向上の改善を展開しました。これにより、いくつかのベンチマークテストで、MariaDBのパフォーマンスが同様に構成されたMySQL環境よりも3〜5%向上します。
MariaDBのClusterControl
ClusterControlは、主要なMariaDBテクノロジーのそれぞれをサポートします...
- MariaDBサーバー: MariaDBサーバーは、拡張可能なアーキテクチャで設計された汎用データベースであり、InnoDB、MyRocks、Spiderなどのプラグイン可能なストレージエンジンを介して幅広いユースケースをサポートします。
- 組み込みの非同期マスター/スレーブレプリケーション
- 異なる行が同じ列に異なるデータを格納できるようにする動的列
- 組み込みの暗号化
- クエリの最適化
- スキーマの互換性の向上
- MariaDBクラスター: MariaDBクラスターは、今日のクラウドベースの環境向けに作られています。完全に読み取り/書き込みスケーラブルであり、同期レプリケーションが付属し、マルチマスタートポロジを可能にし、トランザクションの遅延や損失がないことを保証します。
- スレーブラグやトランザクションの損失がない同期レプリケーション
- アクティブ-アクティブマルチマスタートポロジ
- 任意のクラスターノードの読み取りと書き込み
- 障害が発生したノードがクラスターから削除された自動メンバーシップ制御
- 自動ノード参加
- 真の行レベルの並列レプリケーション
- 直接クライアント接続、ネイティブMariaDBルックアンドフィール
- 読み取りと書き込みの両方のスケーラビリティ
- MariaDB MaxScale: MariaDB MaxScaleは、MariaDBサーバーの高可用性、スケーラビリティ、およびセキュリティを拡張すると同時に、基盤となるデータベースインフラストラクチャからアプリケーションを切り離すことにより、アプリケーション開発を簡素化するデータベースプロキシです。
- データベースファイアウォールとDoS保護が含まれています
- 読み取り/書き込み分割
- データマスキング
- スキーマベースのシャーディング
- クエリキャッシング