SlideShare a Scribd company logo
1 of 26
NoSQL の野心的な使い方
 ~ Apache Cassandra 編~
誰?




■ 株式会社エスキュービズム
    岸本 康二

■EC 系サービスの構築案件から
  大規模系の技術開発、
  クラウド、 M2M 系など

■ 大学の博士課程まで物理
  新技術を使うより
   新技術を作るのが好き
  NoSQL のよくある誤解・正解




  ■ 正解
    ○ 負荷分散に優れている
    ○ 耐障害性が高い
    ○ データ一貫性は弱い
  ■ 誤解

   × データ一貫性がない
       CAP 定理は正しい。が、誤解が異常に多い。
   × トランザクションは無理
   × 業務系フロントシステムには向かない
       RDBMS を主役に据えた Not Only SQL …
            → なんて言ってるのはもう古い!
■ Apache Cassandra を選んだ理由




      Cassandra       MongoDB          Redis

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




      独立協調型            管理型          マスタ - スレーブ型
  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 との本当の関係




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

        → フロントシステム向き

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

        → バックヤードでの分析・統計向き
            → 定型に落として Hadoop
  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
                ● 負荷を軽減しようと・・・
    WEB APP         →NoSQL でキャッシュ
                    →DB の書き込み負荷は減らない
  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




      大規模ポイント管理サービス   某大手放
               送局様
■  実案件での NoSQL




   ・秒間 5000 回の「書き込み」の実績
      →1 時間で 1800 万回の実績(月間 130 億回)
      → スマートメーター系への展開に繋がった
   ・拡張性の担保
      → サーバを追加するだけ
      → すでに秒間 16000 回は実証(月間 400 億回)
   ・サーバ障害もひと通り経験
      →HD の大規模障害にも耐えた


   こんなシステムを 1 人で構築することも可能なのが
   NoSQL の凄く面白いところ
■   NoSQL あるある ~職場編~




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




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

    ・人事 : 「新人でもできる ? 」
       → 「ちょうど良かったです。
            そういう人の方が向いてます ! 」 →人材確保
■   NoSQL 採用への道 ~職場編~




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

    ・人事 : 「新人でもできる ? 」
       → 「ちょうど良かったです。
            そういう人の方が向いてます ! 」 →人材確保

    ・部長 : 「お金になるワケ ? 」
        → 【会場で具体的にご説明】
■   NoSQL が熱い領域




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

 ・既存領域でもシステムリニューアルは熱い
    → 決済者は DB で選ばない
    → より良いシステムをより合理的なコストで
■ Action !




  ■ 書籍
             翔泳社
             Cassandra 実用システム・インテグレーション
                   ・ Cloudn 上でお試しができます。
                   ・ NoSQL のトランザクションもテスト可能

                   「 NanaHoshi 」 http://b-rabbit.jp/nanahoshi/


             翔泳社
             ニフティクラウド IaaS によるシステム構築
■ Action !




 ■ 合言葉
 ・ NoSQL で腕を試そう!世の中を変えてしまおう!

■ 大切な考え方・キーワード
 ・マスタレス
 ・ NoSQL は画面から( RDBMS はモデルから)
      →DB は入れ物。だから分散できる。
      → ロジックはアプリ側へ。
 ・ CAP 定理と BASE という概念

 ・めげない心
 ・ NoSQL はエンジニアの腕の見せ所がとても多い!
      NoSQL という新しい「市場」でのキャリア形成にも
■ データベースの変遷




1970 年頃      RDB の誕生

   20 年                   RDB 黎明期

1990 年頃      SQL の標準化

   20 年                   RDB 黄金期

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


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

More Related Content

What's hot

事例で学ぶApache Cassandra
事例で学ぶApache Cassandra事例で学ぶApache Cassandra
事例で学ぶApache CassandraYuki Morishita
 
NoSQLに関するまとめ
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめGosuke Miyashita
 
Cassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 SpringCassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 Springdatastaxjp
 
Nosqlの基礎知識(2013年7月講義資料)
Nosqlの基礎知識(2013年7月講義資料)Nosqlの基礎知識(2013年7月講義資料)
Nosqlの基礎知識(2013年7月講義資料)CLOUDIAN KK
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門Akihiro Kuwano
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRecruit Technologies
 
[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.
 
Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016datastaxjp
 
20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料Takahiro Iwase
 
cassandra調査レポート
cassandra調査レポートcassandra調査レポート
cassandra調査レポートAkihiro Kuwano
 
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
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係datastaxjp
 
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...datastaxjp
 
Cassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-martCassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-martAkihiro Sei
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例terurou
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門Yuki Morishita
 
サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方Yuki Morishita
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Yuki Morishita
 

What's hot (20)

事例で学ぶApache Cassandra
事例で学ぶApache Cassandra事例で学ぶApache Cassandra
事例で学ぶApache Cassandra
 
About NoSQL
About NoSQLAbout NoSQL
About NoSQL
 
NoSQLに関するまとめ
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめ
 
Cassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 SpringCassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 Spring
 
Nosqlの基礎知識(2013年7月講義資料)
Nosqlの基礎知識(2013年7月講義資料)Nosqlの基礎知識(2013年7月講義資料)
Nosqlの基礎知識(2013年7月講義資料)
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド 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 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
 
Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016
 
20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料
 
cassandra調査レポート
cassandra調査レポートcassandra調査レポート
cassandra調査レポート
 
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
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係
 
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"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
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
 
サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
 
これがCassandra
これがCassandraこれがCassandra
これがCassandra
 

Similar to Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~

初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
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
 
Dynamodbについて
DynamodbについてDynamodbについて
DynamodbについてAra Jo
 
Dynamodbについて
DynamodbについてDynamodbについて
DynamodbについてAra Jo
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニックinfinite_loop
 
AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用Amazon Web Services Japan
 
今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQLSoudai Sone
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQLnasa9084
 
生物データベース論(スケーラビリティと可用性)
生物データベース論(スケーラビリティと可用性)生物データベース論(スケーラビリティと可用性)
生物データベース論(スケーラビリティと可用性)Masahiro Kasahara
 
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことKentaro Matsui
 
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
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql聡 中川
 
DynamoDBを導入した話
DynamoDBを導入した話DynamoDBを導入した話
DynamoDBを導入した話dcubeio
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会otmb
 
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップAmazon Web Services Japan
 
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介IBM Analytics Japan
 
【IVS CTO Night & Day】AWSにおけるビッグデータ活用
【IVS CTO Night & Day】AWSにおけるビッグデータ活用【IVS CTO Night & Day】AWSにおけるビッグデータ活用
【IVS CTO Night & Day】AWSにおけるビッグデータ活用Amazon Web Services Japan
 

Similar to Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~ (20)

Cassandra0.7
Cassandra0.7Cassandra0.7
Cassandra0.7
 
Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
 
Dynamodbについて
DynamodbについてDynamodbについて
Dynamodbについて
 
Dynamodbについて
DynamodbについてDynamodbについて
Dynamodbについて
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用
 
今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQL
 
生物データベース論(スケーラビリティと可用性)
生物データベース論(スケーラビリティと可用性)生物データベース論(スケーラビリティと可用性)
生物データベース論(スケーラビリティと可用性)
 
DynamoDBとはとは
DynamoDBとはとはDynamoDBとはとは
DynamoDBとはとは
 
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
 
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 運用管理
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql
 
DynamoDBを導入した話
DynamoDBを導入した話DynamoDBを導入した話
DynamoDBを導入した話
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
 
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
 
【IVS CTO Night & Day】AWSにおけるビッグデータ活用
【IVS CTO Night & Day】AWSにおけるビッグデータ活用【IVS CTO Night & Day】AWSにおけるビッグデータ活用
【IVS CTO Night & Day】AWSにおけるビッグデータ活用
 

Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~

  • 1. NoSQL の野心的な使い方 ~ Apache Cassandra 編~
  • 2. 誰? ■ 株式会社エスキュービズム     岸本 康二 ■EC 系サービスの構築案件から   大規模系の技術開発、   クラウド、 M2M 系など ■ 大学の博士課程まで物理   新技術を使うより    新技術を作るのが好き
  • 3.   NoSQL のよくある誤解・正解 ■ 正解 ○ 負荷分散に優れている ○ 耐障害性が高い ○ データ一貫性は弱い ■ 誤解 × データ一貫性がない CAP 定理は正しい。が、誤解が異常に多い。 × トランザクションは無理 × 業務系フロントシステムには向かない RDBMS を主役に据えた Not Only SQL … → なんて言ってるのはもう古い!
  • 4. ■ Apache Cassandra を選んだ理由 Cassandra MongoDB Redis ボトルネックな ボトルネッ ボトルネッ し! ク ク 独立協調型 管理型 マスタ - スレーブ型
  • 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 との本当の関係 ■NoSQL ・書き込み負荷も容易に分散(スケールアウト) ・障害・アクシデントに強い ・分散がバックアップも兼ねるので効率的・経済的 → フロントシステム向き ■RDBMS ・ SQL が便利。思いつきの解析もすぐに実行できる ・検索、ソートが効率的 → バックヤードでの分析・統計向き → 定型に落として Hadoop
  • 11.   NoSQL と RDBMS との本当の関係 WEB APP ● 従来型 →DB に負荷集中 WEB APP RDBMS WEB APP RDBMS WEB APP WEB APP
  • 12.   NoSQL と RDBMS との本当の関係 WEB APP NoSQL NoSQL WEB APP RDBMS WEB APP RDBMS WEB APP ● 負荷を軽減しようと・・・ WEB APP →NoSQL でキャッシュ →DB の書き込み負荷は減らない
  • 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 大規模ポイント管理サービス   某大手放 送局様
  • 19. ■  実案件での NoSQL ・秒間 5000 回の「書き込み」の実績 →1 時間で 1800 万回の実績(月間 130 億回) → スマートメーター系への展開に繋がった ・拡張性の担保 → サーバを追加するだけ → すでに秒間 16000 回は実証(月間 400 億回) ・サーバ障害もひと通り経験 →HD の大規模障害にも耐えた こんなシステムを 1 人で構築することも可能なのが NoSQL の凄く面白いところ
  • 20. ■   NoSQL あるある ~職場編~ ・社長 : 「 NoSQL って何 ? 」 → 「あ、さすがですね ! これから伸びるクラウド時代の技術です」
  • 21. ■   NoSQL あるある ~職場編~ ・社長 : 「 NoSQL って何 ? 」 → 「あ、さすがですね ! これから伸びるクラウド時代の技術です」 ・人事 : 「新人でもできる ? 」 → 「ちょうど良かったです。 そういう人の方が向いてます ! 」 →人材確保
  • 22. ■   NoSQL 採用への道 ~職場編~ ・社長 : 「 NoSQL って何 ? 」 → 「あ、さすがですね ! これから伸びるクラウド時代の技術です」 ・人事 : 「新人でもできる ? 」 → 「ちょうど良かったです。 そういう人の方が向いてます ! 」 →人材確保 ・部長 : 「お金になるワケ ? 」 → 【会場で具体的にご説明】
  • 23. ■   NoSQL が熱い領域 ・ M2M 領域(広い意味で) → センサーデータ → 家電データも相当 → 業界大手は Hadoop による可視化を売っているだけ → まだまだ巨大なニーズが残っている ・既存領域でもシステムリニューアルは熱い → 決済者は DB で選ばない → より良いシステムをより合理的なコストで
  • 24. ■ Action ! ■ 書籍 翔泳社 Cassandra 実用システム・インテグレーション ・ Cloudn 上でお試しができます。 ・ NoSQL のトランザクションもテスト可能 「 NanaHoshi 」 http://b-rabbit.jp/nanahoshi/ 翔泳社 ニフティクラウド IaaS によるシステム構築
  • 25. ■ Action ! ■ 合言葉 ・ NoSQL で腕を試そう!世の中を変えてしまおう! ■ 大切な考え方・キーワード ・マスタレス ・ NoSQL は画面から( RDBMS はモデルから) →DB は入れ物。だから分散できる。 → ロジックはアプリ側へ。 ・ CAP 定理と BASE という概念 ・めげない心 ・ NoSQL はエンジニアの腕の見せ所がとても多い! NoSQL という新しい「市場」でのキャリア形成にも
  • 26. ■ データベースの変遷 1970 年頃 RDB の誕生 20 年 RDB 黎明期 1990 年頃 SQL の標準化 20 年 RDB 黄金期 2010 年頃 NoSQL の誕生 ← RDB の処理限界 ・ネット人口の増加 ・デバイスの増加 ・ WEB サービスの増加 NoSQL 黎明期 NoSQL はこれから大きく成長する領域です !