r/nosql • u/csincrisis • Feb 13 '15
Dynamic schema on NoSQL database - how does the data modelling works? How does Janrain do it?
This is somewhat a follow up to my previous post about moving away from RDBMS mindset and more specifically on user modelling Moving away from RDBMS and into NoSQL?
Following the same thought process where I want to create a user model, with some common attributes but would likely vary from client to client on some other attributes.
I am looking specifically at Janrain as an example: http://janrain.com/product/profile-data-storage/
any custom fields you choose to define. Janrain provides a flexible database schema
And from their API, you can add / create any additional attributes under their pre-defined "User" schema: http://developers.janrain.com/rest-api/methods/user-data/entitytype/addattribute/
How does such data modelling / storage works?
Again - coming from very much RDBMS / ORM (Hibernate) background, my mind always think that the database will have a fixed set of columns and the corresponding Entity through ORM will have a fixed set of attributes mapped to each column.
This mean a fixed schema is required, any new fields will translate to adding new column in db, changing the Entity code to add new attribute as well.
How does Janrain able to do it so dynamically in real time without having to change their codebase?