Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

DynamoDBライブラリ Kettle ORMの紹介

5.093 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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

×