SlideShare ist ein Scribd-Unternehmen logo
1 von 93
NoSQL徹底解剖


                                                        2012年9月13日

                                                        株式会社シーエー・アドバンス
                                                        大谷 祐司




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                    1
まずは自己紹介




Copyright © 2012 CAADvance, Inc. All Rights Reserved.             2
大谷 祐司(おおたに ゆうじ)

                                --------------------------------------

                                株式会社シーエー・アドバンス 技術責任者。
                                技術大好き、プログラム大好きです。

                                山口県下関市出身で、大学時代から東京在住。
                                9月16日で32歳になります。

                                趣味はコンピュータ関連全般と
                                プログラミング、そして車です。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                    3
本日のアジェンダ



                                        ① シーエー・アドバンスとNoSQL

                                        ② NoSQLについてのおさらい

                                        ③ NoSQLの特徴

                                        ④ CAP定理について

                                        ⑤ シーエー・アドバンスで検証したNoSQLの

                                        紹介

                                        ⑥ 最後に



Copyright © 2012 CAADvance, Inc. All Rights Reserved.              4
① シーエー・アドバンスとNoSQL




Copyright © 2012 CAADvance, Inc. All Rights Reserved.   5
シーエー・アドバンスってどんな会社?


                             2008年に、サイバーエージェントの子会社として設立。

                             インターネットメディアや広告の運用に関連する事業を中心に
                             行っている会社です。

                             従業員数は約300人で、東京と沖縄に事業所があります。
                             (東京約50名、沖縄約250名)

                             私も毎月沖縄出張しています(オフィスとホテルの往復です
                             が・・・)




Copyright © 2012 CAADvance, Inc. All Rights Reserved.       6
シーエー・アドバンスってどんな会社?


                                        現在メインで行っているのは、


                                            ・インターネット広告の運用

                                            ・Webサービスの画像・テキスト監視

                                            ・Webサービスのカスタマーサポート

                                            ・システムのデバッグ


                                        これらを中心に事業展開をしています。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.            7
なぜシーエー・アドバンスがNoSQLを
                                            調査・研究しているのか。


                 シーエー・アドバンスは最新技術を調査・研究する「技術推進グループ」
                 を立ち上げ、NoSQLの実戦導入に向けた検証を行っています。

                 それは、業務で扱う大容量のデータを効率よく扱えるようにするためです。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.             8
シーエー・アドバンスが扱う大容量データ

                 ①リスティング広告の広告・キーワード、レポートデータ

                       サイバーエージェントは日本最大級のネット広告代理店として、多くのマーケティ
                       ングデータを扱っています。

                       その中でも特にYahoo!, Googleをプラットフォームとしたリスティング広告は大量
                       の「広告・キーワード」「レポート」を扱うことになります。




                                                          レポート
                                                        広告・キーワード




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                 9
シーエー・アドバンスが扱う大容量データ

                 ②サイト監視対象の画像、テキストデータ

                       日本最大のブログメディア「Ameba」や「アメーバピグ」など、サイバーエージェ
                       ントは多くのBtoCサービスを運営しています。

                       毎日ユーザから大量の投稿が行われ、それらをシーエー・アドバンスがチェックし
                       ています。それらのチェックを効率的に行うためのデータ整理や、データを分析す
                       るためにシステム化を推進しています。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.            10
シーエー・アドバンスが扱う大容量データ

                 ③システム運用に関する各種ログデータ

                       サイバーエージェントがインターネットビジネスを行っていく中で、大量のログ
                       データが発生します。

                       サイバーエージェントと協力して、例えば「どんな人がこういう発言をしているの
                       か」「サイトをA訪問した人が、サイトBを訪問する可能性はどれくらいか」などを
                       分析して、サービスの改善に役立てています。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.           11
①リスティング広告の広告・キーワード、レポートデータ
                 ②サイト監視対象の画像、テキストデータ
                 ③システム運用に関する各種ログデータ


                 以上3つのデータは非常に大きいため、既存のDB(MySQL)だと読み込み、書
                 き出しの性能に限界を感じていました。

                 処理にたくさんの時間がかかったり、サーバの負荷がとても大きかったり。
                 シーエー・アドバンスはまだまだ会社としては小さく、どんどんサーバを増
                 やせる環境でもありません。

                 限られたサーバ資産でこれらの大容量データを効率的に扱うため、NoSQLを
                 活用することを考えました。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.     12
なぜシーエー・アドバンスがNoSQLを
                                            調査・研究しているのか。


                 一言でNoSQLと言ってもかなりの種類があり、またスタンダードなものが存
                 在しない状態です。そこで色々なNoSQLを試してみて、どういうケースで何
                 が最適かを検証することにしました。

                 インターネット上に参考になる情報も多くありましたが、実際の業務を想定
                 して何が最適かを自分たちで確かめたいと思ったのです。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.             13
なぜシーエー・アドバンスがNoSQLを
                                            調査・研究しているのか。


                 そして新しい技術にアンテナを張るという観点からも、NoSQLの調査・検証
                 は会社にとってとても有益であると考えました。

                 現在私たちが標準の言語として使用している、PHPとの相性が良いという点
                 も重視しました。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.             14
シーエー・アドバンスで扱うデータはど
                                              れくらい大容量なの?

                 ①リスティング広告のキーワード・広告、レポートデータ
                             ○レポートデータ
                                   1日600万~1500万レコードくらいずつ増加。

                                   現在はMySQLを使用して、アカウント/日付単位でシャー
                                   ディングして対応。

                             ○キーワード・広告
                                   全部で約20億レコードを保持。毎日10%位が更新される。

                                   現在はMySQLを使用して、アカウント単位でシャーディン
                                   グして対応。


Copyright © 2012 CAADvance, Inc. All Rights Reserved.              15
シーエー・アドバンスで扱うデータはど
                                              れくらい大容量なの?

                 ②サイト監視対象の画像、テキストデータ
                             ○画像/テキストデータ
                                   1日500万~1000万レコードくらいずつ増加。

                                   現在はMySQLを使用して、日付単位でシャーディングして対
                                   応。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              16
シーエー・アドバンスで扱うデータはど
                                              れくらい大容量なの?

                 ③システム運用に関する各種ログデータ
                             ○各種ログデータ
                                   1日2,000万レコードくらいずつ増加。

                                   現在はMySQLを使用して、サービス/日付単位でシャーディ
                                   ングして対応。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              17
シーエー・アドバンスのメンバーは、
                                              どんな環境で開発しているの?

                             いわゆる「LAMP環境」を標準環境として採用しています。
                             (今後は変わる可能性が高いです。詳しくはエグジニアブログをご参考ください)


                             ○ OS                       :Linux(CentOS 5)
                             ○ 言語                       :PHP5.3
                             ○ Webサーバ                   :Apache2.2
                             ○ DB                       :MySQL5.5
                             ○ キャッシュ                    :memcache1.4


                             上記が標準の環境です。



Copyright © 2012 CAADvance, Inc. All Rights Reserved.                      18
ところでみなさん、NoSQL使っていますか?


                             来場者の方で、すでにNoSQLを使っている方どれくら
                             いいるのでしょうか。

                             会場で、既にNoSQLを使っている方に聞いてみたいと
                             思います。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.     19
ところでみなさん、NoSQL使っていますか?


                             NoSQLを「仕事で使ったことがある」という方は
                             挙手をお願いします。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.   20
ところでみなさん、NoSQL使っていますか?


                             NoSQLを「仕事以外で使ったことがある」という方は
                             挙手をお願いします。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.     21
② NoSQLについてのおさらい




Copyright © 2012 CAADvance, Inc. All Rights Reserved.   22
注意とお願い


                             皆さんもご存じの通り、NoSQLには多くの製品があり、また
                             日々新しい技術や製品が生まれています。

                             本日お話しする内容は、あくまでシーエー・アドバンスが
                             調査を行ったものであり、一般的なNoSQLについての内容と
                             捉えていただければと思います。

                             私たちもまだまだまだ勉強中ですので、もし「ここ間違っ
                             ているよ」とか「新しい~を使用すればこれは解決できる
                             よ」等がありましたら、是非教えてください。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.            23
NoSQLについてのおさらい


                             NoSQLとは、RDBではないデータベースの幅広い呼称です。
                             特定のDBを指しているわけではなく、対象は幅広く存在し
                             ています。

                             正式な文書では構造型ストレージ (structured storage)と呼
                             ばれることが多いようです。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                 24
NoSQLについてのおさらい

                             NO!SQL というSQLの否定ではなく、
                             Not Only SQLという解釈が好ましいとされています。




                             NoSQLとRDBはお互いに全く異なる特性を持っているた
                             め、適材適所で活用されるのが望ましいと思います。

Copyright © 2012 CAADvance, Inc. All Rights Reserved.                25
③ NoSQLの特徴




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                26
NoSQLの特徴


                             ○固定されたスキーマに縛られない

                             ○関係モデルの結合操作を利用しない

                             ○水平スケーラビリティが確保しやすい事が多い

                             ○トランザクションを利用できないものが多い

                             ○ SQLではない方法でデータを操作する




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              27
NoSQLの特徴


                             ○固定されたスキーマに縛られない

                                  スキーマレス :列単位で自由にカラム定義ができる。

                                  KVS                   :キーと値をセットで保持する。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                     28
NoSQLの特徴


                             ○関係モデルの結合操作を利用しない

                                  テーブル間のJOINを行うことができない。

                                  必要であればアプリケーション側で実装する。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              29
NoSQLの特徴


                             ○水平スケーラビリティが確保しやすい事が多い

                                  サーバの追加が容易

                                  自動的に負荷分散を行ってくれるケースが多い




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              30
NoSQLの特徴


                             ○トランザクションを利用できないものが多い

                                  データの一貫性よりも速度を重視。

                                  必要ならアプリケーション側で実装する必要がある。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              31
NoSQLの特徴


                             ○ SQLではない方法でデータを操作する

                                  memcachedプロトコル等の汎用的なものを使用

                                  独自のコマンドで操作を行う




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              32
NoSQLが苦手なこと




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                 33
NoSQLが苦手なこと


                    ○データを結合させて取り出す(SQLでいうjoin)

                    ○データの整合性を完全に保つ

                    ○柔軟な検索/集計/並び替え




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                 34
NoSQLが苦手なこと


                    ○データを結合させて取り出す(SQLでいうjoin)

                         KVSではデータをキーの単位でしか操作できない。

                         階層モデルはテーブル間の結合ができない。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                 35
NoSQLが苦手なこと


                    ○データの整合性を完全に保つ
                         複数サーバにデータが分散している場合、サーバ間の整合性
                         が保証されないケースが多い。

                         サーバA, Bに存在する同じデータに更新をかけた場合、サー
                         バAは更新完了しているが、サーバBは更新完了していないと
                         いう事象が起こります。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                 36
NoSQLが苦手なこと


                    ○柔軟な検索/集計/並び替え

                         SQLのように、値に対しての操作は苦手。

                    例) MongoDB
                    検索用のコマンドは用意されているが、実行速度が非常に遅
                    くなる。
                    シェルを使ったMapReduceで集計すると早いが、シェル作成の
                    手間がかかる。

                    例) KVS
                    そもそも値に対して操作ができない。一度値を取得してから
                    プログラム側で操作する必要がある。

Copyright © 2012 CAADvance, Inc. All Rights Reserved.                 37
NoSQLの種類




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              38
NoSQLの種類


                                     一般的にNoSQLは、大きく次の3種に分類されます。

                                     ○分散KVS

                                     ○列指向データベース

                                     ○ドキュメント指向データベース




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              39
NoSQLの種類


                    分散KVS
                     データをkey(キー)とvalue(値)のペアにして管理するデータ
                     ベース。高速な読み書きが可能だが、複雑な検索処理には向いてい
                     ない。

                     ・memcached
                     ・Couchbase
                     ・okuyama
                     ・Amazon Dynamo
                     ・Kyoto Cabinet


Copyright © 2012 CAADvance, Inc. All Rights Reserved.              40
NoSQLの種類


                    列指向データベース
                     データを列単位でひとまとめにして管理するデータベース。
                     大容量データに対して検索を行うなど、処理の負荷が高くてRDBMSで
                     は高性能を期待できない場面でも、高速な読み書きが可能になって
                     いる。

                     ・Google Bigtable
                     ・Amazon SimpleDB
                     ・HBase
                     ・Cassandra



Copyright © 2012 CAADvance, Inc. All Rights Reserved.              41
NoSQLの種類


                    ドキュメント指向データベース
                     特定のスキーマを持たないデータベース。構造が複雑なオブジェク
                     トをそのまま保存しやすい。
                     スケーラビリティが高く、サーバを容易に追加することができる。

                     ・MongoDB
                     ・CouchDB




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              42
④ CAP定理について




Copyright © 2012 CAADvance, Inc. All Rights Reserved.           43
CAP定理について

                        NoSQLの解説で有名なのが、カリフォルニア大学教授のEric Brewer
                        氏が提唱したCAP定理を基にしたデータベースの分類です。

                        CAP定理とは、分散システムにおいては後述の3つの要素のうち2つしか
                        満たすことができない、という定理です。

                        NoSQLを選定するうえで参考になると思いますので、簡単に紹介しま
                        す。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.               44
CAP定理について

                        C:Consistency                         (一貫性)
                        A:Availability                        (可用性)
                        P:Partition Tolerance                 (ネットワーク分断への耐性)




                                                                      Visual Guide to NoSQL Systems


Copyright © 2012 CAADvance, Inc. All Rights Reserved.                                                 45
CAP定理について

                        C:Consistency (一貫性)
                                全てのサーバにおいて、同時に同じデータが見えること。




                                                                    Visual Guide to NoSQL Systems


Copyright © 2012 CAADvance, Inc. All Rights Reserved.                                               46
CAP定理について

                        A:Availability                    (可用性)
                               どのような状態でも、データの参照が可能であること。




                                                                    Visual Guide to NoSQL Systems


Copyright © 2012 CAADvance, Inc. All Rights Reserved.                                               47
CAP定理について

                        P:Partition Tolerance                 (ネットワーク分断への耐性)
                               あるサーバへのネットワークが分断されても、別のサーバか
                               らデータが参照可能であること。




                                                                    Visual Guide to NoSQL Systems


Copyright © 2012 CAADvance, Inc. All Rights Reserved.                                               48
CAP定理について

                        例)シングル構成のMySQL

                        C:Consistency                         (一貫性)
                        A:Availability                        (可用性)
                        P:Partition Tolerance                 (ネットワーク分断への耐性)

                        一貫性(C)と可用性(A)をできるだけ保証する代わりに、ネットワーク
                        分断への耐性(P)を犠牲にしています。

                        C:サーバが単数なので、一貫性は保証されています。

                        A:ネットワークを超えた高頻度の読み込みロックは発生せず、高い可用性
                        が保障されています。

                        P:構成するネットワークが途中で切れたり大きく遅延した場合、そのシス
                        テムとしては動作が保証されなくなってしまいます。



Copyright © 2012 CAADvance, Inc. All Rights Reserved.                          49
CAP定理について

                        例)Apache Cassandra

                        C:Consistency                         (一貫性)
                        A:Availability                        (可用性)
                        P:Partition Tolerance                 (ネットワーク分断への耐性)

                        可用性(A)と耐性(P)をできるだけ保証する代わりに、一貫性(C)
                        を犠牲にしています。

                        C:複数サーバにデータが存在し、サーバ間のデータ同一性は保証されて
                        いません。

                        A: 単一障害点となるノードが存在しません。同一のデータが複数サーバで
                        保持されています。

                        P:ネットワークが分断されても、同一ネットワーク内のノードで運用を
                        続ける事ができます。


Copyright © 2012 CAADvance, Inc. All Rights Reserved.                          50
CAP定理について

                        CAP定理の話からも分かるように、NoSQLと一言でいっても様々な特徴を持った
                        ものがあります。

                        システムに求めるものは何か、NoSQL導入により解決したい問題は何かという
                        ことを意識して、選択することが重要なのではないでしょうか。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.               51
⑤ 弊社で検証したNoSQLの紹介




Copyright © 2012 CAADvance, Inc. All Rights Reserved.   52
弊社で検証したNoSQLの紹介

                        今回の勉強会では、シーエー・アドバンスが調査・検証の対
                        象として選択した下記のNoSQLについて見ていきたいと思いま
                        す。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.              53
Copyright © 2012 CAADvance, Inc. All Rights Reserved.   54
開発者                :Facebook

                        公開日                :2008年7月

                        実装言語:Java

                        開発体制:Apache Incubator

                        採用実績:楽天、NTTドコモ、Facebook、Twitter




Copyright © 2012 CAADvance, Inc. All Rights Reserved.     55
Google BigTableのデータモデル
                                           +
                        Amazon Dynamoの分散システムデザイン

                        この2つを融合させてできた分散データベース。高可用性と
                        冗長性を併せ持っている。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.   56
Google BigTableのデータモデルとは

                        超大規模な列指向DBMSである。行ではなく、列からの高速な読み込みに焦点
                        を当てている。また、操作の履歴を残すことができる。

                        数百から数千台のサーバにおいて、ペタバイトまでのデータを扱い、システ
                        ムにサーバを簡単に増設して、再設定なしにそれらのリソースを自動的に利
                        用し始めるように設計されている。

                        常に1台のマスターサーバが存在し、 BigTable全体の管理を行う。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.          57
Amazon Dynamoの分散システムデザインとは

                        高い可用性と永続性を達成するため、Dynamoは複数のホストにデータを複製
                        します。レンジ内の各キーのローカル保存に加えて、コーディネーターはこ
                        れらのキーをリング上を時計回りに 設定値-1個までのノードに複製します。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.           58
Cassandraの特徴

                               大規模データを扱えるように設計されている。

                               全ノードが同一の機能を持っており、管理サーバなどは存在しない。そのた
                               めに単一障害点のない、可能性の高いシステムが構築可能。

                               データは各ノードに自動的にレプリケーションが行われる。ノードを増やす
                               ことで容易にスケールアウトが可能。

                               ノードの追加、削除がダウンタイム無しで行うことができる。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.               59
データはすべて4次元または5次元の連想配列で保持する。

                        単純なKVSと比べてデータ保持方法がきちっと固められるので、
                        データベースの設計がしやすい。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.    60
Copyright © 2012 CAADvance, Inc. All Rights Reserved.   61
開発者                   :Powerset社、Rapleaf社の社員
                        (Powerset             :シリコンバレーにあるIT企業。検索エンジン等を
                        (Rapleaf              :シカゴにあるIT企業。データマイニング等を行う)


                        実装言語 :Java

                        公開日                   :2007年2月(プロトタイプ公開)

                        開発体制 :Apache Software Foundation

                        採用実績 :Facebook、サイバーエージェント


Copyright © 2012 CAADvance, Inc. All Rights Reserved.                     62
KVS型の分散データベース。

                        GoogleのBigTableを参考に設計された。

                        負荷に対して非常に高いスケーラビリティと性能を発揮。

                        シンプルで強い一貫性モデルを備えている。

                        自動ロードバランス、フェイルオーバー、自動シャーディン
                        グ。



Copyright © 2012 CAADvance, Inc. All Rights Reserved.   63
シンプルで強い一貫性モデルとは

                        ・行に対する操作はアトミック

                        ・更新前の古いデータが見える事が無い。

                        ・Read性能よりもWrite性能が重視されている
                        (MySQL等のRDBと逆)

                        ・writeの動作は、リージョンサーバのメモリにバッファリング
                        され、
                        一定サイズに達したらディスクへ書き込み。

Copyright © 2012 CAADvance, Inc. All Rights Reserved.     64
データは3階層で保持する。一般的なRDBと同じようなデータモデ
                        ル。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.     65
Copyright © 2012 CAADvance, Inc. All Rights Reserved.   66
開発者              : mixi平林氏

                        公開日              : 2010年5月(ver1.0リリース)

                        実装言語: C++

                        開発体制: FAL labs

                        採用実績: mixi




Copyright © 2012 CAADvance, Inc. All Rights Reserved.            67
mixiにより開発されたkey-valueストアの機能を持ったデータスト
                        レージ。それ以前にmixiで公開・採用されていたTokyo Cabinetに代
                        わるものとして開発された。

                        memcached互換プロトコルが実装されおり、memcachedからの比較的
                        容易な移行が可能。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.             68
memcachedとの違いは、

                        ・データをファイルに書き出すことにより、永続性を持たせている。

                        ・keyに対するvalueあたりの容量制限が無い。
                        (memcachedは1Mの制約あり)

                        ・ keyだけでなく任意のvalueを条件としてデータの検索を行うことが
                        できる。

                        などがある。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.          69
Copyright © 2012 CAADvance, Inc. All Rights Reserved.   70
開発者      : 10gen社
                        (MongoDBのサポートやトレーニングを行う会社)

                        公開日                   : 2009年2月

                        実装言語 : C++

                        開発体制 : 10gen社

                        採用実績 : SAP, MTV, SourceForge, GILT
                        Group, Disney,エレクトロニック・アーツ, サイバーエー
                        ジェント, NAVER 他多数

Copyright © 2012 CAADvance, Inc. All Rights Reserved.        71
10gen社が開発した、ドキュメント指向データベース。

                        ・スキーマレス
                        ・シャーディングが容易
                        ・レプリケーションが容易(自動的にハードウェアを切り替える)
                        ・スケールアウトが簡単に行える。
                        ・js実行エンジンを搭載しており、MapReduce等に利用できる。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.        72
Map Reduceとは?

                        大量データを分散処理させるために使用されるフレームワーク。MAP
                        で処理を多数のノードに分散し、Reduceで処理結果を集約して、結
                        果を出力する。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.       73
スキーマレスなデータベースとは?

                        リレーショナルデータベース管理システム(RDBMS)のように、デー
                        タを格納するテーブルの構造を事前しっかり決める必要がない。自
                        由な形式でデータを保存できる。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.       74
実際に試してみました。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.   75
弊社の大容量データ処理に関する課題を解決するために、何を採用す
                        べきかを検討すべくパフォーマンステストを行いました。

                        大前提として、弊社には何百台ものサーバは存在しません。

                        例えばリスティング広告のデータ蓄積用DB(MySQL)サーバは、マスタ1
                        台とスレーブ2台という構成です。

                        今回NoSQLに割り当てられるサーバは、ひとまず3台確保しました。
                        こういう限られた環境で開発を行っている方は、多いのではないで
                        しょうか。

Copyright © 2012 CAADvance, Inc. All Rights Reserved.          76
テストに使用した実施環境は下記の通りです。

                        vmware playerを使用した仮想サーバ
                        OS                              : CentOS6
                        プロセッサ                           : 2コア
                        メモリ                             : 12GB
                        ディスク                            : 120GB


Copyright © 2012 CAADvance, Inc. All Rights Reserved.               77
各NoSQL/RDBのバージョンは、下記を使用しました。

                        Cassandra                       : 1.0.8
                        Hbase                           : 0.92.1
                        KyotoCabinet                    : 1.2.75
                        mongoDB                         : 2.0.7
                        memcached                       : 1.4.4-3
                        MySQL                           : 5.5.20

Copyright © 2012 CAADvance, Inc. All Rights Reserved.               78
まずは書き込みの性能




Copyright © 2012 CAADvance, Inc. All Rights Reserved.      79
DB別 レコード書込時間


                                                5,000          10,000      50,000      100,000    500,000
                                                        4.30        8.28       28.93      54.63        272.40
                                                        7.09       15.44       78.59     159.55        619.83
                                                        1.27        2.27       10.96      22.45        118.11
                                                        0.52        0.78        4.00       8.11         47.34
                                                        0.35        0.71        3.80       7.50         63.83
                            (InnoDB)                    0.39        0.80        3.93       7.59         45.59
                            (MyIsam)                    0.50        1.10        5.21       9.73         49.30




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                                                           80
続いて読み込みの性能




Copyright © 2012 CAADvance, Inc. All Rights Reserved.      81
DB別 レコード読込件数


                                                5,000           10,000      50,000      100,000    500,000
                                                         2.36        5.65       61.08      85.18        283.43
                                                        19.03       36.22      194.06     364.04       1859.66
                                                         0.08        1.06        0.77       2.12         11.35
                                                         0.07        0.16        0.80       1.63             6.08
                                                         0.09        0.21        1.16       2.32         10.89
                            (InnoDB)                     0.08        0.02        0.73       1.33             7.02
                            (MyIsam)                     0.06        0.14        0.74       1.57             6.65




Copyright © 2012 CAADvance, Inc. All Rights Reserved.                                                               82
色々検討した結果、
                                                  採用したのは・・・




Copyright © 2012 CAADvance, Inc. All Rights Reserved.         83
システムのログ蓄積

                        MongoDB
                        ○理由
                             多くの採用実績
                             大量データ操作時の安定したパフォーマンス
                             PHPに専用のアクセスクラスが存在した。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.   84
リスティング広告のレポートデータ蓄積

                        MySQL
                        ○理由
                             枯れたDBであり、運用がしやすい。
                             データの一貫性と稼働率の高さを求められる
                        ため。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.   85
社内標準のキャッシュ用DB

                        KyotoCabinet
                        ○理由
                             memcachedプロトコルのために既存のプログラム資産を活か
                        せる。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.          86
⑥ 最後に




Copyright © 2012 CAADvance, Inc. All Rights Reserved.           87
まとめ

                     NoSQLの関連技術は非常に動きが速く、まだスタンダードなものが無
                     いような状態です。NoSQL導入にあたり「既存の問題点は何か」「導
                     入によって何を実現したいか」をしっかりと考えて選定するのが良い
                     のではないでしょうか。


                     そして今回の検証を通して、改めてMySQLの実力を見た気がします。
                     「NoSQL=無条件に早い」というイメージがあったのですが、そうで
                     はない事が分かりました。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.    88
最後に、新しいNoSQLを1つご紹介します。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.       89
Copyright © 2012 CAADvance, Inc. All Rights Reserved.   90
年内にも正式版のリリースが見込まれている
                        MySQL5.6に、memcached APIが搭載されます。

                        アプリケーションからmemcached APIを通じて
                        MySQLのデータストレージへダイレクトに
                        アクセスできます。

                        MySQLの長所を活かしてNoSQLを運用できるため、
                        非常に期待しています。
Copyright © 2012 CAADvance, Inc. All Rights Reserved.     91
最後に宣伝させてください。

                        シーエー・アドバンスでは一緒に働いてくれるメンバーを募集中です。
                        興味をもたれた方は、気軽ご連絡いただければと思います。
                        (私に直接声をかけてもらってもOKです。)


                                                        メールでのお問い合わせは、

                                                        saiyo@ca-adv.co.jp
                                                        までお願いします。



Copyright © 2012 CAADvance, Inc. All Rights Reserved.                        92
発表は以上になります。

                     本日はお忙しい中、お越しいただきありがとうございました。




Copyright © 2012 CAADvance, Inc. All Rights Reserved.   93

Weitere ähnliche Inhalte

Was ist angesagt?

[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...Insight Technology, Inc.
 
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 山﨑由章Insight Technology, Inc.
 
[db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, ...
[db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, ...[db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, ...
[db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, ...Insight Technology, Inc.
 
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...Masahiro Tomisugi
 
[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時代のデータベースのアー...Insight Technology, Inc.
 
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...Insight Technology, Inc.
 
[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...Naoki (Neo) SATO
 
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...Insight Technology, Inc.
 
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓Insight Technology, Inc.
 
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...Insight Technology, Inc.
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
[db tech showcase Tokyo 2017] A16: Using a Multi-Model Database to Improve Da...
[db tech showcase Tokyo 2017] A16: Using a Multi-Model Database to Improve Da...[db tech showcase Tokyo 2017] A16: Using a Multi-Model Database to Improve Da...
[db tech showcase Tokyo 2017] A16: Using a Multi-Model Database to Improve Da...Insight Technology, Inc.
 
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...Insight Technology, Inc.
 
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...Insight Technology, Inc.
 
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...Insight Technology, Inc.
 
今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ株式会社クライム
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也Insight Technology, Inc.
 
[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)へのデータベース移行時の注意点 ~レプリケーション...Insight Technology, Inc.
 
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方Masaki Yamakawa
 

Was ist angesagt? (20)

[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
 
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 OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, ...
[db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, ...[db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, ...
[db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, ...
 
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
 
[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時代のデータベースのアー...
 
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
 
[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...
 
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
 
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
 
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
Lunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL ServicesLunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL Services
 
[db tech showcase Tokyo 2017] A16: Using a Multi-Model Database to Improve Da...
[db tech showcase Tokyo 2017] A16: Using a Multi-Model Database to Improve Da...[db tech showcase Tokyo 2017] A16: Using a Multi-Model Database to Improve Da...
[db tech showcase Tokyo 2017] A16: Using a Multi-Model Database to Improve Da...
 
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
 
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...
 
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
 
今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也
 
[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)へのデータベース移行時の注意点 ~レプリケーション...
 
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
 

Andere mochten auch

NoSQLデータベースと位置情報
NoSQLデータベースと位置情報NoSQLデータベースと位置情報
NoSQLデータベースと位置情報Koji Ichiwaki
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)Yuji Otani
 
qpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLqpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLAkihiro Okuno
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRecruit Technologies
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けRecruit Technologies
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)hamaken
 
MySQLでNoSQL - アメーバピグでのNoSQLの実例
MySQLでNoSQL - アメーバピグでのNoSQLの実例MySQLでNoSQL - アメーバピグでのNoSQLの実例
MySQLでNoSQL - アメーバピグでのNoSQLの実例Kazuhiro Oinuma
 
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Yuji Otani
 
20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料Takahiro Iwase
 
DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネットDynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット伊藤 祐策
 
NoSQLとビックデータ入門編Update版
NoSQLとビックデータ入門編Update版NoSQLとビックデータ入門編Update版
NoSQLとビックデータ入門編Update版Koichiro Nishijima
 
デブサミ2010 これからのアーキテクチャを見通す
デブサミ2010 これからのアーキテクチャを見通すデブサミ2010 これからのアーキテクチャを見通す
デブサミ2010 これからのアーキテクチャを見通すYusuke Suzuki
 
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由Yuji Otani
 
DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How ToDynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To伊藤 祐策
 
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するかYuji Otani
 
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛Kazuki Aranami
 
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜Naruhiko Ogasawara
 
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpnCassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpnhaketa
 
これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本Tomohiro Shinden
 

Andere mochten auch (20)

NoSQLデータベースと位置情報
NoSQLデータベースと位置情報NoSQLデータベースと位置情報
NoSQLデータベースと位置情報
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
 
qpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLqpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQL
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 
MySQLでNoSQL - アメーバピグでのNoSQLの実例
MySQLでNoSQL - アメーバピグでのNoSQLの実例MySQLでNoSQL - アメーバピグでのNoSQLの実例
MySQLでNoSQL - アメーバピグでのNoSQLの実例
 
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
 
20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料
 
DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネットDynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット
 
NoSQLとビックデータ入門編Update版
NoSQLとビックデータ入門編Update版NoSQLとビックデータ入門編Update版
NoSQLとビックデータ入門編Update版
 
デブサミ2010 これからのアーキテクチャを見通す
デブサミ2010 これからのアーキテクチャを見通すデブサミ2010 これからのアーキテクチャを見通す
デブサミ2010 これからのアーキテクチャを見通す
 
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
 
DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How ToDynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To
 
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
 
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛
 
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
 
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpnCassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
 
NoSQL3
NoSQL3NoSQL3
NoSQL3
 
これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本
 

Ähnlich wie NoSQL勉強会

MongoDB社の製品紹介 2019-MongoDB EA&Atlas
MongoDB社の製品紹介 2019-MongoDB EA&AtlasMongoDB社の製品紹介 2019-MongoDB EA&Atlas
MongoDB社の製品紹介 2019-MongoDB EA&Atlas昌桓 李
 
【Webinar-Slide】DataBridgeとは
【Webinar-Slide】DataBridgeとは【Webinar-Slide】DataBridgeとは
【Webinar-Slide】DataBridgeとはTalend KK
 
【2017年5月時点】セルフサービスBIからエンタープライズまで展開できるOracle Business Analytics クラウドプラットフォームのご紹介
【2017年5月時点】セルフサービスBIからエンタープライズまで展開できるOracle Business Analytics クラウドプラットフォームのご紹介【2017年5月時点】セルフサービスBIからエンタープライズまで展開できるOracle Business Analytics クラウドプラットフォームのご紹介
【2017年5月時点】セルフサービスBIからエンタープライズまで展開できるOracle Business Analytics クラウドプラットフォームのご紹介オラクルエンジニア通信
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」Cybozucommunity
 
Social voice 根性だけではもう限界版_120802
Social voice 根性だけではもう限界版_120802Social voice 根性だけではもう限界版_120802
Social voice 根性だけではもう限界版_120802Yoshio Shinozuka
 
ビッグデータはバズワードか? (Cloudian Summit 2012)
ビッグデータはバズワードか? (Cloudian Summit 2012)ビッグデータはバズワードか? (Cloudian Summit 2012)
ビッグデータはバズワードか? (Cloudian Summit 2012)CLOUDIAN KK
 
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステムJPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステムMPN Japan
 
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」Aya Komuro
 
My sql security (暗号化)
My sql security (暗号化) My sql security (暗号化)
My sql security (暗号化) Shinya Sugiyama
 
New Technology Trends and Effects on Business
New Technology Trends and Effects on BusinessNew Technology Trends and Effects on Business
New Technology Trends and Effects on BusinessRie Yamanaka
 
事例から探る Oracle APEX 成功パターン
事例から探る Oracle APEX 成功パターン事例から探る Oracle APEX 成功パターン
事例から探る Oracle APEX 成功パターン良 亀井
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
ウェブ社内報セミナー
ウェブ社内報セミナーウェブ社内報セミナー
ウェブ社内報セミナーShinya Kobayashi
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
Markezine day 2012 gdo nakazawa
Markezine day 2012 gdo nakazawaMarkezine day 2012 gdo nakazawa
Markezine day 2012 gdo nakazawaShinya Nakazawa
 
プライベートクラウド導入成功への3カ条
プライベートクラウド導入成功への3カ条プライベートクラウド導入成功への3カ条
プライベートクラウド導入成功への3カ条Nissho-Blocks
 
ビッグデータ解析とクラウドの関係
ビッグデータ解析とクラウドの関係ビッグデータ解析とクラウドの関係
ビッグデータ解析とクラウドの関係Satoshi Ishikawa
 

Ähnlich wie NoSQL勉強会 (20)

MongoDB社の製品紹介 2019-MongoDB EA&Atlas
MongoDB社の製品紹介 2019-MongoDB EA&AtlasMongoDB社の製品紹介 2019-MongoDB EA&Atlas
MongoDB社の製品紹介 2019-MongoDB EA&Atlas
 
【Webinar-Slide】DataBridgeとは
【Webinar-Slide】DataBridgeとは【Webinar-Slide】DataBridgeとは
【Webinar-Slide】DataBridgeとは
 
【2017年5月時点】セルフサービスBIからエンタープライズまで展開できるOracle Business Analytics クラウドプラットフォームのご紹介
【2017年5月時点】セルフサービスBIからエンタープライズまで展開できるOracle Business Analytics クラウドプラットフォームのご紹介【2017年5月時点】セルフサービスBIからエンタープライズまで展開できるOracle Business Analytics クラウドプラットフォームのご紹介
【2017年5月時点】セルフサービスBIからエンタープライズまで展開できるOracle Business Analytics クラウドプラットフォームのご紹介
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
 
Social voice 根性だけではもう限界版_120802
Social voice 根性だけではもう限界版_120802Social voice 根性だけではもう限界版_120802
Social voice 根性だけではもう限界版_120802
 
ビッグデータはバズワードか? (Cloudian Summit 2012)
ビッグデータはバズワードか? (Cloudian Summit 2012)ビッグデータはバズワードか? (Cloudian Summit 2012)
ビッグデータはバズワードか? (Cloudian Summit 2012)
 
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステムJPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
 
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」
 
My sql security (暗号化)
My sql security (暗号化) My sql security (暗号化)
My sql security (暗号化)
 
New Technology Trends and Effects on Business
New Technology Trends and Effects on BusinessNew Technology Trends and Effects on Business
New Technology Trends and Effects on Business
 
雲の上の継続的デリバリー
雲の上の継続的デリバリー雲の上の継続的デリバリー
雲の上の継続的デリバリー
 
雲の上の継続的デリバリー - Cloudforce Japan 2012
雲の上の継続的デリバリー - Cloudforce Japan 2012雲の上の継続的デリバリー - Cloudforce Japan 2012
雲の上の継続的デリバリー - Cloudforce Japan 2012
 
Yahoo! JAPANとRiak
Yahoo! JAPANとRiakYahoo! JAPANとRiak
Yahoo! JAPANとRiak
 
事例から探る Oracle APEX 成功パターン
事例から探る Oracle APEX 成功パターン事例から探る Oracle APEX 成功パターン
事例から探る Oracle APEX 成功パターン
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
ウェブ社内報セミナー
ウェブ社内報セミナーウェブ社内報セミナー
ウェブ社内報セミナー
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
Markezine day 2012 gdo nakazawa
Markezine day 2012 gdo nakazawaMarkezine day 2012 gdo nakazawa
Markezine day 2012 gdo nakazawa
 
プライベートクラウド導入成功への3カ条
プライベートクラウド導入成功への3カ条プライベートクラウド導入成功への3カ条
プライベートクラウド導入成功への3カ条
 
ビッグデータ解析とクラウドの関係
ビッグデータ解析とクラウドの関係ビッグデータ解析とクラウドの関係
ビッグデータ解析とクラウドの関係
 

Mehr von Yuji Otani

SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーYuji Otani
 
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由Yuji Otani
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。Yuji Otani
 
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例Yuji Otani
 
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Yuji Otani
 
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方Yuji Otani
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Yuji Otani
 
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発Yuji Otani
 
【初心者向け】Go言語勉強会資料
 【初心者向け】Go言語勉強会資料 【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料Yuji Otani
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )Yuji Otani
 
Phalcon勉強会資料
Phalcon勉強会資料Phalcon勉強会資料
Phalcon勉強会資料Yuji Otani
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Yuji Otani
 
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会Yuji Otani
 
Nginx勉強会
Nginx勉強会Nginx勉強会
Nginx勉強会Yuji Otani
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会Yuji Otani
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会Yuji Otani
 

Mehr von Yuji Otani (17)

SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
 
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
 
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
 
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
 
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
 
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
 
【初心者向け】Go言語勉強会資料
 【初心者向け】Go言語勉強会資料 【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
 
Phalcon勉強会資料
Phalcon勉強会資料Phalcon勉強会資料
Phalcon勉強会資料
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
 
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
 
Nginx勉強会
Nginx勉強会Nginx勉強会
Nginx勉強会
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会
 

NoSQL勉強会

  • 1. NoSQL徹底解剖 2012年9月13日 株式会社シーエー・アドバンス 大谷 祐司 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 1
  • 2. まずは自己紹介 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 2
  • 3. 大谷 祐司(おおたに ゆうじ) -------------------------------------- 株式会社シーエー・アドバンス 技術責任者。 技術大好き、プログラム大好きです。 山口県下関市出身で、大学時代から東京在住。 9月16日で32歳になります。 趣味はコンピュータ関連全般と プログラミング、そして車です。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 3
  • 4. 本日のアジェンダ ① シーエー・アドバンスとNoSQL ② NoSQLについてのおさらい ③ NoSQLの特徴 ④ CAP定理について ⑤ シーエー・アドバンスで検証したNoSQLの 紹介 ⑥ 最後に Copyright © 2012 CAADvance, Inc. All Rights Reserved. 4
  • 5. ① シーエー・アドバンスとNoSQL Copyright © 2012 CAADvance, Inc. All Rights Reserved. 5
  • 6. シーエー・アドバンスってどんな会社? 2008年に、サイバーエージェントの子会社として設立。 インターネットメディアや広告の運用に関連する事業を中心に 行っている会社です。 従業員数は約300人で、東京と沖縄に事業所があります。 (東京約50名、沖縄約250名) 私も毎月沖縄出張しています(オフィスとホテルの往復です が・・・) Copyright © 2012 CAADvance, Inc. All Rights Reserved. 6
  • 7. シーエー・アドバンスってどんな会社? 現在メインで行っているのは、 ・インターネット広告の運用 ・Webサービスの画像・テキスト監視 ・Webサービスのカスタマーサポート ・システムのデバッグ これらを中心に事業展開をしています。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 7
  • 8. なぜシーエー・アドバンスがNoSQLを 調査・研究しているのか。 シーエー・アドバンスは最新技術を調査・研究する「技術推進グループ」 を立ち上げ、NoSQLの実戦導入に向けた検証を行っています。 それは、業務で扱う大容量のデータを効率よく扱えるようにするためです。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 8
  • 9. シーエー・アドバンスが扱う大容量データ ①リスティング広告の広告・キーワード、レポートデータ サイバーエージェントは日本最大級のネット広告代理店として、多くのマーケティ ングデータを扱っています。 その中でも特にYahoo!, Googleをプラットフォームとしたリスティング広告は大量 の「広告・キーワード」「レポート」を扱うことになります。 レポート 広告・キーワード Copyright © 2012 CAADvance, Inc. All Rights Reserved. 9
  • 10. シーエー・アドバンスが扱う大容量データ ②サイト監視対象の画像、テキストデータ 日本最大のブログメディア「Ameba」や「アメーバピグ」など、サイバーエージェ ントは多くのBtoCサービスを運営しています。 毎日ユーザから大量の投稿が行われ、それらをシーエー・アドバンスがチェックし ています。それらのチェックを効率的に行うためのデータ整理や、データを分析す るためにシステム化を推進しています。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 10
  • 11. シーエー・アドバンスが扱う大容量データ ③システム運用に関する各種ログデータ サイバーエージェントがインターネットビジネスを行っていく中で、大量のログ データが発生します。 サイバーエージェントと協力して、例えば「どんな人がこういう発言をしているの か」「サイトをA訪問した人が、サイトBを訪問する可能性はどれくらいか」などを 分析して、サービスの改善に役立てています。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 11
  • 12. ①リスティング広告の広告・キーワード、レポートデータ ②サイト監視対象の画像、テキストデータ ③システム運用に関する各種ログデータ 以上3つのデータは非常に大きいため、既存のDB(MySQL)だと読み込み、書 き出しの性能に限界を感じていました。 処理にたくさんの時間がかかったり、サーバの負荷がとても大きかったり。 シーエー・アドバンスはまだまだ会社としては小さく、どんどんサーバを増 やせる環境でもありません。 限られたサーバ資産でこれらの大容量データを効率的に扱うため、NoSQLを 活用することを考えました。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 12
  • 13. なぜシーエー・アドバンスがNoSQLを 調査・研究しているのか。 一言でNoSQLと言ってもかなりの種類があり、またスタンダードなものが存 在しない状態です。そこで色々なNoSQLを試してみて、どういうケースで何 が最適かを検証することにしました。 インターネット上に参考になる情報も多くありましたが、実際の業務を想定 して何が最適かを自分たちで確かめたいと思ったのです。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 13
  • 14. なぜシーエー・アドバンスがNoSQLを 調査・研究しているのか。 そして新しい技術にアンテナを張るという観点からも、NoSQLの調査・検証 は会社にとってとても有益であると考えました。 現在私たちが標準の言語として使用している、PHPとの相性が良いという点 も重視しました。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 14
  • 15. シーエー・アドバンスで扱うデータはど れくらい大容量なの? ①リスティング広告のキーワード・広告、レポートデータ ○レポートデータ 1日600万~1500万レコードくらいずつ増加。 現在はMySQLを使用して、アカウント/日付単位でシャー ディングして対応。 ○キーワード・広告 全部で約20億レコードを保持。毎日10%位が更新される。 現在はMySQLを使用して、アカウント単位でシャーディン グして対応。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 15
  • 16. シーエー・アドバンスで扱うデータはど れくらい大容量なの? ②サイト監視対象の画像、テキストデータ ○画像/テキストデータ 1日500万~1000万レコードくらいずつ増加。 現在はMySQLを使用して、日付単位でシャーディングして対 応。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 16
  • 17. シーエー・アドバンスで扱うデータはど れくらい大容量なの? ③システム運用に関する各種ログデータ ○各種ログデータ 1日2,000万レコードくらいずつ増加。 現在はMySQLを使用して、サービス/日付単位でシャーディ ングして対応。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 17
  • 18. シーエー・アドバンスのメンバーは、 どんな環境で開発しているの? いわゆる「LAMP環境」を標準環境として採用しています。 (今後は変わる可能性が高いです。詳しくはエグジニアブログをご参考ください) ○ OS :Linux(CentOS 5) ○ 言語 :PHP5.3 ○ Webサーバ :Apache2.2 ○ DB :MySQL5.5 ○ キャッシュ :memcache1.4 上記が標準の環境です。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 18
  • 19. ところでみなさん、NoSQL使っていますか? 来場者の方で、すでにNoSQLを使っている方どれくら いいるのでしょうか。 会場で、既にNoSQLを使っている方に聞いてみたいと 思います。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 19
  • 20. ところでみなさん、NoSQL使っていますか? NoSQLを「仕事で使ったことがある」という方は 挙手をお願いします。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 20
  • 21. ところでみなさん、NoSQL使っていますか? NoSQLを「仕事以外で使ったことがある」という方は 挙手をお願いします。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 21
  • 22. ② NoSQLについてのおさらい Copyright © 2012 CAADvance, Inc. All Rights Reserved. 22
  • 23. 注意とお願い 皆さんもご存じの通り、NoSQLには多くの製品があり、また 日々新しい技術や製品が生まれています。 本日お話しする内容は、あくまでシーエー・アドバンスが 調査を行ったものであり、一般的なNoSQLについての内容と 捉えていただければと思います。 私たちもまだまだまだ勉強中ですので、もし「ここ間違っ ているよ」とか「新しい~を使用すればこれは解決できる よ」等がありましたら、是非教えてください。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 23
  • 24. NoSQLについてのおさらい NoSQLとは、RDBではないデータベースの幅広い呼称です。 特定のDBを指しているわけではなく、対象は幅広く存在し ています。 正式な文書では構造型ストレージ (structured storage)と呼 ばれることが多いようです。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 24
  • 25. NoSQLについてのおさらい NO!SQL というSQLの否定ではなく、 Not Only SQLという解釈が好ましいとされています。 NoSQLとRDBはお互いに全く異なる特性を持っているた め、適材適所で活用されるのが望ましいと思います。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 25
  • 26. ③ NoSQLの特徴 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 26
  • 27. NoSQLの特徴 ○固定されたスキーマに縛られない ○関係モデルの結合操作を利用しない ○水平スケーラビリティが確保しやすい事が多い ○トランザクションを利用できないものが多い ○ SQLではない方法でデータを操作する Copyright © 2012 CAADvance, Inc. All Rights Reserved. 27
  • 28. NoSQLの特徴 ○固定されたスキーマに縛られない スキーマレス :列単位で自由にカラム定義ができる。 KVS :キーと値をセットで保持する。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 28
  • 29. NoSQLの特徴 ○関係モデルの結合操作を利用しない テーブル間のJOINを行うことができない。 必要であればアプリケーション側で実装する。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 29
  • 30. NoSQLの特徴 ○水平スケーラビリティが確保しやすい事が多い サーバの追加が容易 自動的に負荷分散を行ってくれるケースが多い Copyright © 2012 CAADvance, Inc. All Rights Reserved. 30
  • 31. NoSQLの特徴 ○トランザクションを利用できないものが多い データの一貫性よりも速度を重視。 必要ならアプリケーション側で実装する必要がある。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 31
  • 32. NoSQLの特徴 ○ SQLではない方法でデータを操作する memcachedプロトコル等の汎用的なものを使用 独自のコマンドで操作を行う Copyright © 2012 CAADvance, Inc. All Rights Reserved. 32
  • 33. NoSQLが苦手なこと Copyright © 2012 CAADvance, Inc. All Rights Reserved. 33
  • 34. NoSQLが苦手なこと ○データを結合させて取り出す(SQLでいうjoin) ○データの整合性を完全に保つ ○柔軟な検索/集計/並び替え Copyright © 2012 CAADvance, Inc. All Rights Reserved. 34
  • 35. NoSQLが苦手なこと ○データを結合させて取り出す(SQLでいうjoin) KVSではデータをキーの単位でしか操作できない。 階層モデルはテーブル間の結合ができない。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 35
  • 36. NoSQLが苦手なこと ○データの整合性を完全に保つ 複数サーバにデータが分散している場合、サーバ間の整合性 が保証されないケースが多い。 サーバA, Bに存在する同じデータに更新をかけた場合、サー バAは更新完了しているが、サーバBは更新完了していないと いう事象が起こります。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 36
  • 37. NoSQLが苦手なこと ○柔軟な検索/集計/並び替え SQLのように、値に対しての操作は苦手。 例) MongoDB 検索用のコマンドは用意されているが、実行速度が非常に遅 くなる。 シェルを使ったMapReduceで集計すると早いが、シェル作成の 手間がかかる。 例) KVS そもそも値に対して操作ができない。一度値を取得してから プログラム側で操作する必要がある。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 37
  • 38. NoSQLの種類 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 38
  • 39. NoSQLの種類 一般的にNoSQLは、大きく次の3種に分類されます。 ○分散KVS ○列指向データベース ○ドキュメント指向データベース Copyright © 2012 CAADvance, Inc. All Rights Reserved. 39
  • 40. NoSQLの種類 分散KVS データをkey(キー)とvalue(値)のペアにして管理するデータ ベース。高速な読み書きが可能だが、複雑な検索処理には向いてい ない。 ・memcached ・Couchbase ・okuyama ・Amazon Dynamo ・Kyoto Cabinet Copyright © 2012 CAADvance, Inc. All Rights Reserved. 40
  • 41. NoSQLの種類 列指向データベース データを列単位でひとまとめにして管理するデータベース。 大容量データに対して検索を行うなど、処理の負荷が高くてRDBMSで は高性能を期待できない場面でも、高速な読み書きが可能になって いる。 ・Google Bigtable ・Amazon SimpleDB ・HBase ・Cassandra Copyright © 2012 CAADvance, Inc. All Rights Reserved. 41
  • 42. NoSQLの種類 ドキュメント指向データベース 特定のスキーマを持たないデータベース。構造が複雑なオブジェク トをそのまま保存しやすい。 スケーラビリティが高く、サーバを容易に追加することができる。 ・MongoDB ・CouchDB Copyright © 2012 CAADvance, Inc. All Rights Reserved. 42
  • 43. ④ CAP定理について Copyright © 2012 CAADvance, Inc. All Rights Reserved. 43
  • 44. CAP定理について NoSQLの解説で有名なのが、カリフォルニア大学教授のEric Brewer 氏が提唱したCAP定理を基にしたデータベースの分類です。 CAP定理とは、分散システムにおいては後述の3つの要素のうち2つしか 満たすことができない、という定理です。 NoSQLを選定するうえで参考になると思いますので、簡単に紹介しま す。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 44
  • 45. CAP定理について C:Consistency (一貫性) A:Availability (可用性) P:Partition Tolerance (ネットワーク分断への耐性) Visual Guide to NoSQL Systems Copyright © 2012 CAADvance, Inc. All Rights Reserved. 45
  • 46. CAP定理について C:Consistency (一貫性) 全てのサーバにおいて、同時に同じデータが見えること。 Visual Guide to NoSQL Systems Copyright © 2012 CAADvance, Inc. All Rights Reserved. 46
  • 47. CAP定理について A:Availability (可用性) どのような状態でも、データの参照が可能であること。 Visual Guide to NoSQL Systems Copyright © 2012 CAADvance, Inc. All Rights Reserved. 47
  • 48. CAP定理について P:Partition Tolerance (ネットワーク分断への耐性) あるサーバへのネットワークが分断されても、別のサーバか らデータが参照可能であること。 Visual Guide to NoSQL Systems Copyright © 2012 CAADvance, Inc. All Rights Reserved. 48
  • 49. CAP定理について 例)シングル構成のMySQL C:Consistency (一貫性) A:Availability (可用性) P:Partition Tolerance (ネットワーク分断への耐性) 一貫性(C)と可用性(A)をできるだけ保証する代わりに、ネットワーク 分断への耐性(P)を犠牲にしています。 C:サーバが単数なので、一貫性は保証されています。 A:ネットワークを超えた高頻度の読み込みロックは発生せず、高い可用性 が保障されています。 P:構成するネットワークが途中で切れたり大きく遅延した場合、そのシス テムとしては動作が保証されなくなってしまいます。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 49
  • 50. CAP定理について 例)Apache Cassandra C:Consistency (一貫性) A:Availability (可用性) P:Partition Tolerance (ネットワーク分断への耐性) 可用性(A)と耐性(P)をできるだけ保証する代わりに、一貫性(C) を犠牲にしています。 C:複数サーバにデータが存在し、サーバ間のデータ同一性は保証されて いません。 A: 単一障害点となるノードが存在しません。同一のデータが複数サーバで 保持されています。 P:ネットワークが分断されても、同一ネットワーク内のノードで運用を 続ける事ができます。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 50
  • 51. CAP定理について CAP定理の話からも分かるように、NoSQLと一言でいっても様々な特徴を持った ものがあります。 システムに求めるものは何か、NoSQL導入により解決したい問題は何かという ことを意識して、選択することが重要なのではないでしょうか。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 51
  • 52. ⑤ 弊社で検証したNoSQLの紹介 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 52
  • 53. 弊社で検証したNoSQLの紹介 今回の勉強会では、シーエー・アドバンスが調査・検証の対 象として選択した下記のNoSQLについて見ていきたいと思いま す。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 53
  • 54. Copyright © 2012 CAADvance, Inc. All Rights Reserved. 54
  • 55. 開発者 :Facebook 公開日 :2008年7月 実装言語:Java 開発体制:Apache Incubator 採用実績:楽天、NTTドコモ、Facebook、Twitter Copyright © 2012 CAADvance, Inc. All Rights Reserved. 55
  • 56. Google BigTableのデータモデル + Amazon Dynamoの分散システムデザイン この2つを融合させてできた分散データベース。高可用性と 冗長性を併せ持っている。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 56
  • 57. Google BigTableのデータモデルとは 超大規模な列指向DBMSである。行ではなく、列からの高速な読み込みに焦点 を当てている。また、操作の履歴を残すことができる。 数百から数千台のサーバにおいて、ペタバイトまでのデータを扱い、システ ムにサーバを簡単に増設して、再設定なしにそれらのリソースを自動的に利 用し始めるように設計されている。 常に1台のマスターサーバが存在し、 BigTable全体の管理を行う。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 57
  • 58. Amazon Dynamoの分散システムデザインとは 高い可用性と永続性を達成するため、Dynamoは複数のホストにデータを複製 します。レンジ内の各キーのローカル保存に加えて、コーディネーターはこ れらのキーをリング上を時計回りに 設定値-1個までのノードに複製します。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 58
  • 59. Cassandraの特徴 大規模データを扱えるように設計されている。 全ノードが同一の機能を持っており、管理サーバなどは存在しない。そのた めに単一障害点のない、可能性の高いシステムが構築可能。 データは各ノードに自動的にレプリケーションが行われる。ノードを増やす ことで容易にスケールアウトが可能。 ノードの追加、削除がダウンタイム無しで行うことができる。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 59
  • 60. データはすべて4次元または5次元の連想配列で保持する。 単純なKVSと比べてデータ保持方法がきちっと固められるので、 データベースの設計がしやすい。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 60
  • 61. Copyright © 2012 CAADvance, Inc. All Rights Reserved. 61
  • 62. 開発者 :Powerset社、Rapleaf社の社員 (Powerset :シリコンバレーにあるIT企業。検索エンジン等を (Rapleaf :シカゴにあるIT企業。データマイニング等を行う) 実装言語 :Java 公開日 :2007年2月(プロトタイプ公開) 開発体制 :Apache Software Foundation 採用実績 :Facebook、サイバーエージェント Copyright © 2012 CAADvance, Inc. All Rights Reserved. 62
  • 63. KVS型の分散データベース。 GoogleのBigTableを参考に設計された。 負荷に対して非常に高いスケーラビリティと性能を発揮。 シンプルで強い一貫性モデルを備えている。 自動ロードバランス、フェイルオーバー、自動シャーディン グ。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 63
  • 64. シンプルで強い一貫性モデルとは ・行に対する操作はアトミック ・更新前の古いデータが見える事が無い。 ・Read性能よりもWrite性能が重視されている (MySQL等のRDBと逆) ・writeの動作は、リージョンサーバのメモリにバッファリング され、 一定サイズに達したらディスクへ書き込み。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 64
  • 65. データは3階層で保持する。一般的なRDBと同じようなデータモデ ル。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 65
  • 66. Copyright © 2012 CAADvance, Inc. All Rights Reserved. 66
  • 67. 開発者 : mixi平林氏 公開日 : 2010年5月(ver1.0リリース) 実装言語: C++ 開発体制: FAL labs 採用実績: mixi Copyright © 2012 CAADvance, Inc. All Rights Reserved. 67
  • 68. mixiにより開発されたkey-valueストアの機能を持ったデータスト レージ。それ以前にmixiで公開・採用されていたTokyo Cabinetに代 わるものとして開発された。 memcached互換プロトコルが実装されおり、memcachedからの比較的 容易な移行が可能。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 68
  • 69. memcachedとの違いは、 ・データをファイルに書き出すことにより、永続性を持たせている。 ・keyに対するvalueあたりの容量制限が無い。 (memcachedは1Mの制約あり) ・ keyだけでなく任意のvalueを条件としてデータの検索を行うことが できる。 などがある。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 69
  • 70. Copyright © 2012 CAADvance, Inc. All Rights Reserved. 70
  • 71. 開発者 : 10gen社 (MongoDBのサポートやトレーニングを行う会社) 公開日 : 2009年2月 実装言語 : C++ 開発体制 : 10gen社 採用実績 : SAP, MTV, SourceForge, GILT Group, Disney,エレクトロニック・アーツ, サイバーエー ジェント, NAVER 他多数 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 71
  • 72. 10gen社が開発した、ドキュメント指向データベース。 ・スキーマレス ・シャーディングが容易 ・レプリケーションが容易(自動的にハードウェアを切り替える) ・スケールアウトが簡単に行える。 ・js実行エンジンを搭載しており、MapReduce等に利用できる。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 72
  • 73. Map Reduceとは? 大量データを分散処理させるために使用されるフレームワーク。MAP で処理を多数のノードに分散し、Reduceで処理結果を集約して、結 果を出力する。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 73
  • 74. スキーマレスなデータベースとは? リレーショナルデータベース管理システム(RDBMS)のように、デー タを格納するテーブルの構造を事前しっかり決める必要がない。自 由な形式でデータを保存できる。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 74
  • 75. 実際に試してみました。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 75
  • 76. 弊社の大容量データ処理に関する課題を解決するために、何を採用す べきかを検討すべくパフォーマンステストを行いました。 大前提として、弊社には何百台ものサーバは存在しません。 例えばリスティング広告のデータ蓄積用DB(MySQL)サーバは、マスタ1 台とスレーブ2台という構成です。 今回NoSQLに割り当てられるサーバは、ひとまず3台確保しました。 こういう限られた環境で開発を行っている方は、多いのではないで しょうか。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 76
  • 77. テストに使用した実施環境は下記の通りです。 vmware playerを使用した仮想サーバ OS : CentOS6 プロセッサ : 2コア メモリ : 12GB ディスク : 120GB Copyright © 2012 CAADvance, Inc. All Rights Reserved. 77
  • 78. 各NoSQL/RDBのバージョンは、下記を使用しました。 Cassandra : 1.0.8 Hbase : 0.92.1 KyotoCabinet : 1.2.75 mongoDB : 2.0.7 memcached : 1.4.4-3 MySQL : 5.5.20 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 78
  • 79. まずは書き込みの性能 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 79
  • 80. DB別 レコード書込時間 5,000 10,000 50,000 100,000 500,000 4.30 8.28 28.93 54.63 272.40 7.09 15.44 78.59 159.55 619.83 1.27 2.27 10.96 22.45 118.11 0.52 0.78 4.00 8.11 47.34 0.35 0.71 3.80 7.50 63.83 (InnoDB) 0.39 0.80 3.93 7.59 45.59 (MyIsam) 0.50 1.10 5.21 9.73 49.30 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 80
  • 81. 続いて読み込みの性能 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 81
  • 82. DB別 レコード読込件数 5,000 10,000 50,000 100,000 500,000 2.36 5.65 61.08 85.18 283.43 19.03 36.22 194.06 364.04 1859.66 0.08 1.06 0.77 2.12 11.35 0.07 0.16 0.80 1.63 6.08 0.09 0.21 1.16 2.32 10.89 (InnoDB) 0.08 0.02 0.73 1.33 7.02 (MyIsam) 0.06 0.14 0.74 1.57 6.65 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 82
  • 83. 色々検討した結果、 採用したのは・・・ Copyright © 2012 CAADvance, Inc. All Rights Reserved. 83
  • 84. システムのログ蓄積 MongoDB ○理由 多くの採用実績 大量データ操作時の安定したパフォーマンス PHPに専用のアクセスクラスが存在した。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 84
  • 85. リスティング広告のレポートデータ蓄積 MySQL ○理由 枯れたDBであり、運用がしやすい。 データの一貫性と稼働率の高さを求められる ため。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 85
  • 86. 社内標準のキャッシュ用DB KyotoCabinet ○理由 memcachedプロトコルのために既存のプログラム資産を活か せる。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 86
  • 87. ⑥ 最後に Copyright © 2012 CAADvance, Inc. All Rights Reserved. 87
  • 88. まとめ NoSQLの関連技術は非常に動きが速く、まだスタンダードなものが無 いような状態です。NoSQL導入にあたり「既存の問題点は何か」「導 入によって何を実現したいか」をしっかりと考えて選定するのが良い のではないでしょうか。 そして今回の検証を通して、改めてMySQLの実力を見た気がします。 「NoSQL=無条件に早い」というイメージがあったのですが、そうで はない事が分かりました。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 88
  • 90. Copyright © 2012 CAADvance, Inc. All Rights Reserved. 90
  • 91. 年内にも正式版のリリースが見込まれている MySQL5.6に、memcached APIが搭載されます。 アプリケーションからmemcached APIを通じて MySQLのデータストレージへダイレクトに アクセスできます。 MySQLの長所を活かしてNoSQLを運用できるため、 非常に期待しています。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 91
  • 92. 最後に宣伝させてください。 シーエー・アドバンスでは一緒に働いてくれるメンバーを募集中です。 興味をもたれた方は、気軽ご連絡いただければと思います。 (私に直接声をかけてもらってもOKです。) メールでのお問い合わせは、 saiyo@ca-adv.co.jp までお願いします。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 92
  • 93. 発表は以上になります。 本日はお忙しい中、お越しいただきありがとうございました。 Copyright © 2012 CAADvance, Inc. All Rights Reserved. 93