ocean-dynamo 0.5.1
OceanDynamo
OceanDynamo is a massively scalable Amazon DynamoDB near drop-in replacement for ActiveRecord.
As one important use case for OceanDynamo is to facilitate the conversion of SQL databases to no-SQL DynamoDB databases, it is important that the syntax and semantics of OceanDynamo are as close as possible to those of ActiveRecord. This includes callbacks, exceptions and method chaining semantics. OceanDynamo 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_attributes
, find_each
, destroy_all
, delete_all
and all the other methods you’re used to. The design goal is always to implement as much of the ActiveRecord interface as possible, without compromising scalability. This makes the task of switching from SQL to no-SQL much easier.
Thanks to its structural similarity to ActiveRecord, OceanDynamo works with FactoryGirl. To facilitate testing, future versions will keep track of and delete instances after tests.
OceanDynamo uses primary indices to retrieve related table items, which means it will scale without limits.
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