TECHブログ

PostgreSQLを10倍高速に!

PostgreSQLを10倍高速に!

5Gの普及やIoT化が進むことでデータの取得が容易になり、今後もデータが爆発的に増加することが見込まれます。
そしてそのデータを活用したサービスやさらなる付加価値の向上などが求められるなか、データを分析する内容、またスピードの要求もますます高くなっています。

今回は、データセンター ワークロードの低レイテンシとパフォーマンスの飛躍的向上を可能にするAlveo™ アクセラレータ カードについてお伝えします。

目次

データセンターのワークロードを加速する適応型アクセラレータ カードAlveo

Alveo アクセラレータ カードはデータベースに特化した専用ハードウェアとして活用でき、導入することでPostgreSQLのクエリ処理を簡単に高速化できます。

Alveoは、進化し続けるデータセンターの要件に迅速に対応するために開発され、金融、コンピューティング、機械学習、計算用ストレージ、データ検索/分析などあらゆるワークロードに対応し、最適化されたアクセラレーション機能を提供することが可能です。

Alveo アクセラレータ カードを活用するメリット

性能改善に向けてはSQLやパラメータ設定の見直しなどのチューニングをされることが多いかと思います。

しかしAlveo アクセラレータ カードを活用する際には大きなSQL構文の変更は不要なので、手軽に高速化を実現できます。

その仕組みはのちほどお話しますが、まずどのくらい高速化できるのかをお話ししたいと思います。

Alveoアクセラレータ カード活用の効果

図1はTPC-H 1000ベンチマークを実施した際の結果です。
グラフの横軸はクエリ番号、縦軸は各処理にかかった時間を示しています。

図1 「native PostgreSQL by CPU」と「PostgreSQL11 + Alveoアクセラレータ カード」の処理時間の比較

実施条件はこちらです。

    • サーバ                       :HPE DL360 Gen10
    • CPU                          :Intel Xeon Gold 6130 CPU @ 2.10GHz
    • メモリ/ストレージ    :384GB RAM / 3.5TB SSD
    • FPGAアクセラレータ:Xilinx Alveo U250

いかがでしょうか?
平均10倍以上高速になっており、緑点線で示したクエリ6においては、50倍高速になっています。

クエリ6は「ラインアイテムから演算に必要なデータを検索し、そのデータを演算」しています。
検索から演算まですべての処理をAlveo アクセラレータ カードに実行しているため、大きな効果を得ています。

データ量の増減によっても効果は変わりますが、Alveoアクセラレータ カードを活用すると処理時間の大幅短縮が可能です。

ぜひ一度お試しください。

PosgreSQLでのAlveoアクセラレータ カードの活用

では仕組みはどうなっているのでしょう。

実は、Alveo アクセラレータ カード上にPostgreSQLサーバが構築されており演算も行っています。

サーバのPCI ExpressスロットにAlveo アクセラレータ カードを挿入し、外部テーブルとしてAlveo アクセラレータ カード上にテーブルを作成します。
ホストからこの外部テーブルにアクセスすると、自動的にAlveo アクセラレータ カードが起動し演算まで実行されます。
サーバへAlveo アクセラレータ カードを組み込む

Alveo アクセラレータ カードの活用事例

まだまだデータベース分野でAlveo アクセラレータ カードが活用されることは少ないですが、分析者向けデータウェアハウス「Netezza」からの置き換えを行った実績があります。

NetezzaもFPGAを使用しているので似ていますが、Nettezaよりも性能が高いだけでなく、価格面でもメリットがあったのが決め手です。

ソリューションベンダーであるSwarm64社のWEBサイトに詳細の記載がありますので参考にしてください。
https://swarm64.com/netezza-replacement/

今後はIoTの導入などにより分析するデータが増え、データベースに要求される処理性能がますます高くなると考えられます。

Alveo アクセラレータ カードでどれくらい効果があるか、試していただいているお客様もいらっしゃいます。

テーブルを複製して外部テーブル(Alveo アクセラレータ カードサーバ)上に構築して、そのテーブルにアクセスするようにSQL構文を変更すればすぐに試すことができるのです。

それらの事例については、また報告の機会を作りたいと考えています。

まとめ

「簡単に早くなる」とお伝えしましたが、TPC-Hの結果なので「では、実運用ではどうなんだろう?」、という疑問もあるのではないでしょうか。

PALTEKでは「PostgreSQL高速化ソリューション」として提供しています。
Alveo アクセラレータ カードの動作プログラムも合わせて提供しますので、導入にあたりお客様での詳細な設計は不要で、PostgreSQLより簡単にアクセスできる形です。

導入前にはAWS Marketplaceにて1週間の無償トライアルが可能ですので、まずはお試しください
https://aws.amazon.com/marketplace/pp/B07YP9ZDQV?qid=1579739755176&sr=0-1&ref_=srh_res_product_title#pdp-pricing

またPALTEKにも環境がございますので、触ってみたい方がいらっしゃいましたら是非お問合せください。

 

今回の記事を資料化したものはこちらからダウンロードできますので、ご活用ください。