InfiniDBはチューニングも索引も必要ない
「InfiniDBの特長は、Fast、Simple、Scalableの3つです」と言うのは、アシスト 情報基盤事業部データベース製品統括部 2部 主任の花谷俊英氏。OLTPトランザクション処理には適さないが、大量データの分析ならば高速に処理できる。データベースサイズは、数百ギガバイトから数テラバイト程度が最適で「数10テラバイトでもかなり高速に処理できます」と花谷氏は言う。
InfiniDBでは、高速化するためのチューニングはほぼ必要としない。さらには、索引も必要ない。チューニングを行わないので、データベースの統計情報の収集もしなくてよい。これら索引や統計情報収集がいらないのは、日常的な高い性能を維持するためのデータベース運用管理手間を、大きく削減することになる。これが、InfiniDBがSimpleだという理由だ。
じつは、InfiniDBのベースとなっているのは、オープンソースデータベースのMySQLだ。
「基本的には、MySQLのストレージエンジンがInfiniDBになっていると考えてください。なので、データベースの操作性は、ほぼMySQLと同じです」(花谷氏)
InfiniDB用にMySQLのソースコードに若干手は入っているが、MySQLとの互換性はほぼ確保されている。そのため、クライアントアダプタもMySQLのものが使用でき、MySQLで利用できるBIツールであればInfiniDBでも問題なく使える。もちろんANSI SQLにも準拠しているので、市場にあるさまざまなアクセスツールがそのまま利用できる。
InfiniDBでは、OLTPトランザクションも可能だ。とはいえ、性能面は期待できないとのこと。それもありデータ更新は、基本的にローディングで行う。MySQL LOADももちろん利用できるが、cpimportというバルクモードでロードできるツールが用意されており、これを使うことで大量データを高速にロードできる。通常情報系のデータベースでは、データのロードを行った後には索引のメンテナンスをする必要がある。しかしながら「InfiniDBでは索引は必要ないので、そのぶん更新作業は短時間で終了します」という。さらに、InfiniDBではデータ圧縮効率もかなり高い。これと、索引を必要としないこととを併せ、実データ量に対するディスクの利用効率もかなり高くなっている。