Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DynamoDBライブラリ Kettle ORMの紹介

4,930 views

Published on

Amazon DynamoDBを簡単に操作するPHPライブラリ Kettle ORMの紹介

Published in: Technology
  • Be the first to comment

DynamoDBライブラリ Kettle ORMの紹介

  1. 1. DynamoDBの操作を簡単にする PHPライブラリ Kettle ORM の紹介 ハンズラボ株式会社 井上 泰治2015/01/26
  2. 2. Amazon DynamoDB is 何 • AWSの提供するフルマネージド データスト レージ • NoSQL。スキーマレス。JSONもサポートされた • データ量無制限 • 高い信頼性(3箇所にデータを保存) • スループット保証
  3. 3. PHPから操作するには? • AWS 提供のSDKがあります。 $ vi composer.json { "require": { "aws/aws-sdk-php": "2.*" } } $ php composer.phar install http://aws.amazon.com/jp/sdkforphp/ 現在 Ver 2.7.16 (2015/01/25現在) Composer からインストールするのが良いと思います。
  4. 4. 素のSDKをそのまま使ったら辛かった • putItem, getItem, query等で微妙に異なる引 数のフォーマット • 引数がでかい配列。 • レスポンスの返り値も使いにくい。 • とにかく私は面倒だったり、紛らわしいのがき らいだ。
  5. 5. I/Fを改善してみた • Idiorm というDBライブラリが好きなので参考に。 • シンプルかつ直感的に操作できるように。 Kettle https://github.com/inouet/kettle
  6. 6. 1レコード取得 $user = ORM::factory('User')->findOne(10); 1レコード更新 $user->name = ‘John’; $user->save(); コード例:
  7. 7. 検索 (Query) $tweets = ORM::factory('Tweets') ->where('user_id', 1) ->where('timestamp', '>', 1397264554) ->findMany(); foreach ($tweets as $tweet) { echo $tweet->text . PHP_EOL; } 表示
  8. 8. 1レコード削除 // データ取得 $user = ORM::factory('User')->findOne(10); // 削除 $user->delete();
  9. 9. つらくなくなった。 • 個人的にだいぶDynamoDB、というかPHPの SKDの辛みが軽減されました。 • もし興味を持った方いらっしゃいましたら、 使ってみてフィードバックいただけたらと思い ます。
  10. 10. 追いきれてない情報 • 現在 AWS の PHP SDK Version 3が開発中です。 • DynamoDBのJSONサポートなど、もうちょい使 いやすくなってるといいなぁ。 • Marshalerクラスなど。 – https://github.com/aws/aws-sdk- php/blob/master/src/Aws/DynamoDb/Marshaler. php
  11. 11. 参考情報 • DynamoDB – http://aws.amazon.com/jp/dynamodb/ • Idiorm – http://j4mie.github.io/idiormandparis/ • Kettle – https://github.com/inouet/kettle – http://qiita.com/inouet/items/6136777a88b944ab 2bab

×