SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
NoSQLって?
正しく使い分けるための第一歩
qpstudy 2013.07
Agenda
2. NoSQLの分類
1. NoSQLって?
3. NoSQLの紹介
Agenda
1. NoSQLって?
2. NoSQLの分類
3. NoSQLの紹介
定義 - NoSQLって?
定義は?
定義 - NoSQLって?
定義は?
ありません
定義 - NoSQLって?
一般にはRDBMS以外
NOSQL meetup 2009で使われてから広まったそう
http://blog.sym-link.com/2009/05/12/
nosql_2009.html
http://ja.wikipedia.org/wiki/NoSQL
目的 - NoSQLって?
なぜNoSQLが必要?
データベースとは- NoSQLって?
- データを整理、格納し
- 検索して取り出す
RDBMSに限界が…
RDBMSの限界- NoSQLって?
etc.
データ量
ノード数の限界
データ増加に伴う性能劣化
スキーマ
開発速度の上昇
性能
レイテンシー
QPS
スループット
NoSQLの目的 - NoSQLって?
RDBMSでは解決出来ない
問題を解くため
※いずれかの問題領域に特化している傾向
RDBMSは - NoSQLって?
RDBMSは必要なくなるか?
RDBMSの理由 - NoSQLって?
- 大部分の問題は以前RDBMSで十分
- RDBMSの適用領域も広がっている
- RDBMSの機能をトレードオフ
- 歴史が浅い
- ノウハウ、実装の枯れ具合、ライブラリ etc.
RDBMS適用領域 - NoSQLって?
ミドルウェアの進化
ハードウェアの進化
- メモリの大容量化
- FusionIO 高速ブロックデバイス
- MySQLのmemcachedインターフェース
- PostgreSQLのJSON型
トレードオフ - NoSQLって?
- トランザクション
- SQL - 共通したインターフェース
- データモデル
- etc.
ポイント - NoSQLって?
あなたの解くべき問題に
マッチしていますか?
Agenda
1. NoSQLって?
2. NoSQLの分類
3. NoSQLの紹介
NoSQLの分類
※ RDBMSほどには体系化されていない
最後は個別のDBを見ていく必要が
軸 - NoSQLの分類
- データの配置による分類
- データの表現による分類
データが物理的にどう配置されるか
ユーザーからみてどのようなデータを格納するか
データの配置- NoSQLの分類
- スタンドアロン
- 分散 P2P型
- 分散 マスタ型
スタンドアロン - NoSQLの分類
ノード ノード
レプリケーション
- 一つのノードの全てのデータが配置される
- レプリケーション含む
分散 マスタ型- NoSQLの分類
ノード ノード ノード ノード
マスタ
- データは分割されて各ノードに配置
- クラスタ全体のメタ情報を管理するマスタが存在
- データの配置
- ノードの追加/削除
分散 P2P型 - NoSQLの分類
- データは分割されて各ノードに配置
- 各ノード自身がクラスタの状態を管理
- 各ノードの状態は後で合わせる
ノード ノード ノード ノード
データの表現 - NoSQLの分類
- KVS
- BigTable型
- ドキュメント指向
- グラフ
KVS - NoSQLの分類
1 v1
2 v2
5 v5 v2
key=2
3 v3
4 v4
検索格納
- キーとバリューのペア
- 性能に特化
- レイテンシー、QPS
ドキュメント指向 - NoSQLの分類
tagsに2を
含むもののid
{“id”:1, ”tags”[1,2,3]}
{“id”:2, ”tags”[1,3]}
{“id”:3, ”tags”[2,5]}
{“id”:6, ”tags”[3,4]} 1,3,5
{“id”:4, ”tags”[1]}
{“id”:5, ”tags”[2,3,4]}
検索格納
- 構造化された”ドキュメント”
- JSON
- スキーマレス
BigTable型 - NoSQLの分類
カラムファミリー1カラムファミリー1カラムファミリー1 カラムファミリー2カラムファミリー2カラムファミリー2カラムファミリー2
列1 列2 列3 列4 列5 列6 列7
行1
行2
行3
行4
- GoogleのBigTable
- 大規模な分散を目標
- カラム型とも
- 注: 列指向RDBMSとは異なる
- テーブル + カラムファミリー
- 実際はKVSに近い
- key: row + column family + column
- value: cell
グラフ - NoSQLの分類
A
CB
D
ID リンク
A
B
C
D
B,C
A
D
- “ノード”と”エッジ”から構成される”グラフ構造”
- トラバーサル
- ノード間を辿るクエリ
Agenda
1. NoSQLって?
2. NoSQLの分類
3. NoSQLの紹介
memcached - NoSQLの紹介
- KVS
- スタンドアロン型
- 主にキャッシュ層として
Redis - NoSQLの紹介
- KVS
- スタンドアロン型
- バリューに構造化データ
- リスト、ハッシュ、セット
MongoDB - NoSQLの紹介
- ドキュメント指向
- 分散 マスタ型
- 柔軟なクエリ / インデックス
Cassandra HBase - NoSQLの紹介
- BigTable型
- 分散 P2P型
- Dynamoをベースにした分散
- BigTable型
- 分散 マスタ型
- キーでソート済み
- 強い一貫性
まとめ
まとめ
✓NoSQLはRDBMSで対応できない問題を解決する
✓解くべき問題に向けたDBを選ぶことが重要
✓RDBMS/NoSQL含む
✓次のような軸で分類すると分かりやすい
✓データの配置
✓データの表現

Mais conteúdo relacionado

Mais procurados

MongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もありMongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もあり
ippei_suzuki
 
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBMongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
ippei_suzuki
 

Mais procurados (20)

RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話
RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話
RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話
 
MongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もありMongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もあり
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
ARC-009_RDB 技術者のための NoSQL ガイド
ARC-009_RDB 技術者のための NoSQL ガイドARC-009_RDB 技術者のための NoSQL ガイド
ARC-009_RDB 技術者のための NoSQL ガイド
 
DB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works ApplicationsDB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works Applications
 
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBMongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
 
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
 
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersDb tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
 
[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のバ...
 
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
 
Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係
 
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
 
[db tech showcase Tokyo 2017] E23: クラウド異種データベース(AWS)へのデータベース移行時の注意点 ~レプリケーション...
[db tech showcase Tokyo 2017] E23: クラウド異種データベース(AWS)へのデータベース移行時の注意点 ~レプリケーション...[db tech showcase Tokyo 2017] E23: クラウド異種データベース(AWS)へのデータベース移行時の注意点 ~レプリケーション...
[db tech showcase Tokyo 2017] E23: クラウド異種データベース(AWS)へのデータベース移行時の注意点 ~レプリケーション...
 
運用が楽になる分散データベース Riak
運用が楽になる分散データベース Riak運用が楽になる分散データベース Riak
運用が楽になる分散データベース Riak
 
20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章
 
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
 
事例で学ぶApache Cassandra
事例で学ぶApache Cassandra事例で学ぶApache Cassandra
事例で学ぶApache Cassandra
 

Semelhante a qpstudy 2013.07 NoSQL

先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql
聡 中川
 

Semelhante a qpstudy 2013.07 NoSQL (20)

No sql with mysql cluster (MyNA・JPUG合同DB勉強会)
No sql with mysql cluster (MyNA・JPUG合同DB勉強会)No sql with mysql cluster (MyNA・JPUG合同DB勉強会)
No sql with mysql cluster (MyNA・JPUG合同DB勉強会)
 
AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql
 
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
 
Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417
 
Cassandra0.7
Cassandra0.7Cassandra0.7
Cassandra0.7
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQL
 
RDBってなに?
RDBってなに?RDBってなに?
RDBってなに?
 
SQL+NoSQL!? それならMySQL Clusterでしょ。
SQL+NoSQL!? それならMySQL Clusterでしょ。SQL+NoSQL!? それならMySQL Clusterでしょ。
SQL+NoSQL!? それならMySQL Clusterでしょ。
 
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
 
経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
ScyllaDBユーザー勉強会 #1
ScyllaDBユーザー勉強会 #1ScyllaDBユーザー勉強会 #1
ScyllaDBユーザー勉強会 #1
 
スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)
スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)
スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)
 
グラフタイプデータの可視化ツールーTom Sawyer
グラフタイプデータの可視化ツールーTom Sawyerグラフタイプデータの可視化ツールーTom Sawyer
グラフタイプデータの可視化ツールーTom Sawyer
 
グラフデータの視覚化ツールーTom Sawyer Perspectives
グラフデータの視覚化ツールーTom Sawyer Perspectivesグラフデータの視覚化ツールーTom Sawyer Perspectives
グラフデータの視覚化ツールーTom Sawyer Perspectives
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
SQL Server のロック概要
SQL Server のロック概要SQL Server のロック概要
SQL Server のロック概要
 
初めてのMongo db
初めてのMongo db初めてのMongo db
初めてのMongo db
 
Classmethod awsstudy ec2rds20160114
Classmethod awsstudy ec2rds20160114Classmethod awsstudy ec2rds20160114
Classmethod awsstudy ec2rds20160114
 

Mais de Akihiro Okuno (8)

カジュアルにソースコードリーディング
カジュアルにソースコードリーディングカジュアルにソースコードリーディング
カジュアルにソースコードリーディング
 
SQLの話
SQLの話SQLの話
SQLの話
 
Write parser with fun!
Write parser with fun!Write parser with fun!
Write parser with fun!
 
groonga with PostgreSQL
groonga with PostgreSQLgroonga with PostgreSQL
groonga with PostgreSQL
 
Start Vim script @Ujihisa.vim 2011/11/19
Start Vim script @Ujihisa.vim 2011/11/19Start Vim script @Ujihisa.vim 2011/11/19
Start Vim script @Ujihisa.vim 2011/11/19
 
Mongo db勉強会20110730
Mongo db勉強会20110730Mongo db勉強会20110730
Mongo db勉強会20110730
 
第一回Mongo dbソースコードリーディング 20110628
第一回Mongo dbソースコードリーディング 20110628第一回Mongo dbソースコードリーディング 20110628
第一回Mongo dbソースコードリーディング 20110628
 
2010/7/31 LTの虎@LL Tiger
2010/7/31 LTの虎@LL Tiger2010/7/31 LTの虎@LL Tiger
2010/7/31 LTの虎@LL Tiger
 

Último

Último (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

qpstudy 2013.07 NoSQL