2. About me
• Working as a Java and NoSQL developer since last 6 year
• Failure Entrepreneur
• Love to expose new technologies
3. Disadvantages
• Choosing the database itself (Key-value, Document, Wide column, Graph)
• Considering the flexibility of Business, Developers, Testers, Operational team etc.
• Choosing the right model for the project
• Designing the structure of collections
• No standard query type
• Transaction mechanism
• Security
4. Advantages
• Not only SQL (Handles unstructured data)
• Default JSON (Polyglot) Type
• Option to choose data model type
• Use JavaScript syntax for query
• Graph modeling (Graph > Document Or (Wide column) > Key-value)
5. Application case study
• Basic schema design using NOSQL
USER Collection
{
_id:123456,
USER_NAME:'Debabrata Sahoo',
FRIENDS: ['user1', 'user2', ...],
POST_ID:[234567, ...]
...
}
POSTS Collection
{
_id:234567,
TITLE:'New title made',
DESCRIPTION:'Complete description of the post...'
}
6. Application case study
• Overcome from the duplicate data situation using graph
User1
User2
Post1
User3
Post2
Friend
Friend
Friend
Posted
Posted
Liked
Liked
7. Application case study
• Data size and frequency of data write
• Data Model + Product Features + Your Situation
• Data linking
• Data aggregation performance
• Backup capability
• Benchmark performance for marketing (Single client)