RubyGems Navigation menu

ocean-dynamo 0.1.9

OceanDynamo

This is the OceanDynamo ruby gem, implementing a highly scalable Amazon DynamoDB near drop-in replacement for ActiveRecord.

As one important use case for OceanDynamo is to facilitate the conversion of SQL based ActiveRecord models to DynamoDB based models, it is important that the syntax and semantics of OceanDynamo’s operations are as close as possible to those of ActiveRecord. This means that all callbacks should be available, before, around and after, and that they should be called in the same order as in ActiveRecord. Ocean-dynamo follows this pattern closely and is of course based on ActiveModel.

The attribute and persistence layer of OceanDynamo is modeled on that of ActiveRecord: there’s save, save!, create, update, update!, update_attribute and all the other methods you’re used to. The design goal is always to implement as much as possible of the ActiveRecord interface, without sacrificing scalability. This makes the task of switching from SQL to no-SQL much easier.

OceanDynamo will use secondary indices to retrieve related table items, which means it will scale without limits. (NB: this is a pre-release which as yet doesn’t implement relations, but they are underway.)

Due to its similarity to ActiveRecord, OceanDynamo works with FactoryGirl. Furthermore, future versions will keep track of and delete instances after tests.

See also Ocean, a Rails framework for creating highly scalable SOAs in the cloud, in which ocean-dynamo is used as a central component: wiki.oceanframework.net

Gemfile:
=

install:
=

Versions:

  1. 1.9.1 October 12, 2018 (51 KB)
  2. 1.9.0 October 12, 2018 (51 KB)
  3. 1.8.2 October 09, 2018 (51 KB)
  4. 1.8.1 September 02, 2018 (51 KB)
  5. 1.8.0 September 02, 2018 (51 KB)
  6. 0.1.9 September 09, 2013 (11 KB)
Show all versions (90 total)

Runtime Dependencies (1):

aws-sdk ~> 1.0

Development Dependencies (6):

fake_dynamo ~> 0.1.3
rails ~> 4.0
simplecov >= 0
sqlite3 >= 0

Owners:

Authors:

  • Peter Bengtson

SHA 256 checksum:

=

Total downloads 229,312

For this version 2,664

Version Released:

License:

MIT

Required Ruby Version: >= 2.0.0

Links: