I
I
Itvanya2016-10-15 08:10:24
NoSQL
Itvanya, 2016-10-15 08:10:24

Where to read about database design (nosql) with practical examples?

Hello guys. I mainly develop applications using non-relational databases, although sometimes I have to deal with relational ones as well. I would like to find such a resource, where the principles of architectural design of applications using nosql-bases are briefly and clearly analyzed. For example, it would be very convenient to look at the analysis of how to most correctly store user data, comments, likes, media data. Remember any social network where every post has a bunch of comments, likes, reposts - I would like to see implementations or at least a visual theory on how to implement this (and other similar cases) correctly. Thank you!

Answer the question

In order to leave comments, you need to log in

2 answer(s)
S
Stanislav Makarov, 2016-10-16
@Itvanya

using nosql databases

Step 1. Remove the term "NoSQL" from the lexicon. At least temporarily.
Step 2. Write down or memorize the three most important properties of any DBMS:
  • data model: what is a data element, what is a collection of elements, what should be a constant number in the DBMS, is there a schema and in what form, how are links between data elements provided at the model level;
    Example: MongoDB, document data item, is described as a JSON document with some Monga-specific extensions. Elements collection - a collection of documents. The number of collections is more or less constant, the number of documents is growing.
  • limitations and guarantees of the physical implementation of the data model - what operations have what complexity, what price (in terms of space on the storage device and processor time) each data structure or algorithm used has; what parameters will grow during the operation of the database.
    Example: graph databases that have a "real" graph engine, i.e. one that stores physical links from one vertex to another guarantees a constant fetch time of the associated vertices. In this regard, it is advantageous to use them for strongly connected, infrequently changing data (graphs of friends in social networks, etc.)
    Step 3. Learn to set a task in terms of the data being processed:
    Step 4. Familiarize yourself with the DBMS here: nosql-database.org and choose the right one based on:
    • your task;
    • entry threshold;
    • availability of available professionals.

V
Vitaly, 2016-10-15
@vshvydky

I read something similar on Habré and the developer omitted non-relational ones where filtering, analysis, grouping, etc. may be required. As a result, from that article, I concluded for myself that you should not try to build a relational database from a document database. Unfortunately I can't find the link right now.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question