[CSHARP-1091] Cache support Created: 31/Oct/14  Updated: 08/Apr/15  Resolved: 04/Apr/15

Status: Closed
Project: C# Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Critical - P2
Reporter: Jose Luis Pedrosa Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hi Craig
Compared with SQL or others storages mongodb (specially the .net driver) provides a much richer functionality.
Due to this fact, the need/benefits of an ODM are not as big as it is with the relational dbs and there´s a gap in the .net ecosystem for mongo db.

There are still some functionalities that I really miss for an enterprise application, one of the main one is caching. In most cases there´s catlog data, definitions that can be cached reducing the amount of queries sent to the DB enormously.

I understand this probably should be in a contrib space, but I don´t see any active project that could deliver this functionality.

Also I saw in one of your conferences that you intentintionally did not resolved the mapping between collections (Foreing keys in relational DB). I understand that in some cases yes, denormalizing data is the right answer in mongo, but not always.

The fact that we have a full Repository pattern with a NHibernate backend repository with all relations mapped as objects, whithout this support makes the almost impossible the migration.

The new conecpt of "Few to many" should be an array of objects, but there are many cases of truly many-to-many or one-to-many.



 Comments   
Comment by Jose Luis Pedrosa [ 08/Apr/15 ]

Hi Craig,

I agree that cache functionality is not clearly part of the driver. Mapping about relations, my point of view is that it could be included.
The problem is that the driver is thick enough to provide a high level of functionality, but there are some key features (Cache and Relation mapping in my opinion) that is what still can make an Relational DB + ORM still easier to develop than mongodb, I think that relation mapping could take mongo db to the next level of usage. It would become the default choice for a lot of people (still lack of transactions make programming harder, but that is not part of c# driver). Right now every developer needs to code that missing part, there's nothing trustful enough out there to be used.

It would be great if you could reconsider some of this features.

Thanks for your time anyway.

JL

Comment by Craig Wilson [ 04/Apr/15 ]

This is functionality we think should be delivered outside the driver and belongs with something like change tracking. As such, we won't be adding this to the driver.

Generated at Wed Feb 07 21:38:38 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.