Существует ли структура ACID для хранения больших объемов данных, которая также позволила бы использовать некоторые базовые возможности поиска? Я не ищу полноценную СУБД, а скорее что-то быстрое, легкое и простое. Даже что-то, что просто позаботится об атомарных коммитах, было бы здорово, просто чтобы не изобретать это заново в случае сбоя питания.
SQL Server слишком медленный для этого и имеет слишком много накладных расходов, SQLite еще медленнее (с потенциально меньшими накладными расходами?).
По сути, мне нужно каждую секунду хранить большое количество данных с отметками времени. Для нормализованных данных это будет соответствовать примерно 10 000 строк таблицы, но в качестве двоичных данных их можно представить с использованием примерно 200 КБ. Очевидно, что записать 200 КБ на диск проще простого по сравнению с записью 10 КБ строк в реляционную базу данных.
Я мог бы просто сохранить его в одном или нескольких больших двоичных файлах, а затем реализовать некоторую собственную индексацию, чтобы обеспечить быструю фильтрацию определенных полей, но единственное, что меня пугает, — это неатомарные транзакции и сценарии блокировки чтения/записи.
Есть рекомендации? Кстати, я использую С#, поэтому предпочтительнее все, что связано с оболочками .NET.
[Edit] Что касается ACID, я только что нашел это, например: Управляемая оболочка для Transactional NTFS (хотя TxF является функцией "Vista и более поздних версий").