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

20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料
Takahiro Iwase
 
MongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もありMongoDBご紹介:事例紹介もあり
MongoDBご紹介:事例紹介もあり
ippei_suzuki
 

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入門

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
Masahiro Nagano
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン
Hiroyasu Suzuki
 
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherence
Toshiaki Maki
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
Oonishi Takaaki
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3
科 黄
 

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入門