We're evaluating whether to use RavenDB
for handling XML documents of varying sizes. In our use cases, the performance of retrieving documents is far more important than that of storing documents.
We're using the embedded version of RavenDB, because we're running a standalone Windows application - I don't know if that has a negative impact on performance ?
In our tests, retrieving larger XML documents (e.g. 2.5Mb) seems to be quite slow - even when storing them in RavenFS.
We've tried to run some comparison tests, and here are the results:
-Reading directly from an on-disk XML file: ~20ms
-Reading from RavenDB (RavenFS): ~400ms
-Reading from RavenDB (string property in DocumentStore): ~500-600ms
-Reading as binary data from an embedded relational database (SQL-CE4): ~75ms
We were expecting RavenDB to be slower than accessing a file directly, but we're quite surprised that even when using RavenFS
, it's still 5 times slower than using a relational database.
Are we missing something, or is it simply because RavenDB is designed for different use cases ?
TIA,
Kenneth