SlideShare a Scribd company logo
1 of 66
Download to read offline
PHP開発者のためのNoSQL入門




  株式会社シーエー・アドバンス
    技術推進グループ
      仲里 淳矢


     Copyright © CA ADvance .inc 2012
自己紹介

•株式会社シーエー・アドバンスの仲里です。(エンジニア歴3年)
•技術推進グループに所属してます。
•沖縄高専卒です。
•開発環境は主にvim使ってます。
•主な業務内容
  • PHPによる社内管理画面開発(SEM系、GoogleAdwords等)

  • 社内のインフラ整備
     •CentOS上で動く、ApacheとかMySQLの保守

  • NoSQL推進
     •MongoDB導入
        •社内の既存システムのNoSQL対応(パフォーマンスUpのため)
     •KyotoCabinet導入したり、、、


                                  2
                 Copyright © CA ADvance .inc 2012
アジェンダ

 ①はじめに

 ②PHP + Cassandra

 ③PHP + MongoDB

 ④PHP + Hbase

 ⑤PHP + Kyoto Cabinet

 ⑥まとめ
                              3
             Copyright © CA ADvance .inc 2012
①はじめに




                 4
Copyright © CA ADvance .inc 2012
はじめに


•このテーマを選んだ目的として、
 •NoSQLがどういったものなのか
 •PHPと連携するにはどうすればいいのか


 というのを知っていただきたく、
 本テーマを選ばせていただきました。


 テーマ欲張りすぎたかも>_<
                              5
             Copyright © CA ADvance .inc 2012
社内の背景として



•社内で扱うデータ量が膨大になってきており、
MySQLだと、手に負えなくなってくる可能性が浮上
してきた。


•それを打破すべく、NoSQLの調査・検証を進めて
います。


                          6
         Copyright © CA ADvance .inc 2012
②PHP + Cassandra




                     7
    Copyright © CA ADvance .inc 2012
Cassandra とは

• Cassandraは、オープンソースの分散データベース管
  理システムである。元はFacebook社において大規模
  データの格納のために、開発されたものである。

•    2008年7月
     • Facebook社がCassandraをOSSとして公開

•    2009年3月
     • Apache Incubatorプロジェクトへ

•    2010年2月
     • トップレベルプロジェクトに引き上げ

出典)Apache Cassandra - Wikipedia
http://ja.wikipedia.org/wiki/Apache_Cassandra        8
                                    Copyright © CA ADvance .inc 2012
Cassandra の特徴
•   耐障害性
    • データが自動的に複数のノードへとレプリケーションされ、
      サービス提供不可となったノードが発生しても、システム
      を停止することなくノードを入れ替えることが出来る。

•   分散特性
    • クラスタ上の全ノードが同一の扱いとなっており、管理
      ノードがない。つまり、SPOF(単一障害点)がない!

•   高可用性
    • 性能はノード数によってリニアに増えていく!
    • お金さえあれば、スケールアウトが容易なのかな?

•   スキーマレス等
                               9
              Copyright © CA ADvance .inc 2012
データ構造
• データ格納例
 KeySpace→ColumnFamily→Column→Value または、
 KeySpace→ColumnFamily(→SuperColumn)→Column→Value
 ※SuperColumnは任意でつけれる




                                10
                Copyright © CA ADvance .inc 2012
データ構造
• MySQLで例えると、
    KeySpace            ≒ Database
    ColumnFamily        ≒ Table




                             11
             Copyright © CA ADvance .inc 2012
データ構造

 データアクセスについて、プログラムで書くと、
 こんな感じ。
 $target_column = $cf[super_column][column];




                               12
               Copyright © CA ADvance .inc 2012
使い方(CLI)


# キースペースの作成
create keyspace Keyspace1;

# 使用するキースペース宣言
use Keyspace;

# カラムファミリ作成
create column family Users;


                               13
               Copyright © CA ADvance .inc 2012
使い方(CLI)

# 書き込み
set Users[jsmith][first] = 'John';
set Users[jsmith][last] = 'Smith';
set Users[jsmith][age] = long(42);

# 読み込み
get Users[jsmith];
 => (column=last, value=Smith, timestamp=1287604215498000)
 => (column=first, value=John, timestamp=1287604214111000)
 => (column=age, value=42, timestamp=1287604216661000)
 Returned 3 results.



                                       14
                       Copyright © CA ADvance .inc 2012
PHPとの連携

• 基本的に、Swift経由でDBにアクセスする

• 現状、phpcassa 使うのが無難かな?
     →ググれば、「Apache Thrift」 のライブラリを利用した
     サンプルがいくつかでてくるが情報が古い。。。

     最新版のApche Thrift v0.8.0で生成したphpライブラリ
     ではきちんと動かないので、却下!
     『Class‘CassandraClient’not found』 とか出てくる。。。

•   CQLが熱いみたいだけど、まだ試してない><


                                 15
                 Copyright © CA ADvance .inc 2012
PHPCassa とは


• PHPからCassandraを利用するためのライブラ
  リが、Githubに上がっていたのでこれ使ってみま
  した!

  thobbs/phpcassa
  https://github.com/thobbs/phpcassa/


※Thobbs氏について、ネットストーキング調べてみたところ、
CassandraのメンテなであるDataStaxの社員でした
                               16
               Copyright © CA ADvance .inc 2012
サンプルプログラム 1/2




                          18
          Copyright © CA ADvance .inc 2012
サンプルプログラム 2/2




                          19
          Copyright © CA ADvance .inc 2012
ハマりどころ


• PHPCassa自体かなり高機能なので、リファレンス周
  りの読み込みに苦戦するかも、あと英語だるい。。。


• 適宜SuperColumnを使用できるといったが、あれは、
  ColumnFamily(以下CF)ごとにON/OFFの設定をす
  る必要があるため、事前に設計をきちんとやろう!



                            20
            Copyright © CA ADvance .inc 2012
ハマりどころ



• ライブラリを使って、CF作成後、
  すぐに作成したCFにアクセスすると、
  CFないよーという例外で落ちる現象が発生!

  →コネクション破棄して、再接続することで回避




                         21
         Copyright © CA ADvance .inc 2012
まとめ

• 耐障害性が高く(可用性が高い)、システム的
  にスケールアウトしやすいので、大容量なデー
  タを扱うサービスに向いているかも

• データ階層がMySQLよりも深いため、ロジック
  を組み込みやすい
 KeySpace→ColumnFamily(→SuperColumn)→Column→Value



• ライブラリ周りは、若干はまりやすいので注
  意!
                                 22
                 Copyright © CA ADvance .inc 2012
③PHP + MongoDB




                   23
   Copyright © CA ADvance .inc 2012
MonoDB とは

• MongoDB は、高パフォーマンス、スキーマレス、オープン
  ソースのドキュメント指向データベースである。


• MongoDB は、BSONというJSONのバイナリ版のような
  形式でドキュメントを表現し、そのコレクションを管理す
  る。この形式は、複雑な階層を持たせることができ、な
  おかつクエリやインデックスが容易である。


MongoDB – Wikipedia
http://ja.wikipedia.org/wiki/MongoDB
                                       24
                       Copyright © CA ADvance .inc 2012
MonoDB の特徴


•   高可用性
    • スレーブが死んでも自動で切り離しできる

•   レプリカ機能
    • 新しいノード接続時、自動でデータの同期もしてくれる!

•   スキーマレス
    • あとでカラムが自由に増やせる。つまり、柔軟に対応可!
      ※バグ出ても気づきにくい



                             25
             Copyright © CA ADvance .inc 2012
MonoDB の特徴


• インデックスのサポート (複数インデックス可)

• オート・シャーディング(スケールアウト)

• Map Reduce(集計処理)

• GridFS(ファイル格納システム)




                             26
             Copyright © CA ADvance .inc 2012
データ構造
•   データ格納例
    DataBase→Collection→Key→Row→Value
    ※MySQLとほぼ一緒




                                  27
                  Copyright © CA ADvance .inc 2012
データ構造
•   MySQLで例えると、
      Collection ≒ Table




                                   28
                   Copyright © CA ADvance .inc 2012
MonoDB のセットアップ(CentOS 6.2 の場合)

•ファイルをダウンロード
  # wget "http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.6.tgz"


•ファイルを解凍
 # tar xzf mongodb-linux-x86_64-2.0.6.tgz

•シンボリックリンクを貼って
  # ln –s ./mongodb-linux-x86_64-2.0.6 /usr/local/mongodb

•あとは、起動するだけ!
 # /usr/local/mongodb/mongod --dbpath /tmp



                                            29
                            Copyright © CA ADvance .inc 2012
使い方(CLI)


#Shellの起動
 ./bin/mongo


# DB表示
  > show dbs


# DB選択
  > use db_name


                                  30
                  Copyright © CA ADvance .inc 2012
使い方(CLI)


#データ検索
 > db.users.find({}, {a:1,b:1})


#データ登録
 > db.users.insert({a:1,b:1})


#データ削除
 > db.things.remove({_id: myobject._id});

                                31
                Copyright © CA ADvance .inc 2012
SQL と MongoDB の比較
SQL                                           Mongo クエリ言語



CREATE TABLE USERS (a Number, b Number)       暗黙的に行われます



INSERT INTO USERS VALUES(1,1)                 db.users.insert({a:1,b:1})


                                              db.users.find({}, {a:1,b:1})
SELECT a,b FROM users



SELECT * FROM users                           db.users.find()



SELECT * FROM users WHERE age=18              db.users.find({age:18})



SELECT * FROM users WHERE age=18 ORDER BY
                                              db.users.find({age:18}).sort({name:1})
name

SELECT * FROM users WHERE age>18              db.users.find({'age':{$gt:18}})})




                                                   32
                                   Copyright © CA ADvance .inc 2012
クエリ発行


•インデックスの作成や、コレクションのtruncateもできます!
 db.users.ensureIndex({user_id:1});
 db.users.remove();


•Upsertと機能があって、これが地味に便利そう
  •データがあれば、アップデート、なければインサートしてく
   れるみたい



                            33
            Copyright © CA ADvance .inc 2012
MapReduce


• バッチでのデータ処理や集計処理で利用します。

• 基本、入力値として、コレクションを投入し、
  出力値として、コレクションへデータを流します。

• 使いドコロとしては、細かいデータをデイリー・マンスリー
  でまとめたい時、効力を発揮するかも!

• Javascriptで組んでMongoDB に流しこむイメージです。


                            34
            Copyright © CA ADvance .inc 2012
サンプルプログラム(Map Reduce) 1/2




                           36
           Copyright © CA ADvance .inc 2012
サンプルプログラム(Map Reduce) 2/2




                           37
           Copyright © CA ADvance .inc 2012
PHPとの連携

• Peclにライブラリが公開されているので、インス
  トールしましょう
   # pecl install mongodb <= これだけ!

• ドライバ周りは込み入ってないので、あまり難しく
  ないはず

• MongoDBのデータには型の概念があります。
  PHPやってると忘れがちなので注意!

                            38
            Copyright © CA ADvance .inc 2012
サンプルプログラム 1/2




                          40
          Copyright © CA ADvance .inc 2012
サンプルプログラム 2/2




                          41
          Copyright © CA ADvance .inc 2012
ハマりどころ

• データの検索をする際、数値型のデータを検索したいの
  に、 文字リテラルでクエリを作らないこと!
    array(id =>”1234”); ← こういうのは避けよう >_<


• PHPでMongoDBに日付を格納する際、
  MongoDate型にして、格納する必要があるので注意!


• さらに言えば、MongoDateはグリニッジ標準時が基準に
  なっているので、データ格納する際は、日本時間で格納
  しないように!!!(-9:00してから格納しよう)
                              42
              Copyright © CA ADvance .inc 2012
まとめ


• 耐障害性が高く、自動でレプリカへの同期も
  やってくれるので、スケールアウトが容易

• スキーマレスでメンテも楽!

• 集計したい時は、MapReduceを使おう

• MongoDBDateハマりやすい


                          43
          Copyright © CA ADvance .inc 2012
④PHP + HBase




                  44
  Copyright © CA ADvance .inc 2012
HBaseとは


• Apache HBaseはオープンソースの、列指向、分散
  データベースであり、 GoogleのBigTableをモデルとし、
  Javaにより書かれている。


• HDFS (Hadoop Distributed File System)の上で実
  行され、Hadoopに対しBigTableのような機能を提供
  する。


出典)Apache HBase - Wikipedia
http://ja.wikipedia.org/wiki/Apache_HBase           45
                                    Copyright © CA ADvance .inc 2012
HBaseの特徴
• Hadoop のデータベースとして利用できる

• Hadoop 分散ファイルシステム(HDFS)上に構築

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

• (Cassandraよりも)シンプルな一貫性モデルを備えている

• 自動ロードバランス、フェイルオーバー、圧縮機能

• HadoopのMap Reduceにネィティブ対応等

                             46
             Copyright © CA ADvance .inc 2012
データ構造
•   データ格納例
    Table→ColumnFamily→Column




                                    47
                    Copyright © CA ADvance .inc 2012
使い方(CLI)


# シェルを起動
> hbase-0.92.0/bin/hbase shell

# テーブル作成
> create ‘users’, ‘name’, ‘age’;

# データ挿入
> put ‘users’, ‘john smith’, ‘21’;


                               48
               Copyright © CA ADvance .inc 2012
使い方(CLI)


# データ取得
> get ‘users’, ‘john smith;

# 検索
> scan‘users’, {COLUMNS=>’users’};

# データ削除
> deleteall ‘users’, ‘john smith’;


                               49
               Copyright © CA ADvance .inc 2012
PHPとの連携

• 基本的に、Swift経由でDBにアクセスする
   ⇨ Cassandraと同等

• Thriftをインストールし、接続用のライブラリを自動生成
  することにより連携できるようになります。

 // thriftでライブラリを生成
 # cd /usr/local/hbase/src/main/resources/org/apache/hadoop/hbase/thrift
 # thrift --gen php Hbase.thrift

 // php用のライブラリ置き場に移動
 # mv gen-php/Hbase /usr/share/php/Thrift/packages/


                                         50
                         Copyright © CA ADvance .inc 2012
サンプルプログラム 1/2




                          52
          Copyright © CA ADvance .inc 2012
サンプルプログラム 2/2




                          53
          Copyright © CA ADvance .inc 2012
使用感


• ベンチーマークって見ると多少重い。。。
• 一貫性の高いシステムなので、速度に関しては致し方
 ない?(トレードオフの観点で)


• なので、バックエンドで使おう!
  • 大容量データの操作、バッチ系の処理に向いている
  • フロントエンドに持ってくるのはちょっと怖い



                         54
         Copyright © CA ADvance .inc 2012
まとめ


• 基本、Swift経由でDBにアクセス


• 重い処理が得意なのでバックエンドで使おう!


• Hadoop, HDFS, MapReduce等いろいろ視野に
 入ってくるため、難易度は高めかも

                            55
            Copyright © CA ADvance .inc 2012
⑤PHP + Kyoto Cabinet




                     56
     Copyright © CA ADvance .inc 2012
KyotoCabinetとは

• Kyoto CabinetはC++言語で実装された、キーバ
  リュー型のデータベースライブラリ。

• DBは単純なレコード群を格納した単純なファイルで、
  テーブルやデータ型の概念はない。

•    Kyoto Cabinet:
     • 軽量DBにライブラリ、DBMの実装方法を提供

•    Kyoto Tycoon:
     • 軽量DBサーバー、Kyoto Cabinetベースの永続化キャッ
       シュサーバー
出典)Kyoto Cabinet: DBMの率直な壱実装
http://www.syboos.jp/oss/doc/kyotocabinet.html 57
                                  Copyright © CA ADvance .inc 2012
KyotoCabinetの特徴

• 他言語によるバインディングが豊富
  • C++で開発され, Java, Python, Ruby, Perlなどの言語
    のAPIを提供

• ハッシュ系オンメモリーDB
  • 高速・軽量

• コンセプト ⇨ 『memcachedの永続版』
  • デーモンを再起動しても消えない!

• memcachedプロトコルを装備
  • 既存システムへの差し替えが容易
                               58
               Copyright © CA ADvance .inc 2012
データ構造

• データ格納例
  Key→Value


                         Database


         KEY1                                      Value1


         KEY2                                      Value2


         KEY3                                      Value3


                                59
                Copyright © CA ADvance .inc 2012
使い方(CLI)

# データ挿入
> ktremotemgr set key value;

# データ取得
> ktremotemgr get key; => value;

# データ削除
> ktremotemgr remove key;



                                60
                Copyright © CA ADvance .inc 2012
PHPとの連携


• Memcachedプロトコルを使って接続する
  • pecl install libmemcached # これ叩けば準備OK




というか、、、これ以上いうことがない。。。




                              61
              Copyright © CA ADvance .inc 2012
サンプルプログラム




                        62
        Copyright © CA ADvance .inc 2012
まとめ


• 基本的に、オンメモリDBなので高速、
  しかも不揮発性!


• memcachedプロトコル完備
   memcachedの代替として採用しやすい
   プログラム改変なしで、システム差し替えできる
   のは熱い!!!

                         63
         Copyright © CA ADvance .inc 2012
⑥考察・まとめ




                64
Copyright © CA ADvance .inc 2012
考察・まとめ

• 一言で、NoSQLと言っても、
  •   大容量なデータの扱いが得意だったり、
  •   一貫性が高かったり、
  •   可用性が高かったり、
  •   (少ないデータだけど)I/Oが高速だったりと
 システムごとに、性質の差がある。


 必要に応じて、正しいDBを選択しよう!(無難な着地)

                            65
            Copyright © CA ADvance .inc 2012
考察・まとめ
• コーディングに関して、難易度はドライバによりけり。。。
• 基本枯れたシステムではないため、システム自体のリ
 リース頻度はかなり高め!


• 物によっては、新機能がでたり、ドライバがどんどん新
 しくなったり、廃れちゃったり、DBの下位互換が消えた
 りとインフラ担当への負担が高めになる傾向があるの
 で、そのへん気をつけよう!

                          66
          Copyright © CA ADvance .inc 2012
社内でのNoSQL導入への動き


• 現状、社内では、Kyoto Cabinetがサービスとして、
  稼働しています。


[Kyoto Cabinet]
• Memcachedと違って不揮発性なため、
  サーバーが落ちても、復旧が容易で管理も楽に!


                                  67
                  Copyright © CA ADvance .inc 2012
社内でのNoSQL導入への動き




• 今後の動きとして、
 MongoDB、HBaseの導入を検討中!




                        68
        Copyright © CA ADvance .inc 2012
社内でのNoSQL導入への動き

[MongoDB]
• 社内システムのログの吐き出し先として、利用を検討中
    ⇨Fluentd+MongoDB構成で考えてる
    ⇨目視ログチェックをシステム化したいという目論見


[HBase]
• テキストマイニングでの利用を検討中

                             69
             Copyright © CA ADvance .inc 2012
ご清聴ありがとうございました。




                    70
    Copyright © CA ADvance .inc 2012

More Related Content

What's hot

Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlYutuki r
 
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...Insight Technology, Inc.
 
20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料Takahiro Iwase
 
[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
 
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11MapR Technologies Japan
 
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersDb tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersHiroaki Kubota
 
[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.
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
分散グラフデータベース DataStax Enterprise Graph
分散グラフデータベース DataStax Enterprise Graph分散グラフデータベース DataStax Enterprise Graph
分散グラフデータベース DataStax Enterprise GraphYuki Morishita
 
[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.
 
今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ株式会社クライム
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Colin Charles
 
MongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もありMongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もありippei_suzuki
 
サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方Yuki Morishita
 
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔Insight Technology, Inc.
 
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...Insight Technology, Inc.
 
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...Insight Technology, Inc.
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門Yuki Morishita
 
[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.
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係datastaxjp
 

What's hot (20)

Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
 
20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料
 
[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で仮想...
 
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
 
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersDb tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
 
[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)へのデータベース移行時の注意点 ~レプリケーション...
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
分散グラフデータベース DataStax Enterprise Graph
分散グラフデータベース DataStax Enterprise Graph分散グラフデータベース DataStax Enterprise Graph
分散グラフデータベース DataStax Enterprise Graph
 
[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時代のデータベースのアー...
 
今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
 
MongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もありMongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もあり
 
サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方
 
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
 
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
 
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
 
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係
 

Similar to PHP開発者のためのNoSQL入門

既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~じゅん なかざ
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたSunao Tomita
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイントKentaro Matsui
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでRyo Nakamaru
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニックinfinite_loop
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたGoAzure
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~decode2016
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターンHiroyasu Suzuki
 
Cloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceCloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceShunsuke Kurumatani
 
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceToshiaki Maki
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンAzure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンKazuyuki Miyake
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集Couchbase Japan KK
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンKazuyuki Miyake
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #EShuji Watanabe
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3科 黄
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会オラクルエンジニア通信
 
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理Oshitari_kochi
 

Similar to PHP開発者のためのNoSQL入門 (20)

既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン
 
Cloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceCloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a Service
 
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherence
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンAzure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
 
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
 

PHP開発者のためのNoSQL入門