jaws-ug名古屋 勉強会 第6回 :lt aws で作った地図サイト学校区検索の紹介
DESCRIPTION
【名古屋】JAWS-UG名古屋 勉強会 第6回 〜名古屋発 事例祭り! 7/15祝13:30-17:00 LTで使った資料です http://jaws-ug.jp/es/%E3%80%90%E5%90%8D%E5%8F%A4%E5%B1%8B%E3%80%91715%E7%A5%9D1330-1700-jaws-ug%E5%90%8D%E5%8F%A4%E5%B1%8B-%E5%8B%89%E5%BC%B7%E4%BC%9A-%E7%AC%AC%EF%BC%96%E5%9B%9E-%E3%80%9C%E5%90%8D%E5%8F%A4%E5%B1%8B/TRANSCRIPT
AWS で作った地図サイト
学校区検索の紹介@JAWS-UG 名古屋 勉強会第 6 回
7/15 海の日・ファミコンの日西岡 孝章
自己紹介@nishiokya
地図、検索系が専門の Web エンジニア
前職 某ポータルで地図検索
現職 自動車関連会社でカーナビのログ解析
好きな AWS CloudSearch
agenda学校区検索システムの紹介
AWS のシステム構成
地図サイト作るときの TIPS+AWS で使える空間 DB
小学校 学区&ルート調査緯度経度から、学区の判定とルートと通学時間がわか
る。
小学生の親に取っては、学区は大事。
http://scream-prodenv-env-axmqrxhggr.elasticbeanstalk.com/
Chrome の機能拡張
http://used.realestate.yahoo.co.jp/bin/cdetail?rps=4&pf=23&md=station&ln=4481&stn=4481040&code=a5840235955atho
AWS のシステム構成
システム構成Node.js
SQL Server
Yahoo の地図 API(YOLP JavaScript マップ API)
国土交通省 国土数値情報 小学校区データ
第一世代EC2(Ubuntu 13)
Node.jsPostGIS/PostgreSQL
EC2 Ubuntu13
PostGIS/PostgreSQL
FW
nodeJS
Elastic Beanstalk
Elastic Beanstalk とはEC2,ELB,S3 をベースとした PaaS
デプロイの Version 管理
コマンドラインからデプロイ可能
デプロイ /log
コマンドライン&git
ELB EC2
S3
FWBeansTalk
第2世代Elastic BeansTalk ( Node.js)
EC2(Ubuntu 13)PostGIS/PostgreSQL
EC2 Ubuntu
PostGIS/PostgreSQL
nodeJS
BeansTalk
第三世代Elastic BeansTalk
EC2Node.js
RDSSQL Server
nodeJS
BeansTalk Command Lineデプロイの方法
$git add *
$git commit -m ‘aws app ‘
$git aws.push
ログを見る方法
$eb logs
Elastic BeansTalk 月額コスト
サービスとリソース ユニット料金(USD)
Amazon EC2 Linux t1.micro 1 14.4Elastic Load Balancer 1 18Elastic Load Balancer データプロセッシング 15 GB 0.12Elastic Block Store 容量 8 GB 0.8
S3 ストレージとアクセス 1 GB 0.115
データ送受信量 15 GB 1.68
月間総コスト 合計 35.115
RDS(SQL Server Express micro) 1 31.68RDS 込みの月間総コスト 合計 66.795
地図サイト作るときのTIPS+AWS で使える空間 DB
無料の地図データを有効利用空間 DB
地図サイトの大事な物地図 API
空間データデータベースの空間型
無料空間データ・ POI データ• 国土交通省• 国土数値情報
• 総務省• 国勢調査• 国土地理院• 基盤情報地図
•OpenStreetMap• Alps 地図を Import• 世界で 29G( 圧縮済み)
空間型とはPOINT 、 LINESTRING, POLYGON (,Curve ) を格納
できるデータベースの型。
ISO ではないが、標準化が進んでいる。
非空間型で空間検索する SQLcreate talbe POI ( name text, lat real,lon real);select * from POI where lat > 34 and lat < 35 and
lon > 138 and lon < 139 空間型で空間検索する SQL
create talbe POI ( name text, g geometry); SELECT * FROM dbo.POI a WHERE
a.g.STContains(geometry::STPointFromText('Polygon(138 34,138 35,139 35,139 34,138 34 )',-1))=1;"
空間型のメリット専用の INDEX があるため検索が早い
緯度、経度で2つ INDEX は時代遅れ
専用の関数がある検索ができる19 号線沿いのラーメン屋
専用のソートがある(近い順)地球は丸い。南北で距離が違う
空間型があるデータベースDataBaseエンジン
対応状況 型名 RDSの状況
MySQL 5.6 最新版 5.6 から対応
Geometry 5.6 未対応要望あり
PostGIS/PostgresSQL
PostGIS という拡張が必要。拡張版のバイナリが配布
Geometry なし
SQL Server 2008 対応 GeometryGeography
サポート
Oracle 5.7(1995 年 ) からサポート
sdo_geometry サポート
MongoDB 2.4 $geometry なし
クラウドで空間 DB を使う方法
MySQL 5.6
PostGIS/PostgresSQL
SQL Server
Oracle MongoDB
AWS RDS EC2 RDS RDS EC2
Azure 仮想マシンWeb サイトは 5.5
仮想マシン SQL Azure
仮想マシン
仮想マシン
dotCloud
○ ○
Heroku ○ RDS RDS ○