RocksDB は、Meta の多くのオペレーションのバックボーンとなる、ストレージに重点を置いたキー値データベースです。RocksDBは次のように説明しています。
「RocksDBはLevelDBをベースに構築されており、スケーラブルで多数のCPUコアを持つサーバー上で実行することが可能で、高速ストレージを効率的に使用し、IOバウンド、インメモリ、ライトワンスワークロードに対応し、イノベーションを実現する柔軟性を備えています」。
Metaは、RocksDBのワークロード生成ツールとしてDBベンチを推奨しています。DBベンチは、キー空間の局所性の問題に対処し、現実世界のキー値ストアのワークロードをエミュレートするからです。このベンチマークは、基盤となるストレージシステムに対するキー値ストアの読み取りと書き込みを表す、より正確なキー値クエリを合成によって生成することができます。
マイクロンは、次のデータセンタークラスのNVMe SSDを使用して、1TBデータベースを格納する単一デバイスのストレージパフォーマンスをテストしました。
Micron 7450 SSD:176層TLC NANDを使用したメインストリームパフォーマンスドライブは、優れたQoSとPCIe Gen4パフォーマンスを発揮して、クラウドパートナーをサポートするように設計されています。
Samsung PM9A3:読み取り集中型のTLC NAND、PCIe Gen4、NVMe SSD。
Solidigm® D5-P5430:SolidigmがSamsung 9A3およびMicron 7450と同じ分野でマーケティングしている主流のQLCベースのPCIe Gen4、NVMe SSD。
テスト構成
このブログでは、3ワークロードについて説明します。
- 書き込み中の読み取り - このワークロードでは、読み取りに複数のスレッドを使用し、書き込みには1つのスレッドのみを使用します。
- ランダムに読み取り、ランダムに書き込み - 複数のスレッドがランダム読み取りとランダム書き込みの動作を行う混在ワークロードです。
- ランダムに読み取り - このワークロードは既存のデータベースからランダムに読み取ります。
サーバー |
Supermicro AS-1115CS-TNR |
CPU |
AMD EPYC 9654 96-コアプロセッサー |
メモリ |
768GB Micron DDR5(12x 64GB DDR5、1DPC)、Kernelでは256GBに制限される |
ファイルシステム |
xfs |
Linux OS |
Ubuntu 20.04 |
Kernelバージョン |
5.15.0-67-generic |
RocksDBバージョン |
8.1.1 |
DBベンチバージョン |
8.1.1 |
パフォーマンスの結果*
図1~図3は、3つのワークロードについて、y軸に99パーセンタイル読み取りレイテンシー(ミリ秒単位)、x軸に1秒あたりのデータベース操作数を示しています。各データポイントは、DBベンチスレッドカウント(8、16、32、64、96)での20分間の実行の平均を表します。
書き込み中の読み取りは1書き込みスレッドを使用し、DBベンチスレッドの増加に応じて読み取りをスケールアップします。Micron 7450とSamsung 9A3では,各スレッド数で同様の動作を示し、7450は96スレッドでより優れたスケーリングを示します。
Solidigm D5-P5430は、99%の読み取りレイテンシーの2倍以上を示し、最大ops/sに達しますが、これは他のSSDの65%にすぎません。
ランダム読み取り/ランダム書き込みワークロードでは、Samsung 9A3はスレッド数が少ないときにわずかに優位性を発揮しますが、7450は上位で優位性を発揮します。これらのドライブ間のパフォーマンスはほぼ同じです。
Solidigm D5-P5430は、読み取りレイテンシーが1.5倍で、パフォーマンス(ops/s)は30%低下します。
最後に、ランダム読み取りベンチマークでは、7450から9A3の間でパフォーマンスとレイテンシーがほぼ同じであり、96スレッドでは7450のスケーリングが高く、PM9A3では低いスレッドでわずかに優れています。
Solidigm D5-P5430は読み取りレイテンシーが最大1.8倍であり、パフォーマンスは30%低下します。
図4の帯域幅の測定は、3ワークロード全体の96スレッド数を測定したものです。Micron 7450は、3つのワークロードすべてにおいて、Samsung 9A3 よりもわずかに高い帯域幅を示していますが、Solidigm 5430は比較的低い帯域幅を示しています。
結論として、マイクロンの分析では、Micron 7450とSamsung 9A3は同等のパフォーマンスを示し、Micron 7450 はスレッド数が多い場合にわずかに有利であり、Samsung 9A3 はスレッド数が少ない場合にわずかに有利なことがわかります。Solidigm D5-P5430は、すべてのワークロードとスレッド数で一貫して最低のパフォーマンスを示しており、この比較調査で最もパフォーマンスの低いドライブであることがわかります。