SlideShare a Scribd company logo
1 of 12
p a r a d i g m s h i f t
DynamoDB
1
A r a J o
p a r a d i g m s h i f t
p a r a d i g m s h i f t 2
1 NoSQLとは
登場背景
RDBMSとの差
RDBSの構造
NoSQLの構造
NoSQLの種類
2 DynamoDBとは
DynamoDBの構造
DynamoDBのデータモデル
料金
目次
p a r a d i g m s h i f t
1 NoSQLとは
登場背景
3
RDBMS → 個別のデータが関係を持ち、テーブルで維持される。
データとデータの集合に関係演算ができる。
占有率
90%
が、
大量のデータ処理
RDBMS???
p a r a d i g m s h i f t 4
1 NoSQLとは
登場背景
NoSQL
分散データベース
= not only sql
p a r a d i g m s h i f t 5
RDBMSとの差
・スキーマが固定されてない
・複雑なクエリーができない
1 NoSQLとは
RDBMSとの差
p a r a d i g m s h i f t 6
ID(primary key) 名前 住所 電話番号 社員番号
1 山村 東京都横浜 080-2345-4567 1111112
2 山田 東京都銀座 080-7454-2345 1111113
3 今村
千葉県幕張
本後
080-1234-5633 1111114
テーブル①
テーブル②
社員番号 部署 初級
1111112 開発部 部長
1111113 営業部 課長
1111114 管理部 主任
1 NoSQLとは
RDBSの構造
p a r a d i g m s h i f t 7
Action(Primary key) Attributes
login
{
id = ‘ara’
dataTime = ‘2015-09-08
19:58:03’
ipAddress= ’23.56.58.147’
}
create
{
id = ‘ara’
dataTime = ‘2015-09-08
19:58:03’
subject= ’Hello World’
}
1 NoSQLとは
NoSQLの構造
p a r a d i g m s h i f t 8
1 NoSQLとは
NoSQLの種類
アーキテクチャ
マスタ型 P2P型
イネーブラ型
オンメモリ オンディスク
データモデル
キー・バリュー型 Hibari
Dynamo
Vooldmort
Rlak
Memcached
Redis
Scalaris
Tokyo
Cabinet/Tyrant
カラム指向型
Bigtable
Hbase
Hypertable
Cassandra
グラフ型 Neo4j InfiniteGraph
ドキュメント指向
型
MongoDB
CouchDB
p a r a d i g m s h i f t 9
AZ A
AZ B AZ C
Region
読み
書き
アプリケーショ
ン
2 DynamoDBとは
DynamoDBの構造
p a r a d i g m s h i f t 10
2 DynamoDBとは
DynamoDBの構造
アプリケーション
データ追加
A B
C
D E
F
G H
I
...
DynamoDB
p a r a d i g m s h i f t 11
2 DynamoDBとは
DynamoDBのデータモデル
DynamoDBの基本的なデータ保存構造
Action(Primary key) Attributes
login
{
id = ‘ara’
dataTime = ‘2015-09-08
19:58:03’
ipAddress= ’23.56.58.147’
}
create
{
id = ‘ara’
dataTime = ‘2015-09-08
19:58:03’
subject= ’Hello World’
}
Item
Table
Attribute
Table
Item
Attribute
Itemの集め
Itemの数に制限なし。
PrimaryKey指定必要
Attributeの集め
Attributeの数に制限なし。
PrimaryKeyを含める
Key-Value方式。Keyは文字列。
p a r a d i g m s h i f t 12
2 DynamoDBとは
料金
支払いは実際に使用した分だけ。最低料金は不要
料金が発生するタイミングは以下です。
①処理容量(ユーザが指定、時間課金)
②データの保存量(月額・GB単位)
③データ転送量(月額・GB単位、転送量により価格変化)
https://aws.amazon.com/ko/dynamodb/pricing/?nc1=h_ls

More Related Content

Similar to Dynamodbについて

Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発kishimotosc
 
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~kishimotosc
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlYutuki r
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQLnasa9084
 
RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話
RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話
RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話Shohei Kobayashi
 
Drbd9資料 osc発表
Drbd9資料 osc発表Drbd9資料 osc発表
Drbd9資料 osc発表hkuroki
 
これからはNo sqlの時代って本当ですか
これからはNo sqlの時代って本当ですかこれからはNo sqlの時代って本当ですか
これからはNo sqlの時代って本当ですかyumi_chappy
 
比べてみよう リレーショナル vs ドキュメント.pptx
比べてみよう リレーショナル vs ドキュメント.pptx比べてみよう リレーショナル vs ドキュメント.pptx
比べてみよう リレーショナル vs ドキュメント.pptxMariMurotani
 
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...Insight Technology, Inc.
 
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようこれからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようNobuyuki Sasaki
 
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較griddb
 
qpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLqpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLAkihiro Okuno
 
RDBってなに?
RDBってなに?RDBってなに?
RDBってなに?Soudai Sone
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql聡 中川
 
NoSQLに関するまとめ
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめGosuke Miyashita
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBmoai kids
 
Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016datastaxjp
 

Similar to Dynamodbについて (20)

Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発
 
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQL
 
RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話
RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話
RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話
 
Drbd9資料 osc発表
Drbd9資料 osc発表Drbd9資料 osc発表
Drbd9資料 osc発表
 
これからはNo sqlの時代って本当ですか
これからはNo sqlの時代って本当ですかこれからはNo sqlの時代って本当ですか
これからはNo sqlの時代って本当ですか
 
About NoSQL
About NoSQLAbout NoSQL
About NoSQL
 
比べてみよう リレーショナル vs ドキュメント.pptx
比べてみよう リレーショナル vs ドキュメント.pptx比べてみよう リレーショナル vs ドキュメント.pptx
比べてみよう リレーショナル vs ドキュメント.pptx
 
Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417
 
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
 
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようこれからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみよう
 
OSC2012 OSC.DB Hadoop
OSC2012 OSC.DB HadoopOSC2012 OSC.DB Hadoop
OSC2012 OSC.DB Hadoop
 
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
 
qpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLqpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQL
 
RDBってなに?
RDBってなに?RDBってなに?
RDBってなに?
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql
 
NoSQLに関するまとめ
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめ
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016
 

Dynamodbについて

  • 1. p a r a d i g m s h i f t DynamoDB 1 A r a J o p a r a d i g m s h i f t
  • 2. p a r a d i g m s h i f t 2 1 NoSQLとは 登場背景 RDBMSとの差 RDBSの構造 NoSQLの構造 NoSQLの種類 2 DynamoDBとは DynamoDBの構造 DynamoDBのデータモデル 料金 目次
  • 3. p a r a d i g m s h i f t 1 NoSQLとは 登場背景 3 RDBMS → 個別のデータが関係を持ち、テーブルで維持される。 データとデータの集合に関係演算ができる。 占有率 90% が、 大量のデータ処理 RDBMS???
  • 4. p a r a d i g m s h i f t 4 1 NoSQLとは 登場背景 NoSQL 分散データベース = not only sql
  • 5. p a r a d i g m s h i f t 5 RDBMSとの差 ・スキーマが固定されてない ・複雑なクエリーができない 1 NoSQLとは RDBMSとの差
  • 6. p a r a d i g m s h i f t 6 ID(primary key) 名前 住所 電話番号 社員番号 1 山村 東京都横浜 080-2345-4567 1111112 2 山田 東京都銀座 080-7454-2345 1111113 3 今村 千葉県幕張 本後 080-1234-5633 1111114 テーブル① テーブル② 社員番号 部署 初級 1111112 開発部 部長 1111113 営業部 課長 1111114 管理部 主任 1 NoSQLとは RDBSの構造
  • 7. p a r a d i g m s h i f t 7 Action(Primary key) Attributes login { id = ‘ara’ dataTime = ‘2015-09-08 19:58:03’ ipAddress= ’23.56.58.147’ } create { id = ‘ara’ dataTime = ‘2015-09-08 19:58:03’ subject= ’Hello World’ } 1 NoSQLとは NoSQLの構造
  • 8. p a r a d i g m s h i f t 8 1 NoSQLとは NoSQLの種類 アーキテクチャ マスタ型 P2P型 イネーブラ型 オンメモリ オンディスク データモデル キー・バリュー型 Hibari Dynamo Vooldmort Rlak Memcached Redis Scalaris Tokyo Cabinet/Tyrant カラム指向型 Bigtable Hbase Hypertable Cassandra グラフ型 Neo4j InfiniteGraph ドキュメント指向 型 MongoDB CouchDB
  • 9. p a r a d i g m s h i f t 9 AZ A AZ B AZ C Region 読み 書き アプリケーショ ン 2 DynamoDBとは DynamoDBの構造
  • 10. p a r a d i g m s h i f t 10 2 DynamoDBとは DynamoDBの構造 アプリケーション データ追加 A B C D E F G H I ... DynamoDB
  • 11. p a r a d i g m s h i f t 11 2 DynamoDBとは DynamoDBのデータモデル DynamoDBの基本的なデータ保存構造 Action(Primary key) Attributes login { id = ‘ara’ dataTime = ‘2015-09-08 19:58:03’ ipAddress= ’23.56.58.147’ } create { id = ‘ara’ dataTime = ‘2015-09-08 19:58:03’ subject= ’Hello World’ } Item Table Attribute Table Item Attribute Itemの集め Itemの数に制限なし。 PrimaryKey指定必要 Attributeの集め Attributeの数に制限なし。 PrimaryKeyを含める Key-Value方式。Keyは文字列。
  • 12. p a r a d i g m s h i f t 12 2 DynamoDBとは 料金 支払いは実際に使用した分だけ。最低料金は不要 料金が発生するタイミングは以下です。 ①処理容量(ユーザが指定、時間課金) ②データの保存量(月額・GB単位) ③データ転送量(月額・GB単位、転送量により価格変化) https://aws.amazon.com/ko/dynamodb/pricing/?nc1=h_ls

Editor's Notes

  1. 점유율이 90나 되는 rdbms는 개별 데이터가 관계를 가지고, 테이블로 유지가 되며 데이터와 데이터의 집합에 관계 연산을 통해서 원하는 정보를 찾을 수 있다는 장점이 있는 반면에 IT인프라의 발전이나 데이터양의 증가로 대량의 데이터 처리가 필요하게 되었지만 RDBMS는 데이터와 테이블들이 서로 관계되어 있다는 점에서 대량의 데이터 처리에는 약하다는 단점이 있습니다. 그런 가운데 등장한 것이 nosqld입니다..
  2. nosql은 쉽게 설명해서 분산 데이터베이스의 범주안에 들고 분산하는 단위는 파일이나 블록등으로 다르지만 발생하는 부하들을 병렬 처리를 통해서 데이터를 빨리 찾을 수 있도록 했다고 합니다. 하지만 그렇게 데이터를 빨리 찾을 수 있는 만큼 트랜잭션등의 기능이 없는데, 그것이 관계형 데이터베이스와의 큰 차이라고 할 수 있습니다. 그래서 이어서 관계형 데이터 베이스와의 차이점에 대해서 설명 드리려고 합니다.
  3. 크게 관계형 데이터베이스와는 두가지 큰 차이점이 있습니다. nosql에는 스키마가 고정되어 있지 않다는 점, 두번째는 복잡한 쿼리가 불가능하다는 점 이 두가지가 관계형 데이터베이스와 크게 다른 두가지 차이점이라고 할 수 있습니다. 스키마가 고정되어 있지 않다는 것은 관계형 데이터베이스의 경우, 테이블에 데이터를 저장하기 전에 그 테이블의 구조를 미리 만들어 놓아야 합니다. 그리고 테이블에서 고정으로 사용할 primary key, foreign key를 정의해야합니다. 이런것들을 데이터베이스 스키마라고 하는데, 관계형에서는 미리 정해진 스키마에 맞게 데이터를 추가해야 하는 반면, nosql에는 정해진 스키마가 없습니다. 그리고 nosql은 앞서 말했듯이 읽고 쓰는 것이 빠르고 처리 속도가 빠른 반면에 조인같은 복잡한 처리가 불가능합니다. 결론적으로 nosql은 복잡한 쿼리가 필요한 환경에는 적합하지 않다고 할 수 있습니다.
  4. 앞서 말씀드린 고정된 스키마가 없다는 차이점에 대해서 조금 더 상세하게 설명을 드리자면 관계형 데이터베이스는 테이블에 데이터를 저장하기 전에 테이블의 구조를 만든다음, 정해진 컬럼에 지정된 값을 넣어야 합니다. 그리고 테이블과 테이블을 관계지어서 쿼리를 하는 것도 가능합니다.
  5. 반면에 nosql은 정해진 스키마가 없이, 자신이 원하는 값들을 속성안에 마음껏 넣을 수 있습니다.
  6. 이런 nosql은 비 관계형 데이터베이스이기 때문에 그 범위가 매우 넓습니다. 크게 분류방법을 두가지로 나누는데, 어떤 형태로 데이터를 가질지(文字列)에 대해 데이터 모델, 어떻게 분산 데이터를 가질지에 대해 아키텍쳐 크게 이 두가지의 범위로 나누고 또 데이터 모델과 아키텍쳐 모델 안에 각자의 형태를 가지고 있습니다. 우선 키밸류 형이 있습니다. 오늘 설명드릴 다이나모 디비도 키밸류형인데요 키밸류형은 밸류를 단위로 데이터를 저장합니다. 言葉通りにキーとバリューを保存 그리고 장점으로는 심플하고 응답이 빠르다는 장점이 있습니다. p2p형은 구성하는 노드가 모두 동등한 역할을 한다. 데이터 모델에 대해서는 뒤에서 더 자세하게 설명드리겠습니다
  7. 다음은 그런 nosql 형식인 dynamodb에 대해서 설명드리려고합니다. DynamoDB는 리전별로 생성할 수 있으며 성능과 가용성을 위해 데이터를 3곳의 가용 영역AZ에 복제하여 저장합니다. 가용 영역이 장애가 발생하여 정지하더라도 DB를 정상적으로 사용할 수가 있습니다. 따라서 높은 가용성과 지속성을 제공하기 때문에 사용자가 따로 데이터를 백업할 필요가 없습니다.
  8. DynamoDB는 저장할 수 있는 데이터 용량에 제한이 없습니다. 데이터 용량이 증가하면 DynamoDB가 알아서 스토리지를 늘리고 클러스터를 확장하여 데이터를 분산시킵니다. 기존 데이터베이스는 테이블의 용량이 커지면 샤딩Sharding이라는 방법을 통해 테이블의 데이터를 여러 서버에 분산해서 저장하였습니다. 그래서 애플리케이션 레벨에서 샤딩을 직접 구현하거나, DB에서 지원하는 샤딩 기능을 이용하는 등 개발과 운영이 상당히 번거로웠습니다. DynamoDB는 이런 것들을 자동으로 처리해주기 때문에 데이터가 늘어나는 것에 대해 신경을 쓸 필요가 없습니다. 샤딩(Sharding)은 데이터베이스를 분할(파티셔닝)하여 저장하는 방법입니다. 서버 한대에 대용량의 데이터베이스를 저장하기는 쉽지 않으므로 여러대에 분할하여 저장해야합니다. 테이블 별로 서버를 분할하는 방식, 사용자 이름 순, 날짜 순 등으로 분할하는 방식, 해시 키를 기준으로 분할하는 방식 등 다양한 방식이 있습니다.  DynamoDB와 SSD DynamoDB의 모든 데이터는 SSD(Solid State Drive)에 저장됩니다.
  9. 다음은 다이나모디비의 데이터모델에 대해서 입니다. 아까 nosql의 데이터 모델에 대해서 잠깐 설명드렸는데 다이나모 디비에서 구체적으로 어떤식으로 사용하고 있는지에 대해서 설명드리겠습니다. 다이나모 디비의 기본 데이터 저장 구조는 이런식으로 구성되어 있는데요 우선 테이블은 아이템들의 모임입니다. 만들 수 있는 아이템에 제한은 없습니다. 그리고 테이블은 반드시 기본 키를 지정해야 합니다. 한 리전 당 생성할 수 있는 테이블의 최대개수는 256개 -> aws에 요청해서 더 늘릴 수 있음. 다음은 아이템입니다. 아이템은 속성들의 모임입니다. 마찬가지로 속성의 개수에 제한은없습니다. 단지 아이템의 크기는 속성이름 과 값을 포함해서 64kb입니다 마지막으로 속성입니다. 속성은 키밸류 방식입니다. 키는 문자열이라야합니당. 그래서 키밸류ㅇㅇ