This question is about choosing the “right” type of NoSQL database, and I hope that they may even discuss specific issues and why they are suitable, in accordance with some requirements / use cases, which I will give below along with the traditional RDBMS solution, which currently in effect. This is a little long, but I think that any discussion of this topic can be really useful for people who are trying to learn a new paradigm. There is a lot of discussion about NoSQL, but from what I saw - most of them are high-level and do not provide enough information for beginners.
So here it is:
I have been developing against traditional RDBMS / SQL systems for most of my programming career (15 years) and have good experience with it. There has been a lot of noise in NoSQL lately and how useful it is, so I'm interested in understanding how this can be useful. The system I am describing is a bit more complicated than the usual TODO or Calender example that I have seen and thus can discuss well.
The system is connected with cellular networks, which are relatively complex - there are about 300 “classes” in such a network (and “full deployment” can have several networks together and can grow up to 1000 or more classes) with a different number of cases (100,000 - 10 s ) for each. It is loaded every day (sometimes several times a day) into the database to manage the system. Relations between classes are either deterrence or "use." The domain changes relatively quickly (about 3 months between network software updates, each usually means adding parameters to existing classes and adding a few (10-20) new classes).
() :
0. ( ) ( XML 2 ).
- (, " 1, 2 1, ids in()"
- ( - , /
- -:
- (SELECT idField1... idFieldN, paramValue FROM table, paramValue < > default "
- - - . x ..
- - , ,
- ( , - ). XML .
RDBMS, , ( ), . , ( + ( )) DataTables, .
() , , , / (/ ) - "" . (4) , ( ), ( - .. ).
, ( 4). , , ( , , ?)
, , , Distinct Name, ( , : Node= ER222, Subrack = 3, Slot = 5 "" Node= ER222, Equipment = 1, Sector = 2, Carrier = C2 "), , , ( (, )
- , 50 , . 300-400 .
, NoSQL:
- , NoSQL
choisce.
- , "",
( ), , (node= class, edge
= ( )).
- , XML ?
- , ?
, .NET, , - - , , , .NET(, REST/THRIFT .NET API )
, , , -)