SlideShare une entreprise Scribd logo
1  sur  22
超素人がDynamoDB触ってみた
本日お話しさせてもらうこと
1)お前何者だよ?
2)業務系のDBについて
3)RDBでやろうとしてみた
4)DynamoDBでやるぞ
5)まとめ
1)お前何者だよ
Otazoman
twitter:@norikoni
●職種:
某金融系会社のマーケティング部所属、システムとも
マーケとも言えない中途半端な立ち位置
●経歴:
新卒でSIerに入社し退職後はずっと社内のシステム担当
です。7社を渡り歩いて2018年から現職です。システム
全然知りません(´;ω;`)
2)業務系のDBについて
データベース使うシュチュエーション?
2)業務系のDBについて
・いや、それEXCELでもできるんじゃ
・EXCELは複数人でデータ更新するには
厳しい。速度も遅いよね
データが多いとEXCEL壊れるし
2)業務系のDBについて
価格
信頼度
高
高
低
低
とりあえずOracle
●お金ある
●パッケージ
SQLServer
●お金ない
MySQL
2)業務系のDBについて
おおよそのデータ構造
取引先 伝票 伝票明細 商品
売上担当営業 価格
基本はこんなパターンです。
3)RDBでやろうとしてみた
複数社の料金比較したい
取引先 商品
オプショ
ン
料金
オプショ
ン組合
選択条件
選択条件の組合せで商品
を特定し、商品からオプ
ションの組合せを選べる
ようにする必要あり
種別
3)RDBでやろうとしてみた
●実装しようとした商品について
・オプションと言っても、オプション単体の料金は管理不要。
・オプション同士の組合せもない。
・選択条件が特定できればある程度は商品が特定できる。
・商品の中には複数パターンがあるものの細かいオプションなし
3)RDBでやろうとしてみた
こういう構造で十分だ
プラン選択条件 + 料金
種別
商品説明
●種別取ってきてプランに合致するコードに変換
●種別+その他の条件でプランを特定する
●プランをキーに料金と商品説明を取ってくる
3)RDBでやろうとしてみた
CSVでもいいのではないか?
僕は素人なのでCSVでWebアプリ
はムリィィィ
4)DynamoDBでやるぞ
素人がやってもそこそこ安全なやつ
Amazon DynamoDB
素人がやってもそこそこ安全なやつ
4)DynamoDBでやるぞ
AmazonDynamoDBって何?
https://aws.amazon.com/jp/dynamodb/
=NOSQLのマネージドサービス
4)DynamoDBでやるぞ
一意になるキーを特定してあげれ
ば目的とする値を高速に取得でき
るデータベース、ただし複数テー
ブル結合は難しい。
・NoSQLデータベース
https://ja.wikipedia.org/wiki/NoSQL
4)DynamoDBでやるぞ
今回の構成はざっくりこんな感じです。
AWS Cloud
Region
Select
Insert
Call Function
&
GetRequest SearchKey
静的ファイルは別にどこにおいてもいい。
4)DynamoDBでやるぞ
(1)ハッシュキー
https://dev.classmethod.jp/series/conceptual-learning-about-dynamodb/
(2)複合キー
1個のキーで値を特定する。検索のキモの部分なのと
ジョインができないのでRDBより頭は使わないとい
けない。
1個のハッシュキーとレンジキーを組み合わせて
一意となる値を特定する。
ハッシュキーのみでも検索はできるけどパフォーマ
ンスは悪いかもしれない。
4)DynamoDBでやるぞ
SQL書かなくていいのでデータ抜くところのロジックはシンプル。
Key={keyname:id}
KeyConditionExpression=
Key(key1).eq(id1) &Key(key2).eq(id2)
●get_itemでぶっこ抜く
●queryでぶっこ抜く
※テーブル結合しないのでパフォーマンス低下なぞ気にしなくてもよし!!
4)DynamoDBでやるぞ
ちなみに書き込むときもキーさえあれば、後は自由
Item = {
‘key-id’: tkey,
‘category’: category,
‘search-
key’:searchkey,
‘createdate’:str(cd),
'expiredat':Decimal(et)
}
●put_itemで書き込む値を指定する。
※テーブル1か所だけに書き込めばいいので漏れの恐れは少ない。
4)DynamoDBでやるぞ
ざっくりコストだと0円/月でやれそうかもしれない。(検証は必要)
ストレージ
レコード読込 レコード書込
DynamoDBデータ転送
Lambda実行時間
Lambdaリクエスト件数
APIリクエスト数
キャッシュサイズ
キャッシュなしで100万リクエスト程度
=0円
標準スペックで100万リクエスト実行
=0円
https://aws.amazon.com/jp/api-gateway/pricing/
https://aws.amazon.com/jp/lambda/pricing/
1秒間に25回程度の読込
=0円
https://aws.amazon.com/jp/dynamodb/pricing/provisioned/
5)まとめ
・料金面:今のところは0円で行けてる。
・パフォーマンス面:現在の検証では問題出てない。
※素人なのでブラウザで計測する方法とかご教示いただけるとありがたいです。
※Readがメインになりますが、数か月に一度はWriteもあるのでどの程度の
コストとなるのかは蓄積していく必要があります。
※たぶん1万件以下なので問題ないと思いますが、100万件超レベルではどうだろうか?
・メンテナンス性:大きな課題です。
※どうやってデータをDynamoDBにぶち込もうか、これ考えているところです。
一応EXCELでJSON吐いてS3に上げるマクロは作ってみたものの、、、
※受けたデータをプログラム側で加工しないといけないので少し問題かも
jsの魔術師がいれば何とかしてくれるはず。
5)まとめ
素人でもできるはできた。
けどやりようによってはスパゲティなりそうな気がする。
データ構造次第ではフロントエンドの人が泣きそう。
その気になればRDB的なこともできなくはない。
ご清聴ありがとうございました。

Contenu connexe

Similaire à 20190116 tectettec#7

PRD01 Office 365 Overview いま365ってどうなってるの?
PRD01 Office 365 Overview いま365ってどうなってるの?PRD01 Office 365 Overview いま365ってどうなってるの?
PRD01 Office 365 Overview いま365ってどうなってるの?mokudai masayuki
 
RDBってなに?
RDBってなに?RDBってなに?
RDBってなに?Soudai Sone
 
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...WebSig24/7
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展Recruit Technologies
 
パネルディスカッション資料(公開版)
パネルディスカッション資料(公開版)パネルディスカッション資料(公開版)
パネルディスカッション資料(公開版)odakeiji
 
非エンジニアのSQL活用が加速させる事業成長
非エンジニアのSQL活用が加速させる事業成長非エンジニアのSQL活用が加速させる事業成長
非エンジニアのSQL活用が加速させる事業成長Keiko Inagaki
 
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話nekogeruge_987
 
メンヘラコードをDIを使って駆逐する.pdf
メンヘラコードをDIを使って駆逐する.pdfメンヘラコードをDIを使って駆逐する.pdf
メンヘラコードをDIを使って駆逐する.pdfkamaji tomoya
 
働き方改革を加速させるリモートワークソリューション ~Office 365 + XenAppで実現する安心安全なリモートワーク環境の構築~
働き方改革を加速させるリモートワークソリューション ~Office 365 + XenAppで実現する安心安全なリモートワーク環境の構築~働き方改革を加速させるリモートワークソリューション ~Office 365 + XenAppで実現する安心安全なリモートワーク環境の構築~
働き方改革を加速させるリモートワークソリューション ~Office 365 + XenAppで実現する安心安全なリモートワーク環境の構築~NHN テコラス株式会社
 
財務分析勉強会挨拶
財務分析勉強会挨拶財務分析勉強会挨拶
財務分析勉強会挨拶oranie Narut
 
DDDハンズオン
DDDハンズオンDDDハンズオン
DDDハンズオンSoudai Sone
 
Share Point Online 会社のデータしっかり管理のススメ
Share Point Online 会社のデータしっかり管理のススメShare Point Online 会社のデータしっかり管理のススメ
Share Point Online 会社のデータしっかり管理のススメkumo2010
 
20201107 四国クラウドお遍路 2020 LT
20201107 四国クラウドお遍路 2020 LT20201107 四国クラウドお遍路 2020 LT
20201107 四国クラウドお遍路 2020 LTJun Yamanaka
 
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips豊明 尾古
 
今年かかった麻疹まとめ
今年かかった麻疹まとめ今年かかった麻疹まとめ
今年かかった麻疹まとめAkira Suenami
 
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜Cybozucommunity
 
最新技術でここまでできる!VR・AR・MRの活用と一歩先行くテレワーク
最新技術でここまでできる!VR・AR・MRの活用と一歩先行くテレワーク最新技術でここまでできる!VR・AR・MRの活用と一歩先行くテレワーク
最新技術でここまでできる!VR・AR・MRの活用と一歩先行くテレワークMasashi Eguchi
 
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)Ryuji Tamagawa
 
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysistetsuro ito
 

Similaire à 20190116 tectettec#7 (20)

PRD01 Office 365 Overview いま365ってどうなってるの?
PRD01 Office 365 Overview いま365ってどうなってるの?PRD01 Office 365 Overview いま365ってどうなってるの?
PRD01 Office 365 Overview いま365ってどうなってるの?
 
RDBってなに?
RDBってなに?RDBってなに?
RDBってなに?
 
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
パネルディスカッション資料(公開版)
パネルディスカッション資料(公開版)パネルディスカッション資料(公開版)
パネルディスカッション資料(公開版)
 
非エンジニアのSQL活用が加速させる事業成長
非エンジニアのSQL活用が加速させる事業成長非エンジニアのSQL活用が加速させる事業成長
非エンジニアのSQL活用が加速させる事業成長
 
Forstudy20181127
Forstudy20181127Forstudy20181127
Forstudy20181127
 
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話
 
メンヘラコードをDIを使って駆逐する.pdf
メンヘラコードをDIを使って駆逐する.pdfメンヘラコードをDIを使って駆逐する.pdf
メンヘラコードをDIを使って駆逐する.pdf
 
働き方改革を加速させるリモートワークソリューション ~Office 365 + XenAppで実現する安心安全なリモートワーク環境の構築~
働き方改革を加速させるリモートワークソリューション ~Office 365 + XenAppで実現する安心安全なリモートワーク環境の構築~働き方改革を加速させるリモートワークソリューション ~Office 365 + XenAppで実現する安心安全なリモートワーク環境の構築~
働き方改革を加速させるリモートワークソリューション ~Office 365 + XenAppで実現する安心安全なリモートワーク環境の構築~
 
財務分析勉強会挨拶
財務分析勉強会挨拶財務分析勉強会挨拶
財務分析勉強会挨拶
 
DDDハンズオン
DDDハンズオンDDDハンズオン
DDDハンズオン
 
Share Point Online 会社のデータしっかり管理のススメ
Share Point Online 会社のデータしっかり管理のススメShare Point Online 会社のデータしっかり管理のススメ
Share Point Online 会社のデータしっかり管理のススメ
 
20201107 四国クラウドお遍路 2020 LT
20201107 四国クラウドお遍路 2020 LT20201107 四国クラウドお遍路 2020 LT
20201107 四国クラウドお遍路 2020 LT
 
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
 
今年かかった麻疹まとめ
今年かかった麻疹まとめ今年かかった麻疹まとめ
今年かかった麻疹まとめ
 
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜
 
最新技術でここまでできる!VR・AR・MRの活用と一歩先行くテレワーク
最新技術でここまでできる!VR・AR・MRの活用と一歩先行くテレワーク最新技術でここまでできる!VR・AR・MRの活用と一歩先行くテレワーク
最新技術でここまでできる!VR・AR・MRの活用と一歩先行くテレワーク
 
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
 
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
 

20190116 tectettec#7