Using Amazon SimpleDB with Ruby on Rails

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

  • + mactereo mactereo 2 years ago
    quiero dar de baja a esa cosa que sale como imejenes en mi blog como se hace no sale en ningun lado
Post a comment
Embed Video
Edit your comment Cancel

15 Favorites

Using Amazon SimpleDB with Ruby on Rails - Presentation Transcript

  1. Using Amazon SimpleDB with Rails Martin Rehfeld @ RUG-B 07-Feb-2008
  2. Remember? AWS Rails Scenario } EC2 S3 Web Static Server Content Application Server memcached, backgrounDRb, Code  ... SQL  HOW TO GET A PERSIS Database DB? TENT
  3. limited beta Amazon SimpleDB • Database web service advertised as • Simple, Flexible, Scalable, Fast, Reliable, Inexpensive • No RDBMS: no SQL, no joins, no schema, no referential integrity, no transactions • HTTP-Interface • Pay per use: • $0.14 per Machine Hour consumed • $0.10-0.18 per GB - data transfer • $1.50 per GB-month storage
  4. Amazon SimpleDB Common Terms • Domain: SimpleDB storage container ~ table • Item: my domain A attributes ~ table rows accessed by ID ~ primary key } items • Attribute: (multiple) values ~ table columns; every item may have a different set of up to 256 attributes my domain B • Value: ... each Attribute may have multiple Values, always varchar(1024)[]
  5. SimpleDB @ no code no code no code no code no code no code no code (amazon_sdb) rich API* simply working! *) defect release 0.6.5 when evaluated, but newer release available (not re-tested yet)
  6. Amazon SimpleDB API • Domain level • CREATE, LIST, DELETE • Item level • GET, PUT, DELETE attributes with values • QUERY* for unordered item IDs by attribute values within one domain *) lexicographical =, !=, <, > <=, >=, STARTS-WITH, AND, OR, NOT, INTERSECTION / UNION • Beware: Eventual Consistency Approach!
  7. Almost RESTful
  8. Mapping RESTful URLs HTTP/REST SimpleDB GET /domain?query QUERY GET /domain/itemID GET ATTRIBUTES POST /domain/itemID PUT ATTRIBUTES PUT /domain/itemID PUT ATTRIBUTES (replace) DELETE /domain/itemID DELETE ATTRIBUTES
  9. Mapping RESTful URLs Emulating multiple resources in one domain via _resource attribute HTTP/REST SimpleDB GET /domain/resource?query QUERY GET /domain/resource/itemID GET ATTRIBUTES POST /domain/resource/itemID PUT ATTRIBUTES PUT /domain/resource/itemID PUT ATTRIBUTES (replace) DELETE /domain/resource/itemID DELETE ATTRIBUTES
  10. A Bridge to Rails ActiveResource „Rails XML“ HTTP/REST ? AWS SDB Proxy Server* „AWS XML“ HTTP/SDB API SimpleDB *) http://inside.glnetworks.de/2008/01/20/bridging-rails-to-amazon-simpledb-using-activeresource/
  11. AWS SDB Proxy Plugin I • Install aws-sdb gem gem install aws-sdb • Install aws_sdb_proxy plugin: script/plugin install http://rug-b.rubyforge.org/svn/aws_sdb_proxy • Configure config/aws_sdb_proxy.yml development: aws_access_key_id: <your amazon aws key> aws_secret_access_key: <your amazon aws secret key> port: 8888 • Create new domain on Amazon SimpleDB rake aws_sdb:create_domain DOMAIN=ActiveResourceStore • Start AWS SDB Proxy rake aws_sdb:start_proxy_in_foreground
  12. AWS SDB Proxy Plugin II • Create demo ActiveResource model class Post < ActiveResource::Base self.site = \"http://localhost:8888\" self.prefix = \"/ActiveResourceStore/\" end • Testdrive in script/console >> p = Post.create(:title => 'My first SimpleDB post') => #<Post:0x198ceec @prefix_options={}, @attributes={...}> >> p.body = 'Content is king' => \"Content is king\" >> p.save => true >> Post.find(:first, :params => { :title => 'My first SimpleDB post' }) => #<Post:0x18efef8 @prefix_options={}, @attributes={...}>
  13. Vision: Fully Virtualized Scalable Stack... • Building blocks for AWS-only web app deployment: • Static assets/content in S3 • As many app servers as needed on EC2 • Structured data persisted in SimpleDB • All client/server interactions via SQS Note: XmlHttpRequest cross-site restrictions must be examined
  14. Q &A ! Martin Rehfeld http://inside.glnetworks.de martin.rehfeld@glnetworks.de

+ martin.rehfeldmartin.rehfeld, 2 years ago

custom

8428 views, 15 favs, 6 embeds more stats

The vision of eventually forming a truly scalable d more

More info about this document

CC Attribution License

Go to text version

  • Total Views 8428
    • 7816 on SlideShare
    • 612 from embeds
  • Comments 1
  • Favorites 15
  • Downloads 184
Most viewed embeds
  • 605 views on http://inside.glnetworks.de
  • 3 views on http://wapachoso.blogspot.com
  • 1 views on http://www.xianguo.com
  • 1 views on http://ttnet-muzik.biz
  • 1 views on http://74.125.47.132

more

All embeds
  • 605 views on http://inside.glnetworks.de
  • 3 views on http://wapachoso.blogspot.com
  • 1 views on http://www.xianguo.com
  • 1 views on http://ttnet-muzik.biz
  • 1 views on http://74.125.47.132
  • 1 views on http://translate.googleusercontent.com

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories