I am starting with ASP.NET MVC 3 (the first component of project management). Now I read a little RavenDB and it sounds pretty interesting. One of the biggest things that I like about this is that I don't need any type on ORM to process data from the database. This will make my code much cleaner and faster. However, based on my experience working exclusively with MySQL over the past 6 years, I usually think very relationally with my data. There are several things that look like NoSQL. I want to drop these things there, and maybe these problems can be handled in a NoSQL solution, and I just think it is too relational (then maybe this project should be done with MySQL). These are the issues that I think of:
Unique identifiers: I want to be able to have unique identifiers for many things. For things like projects, the name should be unique and use it, however, when it comes to tasks under the project, the title may not be unique, and that is where I would use the quto-increment field, but I can do it in RavenDB ( from what I can say)
Binding: using for fields such as status and type, I would just use a link with a foreign key. Now for a one-to-many relationship, I can simply use the text instead of trying to bind a foreign key (which you don't have in NoSQL), but with a many-to-many relationship, because there is a problem. For example, I intend to have a tag system (for example, here), where most elements can have from 1 to many tags attached to it, and then I can search for these tags for elements. Is there a way to do this in NoSQL?
Is RDBMS really the best tool to work here or am I just wrongly thinking that it is "NoSQL" and I can do it with NoSQL (RavenDB)?
source
share