Over a million developers have joined DZone.

How to Build Schema-Free & Scalable NoSQL Data Storage Inside Your RDBMS

· Java Zone

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

If you're a SQL developer looking to reap some of the benefits of NoSQL solutions, or a NoSQL developer interested in some of the more mature features of an RDBMS, you might be interested in Andrew Geweke's talk from the San Francisco Ruby on Rails Group.

Geweke's talk, titled "NoSQL in SQL: Getting to Have it All," explores the dilemmas faced by developers choosing between NoSQL and RDBMS database solutions. Do they go with the flexibility and scalability of NoSQL, or the security and familiarity of RDBMS? It's a tough trade-off, according to Geweke's write-up on the talk:

On one hand, we can reach for some of the potential “big wins” of NoSQL systems, but many of them are still relatively immature — at least when compared to the RDBMS — and the things we give up (transactionality, durability, manageability) we often discover to be very painful losses. On the other hand, we can reach for the security of a traditional RDBMS; we get incredibly well-understood, robust, durable, manageable systems…but we often sacrifice a lot of potential future growth.

And how do you combine the strengths of these databases? According to Geweke, it can be done using ". . . a combination of architectural patterns and software (including two brand-new RubyGems) that let you build schema-free, scalable data storage inside a traditional RDBMS." So, yes: you put NoSQL in your RDBMS.

This can give you the best of both worlds, improving performance with requiring a completely new approach so much as an upgraded approach. If you want to get more specific and see how it's done, though, Geweke's talk is available in it's entirety:

Check out Geweke's full write-up for more background.

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.


Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}