A
The point is, we need to keep this document in our possession and work with.
(parameter search, editing, etc.).If the structure of the document does not change in the process of the annex, i.e., your process of doing so, you agreed on the structure of the document in the request and, if its structure is changed, you will produce a new version of the product that will work with a new version of the request. If that's the case, it's the same characteristic you're looking for. If the format of the data can vary from one request to another, it is unlikely that the DDSB will be a good option. RSBD gives you more control over the integrity of the data - controls torture to record in the cell of the table the non-core data or not the correct data in which part of the data is not available. The SQL of the DSB is more suited to the documentary-oriented type, since it is essentially your request and there is a JSON document that you will most likely invariably write in the OBD system. Such NoSQL as MongoDB works directly with JSON data in the format (the fact is used by BSON), which allows you to simplify the OBD data recording operation very much and will focus on the development of tools to analyse these data. Which is basically required of your project. On the basis of the above written in the case of a choice of RISB, you will need to spend additional resources on the development of a code that will transform your data into a relay, as well as on the development of a relaying of your data - a set of tables and links between them.But there's something creepy, about 200 tables and creepy johns in.
requestsAs far as the tables are concerned, I made a comparison above, in the case of Nos.SQL of the OBD stored data in JSON, you will not need a serious additional effort to record the data. In the case of a denormalized structure with a doc.or. You have two solutions to the problem:Full denormalization - then every document will keep everything
its internal data and its receipt and modification will be
A simple task. But you'll face the challenges of updating the general
for the whole set of documents, since each will contain
Her copies.All external matters are kept in separate documents and refer to
the approach is similar to the RSBD approach and is in fact an attempt
Normalize the data. The same difficulties would arise in this approach.
"blower johns in requests" but it's not gonna be handled by SQL.
a Companion of required collections of documents
directly in the code.In fact, the best way is to have a mix of these approaches, you'll want to see where it's easier for you to store data in the form of aggregates and where to use commonalities.There has also been a problem that the document itself and the essence of the document
with it, often change (grounds and links are produced and removed
Others.This problem, which is also related to the previous one, can be easily solved by graphic OBD, which has been created with a range of light management, in a complex way.
There are also mixed models that combine the graphic and document-oriented approach - OrientDB. This approach may in your case radically simplify the current task. But it is important to understand that if your system is to take on a new function, this approach may not be optimal for a new function, and in this case you should add another subd to the system with a suitable type, multi-variable persistance.
I think OrientDB or a similar system, combined graphic and doc-oriented approach, will free you from the many problems of your inconsistency and the structure of the DSB.So question number one: What would you recommend in principle for storage?
such data and work with them?I'd advise you on OrientDB or analog. You'll have to study new technology. But it is essential to understand that the biggest problems are emerging when the project is already under way, has worked and needs to be actively developed. Because of the unfortunate choice of the model at the beginning, with the increasing complexity of the project, it is growing problems as a snowcomer, to introduce/design/modify a new field or table, you will have to do an incredible swing, as well as to modify the requests that will affect this change.
My conclusion is to select a data storage system that will be the most natural for your task and focus on the task of data analysis. Sadly, the task is also to preserve the history of each change.
Document, including its substance, needs to be
The user could see the history of the document changes (what, by whom and by whom)
When you've changed, if you want to roll them off and watch the list.
of all documents and their changes within the framework of the project
Group change name)Many of the SBD Nos.SQL support the built-in audit mechanism - MongoDB, OrientDB, both in the purchase of a commercial licence. But you can find a solution from the communichi or write it yourself.Affirmative:On the basis of the problems you have described, you're approached by the DSB - a mixture of graphic and document-oriented (optimally stored in JSON). Because you have all the data initially in JSON and have many links. You've been given an example of such a DSB, you can look at alternatives.Before I choose, I advise you to read the book (not large in size) - NoSQL. New methodology for developing non-regulatory databases." Translation into Russian is a few curves, but sufficient to understand what you can get with NoSQL of OBD.