SlideShare uma empresa Scribd logo
1 de 47
Cassandra(NoSQL) による
  システム提案と開発




   株式会社エスキュービズム
       岸本 康二
前提事項などのご説明
  NoSQL のよくある誤解・正解




  ■ 正解
    ○ 負荷分散に優れている

    ○ 耐障害性が高い

    △ データ一貫性は弱い
  NoSQL のよくある誤解・正解




  ■ 誤解

    × データ一貫性がない
        CAP 定理自体は正しい。
        ただし、間違った解釈が異常に多い。

    × トランザクション機能がない
        もう昔の話

    × 業務系フロントシステムには向かない
        RDBMS を主役に据えた Not Only SQL …
            → なんて言ってるのはもう古い!
  NoSQL と RDBMS との本当の関係




RDBMS での高速化(負荷分散)

    1)レプリケーションで読み込み負荷分散
       → 書き込み負荷は分散できず
  NoSQL と RDBMS との本当の関係




RDBMS での高速化(負荷分散)

    1)レプリケーションで読み込み負荷分散
       → 書き込み負荷は分散できず
    2)テーブル単位で複数サーバに分割
      2 ' )テーブルを複数サーバに分割
       → 発想は NoSQL 系と同じ
  NoSQL と RDBMS との本当の関係




RDBMS での高速化(負荷分散)

    1)レプリケーションで読み込み負荷分散
       → 書き込み負荷は分散できず
    2)テーブル単位で複数サーバに分割
      2 ' )テーブルを複数サーバに分割
       → 発想は NoSQL 系と同じ
    3)インデックスを張る
       → 発想は NoSQL 系と同じ
  NoSQL と RDBMS との本当の関係




RDBMS での高速化(負荷分散)

   1)レプリケーションで読み込み負荷分散
      → 書き込み負荷は分散できず
   2)テーブル単位で複数サーバに分割
     2 ' )テーブルを複数サーバに分割
      → 発想は NoSQL 系と同じ
   3)インデックスを張る
      → 発想は NoSQL 系と同じ
   番外) SQL の解析を飛ばして直接ストレージ API の操作
      → もはや SQL では…
  NoSQL と RDBMS との本当の関係




   RDBMS でも NoSQL でも設計を深く突き詰めると同じ

      そもそも CPU の処理量は DB に関係なく一定
           ↓
      CPU 処理量の配分の最適化が大切
           ↓
      NoSQL :フロント (オンライン)
      RDBMS :バックヤード (オフライン)
                 ログ解析など(← SQL が活きる!)
           ↑
           「 Not Only SQL 」風の構成とは真逆が正解
  NoSQL と RDBMS との本当の関係




    WEB APP        ● 従来型
                       →DB に負荷集中
    WEB APP
                              RDBMS

    WEB APP           RDBMS


    WEB APP


    WEB APP
  NoSQL と RDBMS との本当の関係




    WEB APP       NoSQL

                  NoSQL
    WEB APP
                                  RDBMS

    WEB APP               RDBMS


    WEB APP
               ● 負荷を軽減しようと・・・
                   →NoSQL でキャッシュ
    WEB APP        →DB の書き込み負荷は減らない
                 これが今の「 Not Only SQL 」の構成
  NoSQL と RDBMS との本当の関係




                           ここを売るのは先が細い
    WEB APP       NoSQL

                  NoSQL
    WEB APP
                                  RDBMS

    WEB APP               RDBMS


    WEB APP
                ● 負荷を軽減しようと・・・
                    →NoSQL でキャッシュ
    WEB APP         →DB の書き込み負荷は減らない
                  現在の「 Not Only SQL 」の構成
  NoSQL と RDBMS との本当の関係




    WEB APP       NoSQL

                  NoSQL
    WEB APP
                                  RDBMS

    WEB APP               RDBMS


    WEB APP
               ● ボトルネック部分を削ってみる
    WEB APP
  NoSQL と RDBMS との本当の関係




    WEB APP       NoSQL


    WEB APP       NoSQL


    WEB APP       NoSQL


    WEB APP       NoSQL


    WEB APP       NoSQL
  NoSQL と RDBMS との本当の関係




    WEB APP                 NoSQL


    WEB APP         NoSQL


    WEB APP       NoSQL


    WEB APP         NoSQL


    WEB APP                 NoSQL
  NoSQL と RDBMS との本当の関係




    WEB APP                 NoSQL


    WEB APP         NoSQL


    WEB APP       NoSQL


    WEB APP         NoSQL


    WEB APP                 NoSQL
                 ● 自然と NoSQL クラスタに行き着く
  NoSQL と RDBMS との本当の関係




WEB APP                 NoSQL
                                        RDBMS
WEB APP         NoSQL


WEB APP       NoSQL


WEB APP         NoSQL


WEB APP                 NoSQL   ● 最適なシステム構成
                                  →NoSQL はフロント
                                  → RDBMS はバックヤード
  NoSQL と RDBMS との本当の関係




   ■NoSQL
   ・書き込み負荷も容易に分散(スケールアウト)
   ・障害・アクシデントに強い
   ・データ分散自体がバックアップも兼ねるので効率的・経済的

        → フロントシステム向き

   ■RDBMS
   ・ SQL が便利。思いつきの解析もすぐに実行できる
   ・検索、ソートが効率的

        → バックヤードでの分析・統計向き
        → 処理を定型に落として Hadoop を提案、が定石
では、数ある NoSQL の中で

 何を選ぶべきなのか?
■ Apache Cassandra を選ぶ理由




      Cassandra       MongoDB         Redis

      ボトルネックな              ボトルネッ              ボトルネッ
         し!                  ク                  ク




     独立協調型             管理型         マスタ - スレーブ型
■ Apache Cassandra を選ぶ理由




               「人」の単一障害点

         → 開発コミュニティの層が厚いことが重要


       Cassandra は Apache ソフトウェア財団の
            「トップレベルプロジェクト」
実案件での例
■  実案件での NoSQL




                 (公開に際して削除しました)
NoSQL はお金になるのか?
■   NoSQL で動くお金




                  (公開に際して削除しました)
■   NoSQL で動くお金




     ■ 金額の差の理由

     ・ NoSQL を意識する案件は比較的規模が大きめ

     ・システム全体を受けていること
        (↔ 「 Not Only SQL 」では一部のみ)

     ・ NoSQL はそもそもノードを増やす発想
          RDBMS はせいぜいマスタ - スレーブの
          2 台構成+ WEB 数台
お金になるのは判った。

でも案件見込数は?
■   NoSQL でのターゲット




    ・「 Not Only SQL 」型提案では、
     既存に+ α するという型にはまってしまっていた。
        → 提案先も限られ、受託規模も小さい。

    ・従来 RDBMS で提案していた(大きめ)案件が
     実は全て NoSQL でも提案ターゲットにできる。
       → なぜなら「トランザクション」が可能だから

    ・ RDBMS では難しいさらに大きな規模もターゲットにできる

    ・結果、実は大きな市場が眠っている!
       → しかも、そのほとんどが手付かずの状態。
NoSQL で提案するメリット
  NoSQL 提案のメリット




    ・目立つ。

    ・決裁者は結局システムは動けば OK
       →  スケーラビリティ、耐障害性の優位をアピール
       →  実績もちゃんとある

    ・クラウドを利用するべき「合理的な理由がある」
       →  担当者に納得感が生まれる
           →  選考が進む

    ・クラウド利用率が上がる
       →  インフラとセットにした商品開発にもなる
コンペでの提案ポイント
■  コンペでの提案ポイント




           (公開に際して削除しました)
想定問答
■  想定問答 ~コンペ編~




   ・「 RDBMS? NoSQL ??」な顔
       → スーパーマンの例え話

   ・実績あるの?
      → 【ご説明済み】

   ・有償サポートはある?運用一式任せられる?
      → 問題なし。本日のセミナーの内容通りです。

   ・クライアントにも説明したい。
      → ご協力致します。
■  想定問答 ~職場編~




   ・社長 : 「 NoSQL って何 ? 」
      → 「あ、さすがですね !
             これから伸びるクラウド時代の技術です」

   ・事業部長:「儲かるの?」
      → 【すでに説明済み】

   ・エンジニア:「よく分からん」
      → 「ちょうど良かった」と新人に振る。
          → 変に SQL にこだわりが無い人の方が伸びる
          → 実は 40 代以降の方には意外と抵抗感がない
      → エンジニア向けのレクチャーメニューもございます
NoSQL での設計パターン
    ~ M2M 編 ~
(公開に際して削除しました)
コンパクトなネットワーク構成も可能
機能に応じてクラスタを分離可能
   → ハードウェアレベルでチューニング可能
   → マルチデータセンターも可能
 開発ツール: パフォーマンスの可視化、チューニング
 Compuware 社 「 dynaTrace」 との連携による分散環境の性能分析・可
 視化
 開発ツール: パフォーマンスの可視化、チューニング
 Compuware 社 「 dynaTrace」 との連携による分散環境の性能分析・可
 視化
 開発ツール: パフォーマンスの可視化、チューニング



 Compuware 社 「 dynaTrace」 との連携による分散環境の性能分析・可
 視化
■   NanaHoshi の今後




      クラウドコンポーネントではじめるビジネス拡張 「 BlueRabbit 」
      クラウドコンポーネントではじめるビジネス拡張 「 BlueRabbit 」



      RS       MS         RC        NH       RF

    監視と電話    高速・安定な      EC サイト     業務向け    サイト横断
     の融合      M2M 基盤   POS &倉庫連携    NoSQL   O2O 分析




     WC       MM          DT         RR      RT

    完全従量制    完全従量制     パフォーマンス      訪問時間枠   リアルタイム
     CDN     Map 情報     チューニング     予約サービス    貨物追跡
■   NanaHoshi の今後




   ■PaaS として組み合わせて土台にする   ■SaaS としてパッケージを利用する
全て Ready  → 案件の提案に使って頂けます

        営業   ・パッケージ(簡単・安定・規模)
                  → 「 NanaHoshi 」
                  →   SIer 様向けメニューあり
             ・実績
             ・差別化
             ・金額
             ・利益率
        開発   ・パッケージ
             ・現場を経験したツール群
             ・デバッグ、チューニング用ツール
             ・カスタマイズ / 連携を容易にする API 群
             ・納品用マニュアル類

        運用   ・有償サポート
             ・監視(クラウド環境向けノウハウあり)
■   NoSQL が熱い領域




 ・ M2M 領域(広い意味で)
     → センサーデータ
         → 家電データも相当
     → 業界大手はまだ Hadoop による可視化を売っているのみ
         → まだまだ巨大なニーズが残っている

 ・ PaaS 領域
      → パッケージの機能一式をクラウドで提供

 ・既存領域でもシステムリニューアルは熱い
    → 決裁者は DB で選ばない
    → より良いシステムをより合理的なコストで
■ データベースの変遷




1970 年頃      RDB の誕生

   20 年                   RDB 黎明期

1990 年頃      SQL の標準化

   20 年                   RDB 黄金期

2010 年頃      NoSQL の誕生   ← RDB の処理限界   ・ネット人口の増加
                                       ・デバイスの増加
                                       ・ WEB サービスの増加
                  NoSQL 黎明期


          NoSQL はこれから大きく成長する領域です !

Mais conteúdo relacionado

Mais procurados

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 Applications2t3
 
事例で学ぶApache Cassandra
事例で学ぶApache Cassandra事例で学ぶApache Cassandra
事例で学ぶApache CassandraYuki Morishita
 
Cassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 SpringCassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 Springdatastaxjp
 
Cassandra Meetup Tokyo, 2016 Spring 2
Cassandra Meetup Tokyo, 2016 Spring 2Cassandra Meetup Tokyo, 2016 Spring 2
Cassandra Meetup Tokyo, 2016 Spring 2datastaxjp
 
Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016datastaxjp
 
cassandra調査レポート
cassandra調査レポートcassandra調査レポート
cassandra調査レポートAkihiro Kuwano
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deploymentssmdkk
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門Yuki Morishita
 
Cassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-martCassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-martAkihiro Sei
 
NoSQLに関するまとめ
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめGosuke Miyashita
 
qpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLqpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLAkihiro Okuno
 
Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようYuki Morishita
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Yuki Morishita
 
サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方Yuki Morishita
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例terurou
 
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...Insight Technology, Inc.
 
NOSQLの基礎知識(講義資料)
NOSQLの基礎知識(講義資料)NOSQLの基礎知識(講義資料)
NOSQLの基礎知識(講義資料)CLOUDIAN KK
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門じゅん なかざ
 

Mais procurados (20)

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
 
事例で学ぶApache Cassandra
事例で学ぶApache Cassandra事例で学ぶApache Cassandra
事例で学ぶApache Cassandra
 
Cassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 SpringCassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 Spring
 
Cassandra Meetup Tokyo, 2016 Spring 2
Cassandra Meetup Tokyo, 2016 Spring 2Cassandra Meetup Tokyo, 2016 Spring 2
Cassandra Meetup Tokyo, 2016 Spring 2
 
Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016
 
cassandra調査レポート
cassandra調査レポートcassandra調査レポート
cassandra調査レポート
 
Cassandra3.0
Cassandra3.0Cassandra3.0
Cassandra3.0
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
 
Cassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-martCassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-mart
 
NoSQLに関するまとめ
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめ
 
qpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLqpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQL
 
Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax Enterpriseをはじめよう
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
 
サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...
 
NOSQLの基礎知識(講義資料)
NOSQLの基礎知識(講義資料)NOSQLの基礎知識(講義資料)
NOSQLの基礎知識(講義資料)
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
 
Cassandra0.7
Cassandra0.7Cassandra0.7
Cassandra0.7
 

Destaque

Titan and Cassandra at WellAware
Titan and Cassandra at WellAwareTitan and Cassandra at WellAware
Titan and Cassandra at WellAwaretwilmes
 
Modeling the IoT with TitanDB and Cassandra
Modeling the IoT with TitanDB and CassandraModeling the IoT with TitanDB and Cassandra
Modeling the IoT with TitanDB and Cassandratwilmes
 
Addressing performance issues in titan+cassandra
Addressing performance issues in titan+cassandraAddressing performance issues in titan+cassandra
Addressing performance issues in titan+cassandraNakul Jeirath
 
Build a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeBuild a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeAmazon Web Services
 
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜Naruhiko Ogasawara
 
Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS...
Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS...Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS...
Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS...Amazon Web Services
 

Destaque (6)

Titan and Cassandra at WellAware
Titan and Cassandra at WellAwareTitan and Cassandra at WellAware
Titan and Cassandra at WellAware
 
Modeling the IoT with TitanDB and Cassandra
Modeling the IoT with TitanDB and CassandraModeling the IoT with TitanDB and Cassandra
Modeling the IoT with TitanDB and Cassandra
 
Addressing performance issues in titan+cassandra
Addressing performance issues in titan+cassandraAddressing performance issues in titan+cassandra
Addressing performance issues in titan+cassandra
 
Build a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeBuild a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-time
 
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
 
Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS...
Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS...Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS...
Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS...
 

Semelhante a Cassandra(no sql)によるシステム提案と開発

初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用Amazon Web Services Japan
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)Amazon Web Services Japan
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQLnasa9084
 
Dynamodbについて
DynamodbについてDynamodbについて
DynamodbについてAra Jo
 
Dynamodbについて
DynamodbについてDynamodbについて
DynamodbについてAra Jo
 
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介IBM Analytics Japan
 
今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQLSoudai Sone
 
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/06Mikiya Okuno
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニックinfinite_loop
 
「Cloud-Native Relational Databases」と かけて「Oracle Database」と解く。その心は「……」
「Cloud-Native Relational Databases」と かけて「Oracle Database」と解く。その心は「……」「Cloud-Native Relational Databases」と かけて「Oracle Database」と解く。その心は「……」
「Cloud-Native Relational Databases」と かけて「Oracle Database」と解く。その心は「……」Wataru Morohashi
 
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理Amazon Web Services Japan
 
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』griddb
 
DynamoDBを導入した話
DynamoDBを導入した話DynamoDBを導入した話
DynamoDBを導入した話dcubeio
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会otmb
 

Semelhante a Cassandra(no sql)によるシステム提案と開発 (20)

About NoSQL
About NoSQLAbout NoSQL
About NoSQL
 
Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQL
 
Dynamodbについて
DynamodbについてDynamodbについて
Dynamodbについて
 
Dynamodbについて
DynamodbについてDynamodbについて
Dynamodbについて
 
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
 
DynamoDBとはとは
DynamoDBとはとはDynamoDBとはとは
DynamoDBとはとは
 
今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL
 
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
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
「Cloud-Native Relational Databases」と かけて「Oracle Database」と解く。その心は「……」
「Cloud-Native Relational Databases」と かけて「Oracle Database」と解く。その心は「……」「Cloud-Native Relational Databases」と かけて「Oracle Database」と解く。その心は「……」
「Cloud-Native Relational Databases」と かけて「Oracle Database」と解く。その心は「……」
 
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
 
商用RDBMSのAWSへの移行
商用RDBMSのAWSへの移行商用RDBMSのAWSへの移行
商用RDBMSのAWSへの移行
 
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
 
DynamoDBを導入した話
DynamoDBを導入した話DynamoDBを導入した話
DynamoDBを導入した話
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 

Cassandra(no sql)によるシステム提案と開発

  • 1. Cassandra(NoSQL) による システム提案と開発 株式会社エスキュービズム 岸本 康二
  • 3.   NoSQL のよくある誤解・正解 ■ 正解 ○ 負荷分散に優れている ○ 耐障害性が高い △ データ一貫性は弱い
  • 4.   NoSQL のよくある誤解・正解 ■ 誤解 × データ一貫性がない CAP 定理自体は正しい。 ただし、間違った解釈が異常に多い。 × トランザクション機能がない もう昔の話 × 業務系フロントシステムには向かない RDBMS を主役に据えた Not Only SQL … → なんて言ってるのはもう古い!
  • 5.   NoSQL と RDBMS との本当の関係 RDBMS での高速化(負荷分散) 1)レプリケーションで読み込み負荷分散 → 書き込み負荷は分散できず
  • 6.   NoSQL と RDBMS との本当の関係 RDBMS での高速化(負荷分散) 1)レプリケーションで読み込み負荷分散 → 書き込み負荷は分散できず 2)テーブル単位で複数サーバに分割   2 ' )テーブルを複数サーバに分割 → 発想は NoSQL 系と同じ
  • 7.   NoSQL と RDBMS との本当の関係 RDBMS での高速化(負荷分散) 1)レプリケーションで読み込み負荷分散 → 書き込み負荷は分散できず 2)テーブル単位で複数サーバに分割   2 ' )テーブルを複数サーバに分割 → 発想は NoSQL 系と同じ 3)インデックスを張る → 発想は NoSQL 系と同じ
  • 8.   NoSQL と RDBMS との本当の関係 RDBMS での高速化(負荷分散) 1)レプリケーションで読み込み負荷分散 → 書き込み負荷は分散できず 2)テーブル単位で複数サーバに分割   2 ' )テーブルを複数サーバに分割 → 発想は NoSQL 系と同じ 3)インデックスを張る → 発想は NoSQL 系と同じ 番外) SQL の解析を飛ばして直接ストレージ API の操作 → もはや SQL では…
  • 9.   NoSQL と RDBMS との本当の関係 RDBMS でも NoSQL でも設計を深く突き詰めると同じ そもそも CPU の処理量は DB に関係なく一定 ↓ CPU 処理量の配分の最適化が大切 ↓ NoSQL :フロント (オンライン) RDBMS :バックヤード (オフライン) ログ解析など(← SQL が活きる!) ↑ 「 Not Only SQL 」風の構成とは真逆が正解
  • 10.   NoSQL と RDBMS との本当の関係 WEB APP ● 従来型 →DB に負荷集中 WEB APP RDBMS WEB APP RDBMS WEB APP WEB APP
  • 11.   NoSQL と RDBMS との本当の関係 WEB APP NoSQL NoSQL WEB APP RDBMS WEB APP RDBMS WEB APP ● 負荷を軽減しようと・・・ →NoSQL でキャッシュ WEB APP →DB の書き込み負荷は減らない   これが今の「 Not Only SQL 」の構成
  • 12.   NoSQL と RDBMS との本当の関係 ここを売るのは先が細い WEB APP NoSQL NoSQL WEB APP RDBMS WEB APP RDBMS WEB APP ● 負荷を軽減しようと・・・ →NoSQL でキャッシュ WEB APP →DB の書き込み負荷は減らない   現在の「 Not Only SQL 」の構成
  • 13.   NoSQL と RDBMS との本当の関係 WEB APP NoSQL NoSQL WEB APP RDBMS WEB APP RDBMS WEB APP ● ボトルネック部分を削ってみる WEB APP
  • 14.   NoSQL と RDBMS との本当の関係 WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL
  • 15.   NoSQL と RDBMS との本当の関係 WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL
  • 16.   NoSQL と RDBMS との本当の関係 WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL ● 自然と NoSQL クラスタに行き着く
  • 17.   NoSQL と RDBMS との本当の関係 WEB APP NoSQL RDBMS WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL WEB APP NoSQL ● 最適なシステム構成 →NoSQL はフロント   → RDBMS はバックヤード
  • 18.   NoSQL と RDBMS との本当の関係 ■NoSQL ・書き込み負荷も容易に分散(スケールアウト) ・障害・アクシデントに強い ・データ分散自体がバックアップも兼ねるので効率的・経済的 → フロントシステム向き ■RDBMS ・ SQL が便利。思いつきの解析もすぐに実行できる ・検索、ソートが効率的 → バックヤードでの分析・統計向き → 処理を定型に落として Hadoop を提案、が定石
  • 19. では、数ある NoSQL の中で 何を選ぶべきなのか?
  • 20. ■ Apache Cassandra を選ぶ理由 Cassandra MongoDB Redis ボトルネックな ボトルネッ ボトルネッ し! ク ク 独立協調型 管理型 マスタ - スレーブ型
  • 21. ■ Apache Cassandra を選ぶ理由 「人」の単一障害点 → 開発コミュニティの層が厚いことが重要 Cassandra は Apache ソフトウェア財団の 「トップレベルプロジェクト」
  • 23. ■  実案件での NoSQL (公開に際して削除しました)
  • 25. ■   NoSQL で動くお金 (公開に際して削除しました)
  • 26. ■   NoSQL で動くお金 ■ 金額の差の理由 ・ NoSQL を意識する案件は比較的規模が大きめ ・システム全体を受けていること (↔ 「 Not Only SQL 」では一部のみ) ・ NoSQL はそもそもノードを増やす発想 RDBMS はせいぜいマスタ - スレーブの 2 台構成+ WEB 数台
  • 28. ■   NoSQL でのターゲット ・「 Not Only SQL 」型提案では、  既存に+ α するという型にはまってしまっていた。 → 提案先も限られ、受託規模も小さい。 ・従来 RDBMS で提案していた(大きめ)案件が  実は全て NoSQL でも提案ターゲットにできる。 → なぜなら「トランザクション」が可能だから ・ RDBMS では難しいさらに大きな規模もターゲットにできる ・結果、実は大きな市場が眠っている! → しかも、そのほとんどが手付かずの状態。
  • 30.   NoSQL 提案のメリット ・目立つ。 ・決裁者は結局システムは動けば OK →  スケーラビリティ、耐障害性の優位をアピール →  実績もちゃんとある ・クラウドを利用するべき「合理的な理由がある」 →  担当者に納得感が生まれる →  選考が進む ・クラウド利用率が上がる →  インフラとセットにした商品開発にもなる
  • 32. ■  コンペでの提案ポイント (公開に際して削除しました)
  • 34. ■  想定問答 ~コンペ編~ ・「 RDBMS? NoSQL ??」な顔 → スーパーマンの例え話 ・実績あるの? → 【ご説明済み】 ・有償サポートはある?運用一式任せられる? → 問題なし。本日のセミナーの内容通りです。 ・クライアントにも説明したい。 → ご協力致します。
  • 35. ■  想定問答 ~職場編~ ・社長 : 「 NoSQL って何 ? 」 → 「あ、さすがですね ! これから伸びるクラウド時代の技術です」 ・事業部長:「儲かるの?」 → 【すでに説明済み】 ・エンジニア:「よく分からん」 → 「ちょうど良かった」と新人に振る。 → 変に SQL にこだわりが無い人の方が伸びる → 実は 40 代以降の方には意外と抵抗感がない → エンジニア向けのレクチャーメニューもございます
  • 39. 機能に応じてクラスタを分離可能 → ハードウェアレベルでチューニング可能 → マルチデータセンターも可能
  • 40.  開発ツール: パフォーマンスの可視化、チューニング Compuware 社 「 dynaTrace」 との連携による分散環境の性能分析・可 視化
  • 41.  開発ツール: パフォーマンスの可視化、チューニング Compuware 社 「 dynaTrace」 との連携による分散環境の性能分析・可 視化
  • 42.  開発ツール: パフォーマンスの可視化、チューニング Compuware 社 「 dynaTrace」 との連携による分散環境の性能分析・可 視化
  • 43. ■   NanaHoshi の今後 クラウドコンポーネントではじめるビジネス拡張 「 BlueRabbit 」 クラウドコンポーネントではじめるビジネス拡張 「 BlueRabbit 」 RS MS RC NH RF 監視と電話 高速・安定な EC サイト 業務向け サイト横断 の融合 M2M 基盤 POS &倉庫連携 NoSQL O2O 分析 WC MM DT RR RT 完全従量制 完全従量制 パフォーマンス 訪問時間枠 リアルタイム CDN Map 情報 チューニング 予約サービス 貨物追跡
  • 44. ■   NanaHoshi の今後 ■PaaS として組み合わせて土台にする ■SaaS としてパッケージを利用する
  • 45. 全て Ready  → 案件の提案に使って頂けます 営業 ・パッケージ(簡単・安定・規模) → 「 NanaHoshi 」 →   SIer 様向けメニューあり ・実績 ・差別化 ・金額 ・利益率 開発 ・パッケージ ・現場を経験したツール群 ・デバッグ、チューニング用ツール ・カスタマイズ / 連携を容易にする API 群 ・納品用マニュアル類 運用 ・有償サポート ・監視(クラウド環境向けノウハウあり)
  • 46. ■   NoSQL が熱い領域 ・ M2M 領域(広い意味で) → センサーデータ → 家電データも相当 → 業界大手はまだ Hadoop による可視化を売っているのみ → まだまだ巨大なニーズが残っている ・ PaaS 領域 → パッケージの機能一式をクラウドで提供 ・既存領域でもシステムリニューアルは熱い → 決裁者は DB で選ばない → より良いシステムをより合理的なコストで
  • 47. ■ データベースの変遷 1970 年頃 RDB の誕生 20 年 RDB 黎明期 1990 年頃 SQL の標準化 20 年 RDB 黄金期 2010 年頃 NoSQL の誕生 ← RDB の処理限界 ・ネット人口の増加 ・デバイスの増加 ・ WEB サービスの増加 NoSQL 黎明期 NoSQL はこれから大きく成長する領域です !