「データ検索に1分もかかるのは許せない」--。セブン-イレブンの情報系システム構築を担当しているセブン&アイ・ホールディングスの佐藤政行氏も,検索速度にこだわる一人である。

レスポンスは数秒が当たり前

 第2回で紹介したように同社は2006年に情報系システムを刷新したが,その際,データ量は刷新前の5.1Tバイトから15Tバイトに増えた。増えたデータは,立地データや施設データ,さらに過去9年分における各店舗の財務状況や商品の売れ行き動向といったデータである。

 データ量は3倍に増えても,佐藤氏は検索に時間がかかるのは絶対に許されないと考えていた。店舗を指導するセブン-イレブンの社員は,1人で複数の店舗を担当しているので,移動や店舗指導などで時間がない。データの検索に時間がかかっていては仕事にならないからである。

 佐藤氏が検索速度を向上させるために採った工夫は,情報系システムの利用者端末とDWHの間に,中間サーバーを設置することだ(図1)。これをキャッシュとして使うことで,ディスク入出力を極力なくす,という工夫である。これにより,「検索の60%が1秒以内,77%が10秒以内に処理できている」(佐藤氏)という。

図1●セブン-イレブン・ジャパンは,データ検索速度を向上させるために中間サーバーを設置している
図1●セブン-イレブン・ジャパンは,データ検索速度を向上させるために中間サーバーを設置している
よく参照されるデータをあらかじめ中間サーバーのキャッシュに配置し,時間のかかるディスクへのアクセスを減らしている
[画像のクリックで拡大表示]

 中間サーバーは全部で4台あり,それらのメモリーには参照頻度の高いデータをあらかじめ常駐させておく。参照頻度の高いデータとは,例えば前日までの売り上げ速報や,前日に多く検索されたデータなどだ。4台の中間サーバーのメモリーには,基本的に同じデータが載っている。

 情報系システムの利用者端末は,経営層や本部社員,地区事務所の社員,店舗指導員がそれぞれ利用するPCで,約4400台ある。利用者が端末から情報系システムのデータを検索する場合,そのリクエストはいったん中間サーバーが受け,リクエストされたデータが中間サーバーにある場合はそこで検索結果を返す。全検索処理の約半分はこのパターンで,中間サーバーのメモリーに常駐しているデータを参照しているという。この場合,ディスク・アクセスが発生しないので,高速な応答になる。

 リクエストされたデータが中間サーバーにない場合は,中間サーバーを経由してDWHからデータを取り出し,検索結果を利用者の端末に返す流れになる。