Suche senden
Hochladen
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
•
Als PPTX, PDF herunterladen
•
16 gefällt mir
•
10,686 views
Yuji Otani
Folgen
2013年11月11日の勉強会@LIG社で発表した際の資料です。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 53
Jetzt herunterladen
Empfohlen
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
leverages_event
こわくない Git
こわくない Git
Kota Saito
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
mganeko
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
ktateish
About GStreamer 1.0 application development for beginners
About GStreamer 1.0 application development for beginners
Shota TAMURA
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
Teppei Sato
Empfohlen
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
leverages_event
こわくない Git
こわくない Git
Kota Saito
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
mganeko
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
ktateish
About GStreamer 1.0 application development for beginners
About GStreamer 1.0 application development for beginners
Shota TAMURA
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
Teppei Sato
Quine・難解プログラミングについて
Quine・難解プログラミングについて
mametter
What's new in Spring Batch 5
What's new in Spring Batch 5
ikeyat
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
健人 井関
JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法
Chihiro Ito
Docker Swarm入門
Docker Swarm入門
Masahito Zembutsu
この手に超高精度GPSを!
この手に超高精度GPSを!
KLab Inc. / Tech
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
Ryuichi Ueda
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
Yoshiki Hayama
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
NTT DATA Technology & Innovation
Gitの便利ワザ
Gitの便利ワザ
ktateish
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
Ito Takayuki
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
バージョン管理のワークフロー
バージョン管理のワークフロー
add20
UnityとROSの連携について
UnityとROSの連携について
UnityTechnologiesJapan002
GresCubeで快適PostgreSQLライフ
GresCubeで快適PostgreSQLライフ
NTT DATA OSS Professional Services
エンジニア勉強会_DECIDE
エンジニア勉強会_DECIDE
エンジニア勉強会 エスキュービズム
Weitere ähnliche Inhalte
Was ist angesagt?
Quine・難解プログラミングについて
Quine・難解プログラミングについて
mametter
What's new in Spring Batch 5
What's new in Spring Batch 5
ikeyat
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
健人 井関
JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法
Chihiro Ito
Docker Swarm入門
Docker Swarm入門
Masahito Zembutsu
この手に超高精度GPSを!
この手に超高精度GPSを!
KLab Inc. / Tech
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
Ryuichi Ueda
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
Yoshiki Hayama
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
NTT DATA Technology & Innovation
Gitの便利ワザ
Gitの便利ワザ
ktateish
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
Ito Takayuki
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
バージョン管理のワークフロー
バージョン管理のワークフロー
add20
UnityとROSの連携について
UnityとROSの連携について
UnityTechnologiesJapan002
Was ist angesagt?
(20)
Quine・難解プログラミングについて
Quine・難解プログラミングについて
What's new in Spring Batch 5
What's new in Spring Batch 5
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法
Docker Swarm入門
Docker Swarm入門
この手に超高精度GPSを!
この手に超高精度GPSを!
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
Gitの便利ワザ
Gitの便利ワザ
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
バージョン管理のワークフロー
バージョン管理のワークフロー
UnityとROSの連携について
UnityとROSの連携について
Ähnlich wie RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
GresCubeで快適PostgreSQLライフ
GresCubeで快適PostgreSQLライフ
NTT DATA OSS Professional Services
エンジニア勉強会_DECIDE
エンジニア勉強会_DECIDE
エンジニア勉強会 エスキュービズム
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AzareaCluster
Fuel php活用事例
Fuel php活用事例
Toshiyuki Maeda
ビッグデータシステム開発のための入出力の基礎知識
ビッグデータシステム開発のための入出力の基礎知識
techfun_yamazaki
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめ
Ohyama Masanori
GREE-Fsite
GREE-Fsite
technicaldesign
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
Yuji Otani
マーケティングテクノロジー勉強会
マーケティングテクノロジー勉強会
伊藤 孝
NTTデータにおけるScrumの組織的導入
NTTデータにおけるScrumの組織的導入
shibao800
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
Masataka Sato
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Software Japan
1Uサーバーから始めるスケーラブルな「mCloud Project Server」
1Uサーバーから始めるスケーラブルな「mCloud Project Server」
Satoshi Konno
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
Insight Technology, Inc.
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Takuya Kihara
[AWS re:invent 2013 Report] AWS New EC2 Instance Types
[AWS re:invent 2013 Report] AWS New EC2 Instance Types
Amazon Web Services Japan
インフラエンジニアの楽しい標準化活動
インフラエンジニアの楽しい標準化活動
gree_tech
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
Koichi Hamada
DeNAでのVertica運用
DeNAでのVertica運用
Shota Suzuki
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
Masaki Nakagawa
Ähnlich wie RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
(20)
GresCubeで快適PostgreSQLライフ
GresCubeで快適PostgreSQLライフ
エンジニア勉強会_DECIDE
エンジニア勉強会_DECIDE
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
Fuel php活用事例
Fuel php活用事例
ビッグデータシステム開発のための入出力の基礎知識
ビッグデータシステム開発のための入出力の基礎知識
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめ
GREE-Fsite
GREE-Fsite
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
マーケティングテクノロジー勉強会
マーケティングテクノロジー勉強会
NTTデータにおけるScrumの組織的導入
NTTデータにおけるScrumの組織的導入
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
1Uサーバーから始めるスケーラブルな「mCloud Project Server」
1Uサーバーから始めるスケーラブルな「mCloud Project Server」
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件について
[AWS re:invent 2013 Report] AWS New EC2 Instance Types
[AWS re:invent 2013 Report] AWS New EC2 Instance Types
インフラエンジニアの楽しい標準化活動
インフラエンジニアの楽しい標準化活動
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
DeNAでのVertica運用
DeNAでのVertica運用
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
Mehr von Yuji Otani
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
Yuji Otani
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
Yuji Otani
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
Yuji Otani
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
Yuji Otani
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
Yuji Otani
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
Yuji Otani
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
Yuji Otani
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
Yuji Otani
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
Yuji Otani
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
Yuji Otani
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Yuji Otani
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
Yuji Otani
【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
Yuji Otani
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
Yuji Otani
Phalcon勉強会資料
Phalcon勉強会資料
Yuji Otani
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
Yuji Otani
Nginx勉強会
Nginx勉強会
Yuji Otani
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
負荷分散勉強会
負荷分散勉強会
Yuji Otani
Mehr von Yuji Otani
(20)
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
Redisの特徴と活用方法について
Redisの特徴と活用方法について
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
Phalcon勉強会資料
Phalcon勉強会資料
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
Nginx勉強会
Nginx勉強会
PHP基礎勉強会
PHP基礎勉強会
負荷分散勉強会
負荷分散勉強会
Kürzlich hochgeladen
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Kürzlich hochgeladen
(9)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
1.
RDBとKVSとの上手な付き合い方 株式会社トライフォート 大谷 祐司 Copyright ©
2013 TriFort, Inc. All Rights Reserved.
2.
自己紹介 ・山口県出身の33歳 ・2013年4月にトライフォート入社。 ・サーバーサイド開発チームの責任者。 ・車とプログラミングを愛しています。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
3.
自己紹介 ソーシャル業界に飛び込んで約8ヶ月。 それまでは、ネット広告関連の比較的固い開 発を行っていました。 今ではすっかりソーシャルに染まっています。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
4.
今日のテーマ RDBとKVSとの上手な付き合い方 Copyright © 2013
TriFort, Inc. All Rights Reserved.
5.
ところで、 皆さんKVS使ってますか? Copyright © 2013
TriFort, Inc. All Rights Reserved.
6.
KVSについてのおさらい データに対応する一意のキーを設定し、 ペアで保存するDB。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
7.
KVSについてのおさらい KVS Keyを指定して Valueを取得する Value key Value key Copyright © 2013
TriFort, Inc. All Rights Reserved. key Value
8.
今日お話すること KVSとRDBをどうやって使うと、 どんな問題解決ができるのか。 AWSの採用で注目されているRedisを例 にお話します。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
9.
KVSは主に、データアクセスにおける パフォーマンスの問題を解決できます。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
10.
KVSが速い3つのポイント ・インメモリー ・シンプルな処理 ・イベント駆動アーキテクチャ Copyright © 2013
TriFort, Inc. All Rights Reserved.
11.
KVSが速い3つのポイント ・インメモリー ・シンプルな処理 ・イベント駆動アーキテクチャ Copyright © 2013
TriFort, Inc. All Rights Reserved.
12.
問題:メモリとHDDはどれくらいの速 度差があるでしょうか? Copyright © 2013
TriFort, Inc. All Rights Reserved.
13.
答え:10万〜100万倍 Copyright © 2013
TriFort, Inc. All Rights Reserved.
14.
高いパフォーマンス 全てのデータセットをメモリ内に読み込む 高速なデータアクセスを実現 Copyright © 2013
TriFort, Inc. All Rights Reserved.
15.
KVSが速い3つのポイント ・インメモリー ・シンプルな処理 ・イベント駆動アーキテクチャ Copyright © 2013
TriFort, Inc. All Rights Reserved.
16.
一般的なRDBのSELECTクエリ実行 ① プロセスを作成する ② SQLを解析する ③
該当の行をロックする ④ HDDから値を取得する ⑤ ロックを解除する ⑥ 値を返す ※分かりやすいように単純化しています。 Copyright © 2013 TriFort, Inc. All Rights Reserved.
17.
KVSから値を取得する処理 ① コマンドを解読 ② メモリから値を取得する ③
値を返す →シンプルに素早く動作します。 ※分かりやすいように単純化しています。 Copyright © 2013 TriFort, Inc. All Rights Reserved.
18.
KVSが速い3つのポイント ・インメモリー ・シンプルな処理 ・イベント駆動アーキテクチャ Copyright © 2013
TriFort, Inc. All Rights Reserved.
19.
イベント駆動アーキテクチャ 命令をトリガにプロセスを立ち上げるのではなく、 予め待機しているプロセスが命令を処理します。 プロセス生成は時間がかかるのです。 ※スレッドを立ち上げるRDBも存在します。 プロセス プログラムコード プロセスの情報 データ Copyright © 2013
TriFort, Inc. All Rights Reserved.
20.
イベント駆動アーキテクチャ ボクシングに例えるなら、 RDB : パンチが来たらそれからグローブを付けて殴り返す。 KVS
: ファイティングポーズをとっておき、いつでも 殴り返せるようにしておく というイメージです。 Copyright © 2013 TriFort, Inc. All Rights Reserved.
21.
シングルスレッド Redisはシングルスレッドで動作します。 一般的なRDBのように複数の処理を並列で行う事は不可能です。 必然的に、全てのデータ操作は排他的になります。 コマンド コマンド コマンド コマンド Copyright © 2013
TriFort, Inc. All Rights Reserved. 1スレッドで 順番に処理 Redis
22.
これらのポイントから、 KVSは高速なデータアクセス を実現します。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
23.
KVSの良い点を上げましたが、 もちろん弱点もあります。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
24.
KVSの弱点 ・ディスク容量 ・クラッシュセーフでない ・取得時の集計/ソートに弱い Copyright © 2013
TriFort, Inc. All Rights Reserved.
25.
KVSの弱点 ・ディスク容量 ・クラッシュセーフでない ・取得時の集計/ソートに弱い Copyright © 2013
TriFort, Inc. All Rights Reserved.
26.
メモリにデータを保存するので、大容量を 保存する事が難しくなってきます。 ①ハードウェア的なメモリの上限 ②コスト的なデメリット という要因があります。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
27.
①ハードウェア的なメモリの上限 一般的な16スロットサーバの場合、 16G × 16
= 256G 程度が、メモリの上限になります。 ※実際はOSがメモリを使うので、もっと少なくなります。 Copyright © 2013 TriFort, Inc. All Rights Reserved.
28.
①ハードウェア的なメモリの上限 データのバックアップを行う場合には、 使用できる量がその半分程度になります。 バックアップ実行時に、保存データと同 じサイズのメモリを使用します。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
29.
②コスト的なデメリット 16G × 16
= 256Gのメモリは、 約43万円にもなります。 安価になったとはいえ、まだまだ 値が張ります。 Copyright © 2013 TriFort, Inc. All Rights Reserved.
30.
KVSの弱点 ・ディスク容量 ・クラッシュセーフでない ・取得時の集計/ソートに弱い Copyright © 2013
TriFort, Inc. All Rights Reserved.
31.
メモリにデータを保存しているので、 マシンを再起動すると全て消失してし まいます。 バックアップ/リカバリ方法が用意され ていますが、まだRDBの方が信頼性が 高いと言われています。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
32.
データ永続化(バックアップ) ①SAVE/BGSAVE ⇒DBのフルダンプ(RDB = Redis
DataBase)を作成。 SAVE/BGSAVE 全データ Redis Copyright © 2013 TriFort, Inc. All Rights Reserved. RDB
33.
データ永続化(バックアップ) ②AOF(Append Only File) ⇒コマンド実行ログ。ここからデータ復元可能。 コマンド コマンド Redis Copyright
© 2013 TriFort, Inc. All Rights Reserved. AOF
34.
KVSの弱点 ・ディスク容量 ・クラッシュセーフでない ・取得時の集計/ソートに弱い Copyright © 2013
TriFort, Inc. All Rights Reserved.
35.
値の集計/ソート/計算などの柔軟な操作が できない。 アプリケーション側で実装する必要があ ります。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
36.
SQLなら簡単な操作も、アプリケーション 側で実装する必要があります。 ソート order by 集計 group by 件数 count() 合計 sum() フィルタ where
YY = ZZ 結合 join Copyright © 2013 TriFort, Inc. All Rights Reserved.
37.
結論 異なる特徴を持っているRDBとKVS。 補完し合う事で多くの問題解決ができます。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
38.
RDBとKVSをどのように共存させる? Copyright © 2013
TriFort, Inc. All Rights Reserved.
39.
RDBの値をKVSに保持する方法 ・RDBのレコードをそのままセット ・RDBのレコードを結合/加工してセット ・レコードの統計情報をセット 等があります。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
40.
RDBのレコードをそのままセット Copyright © 2013
TriFort, Inc. All Rights Reserved.
41.
RDBのレコードをそのままセット 【メリット】 ・RDB→KVSのキャッシュ処理をシンプルに実装できる。 ・値をKVSから取得してもRDBから取得しても、 同じように扱う事ができる。 ・データ更新時のRDB→KVSのキャッシュを簡単に行える。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
42.
RDBのレコードをそのままセット 【注意点】 ・データの持ち方によっては、KVSへのアクセス回数が増える。 (レコードを補完するデータを取得 etc) ・データの加工が必要な場合、取得した後に操作が必要になる。 ・「そのまま」データを持つので、サイズが大きくなって しまう事がある。 Copyright ©
2013 TriFort, Inc. All Rights Reserved.
43.
RDBのレコードを操作/加工してセット 操作/加工 Copyright © 2013
TriFort, Inc. All Rights Reserved.
44.
RDBのレコードを操作/加工してセット 【メリット】 ・データ取得後にそのまま活用できるケースが増える。 ・負荷がかかるデータ操作/加工の回数を減らせる。 ・必要なデータを選択する事で、サイズを減らす事ができる。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
45.
RDBのレコードを操作/加工してセット 【注意点】 ・プログラム側でデータ操作/加工の処理が必要になる。 ・RDBのデータが変更されたとき、KVSへのキャッシュが 複雑になる。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
46.
レコードの統計情報をセット 統計処理 Copyright © 2013
TriFort, Inc. All Rights Reserved.
47.
レコードの統計情報をセット 【メリット】 ・RDBやプログラムで、統計処理の回数を減らせる。 ・RDBで統計情報を冗長的に持たなくてよくなる。 ・時間のかかる統計処理の結果を活用することができる。 (統計に時間がかかると、リアルタイムでの活用が困難) Copyright © 2013
TriFort, Inc. All Rights Reserved.
48.
レコードの統計情報をセット 【注意点】 ・プログラム側でデータ集計処理の実装が必要になる。 ・データ変更されたとき、再集計の必要がある。 ・実データと集計値に差分が出ない(出ても良い)工夫が必要。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
49.
サーバの構成について Copyright © 2013
TriFort, Inc. All Rights Reserved.
50.
サーバ構成パターン ・Redisサーバのみで値を保持する ・RDBのキャッシュサーバとしてRedisを利用する ・WebサーバにRedisを同居させる ・1台のサーバに多数のRedisを立ち上げて、複数のCPUコアを使う ・監視サーバを設置してフェールオーバーできるようにする。 時間の関係で詳しい説明は割愛しますが、 様々な構成が存在します。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
51.
結論 組み合わせのパターンは多いので、 「何を実現したいか」によって構成を 使い分ける事が重要です。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
52.
Redisについて詳しく知りたい方 社内勉強会の資料をアップしていますので 「Redis勉強会」で検索してみてください。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
53.
発表は以上になります。 ご清聴ありがとうございました。 Copyright © 2013
TriFort, Inc. All Rights Reserved.
Jetzt herunterladen