jaws-ug名古屋 勉強会 第6回 :lt aws で作った地図サイト学校区検索の紹介

20
AWS ででででででででで でででででででで @JAWS-UG 名名名 名名名名 6 名 7/15 名名名 名名名名名名名 名 名名 西

Upload: takaaki-nishioka

Post on 01-Jul-2015

637 views

Category:

Technology


2 download

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

Page 1: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

AWS で作った地図サイト

学校区検索の紹介@JAWS-UG 名古屋 勉強会第 6 回

7/15 海の日・ファミコンの日西岡 孝章

Page 2: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

自己紹介@nishiokya

地図、検索系が専門の Web エンジニア

前職 某ポータルで地図検索

現職 自動車関連会社でカーナビのログ解析

好きな AWS CloudSearch

Page 3: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

agenda学校区検索システムの紹介

AWS のシステム構成

地図サイト作るときの TIPS+AWS で使える空間 DB

Page 4: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

小学校 学区&ルート調査緯度経度から、学区の判定とルートと通学時間がわか

る。

小学生の親に取っては、学区は大事。

http://scream-prodenv-env-axmqrxhggr.elasticbeanstalk.com/

Page 5: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

Chrome の機能拡張

http://used.realestate.yahoo.co.jp/bin/cdetail?rps=4&pf=23&md=station&ln=4481&stn=4481040&code=a5840235955atho

Page 6: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

AWS のシステム構成

Page 7: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

システム構成Node.js

SQL Server

Yahoo の地図 API(YOLP JavaScript マップ API)

国土交通省 国土数値情報 小学校区データ 

Page 8: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

第一世代EC2(Ubuntu 13)

Node.jsPostGIS/PostgreSQL

EC2   Ubuntu13

PostGIS/PostgreSQL

FW

nodeJS

Page 9: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

Elastic Beanstalk

Elastic Beanstalk とはEC2,ELB,S3 をベースとした PaaS

デプロイの Version 管理

コマンドラインからデプロイ可能

デプロイ /log

コマンドライン&git

ELB EC2

S3

Page 10: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

FWBeansTalk

第2世代Elastic BeansTalk ( Node.js)

EC2(Ubuntu 13)PostGIS/PostgreSQL

EC2   Ubuntu

PostGIS/PostgreSQL

nodeJS

Page 11: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

BeansTalk

第三世代Elastic BeansTalk

EC2Node.js

RDSSQL Server

nodeJS

Page 12: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

BeansTalk Command Lineデプロイの方法

$git add *

$git commit -m ‘aws app ‘

$git aws.push

ログを見る方法

$eb logs

Page 13: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

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

Page 14: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

地図サイト作るときのTIPS+AWS で使える空間 DB

無料の地図データを有効利用空間 DB

Page 15: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

地図サイトの大事な物地図 API

空間データデータベースの空間型

Page 16: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

無料空間データ・ POI データ• 国土交通省• 国土数値情報

• 総務省• 国勢調査• 国土地理院• 基盤情報地図

•OpenStreetMap• Alps 地図を Import• 世界で 29G( 圧縮済み)

Page 17: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

空間型とは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;"

Page 18: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

空間型のメリット専用の INDEX があるため検索が早い

緯度、経度で2つ INDEX は時代遅れ

専用の関数がある検索ができる19 号線沿いのラーメン屋

専用のソートがある(近い順)地球は丸い。南北で距離が違う

Page 19: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

空間型があるデータベース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 なし

Page 20: JAWS-UG名古屋 勉強会 第6回 :LT AWS で作った地図サイト学校区検索の紹介

クラウドで空間 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 ○