Soumettre la recherche
Mettre en ligne
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
•
Télécharger en tant que PPTX, PDF
•
16 j'aime
•
10,690 vues
Yuji Otani
Suivre
2013年11月11日の勉強会@LIG社で発表した際の資料です。
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 53
Télécharger maintenant
Recommandé
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
Takafumi ONAKA
エラーハンドリング
エラーハンドリング
道化師 堂華
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
Takafumi ONAKA
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
gree_tech
Recommandé
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
Takafumi ONAKA
エラーハンドリング
エラーハンドリング
道化師 堂華
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
Takafumi ONAKA
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
gree_tech
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
Akihiro Kuwano
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
WiredTigerを詳しく説明
WiredTigerを詳しく説明
Tetsutaro Watanabe
HashMapとは?
HashMapとは?
Trash Briefing ,Ltd
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
Kohei Tokunaga
ChatGPTをもっと使いたい.pptx
ChatGPTをもっと使いたい.pptx
TokioMiyaoka
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
Docker Tokyo
Docker Tokyo
cyberblack28 Ichikawa
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
LXDのすすめ
LXDのすすめ
智之 大野
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
Takayuki Shimizukawa
Node-v0.12の新機能について
Node-v0.12の新機能について
shigeki_ohtsu
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
Colabをshellから使う
Colabをshellから使う
Kiyoshi SATOH
GresCubeで快適PostgreSQLライフ
GresCubeで快適PostgreSQLライフ
NTT DATA OSS Professional Services
エンジニア勉強会_DECIDE
エンジニア勉強会_DECIDE
エンジニア勉強会 エスキュービズム
Contenu connexe
Tendances
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
Akihiro Kuwano
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
WiredTigerを詳しく説明
WiredTigerを詳しく説明
Tetsutaro Watanabe
HashMapとは?
HashMapとは?
Trash Briefing ,Ltd
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
Kohei Tokunaga
ChatGPTをもっと使いたい.pptx
ChatGPTをもっと使いたい.pptx
TokioMiyaoka
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
Docker Tokyo
Docker Tokyo
cyberblack28 Ichikawa
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
LXDのすすめ
LXDのすすめ
智之 大野
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
Takayuki Shimizukawa
Node-v0.12の新機能について
Node-v0.12の新機能について
shigeki_ohtsu
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
Colabをshellから使う
Colabをshellから使う
Kiyoshi SATOH
Tendances
(20)
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
WiredTigerを詳しく説明
WiredTigerを詳しく説明
HashMapとは?
HashMapとは?
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
ChatGPTをもっと使いたい.pptx
ChatGPTをもっと使いたい.pptx
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Docker Tokyo
Docker Tokyo
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
充足可能性問題のいろいろ
充足可能性問題のいろいろ
LXDのすすめ
LXDのすすめ
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
Node-v0.12の新機能について
Node-v0.12の新機能について
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
暗号技術の実装と数学
暗号技術の実装と数学
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Colabをshellから使う
Colabをshellから使う
Similaire à 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
Similaire à 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
Plus de Yuji Otani
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
Yuji Otani
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
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
NoSQL勉強会
NoSQL勉強会
Yuji Otani
Plus de Yuji Otani
(20)
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
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基礎勉強会
負荷分散勉強会
負荷分散勉強会
NoSQL勉強会
NoSQL勉強会
Dernier
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Dernier
(7)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
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.
Télécharger maintenant