実装のひと工夫で高速化する技術:Database Watch(2014年5月版)(3/3 ページ)
データ分析の大半は時系列データが対象。ならば、データの持ち方や処理の方法、使い方にひと工夫を。今回は工夫をした2製品をウォッチ。
CPUの処理割り当てに対するコントロール
高速化を実現する特徴はもう1つあります。InfiniDBだと複数CPUを効率良く、均等に働かせることができるのです。
オンキャッシュ処理だけではなく、物理ブロック読み込みでも、CPUはほぼ均等に稼働します。一般的にI/O処理が走るときは「I/O待ち」が発生するため、CPU使用率にはばらつきが発生しがちです。しかし、InfiniDBは、CPU使用効率を最適化し、うまく分担できるようにすることで、処理の高速化に寄与しています。
アシストが、独自にRDBMSとInfiniDBの検索処理性能を比較したところ、InfiniDBはRDBMS製品をDWH用にチューニングした場合とおよそ同じ結果となったそうです。
InfiniDBならほぼチューニングが不要な分、手間いらずで有利です。運用担当者にしてみると、これは朗報ではないでしょうか。
シンプルかつ並列のデータロード
同様にアシストの検証によると、データロード性能の比較では、InfiniDBのバルクロードは汎用的なRDBMS製品よりも高速である、という結果が出ています。
小野氏はその理由を「InfiniDBが(複雑な処理を伴うRDBMSに比べて)ロードに特化した処理をシンプルに実施し、かつ並列で行うためではないか」と推測しています。
運用面を見てみましょう。先のRDBMSとの性能比較で、どのクエリでもチューニングなしに安定的に早い結果を返したことから分かるように、普段からのチューニングはほぼ不要であることから、保守にかかるコストは最小限で済む、というのが小野氏の見解です。
InfiniDBの特徴には拡張性もあります。前述した通り、InfiniDBはソフトウェアのみで提供されるものなので、ハードウェアを自由に構成できます。スモールスタートからスケールアップ、あるいはスケールアウトも自由です。初期投資を低く抑えたい場合にも有効でしょう。
InfiniDBの実装は?
InfiniDBのサーバーはユーザー側に面したUM(User Module)とバックエンドのデータに面したPM(Performance Module)で構成されています。1台のサーバーでUMとPMを担うこともできますし、複数台のサーバーで、それぞれの機能を分担することもできます。拡張する場合は基本的にはユーザー数に応じてUMを増やし、データ量に応じてPMを増やしていきます。
今回取材したNEC IRS、InfiniDBとも、まとまった範囲ごとにデータを持つことでI/Oを効率化しています。いまどきのデータ格納の特徴なのかもしれません。どちらもまだ日本では若い製品です。今後どれだけ伸びていくか楽しみですね。
関連特集:データ分析を支える技術
大量データをサービス開発に生かす機運が高まっている今、多くのIT技術者はビジネスサイドの要請に、柔軟・迅速に応えられるデータ基盤整備を迫られている。本特集では、その基礎技術や理解しておくべき技術動向、新たな収益に結び付くデータ活用の在り方を紹介する。
Copyright © ITmedia, Inc. All Rights Reserved.