Состоялся выпуск библиотеки libmdbx v0.12.5 «Динамо» с реализацией высокопроизводительной компактной встраиваемой базы данных класса ключ-значение. Код распространяется под лицензией OpenLDAP Public License.
Выпуск отмечен как стабилизирующий, с исправлением обнаруженных ошибок и устранением недочетов, в день 100-летнего юбилея спортивного общества «Динамо». При этом пользователи отмечают заметное увеличение производительности (видимо в сравнении с версиями v0.11.x).
Состоялся выпуск библиотеки libmdbx v0.12.3 «Акула» с реализацией высокопроизводительной компактной встраиваемой базы данных класса ключ-значение. Код распространяется под лицензией OpenLDAP Public License. Выпуск примечателен рядом доработок, обеспечивающих увеличение производительности. Как сформулировано в примечаниях к выпуску: «Стало ещё быстрее, в некоторых сценариях вдвое».
Кроме традиционного C API, в libmdbx предлагается развитый C++ API, а также поддерживаемые энтузиастами привязки к языкам: Lua, Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.
Исторически libmdbx является глубокой переработкой Lightning Memory-Mapped Database (aka LMDB). По утверждению разработчиков, libmdbx превосходит своего прародителя по надёжности, набору возможностей и производительности. Больше внимание уделяется тестированию и автоматическим проверкам.
Уже два года libmdbx используется проектом Erigon (16% узлов Ethereum и основа для других блокчейнов) в качестве движка хранения, а с сентября 2022 он выбран проектом Reth (реализация Ethereum на Rust, финансируемая Paradigm).
Разработка libmdbx финансируется компанией Positive Technologies и с 2017 года используется в её продуктах. В апреле 2022 года проект был перенесен на Gitflic из-за «санкционной» блокировки на Github.
Состоялся выпуск библиотеки libmdbx v0.11.7 с реализацией высокопроизводительной компактной встраиваемой базы данных класса ключ-значение. Код распространяется под лицензией OpenLDAP Public License. Заявлено о поддержке всех актуальных операционных системы и архитектур, включая российский Эльбрус 2000.
Заслуживает внимания, что с 2021 года libmdbx используется в трех самых высокопроизводительных реализациях Ethereum (Erigon, Akula, Silkwork), а также связанных с ними проектах Binance Chain. При этом разработчики Erigon разъяснили причины выбора libmdbx, а Ankr Team отметили 30% прирост производительности в сравнении с RocksDB.
Важное отличие этого релиза от предыдущих в вынужденной миграции на GitFlic после блокировки и удаления проекта администрацией GitHub. Кроме этого, разработчики сообщают об устранении множества недочётов и решении проблем со сборками для редких конфигураций. Полный перечень всех значимых доработок доступен в ChangeLog.
Кроме традиционного C API, в libmdbx предлагается развитое C++ API, а также поддерживаемые энтузиастами привязки к языкам Lua, Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.
30 сентября в Нижнем Новгороде пройдёт PGConf.NN - бесплатная техническая конференция по СУБД PostgreSQL. Организаторы — компания Postgres Professional и ассоциация IT-компаний iCluster. Начало докладов — в 14:30. Место проведения — технопарк «Анкудиновка» (ул. Академика Сахарова, д. 4).
Доклады:
«JSON or not JSON» — Олег Бартунов, генеральный директор Postgres Professional;
«Обзор возможностей резервного копирования в PostgreSQL и Postgres Pro» — Иван Фролков, ведущий инженер Postgres Professional;
«SQL vs NoSQL» — Дмитрий Адмакин, руководитель отдела разработки БАРС Груп.
Вышла версия 0.9.3 библиотеки libmdbx реализующей ультра-быстрый компактный встраиваемый движок ключ-значение. libmdbx является глубокой переработкой легендарной СУБД LMDB и по заявлению разработчиков превосходит прародителя по надежности, набору возможностей и производительности. В частности, утверждается что libmdbx до 20% быстрее LMDB в CRUD сценариях, и до 30% быстрее, если при сборке libmdbx, посредством опций, отключить внутренний контроль до сопоставимого с LMDB уровня.
Libmdbx предлагает ACID и zero-copy для нескольких локальных процессов, несколько key-value map и multimap в одной БД, оптимизацию хранения ключей и значений фиксированного размера, строгую сериализацию изменений и неблокирующее чтение с линейным масштабированием по ядрам CPU. Поддерживается автокомпактификация, автоматическое управление размером БД, единый формат БД для 32-битных и 64-битных сборок, оценка объёма выборок по диапазонам (range query estimation). Поставляется утилита проверки целостности структуры БД с некоторыми возможностями восстановления. При этом libmdbx кратно быстрее SQLite в сопоставимых сценариях.
Основные новшества, доработки и исправления после предыдущего релиза:
В API добавлена установка опций времени выполнения, что позволяет работу движка под конкретные сценарии использования;
Переработан свопинг на диск измененных страниц БД в очень больших транзакциях;
Состоялся релиз новой версии NoSQL СУБД MongoDB.
В новой версии разработчики добавили то, чего клиенты ждали долгие годы — транзакционность на уровне многих документов с уровнем изоляции Snapshot.
Отныне разработчикам не нужно писать дополнительный код, который будет обеспечивать консистентность базы данных.
Тем самым MongoDB убрала самый главный недостаток, который мешал многим разработчикам использовать эту СУБД в своих проектах.
Пока транзакции возможны только в режиме replica-set. Чтобы получить преимущества транзакций внутри шардированного кластера, нужно подождать версии 4.2.
На Cassandra Summit, Avi Kivity и Dor Laor (создатели KVM и OSv) объявили о создании ScyllaDB — открытой реализации Apache Cassandra на C++
По утверждению авторов, пропускная способность на ноду у ScyllaDB в 10 раз выше чем у оригинального кода на Java, со временем отклика не превышающим 1мс на 99% запросов.
Они также получили 1 миллион транзакций в секунду на одной ноде.
Тихо и без лишнего шума вышла версия 1.6.6 отечественной СУБД Tarantool, разрабатываемой компанией Mail.Ru Group и сообществом энтузиастов. Tarantool сочетает в себе асинхронный неблокирующий сервер приложений на Lua и NoSQL базу данных с поддержкой хранения слабоструктурированных данных.
1-го апреля 2015 года стала доступна новая версия нереляционной СУБД Redis. Основной отличительной особенностью данного релиза является то, что это первая стабильная версия Redis со встроенной поддержкой кластеризации*).
Redis - это нереляционная СУБД типа ключ-значение (key-value) с открытым исходным кодом.
Поддерживает следующие структуры данных:
строка (string);
хэш (hash);
список (list);
множество (set);
сортированное множество (sorted set);
битовый массив (bitmap);
HyperLogLog (структура данных для реализации алгоритма рандомизированного вероятностного подсчета количества уникальных значений).
Для всех этих типов поддерживаются атомарные операции (например вставка в список или пересечение множеств). База данных Redis хранится в основной памяти, а для обеспечения долговременного хранения используется синхронизация на диск.
Основные изменения:
встроенная поддержка кластеризации;
улучшен аппроксимационный алгоритм вытеснения ключей для LRU**)-кешей;
добавлена команда CLIENT PAUSE: остановка обработки всех запросов клиента на определенное время;
переработан механизм обеспечения долговременного хранения даных AOF***) с целью уменьшения задержек при сбросе буфера на медленных дисках;
25 марта вышла новая версия графовой базы данных Neo4J.
В этом релизе представлены улучшения, которые, как утверждается, позволят существенно повысить производительность операций чтения и записи данных, а также улучшают возможности по отладке и тестированию.
Ключевые моменты изменений версии 2.2:
новый планировщик запросов для языка Cypher основанный на анализе затрат (cost-based optimizer);
поддержка профилирования и отладочного вывода для запросов Cypher;
новый механизм кеширования операций чтения, основанный на размещении страниц кеша в памяти (in-memory page cache);
новый механизм быстрой буферизации записи и оптимизация сброса транзакций на диск.
На начало 2015 года графовая база данных Neo4J занимает 23 место по популярности (по версии сайта DB-ENGINES).
Кампания на BoomStarter по сбору средств на запись второго сезона EaxCast завершилась успешно. Соответственно, теперь ведутся работы над новым сезоном. В настоящее время для прослушивания доступны первые три выпуска:
S02E01, интервью с Александром Юрченко о работе в Яндексе, проекте OpenBSD и машинном обучении.
S02E02, интервью с Романом Душкиным об управлении проектами, функциональном программировании, квантовых вычислениях и краудфандинге.
S02E03, интервью с Владимиром Шабановым о BazQux, стартапах, геймдеве, а также Haskell и Riak.
Особый акцент в подкасте делается на «не мейнстримовых» технологиях. Впрочем, тематика подкаста не ограничивается исключительно этими вопросами. Новые выпуски публикуются раз в две недели и имеют продолжительность 40-45 минут. Всего в рамках второго сезона планируется записать 24 выпуска. Каждый выпуск сопровождается полной текстовой расшифровкой.
Сегодня объявлено о выходе новой версии документо-ориентированной СУБД MongoDB. Версия 2.6 является крупнейшим релизом MongoDB из когда-либо выходивших.
Основные изменения:
улучшение работы aggregation framework:
db.collection.aggregate() возвращает курсор, который теперь может содержать результатирующий набор любого размера;
aggregation pipeline теперь поддерживает оператор $explain;
добавлена возможность использования более эффективных external-disk-based процессов сортировки;
После десяти месяцев разработки увидел свет релиз распределённой БД Apache Cassandra 1.2.0, относящейся к классу noSQL-систем и рассчитанной на создание высокомасштабируемых и надёжных хранилищ огромных массивов данных, хранимых в форме ассоциативного массива (хэша). Код проекта написан на языке Java и распространяется в рамках лицензии Apache 2.0.
Основные изменения:
Поддержка виртуальных узлов (vnode)
Переход на финальную версию языка запросов CQL 3.0 (Cassandra Query Language)
Поддержка выполнения пакетных операций (BATCH, аналог SQL ACID транзакций) в атомарном режиме
Поддержка трассировки запросов
Серия оптимизаций производительности
Новый бинарный протокол для CQL3
Расширенные опции конфигурации
Поддержка обработки сбоя отдельного диска без остановки всего узла.
Новая версия подверглась значительному рефакторингу, многие участки кода переписаны заново.
Основные изменения:
Поддержка Lua доступна в стабильной ветке (в том числе в redis-cli).
Появились слейвы только для чтения.
Оптимизации в части памяти для хранения «маленьких» значений.
Улучшение производительности при записи больших объектов.
Логирование команд и возможность сбора статистики по ним.
Все опции конфига стали доступны и в качестве аргументов командной строки.
Устаревание значений с миллисекундной точностью
Последнее в списке, но не по значимости: при запуске теперь отображается ASCII-лого Редиса!
В версию 2.6 перенесены некоторые команды из Redis Cluster. Полная функциональность кластера обещана к версии 3.0.
Redis — журналируемое хранилище типа «ключ-значение» с открытым исходным кодом под лицензией BSD, доступное для большинства POSIX-систем. Разработка спонсируется компанией VMware.
Компания 10gen объявила о выпуске NoSQL базы данных MongoDB версии 2.2.0.
Среди наиболее важных изменений разработчики выделили следующие:
Появление Aggregation Framework, оптимизирующего обработку больших массивов данных без необходимости применения технологии map-reduce. Также в командной строке mongo теперь доступен метод-помощник db.collection.aggregate();
Введение TTL-коллекций, использующих специальные индексы для проверки данных на актуальность в соответствии с указанным временем жизни (что удобно, например, для хранения логов и подобной информации). При использовании таких коллекций создается дополнительный фоновый процесс для реализации соответсвующей проверки;
Улучшения в механизме параллелизации, а также дополнительные инструменты командной строки для мониторинга текущих параллельных операций;
Добавлена поддержка географически распределенных и горизонатльно масштабированных систем;
Улучнения в системе авторизации клиентов (новая версия не совместима при работе в кластере вместе с MongoDB 2.0);