O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

DynamoDBライブラリ Kettle ORMの紹介

5.092 visualizações

Publicada em

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

Publicada em: Tecnologia
  • Seja o primeiro a comentar

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

×