I had a play with Raven in an Umbraco installation - but just for storing additional non-umbraco data - are you up to storing umbraco content (that would be cool, but probably a hard task)?
might be a good idea as a start; later I may think about storing everything in mongo/raven, it is my first project with umbraco, I still exploring the product, and not fully ware about its data model or object model.
There's no way which you can remove the SQL database requirement of Umbraco without forking the product and changing the source code yourself. I'm not sure what advantage you're hoping for by using a DDB rather than a RDBMS for Umbraco content.
For external components you can use Raven (or what ever) as Jonas has said. It's just a .NET component so if you can code it in .NET then you can use it in Umbraco ;)
what I want to do is to use umbraco for a content sharing web site, to share videos, photos, articles ..... that means all the registered users will be able to post content, comment, rate, and see most commented, rated, viewed ...... and I expect a large costomer base and intensive read write operations; and I don't want to store part of my data in SQL and other part in mongo/raven I think I'll fork the code and change it; only for the modules I'll use in my site, but this means I'll need a RDBMS server, which will increase the hosting cost, administration ...
>> I'm not sure what advantage you're hoping for by using a DDB rather than a RDBMS for Umbraco content.
@slace: I'm not sure I understand this question... any DDB or ODB is a much more natural fit to Umbraco's data structure than any RDBMS. It is also going to be much faster, and support sharding, replication and what not out of the box, freeing you to work on the actual CMS instead of its surroundings.
The Umbraco data is stored in a RDBMS, but this is only used for the backend. When you publish the content it is stored in a nice formatted XML structure which is cached so you only query memory which is fast IMHO.
This may be a dead conversation, but I too see a great advantage to using MongoDB on the back end of Umbraco and I for one would be interested helping develop it. I definately agree it would need to be a fork.
I too would be interested to help make this happen.
In some circumstances the XML cache document becomes a bottleneck, regenerating this each time content is publisehd is also a massively inefficient use of resources. With a high enough frequency of publishes and a large enough set of nodes this process also fails a lot.
It would be good to see a NoSQL database working alongside an RDBMS, something like Mongo would be ideal to use instead of the XML Cache.
Hi guys, what about doing some experiments with this? Starting with a simple mongodb cache/replication of the xml tree. I have no experience with nosql in real scenarios and would be interested to hear suggestions about how to structure the information (document content to begin with) in mongodb.
Umbraco with mongoDB or other noSQL
Does anybody tried Umbraco installation with mongoDB, couchDB or ravenDB?
is it a good idea to think about that?
what is the challenges that I should think of when considering this approach?
Hi!
I had a play with Raven in an Umbraco installation - but just for storing additional non-umbraco data - are you up to storing umbraco content (that would be cool, but probably a hard task)?
http://joeriks.wordpress.com/2011/01/19/using-a-document-database-ravendb-from-within-umbraco/ It was pretty straight forward, no surprise as it's standard Raven usage.
Regards
Jonas
Hi Jonas, thanks for your reply
I already read your article and code sample, good work.
but I want to store umbraco content itself in mongoDB, of course it will be a hard job but nothing is impossible ;)
Thanks,
Ahmed
Wow :) I can see the possibility to keep a copy of the content in mongo/raven by adding func on publish / delete events, but are you up to even more?
might be a good idea as a start; later I may think about storing everything in mongo/raven, it is my first project with umbraco, I still exploring the product, and not fully ware about its data model or object model.
There's no way which you can remove the SQL database requirement of Umbraco without forking the product and changing the source code yourself. I'm not sure what advantage you're hoping for by using a DDB rather than a RDBMS for Umbraco content.
For external components you can use Raven (or what ever) as Jonas has said. It's just a .NET component so if you can code it in .NET then you can use it in Umbraco ;)
what I want to do is to use umbraco for a content sharing web site, to share videos, photos, articles ..... that means all the registered users will be able to post content, comment, rate, and see most commented, rated, viewed ...... and I expect a large costomer base and intensive read write operations; and I don't want to store part of my data in SQL and other part in mongo/raven I think I'll fork the code and change it; only for the modules I'll use in my site, but this means I'll need a RDBMS server, which will increase the hosting cost, administration ...
>> I'm not sure what advantage you're hoping for by using a DDB rather than a RDBMS for Umbraco content.
@slace: I'm not sure I understand this question... any DDB or ODB is a much more natural fit to Umbraco's data structure than any RDBMS. It is also going to be much faster, and support sharding, replication and what not out of the box, freeing you to work on the actual CMS instead of its surroundings.
The Umbraco data is stored in a RDBMS, but this is only used for the backend. When you publish the content it is stored in a nice formatted XML structure which is cached so you only query memory which is fast IMHO.
Cheers,
Richard
This may be a dead conversation, but I too see a great advantage to using MongoDB on the back end of Umbraco and I for one would be interested helping develop it. I definately agree it would need to be a fork.
I too would be interested to help make this happen.
In some circumstances the XML cache document becomes a bottleneck, regenerating this each time content is publisehd is also a massively inefficient use of resources. With a high enough frequency of publishes and a large enough set of nodes this process also fails a lot.
It would be good to see a NoSQL database working alongside an RDBMS, something like Mongo would be ideal to use instead of the XML Cache.
Hi guys, what about doing some experiments with this? Starting with a simple mongodb cache/replication of the xml tree. I have no experience with nosql in real scenarios and would be interested to hear suggestions about how to structure the information (document content to begin with) in mongodb.
Could this pattern : "Model Tree Structures with Materialized Paths" http://docs.mongodb.org/manual/tutorial/model-tree-structures/#model-tree-structures-with-materialized-paths be good for this purpose?
is working on a reply...