Skip to content

NoSQL alternative to RDBMS - CRUD app

Many choose to use a RDBMS, often Oracle, without actually considering alternatives. RDBMS has many advantages and disadvantages.

Context / use case

A simple CRUD application with average performance requirements and 99,9% uptime requirements (which suggests no single-point of failure). Cover the most used functionality found in Oracle and be a lot easier to test, deploy, upgrade and scale. (E.g. scale out by adding a new node should be really simple.)

Requirements

  • ACID

  • Possible to have both HA and embeddable solutions without changing business code. (Possible to switch products if they both follow the same standard.

  • It must be possible to test the persistence "layer" on a single, isolated laptop.

  • Possible to implement simple searches. A more OO model than SQL would be nice.

  • Scale for complexity over size. => Document and graph dbs seems more appropriate than key-value stores and bigtable clones. What about tuplespaces?

Brainstorming on products and design

  • Using a search engine like for example Lucene is enticing. Can we make adapters similar to Spring JmsTemplate to make some common use cases really, really easy to use?

  • Is Neo4j embeddable?

  • Is Blitz embeddable?

  • What about cache strategy? Which are most common?