Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Странное сравнение:
Если уж сравнивать sqlite и nosql, то логично (по-моему) в случае с sqlite
использовать sqlite json extension,
или в C# обертку для sqlite json еще "не завезли"?
Сферические цифры по сохранению несложных POCO объектов (диск hdd):
[Serializable]
public class MscEvent
{
public Int64 msisdn;
public DateTime chargingdatetime;
public Int64 chargeableduration;
public Int64 bnumber;
public Int16 typeofrecord;
public Int16 sourceId;
}Testing on 1 000 000 events
[Sqlite Journal Mode=Off] write/read 89462/287835 op/s] time elapsed write/read 11,1778348 / 3,4742009 s]
[LevelDbBatch MsgPackSerializer NoCompression] write/read 178024/501050 op/s] time elapsed write/read 5,6172074 / 1,995808 s]
[LiteDb] write/read 82346/218760 op/s] time elapsed write/read 12,1438787 / 4,5712058 s]
[CsvBench] write/read 749532/392383 op/s] time elapsed write/read 1,3341648 / 2,5485245 s]
[SerializedFile MsgPackSerializer] write/read 2193977/675174 op/s] time elapsed write/read 0,4557931 / 1,4810979 s]
[SerializedFile JsonSerializer] write/read 301375/317855 op/s] time elapsed write/read 3,3181228 / 3,1460794 s]
[SerializedFile WireSerializer] write/read 2214939/2129023 op/s] time elapsed write/read 0,4514795 / 0,4696988 s]
Testing on 10 000 000 events
[Sqlite Journal Mode=Off] write/read 89674/285626 op/s] time elapsed write/read 111,514258 / 35,0107894 s]
[LevelDbBatch MsgPackSerializer NoCompression] write/read 136594/488647 op/s] time elapsed write/read 73,2091265 / 20,4646613 s]
[LiteDb] write/read 75120/196484 op/s] time elapsed write/read 133,1192939 / 50,8947216 s]
[CsvBench] write/read 709238/398380 op/s] time elapsed write/read 14,099631 / 25,10166 s]
[SerializedFile MsgPackSerializer] write/read 1533240/673520 op/s] time elapsed write/read 6,5221352 / 14,8473537 s]
[SerializedFile JsonSerializer] Необработанное исключение: OutOfMemoryException.
[SerializedFile WireSerializer] write/read 1567601/2205764 op/s] time elapsed write/read 6,3791707 / 4,5335747 s]C leveldb пробовал разные параметры компрессии, буферов и т.д. (например new Options() {Compression = CompressionType.SnappyCompression, WriteBufferSize = 128*1024*1024})
Вообщем вот. Выводы делайте сами
В поисках быстрого локального хранилища