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

MariaDB10.3.5リリース候補でQualcommCentriq2400の最適化を記述します

    MariaDBは、Qualcomm Datacenter Technologiesと協力して、革新的なARMベースのハードウェアアーキテクチャとMariaDBの独自のデータベースアーキテクチャを活用することで、パフォーマンスのエンベロープを推進してきました。 2017年11月に発売されたQualcommCentriq™2400製品の一環として、このチップでのMariaDBの強力な読み取りスケーラビリティを実証しました。それ以来、MariaDBとQualcommエンジニアリングは、今日開発者コミュニティと共有したい書き込み操作のスケーラビリティの向上に取り組んできました。

    最近出荷された10.3リリース候補10.3.4で利用できるようになっている多くのパフォーマンスの改善を発表できることを嬉しく思います。完全にコヒーレントなリングアーキテクチャで6つのメモリチャネルを備えた2.6GHzで動作する高度に並列化された48コアのQualcommCentriq2400プロセッサを活用することで、高度にスレッド化されたアプリケーションの単一行書き込みユースケースで書き込みパフォーマンスの最適化を引き出すことに関心があります。

    MariaDBは、sysbenchベンチマークソフトウェアを使用してパフォーマンスを測定します。このブログでは、sysbench1.0を使用して次の2つのベンチマークを調べます。

    • Oltp_update_index:これは、更新の結果としてセカンダリインデックスを更新する必要がある場合に、プライマリキーインデックスによる単一行値の更新をシミュレートします。
    • Oltp_update_nonindex:これは、セカンダリインデックスがない場合に、プライマリキーインデックスによる単一行の値の更新をシミュレートします。これは明らかにoltp_update_indexよりも少ない作業で済みます。

    同時スレッドの数が増えると、Centriq™2400の10.2よりも10.3の方がパフォーマンスが最大48%高速になることがわかります。

    行われた改善により、競合点が削除され、ARM64チップセット用に最適化されました。具体的には次のとおりです。

    • MDEV-15090:元に戻すログレコードを書き込むオーバーヘッドを削減します
    • MDEV-15132:TRX_SYSページへのアクセスを避けてください
    • MDEV-15019:InnoDB:ReadViewをtrxに保存する
    • MDEV-14756:trx_sys_t::rw_trx_listを削除
    • MDEV-14482:ut_rnd_ulint_counter()でのキャッシュラインの競合
    • MDEV-15158:コミット時に、TRX_SYSページに書き込まないでください
    • MDEV-15104:trx_sys_t::rw_trx_idsとtrx_sys_t::serialisation_listを削除します
    • MDEV-14638:trx_sys_t::rw_trx_setをLF_HASHに置き換えます
    • MDEV-14529:InnoDB rw-locks:メモリバリアを最適化する
    • MDEV-14374:UT_DELAYコード:arm64ビットプラットフォームのハードウェアバリアを削除
    • MDEV-14505:Threads_runningがスケーラビリティのボトルネックになります

    要約すると、これが意味することは、MariaDBは、高レベルの同時更新の下で大幅にパフォーマンスが向上し、ピーク負荷時のアプリケーションの応答時間を改善することです。

    この改善により、他のチップアーキテクチャにもメリットがもたらされますが、Centriq™2400は、非常に多くのスレッド数をサポートできる設計であるため、はるかに大きなメリットが見られます。物理コアとハイパースレッディングを利用することで、より少ない数のコアを使用することで、Centriq™2400は、同等のリファレンスBroadwellプラットフォームよりもさらに13%向上します。

    Centriq™2400システムが今年市場に登場するにつれ、大規模なデータベースワークロードを実行するために、スケーラビリティと低消費電力を組み合わせた顧客のワークロードを利用できることを嬉しく思います。


    1. SQLエラーの読み取りと解釈の方法

    2. PostgreSQLのpggemをUbuntuにインストールするにはどうすればよいですか?

    3. SQLServerのAlwaysOn機能の使用方法

    4. 1つのパラメータで複数の値を渡す