Strategies/Tips to move your SQL model to NoSQL

Some times for performance, availability or scalability reasons, we may need to rewrite an application that was previously working with an SQL database to fit a NoSQL usage or even hybrid one: a part of data will remain relational and the other part not relational

https://i2.wp.com/blog.continued-learning.com/wp-content/uploads/2015/11/sql-n-nsql.jpg

I went through this problem few times for applications such as

  • a Cloud based IVR application
  • a Rain Information display application on Maps where data are coming from Telecommunication antennas

All started relational because…. they should (i mean an important part of the data model is relationship driven and that makes sens) and also i have to admit: because it was simpler (at least at the time).

When dealing with serious amount of data to process (call records, audio files, weather measures netcdf files…), when dealing with new requirements of availability and scalability (mostly horizontally) : i needed somehow to transform at least a part of the model to fit NoSQL. Doing this you can easily go wrong because (at least in my case) i was still thinking about the links between the objects that the actual queries that need to be done by the application to deliver its value.

The following video helps me a lot to « transform » the Entities-Relationships model to NoSQL document usage.

In the picture i draw :

  • on the left: the SQL relationships types
  • on the right : the NoSQL mapping strategy (E = Embedded, Ref = Reference W=Write, R=Read)

SQL_2_NOSQL

Fee free to comment or get in touch with me.

 

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s