EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

来店検知サービス「スマポ」を支えるPostgreSQLの機能

edited by DB Online   2014/01/14 00:00

 2013年12月に開催されたPostgreSQLエンタープライズ・コンソーシアム(PGECons)の2013年度活動中間報告会では、活動報告の前に実際にビジネスでPostgreSQLを活用している事例が紹介された。

位置情報を扱うならば、PostGISを選ぶしかない

 紹介されたのは、株式会社スポットライトが提供している来店検知プラットフォーム「スマポ」におけるPostgreSQLの活用状況だ。スポットライトのCTOである高橋三徳氏は、「スマポは、顧客が来店するだけでポイントを獲得できるサービスです」と言う。ポイントを起点にユーザーの来店を促し、店舗そのものの認知度を向上してもらうサービスだ。

ポットライト CTO 高橋三徳氏
スポットライト CTO 高橋三徳氏

 スマポでは、スマートフォンのGPS機能を来店検知に使っていない。独自開発の超音波ビーコンを利用することで、スマートフォンのアプリケーションを立ち上げ、マイクで超音波を感知し自動で顧客の来店を検知する。現状、国内100ブランド、700店舗でスマポは利用できる。多くの人が利用している自分の居場所にチェックインするサービスの「Foursquare」などでは、来店検知にGPS機能を利用している。しかしながら、GPSは精度がそれほど高くない。実際に入店していなくても、付近にいるだけで来店と判断してしまうのだ。これが、スマポなら、確実に来店したことが分かるという。

スマポ画面
スマポ画面

 スマポは、独自開発の超音波ビーコンとロケーションベースの仕組みを組み合わせ、確実に来店を検知する。このスマポの開発は、2011年8月から開始された。当初はデータベースにMySQLやMongoDBを利用していたが、GIS機能が充実していることからPostgreSQLに切り替えたとのこと。利用しているのは、PostgreSQLのGIS機能であるPostGISだ。「じつは、サービスのリリース48時間前に、PostGISを使うことにしました」と、高橋氏は驚くようなことを言う。リリース直前までの他のデータベースを使って開発していたのに、まさに突然データベースを変更したのだ。時間がほとんどない状況でも、PostGISを使うメリットがあると高橋氏は判断した。

 そのPostGISは、PostgreSQLで地理空間情報を扱うための拡張だ。GNU General Public Licenseのオープンソースソフトウェアとして配布されており、地理情報データをSQLで扱うことが可能になる。地理情報の演算もできるので、面積、距離などを簡単に算出できるのも特長だ。スマポでは、現在地周辺の店舗を検索する機能の実現などで、PostGISを利用している。単に地点に近い店舗を検出するだけでなく、店舗を近い順にソートし、その結果をさらにユーザープロファイルとマッチングさせるために、ユーザー属性データのテーブルとJoin処理も行っている。

 PostGISがいかに地理情報を扱うのに向いているかを確認するため、スポットライトでは他のデータベースのGIS機能と比較も行った。

 「MySQLやMongoDBにくらべ、PostGISには圧倒的に機能があります。パフォーマンス面でも、クライアント数が増えても線形にスケールする検証結果も出ています」(高橋氏)

 PostgreSQLは、PostGISの利用をきっかけに使い始めた。とはいえ、それ以外にも便利な機能があると高橋氏は言う。たとえば、「hstore」を使うと、PostgreSQLがNoSQLデータベース的に使える。行データの形式が固定的ではなくが変化するような際には、柔軟なデータ構造が撮れるドキュメント型データベースのMongoDBを使うという選択肢もあるが、このhstoreを使えばPostgreSQLだけで同様の使い勝手が得られるのだ。

 また、ホットスポットでは、独自開発の仕組みでPostgreSQLをメッセージキューの代わりにも使っているとのこと。

 「このキューの仕組みは、PostgreSQLがベースなので信頼性面でも高いものがあります。コスト的にも、他のキューの仕組みを入れなくて済んでいるは、大きなメリットです」(高橋氏)

 同期処理の必要のないものを、このキューの仕組みで処理している。分散処理もできるので、処理が重くなっても拡張性が確保できるようになっている。このキューの仕組みついては、Pythonライブラリーとして公開もしている。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 谷川 耕一(タニカワ コウイチ)

    EnterpriseZine/DB Online チーフキュレーター かつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリストとして、クラウド、データベース、ビッグデータ活用などをキーワードに、エンタープライズIT関連の取材、執筆を行っている。

バックナンバー

連載:DB Press

もっと読む

All contents copyright © 2007-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5