——今日の問題には、莫大なリクエスト件数というものもあります。このため、システムの規模を時とともに拡大されてきているのではないでしょうか?
ええ、してきています。かなりの成長を見てきています。当社は株式公開企業であるため、具体的な数値については調べれば分かることも多いでしょう(記者注:1日のトランザクション数は10億件、ストレージは8ペタバイト、従業員数は世界で1万人)。
とはいえ、大事な点は旅行関連のトランザクション数が増加しているというだけの話ではなく、人々の振る舞いが変化しているところにあります。もはや、シンプルな定型クエリの時代ではありません。顧客はもっと広範な検索エクスペリエンスを期待しています。われわれの調査によると、(潜在的な)旅行者の25%は行き先を決めておらず、半数近くは旅行日程さえ不確かなのです。
その結果、最近のクエリは「旅行資金が600ドルあり、どこかにダイビングに行きたいのだけど、どこに行けるだろうか?」といったものになっています。
このような問いに答えるのはコンピュータシステムにとって、はるかに難しいタスクです。テーブルを検索すれば済むというわけにはいかないのです。
われわれは、より緊密かつ即時性のあるかたちで、パーソナライズされたトラベルエクスペリエンスを提供したいと考えています。われわれにとっての即時性とは、顧客に対してミリ秒単位で結果を返すことを意味しています。これこそが、多元的かつ複雑な横断検索を目指してMongoDBに目を向けた理由です。
われわれが求めているのは、このような多元的なクエリをリアルタイムで処理できるソフトウェアなのです。
Instant Search機能はもともと、社内のNoSQLデータベース上で開発されました。リレーショナルデータベースでは実際のところ、要求を満足できる規模で必須となる複雑さを取り扱えなかったためです。
それが実際、MongoDBの強みの1つでした。MongoDBのスケーラビリティには、データ統制や配備能力が伴っています。われわれは必要とするパフォーマンス、そして必要とするストレージエンジンの圧縮能力、われわれの持つ自信の裏付けを手に入れているのです。
また、提供されているすべてのセキュリティ機能とプライバシー機能を実際に使用しています。重要な情報を取り扱う場合がしばしばあるのです。もちろん、フライトスケジュールのように公開される情報もたくさんありますが、その他の情報には極めて機密性が高いものもあるため、細心の注意を払っています。