情報畑でつかまえてロゴ
本サイトは NTTテクノロスが旬の IT をキーワードに
IT 部門が今知っておきたい最新テクノロジーに関する情報をお届けするサイトです

テクノロジーコラム

OpenStackSwift(ErasureCoding)のすすめ

オブジェクトストレージ機能を提供するオープンソースソフトウェア(OSS)としてOpenStack Swiftが注目されています。Liberty releaseのSwiftを利用して、レプリカ方式とEC方式の処理時間を比較してみました。

 現在、オブジェクトストレージ機能を提供するオープンソースソフトウェア(OSS)としてOpenStack Swift(以下、Swift)が注目されています。SwiftではKilo releaseよりオブジェクトを分割して分散格納する方式であるErasure Coding(以下、EC方式)がベータ版として利用できるようになりました。このEC方式ではオブジェクトを複製して分散格納する方式である「レプリカ方式」よりも、データ格納の容量を約50%程度削減することが可能です。

 では、EC方式を利用した場合の処理時間はどうなのでしょうか?そこで、Liberty releaseのSwiftを利用して、レプリカ方式とEC方式の処理時間を比較してみました。比較対象はオブジェクトの読み込み(Read)の処理時間と書き込み(Write)の処理時間です。オブジェクトサイズは1MBのバイナリデータとします。各方式におけるデータの信頼性を合わせるために、レプリカ方式の冗長度は3、EC方式の冗長度は4-2(※1)とします。また、EC方式で使用する分割方式は一般的なJerasureを選択しました。

(※1) 冗長度4-2の場合はデータ分割数4、パリティ数2を示します。パリティ数2の場合、2個のデータの欠損が許容されます。

Write処理について

まず、Writeの処理時間を見てみましょう。図1はEC方式とレプリカ方式の処理時間の比率(※2)を示しています。

(※2) レプリカ方式の処理時間を1としたときの割合

図1

EC方式のWriteはオブジェクトサイズが1KB, 1MBの場合、それぞれレプリカ方式の約1.3倍、約1.1倍の処理時間となりました(図1)。

Read処理について

一方、EC方式のReadはどうなのでしょうか。

図2

1KB、1MBの場合、それぞれレプリカ方式の約2倍、約1.6倍の処理時間となりました(図2)。

まとめ

EC方式のWrite時間はレプリカ方式と比較して大きな増加は見られませんでしたが、Read時間はレプリカ方式の2倍程度となっています。そのため、EC方式は比較的参照回数が少ないデータ(研究の実験記録やログ、帳票等)の保管に向いているといえそうです。

最後に

Swiftを実環境に即して評価するためには色々とコツが必要です。NTTソフトウェアではSwiftの環境構築や性能検証などの様々なノウハウを蓄積していますので、Swiftの導入を検討されている方は、ぜひお問い合わせください。
/products/privatecloud/oss_sds.html

※OpenStack®はOpenStack, LLCの登録商標又は商標です。

参考文献

連載シリーズ
テクノロジーコラム
著者プロフィール
近 竜太
NTTソフトウェア株式会社
クラウドセキュリティ事業部
クラウド事業ユニット近 竜太