初めてのsimpledb (2013-06-22 jaws-ug 大阪 第8回 )

48
Amazon SimpleDB Since December 13, 2007

Upload: -

Post on 14-Jan-2015

1.687 views

Category:

Documents


0 download

DESCRIPTION

初めてのSimpleDB、

TRANSCRIPT

Page 1: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

AmazonSimpleDB

Since December 13, 2007

Page 2: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

SimpleDB好きですか?

Page 3: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

私は大好きです。

Page 4: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

自己紹介得上 竜一( @tottokug )SimpleDB愛好家

以上

Page 5: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

アジェンダSimpleDBって何?SimlpeDBのいいところSimpleDBの注意点SimpleDBの使いドコロツールの紹介

Page 6: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1. SimpleDBって何?言葉の説明基本用語1-1. Domain(どめいん)1-2. Item(あいてむ)1-3. Attribute(あとりびゅーと)知ってるとちょっとかっこいいかも1-4 ConsistentRead(こんしすてんとりーど)1-5 ConditionalUpdate(こんでぃしょなるあっぷでーと)

SimpleDBの機能1-6. ドメインの作成(CreateDomain)1-7. ドメイン情報の取得(DomainMetadata)1-8. ドメインの削除(DeleteDomain)1-9. ドメインの一覧(ListDomains)1-10. アイテムの追加・変更(PutAttributes)1-11. アイテムの取得(GetItem)1-12. アイテムの削除(DeleteAttributes)1-13. アイテムの一括追加・変更(BatchPutAttributes)1-14. アイテムの一括削除(BatchDeleteAttributes)1-15. アイテムの検索(Select)

Page 7: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

言葉の説明

Page 8: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-1. ドメイン(Domain)トップレベルの論理単位RDBMSで言うテーブルアカウント毎に250個まで(上限緩和申請可能)ドメイン名は3~255 文字[-_\.a-zA-Z0-9]10GBまで格納可能

Domain

Page 9: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-2. アイテム(Item)RDBMSで言うレコード一意なKeyはItemName

Domain

Page 10: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-2. アイテム(Item)RDBMSで言うレコード一意なKeyはItemName

DomainItemItemItemItemItemItemItem

Page 11: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-3. アトリビュート(Attribute)RDBMSで言うカラム

一つのアトリビュートに値を複数持つことも可能

同じアトリビュートじゃなくてよい(スキーマレス)

Page 12: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-3. アトリビュート(Attribute)RDBMSで言うカラム

一つのアトリビュートに値を複数持つことも可能

同じアトリビュートじゃなくてよい(スキーマレス)

Item1 Attr1 = Value1 Attr3 = Value3,4,5

Item2 Attr1 = Value6 Attr2 = Value2

Page 13: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-4. Consistent ReadSimpleDBの一貫性オプションSimpleDBは標準では Eventually Consistent読み込み時にConsistentReadオプションを指定することで、強い一貫性を保証できる。

Page 14: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

EventuallyConsistent?

Page 15: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

EventuallyConsistent?

Page 16: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

EventuallyConsistent?

Page 17: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

EventuallyConsistent?

Page 18: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

EventuallyConsistent?

Page 19: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

EventuallyConsistent?

Page 20: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

EventuallyConsistent?

Page 21: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

EventuallyConsistent?

Page 22: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-5. Conditional Update条件付きで更新するオプション複数からの同時書き換えに対する措置

Page 23: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

機能

Page 24: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-6. ドメインの作成CreateDomainドメイン名を指定

Page 25: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-7. ドメイン情報の取得DomainMetadataTimestampItemCountAttributeValueCountAttributeNameCount ItemNamesSizeBytesAttributeValuesSizeBytesAttributeNamesSizeBytes

Page 26: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-8. ドメインの削除DeleteDomain

Page 27: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-9. ドメインの一覧取得ListDomains

Page 28: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-10. アイテムの追加・変更PutAttributes

Page 29: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-11. アイテムの取得GetAttributes

Page 30: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-12. アイテムの削除 DeleteAttributes

Page 31: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-13. アイテムの一括追加・変更BatchPutAttributes

Page 32: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-14. アイテムの一括削除BatchDeleteAttributes

Page 33: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

1-15. アイテムの検索SELECT * FROM domainWHERE hoge = “fuga”AND foo IN(“bar”,”bir”,”bur”)OR EVERY(fiz) = “baz”OR ha LIKE ‘%fu’ORDER BY hoge

Page 34: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

2. SimpleDBの良いところ

Page 35: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

2-1. ドライバ不要

Page 36: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

2-2. スキーマ定義不要(?)

Page 37: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

2-3. メンテナンス不要

Page 38: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

2-4. インデックス

Page 39: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

3. SimpleDBの注意点3-1. データ容量が10G たったの10G 3-2. updateの費用がちょっと高い

Page 40: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

4. SimpleDBの使いドコロ

Page 41: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

4-1. vs MySQL(RDS)アクセスにムラがあるいつでもアクセスがあるわけじゃない。(時間課金は嫌)カラムを固定したくない20130622 = “329”のように日付をカラム名データ量が10G以下

Page 42: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

4-2. vs DynamoDBアクセスにムラがある定期的にアクセスがない(時間課金は嫌)ピーク時のアクセスが大したことないスループットはそんなに気にしないインクリメントは必要ないアクセスカウンターみたいなものには使わないどのアトリビュートでもソートしたい

Page 43: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

4-3. vs SQLite複数サーバからアクセスしたい

Page 44: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

5. ツールの紹介

Page 45: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

5-1. Eclipse

http://aws.amazon.com/eclipse/

Page 46: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

5-2. SDBTool(Firefox)

http://d.hatena.ne.jp/tottokug/20121115/1352944496

Page 47: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

5-3. SDBNavigator(Chrome)

https://chrome.google.com/webstore/detail/sdbnavigator/ddhigekdfabonefhiildaiccafacphgg

Page 48: 初めてのSimpleDB (2013-06-22 JAWS-UG 大阪 第8回 )

December 13, 2007 リリースから5年半、まだBeta