Architecture - Choosing a NoSQL Application for .NET

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 ?
    • - XPath ?
  • , ?
    • - () 1000 POCOs? /?

, .NET, , - - , , , .NET(, REST/THRIFT .NET API )

, , , -)

+3
2

, , , , RDBMS - , , , , NoSQL, , . , . , NoSQL , , , , . , . , , , , , , , .

, , , , NoSQL, . , . NoSQL db, , , , . , .

db db NoSQL , NoSQL db // , , , . NoSQL db . , , db.

+2

, , , RBMS, NoSQL. , , - , NoSQL - , , .

.NET, NoSQL . , , RavenDB. .NET( Linq), ( - ) (.. ).

, RaveDB , , - ,

+1

All Articles