NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



Challenges of a Hybrid Solution: Oracle - SimpleDB

I have covered before some hybrid solutions, most of these involving “tweaked” traditional databases to get rid of unnecessary constraints, so this is so far the only NoSQL hybrid solution I’ve read about involving a NoSQL storage and an RDBMS. Sid Anand (@r39132), Netflix cloud engineer, has a series of articles covering the challenges the team down there faced while working on this Oracle/SimpleDB hybrid NoSQL solution:

The challenges can be summarized in several parts:

  1. Pulling data out of Oracle Efficiently
  2. Solving the Oracle-SimpleDB Eventual Consistency Problem
  3. Defining the SimpleDB-Oracle translation

After reading the articles I still have some unanswered questions:

  • the first phase of data migration is still unclear.

    My understanding is that there is a secondary process going over the existing records and “updating” them so that triggers are activated.

  • how does the SimplyDB to Oracle synchronization work?

  • the part 3 covering the feature mismatch between SimpleDB and Oracle is not covering all presented aspects:

    • Triggers
    • Stored Procedures
    • Constraints (e.g. integrity, foreign key, unique, etc…)
    • Sequences
    • Sequences used as Primary Keys
    • Locks
    • Tables without Primary Keys or Unique Keys or both
    • Relationships between tables

The part I have found the most interesting was the one about the “simple” algorithm used for ensuring eventual consistency. And in the same piece, something to note:

Without the anticipated Amazon API, we cannot build an eventually-consistent Hybrid system optimized for AP (i.e. from CAP theorem). We would have had to rely on dual-writes, defeating our goal to be highly-available.