Состоялся (https://groups.google.com/forum/#!topic/sophia-database/-T24... релиз встраиваемой транзакционной СУБД Sophia 1.2.2 (http://sphia.org/), построенной с использованием новой архитектуры (http://sphia.org/architecture.html) хранения данных, спроектированной, как ответ на недостатки LSM-деревьев (https://en.wikipedia.org/wiki/Log-structured_merge-tree). Код Sophia написан на языке Си и поставляется (https://github.com/pmwkaa/sophia) под лицензией BSD. Для работы с базами в формате Sophia доступен (https://github.com/sphia/sphia) интерфейс для работы из командной строки.Sophia относится к категории встраиваемых СУБД и поставляется в форме разделяемой библиотеки, предоставляющей API для обработки данных. СУБД рассчитана на обеспечение очень большой скорости записи и чтения при работе с данными небольшого и среднего размера. Данные сохраняются на диске с использованием лог-подобного хранилища, работающего в режиме постоянного пополнения (append-only). В отличие от других лог-подобных хранилищ, метод хранения в Sophia не ограничивается высокой скоростью записи, но также оптимизирован для обеспечения высокой скорости произвольного чтения данных и выборки диапазонов значений.
<center><a href="http://sphia.org/v12.png"><img src="http://www.opennet.me/opennews/pics_base/0_1422820069.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border="0"></a></center>
Отличительные особенности:
- Быстрая запись (Append-Only) и оптимизация на чтение;
- Соответствие требованиям ACID (атомарность, согласованность, изолированность, надежность);
- MVCC-движок для обеспечения одновременного конкурентного доступа к БД (Multi-Version Concurrency Control);
- Транзакции, которые могут охватывать несколько операций;
- Консистентные курсоры;
- Снапшоты;
- Возможность хранения нескольких БД в одном файле;
- Поддержка сериализированных представлений;
- Многопоточный движок и возможность использования в многопоточных приложениях;
- Поддержка создания горячих бэкапов, создаваемых на лету без приостановки работы;
- Простой API, лёгкая интеграция с приложениями, отсутствие сторонних зависимостей. Для работы требуется только два файла на языке Си.
Новшества Sophia 1.2.2:
- Поиск по префиксу, позволяющий выбирать записи, соответствующие указанному префиксу ключа;
- Возможность сжатия блоков (включая метаданные) с использованием библиотек lz4 и zstd. Операции сжатия выполняются в фоновом режиме;- Асинхронные и синхронные транзакции. Транзакции могут выполняться как параллельно, не дожидаясь выполнения других транзакций, так и в блокирующем режиме, который используется по умолчанию. Триггеры выполняются после завершения обработки запроса;
- Выполнение операций DROP и SHUTDOWN в асинхронном режиме. К объектам БД применяется версионирование. Операции удаления выполняются асинхронно, после подтверждения последней транзакции;
- Оптимизация вычисления контрольных сумм с использованием инструкций SSE.
URL: https://groups.google.com/forum/#!topic/sophia-database/-T24...
Новость: http://www.opennet.me/opennews/art.shtml?num=42027