What Happened When We Entered Every Music CD in Existence into RavenDB
dzone.com
dzone.com
- no need for ORM tools. Finally. I was little tired from Nhibernate, EF, and their's complex mappings. They are great tools, but not for every project and scenario.
- fast dev: simple or almost no configuration. Just point your code (raven session) to server URL
- safe by default: most of linq queries works just fine, dynamically created indexes
- hosting option: start raven .exe, host it in web app from subfolder/subdomain, use embedded db (it took me some time to configure web app hosting, but there should be some good docs now, i hope, because it's simple)
- nice management tool for testing queries, inspecting docs, etc.
- had problem with reading docs in Silverlihgt that are stored in web app, because some problem with JSON serializer. Had to give up from raven for that project
- still struggling with creating Map/Reduce indexes in practice, there's no many samples
- no sample apps
- hard to make mind shift from relational thinking, it should be closer to object/domain model, but we are corrupted with years and years of relational data and joins. Most of our domain object model is really not object oriented model
So, I'll definitely try it on some next not-critical project. There are scenarios for which raven, or any other doc db, is great, and that doesn't have to be "100-db/web server installation web startup", I think it's just fine even for small projects.
Was this supposed to be something that surprised me? I regularly deal with billions of rows of very wide data, so I admit that my sense of scale is a little...skewed.
>Querying for “Query:Adele” again? 32 milliseconds.
That would suggest that the 0.1 is for a cache miss to disk, and that would be hinted at by the phrase "cold boot" in an earlier paragraph.
I've seen a variety of tools (mysql, postgresql, solr, sqlite) load data and query data far far faster than this, on my laptop even. 100x faster than this on harder data sets for the query time, using basically out of the box solr or postgresql full text search. The load times are also not really impressive at all. (I just searched for "nintendo wii" sans quotes on my development solr instance, 35GB index, I didn't prime this query, 44ms. Follow that up for a query for nintendo: 1ms, nintendo wii: 1ms. On a laptop.).
http://trycatchfail.com/blog/post/Alternatives-to-Relational...
Notice "DivanDB" in the blogpost :).
so, there it is.
This post is by the creator, Ayende Rahien. Great guy, really smart.
What about running on 24-48 SSDs with two BBWC controllers w/ 128 GB of RAM?
I've never really been impressed by database testing on these small IO constrained workloads. Also what database is it being tested against and is the pKey an int or a UUID?
a full-text index with a cold page cache