Sophia

Продукт
Разработчики: Симоненко Дмитрий
Дата последнего релиза: 2016/08/17
Технологии: СУБД

Содержание

Sophia - встраиваемая СУБД, работающая по принципу «ключ - значение». Действует в виде разделяемой библиотеки.

2016: Sophia 2.2

17 августа 2016 года состоялся релиз СУБД Sophia 2.2.

Основные изменения в Sophia 2.2 - схема хранения и архитектура хранения.

Схема хранения базируется на построчном размещении, при котором каждая строка включает ряд полей произвольного типа [1]. Подобный подход позволяет снизить накладные расходы при размещении данных в хранилище, например, числа и метадданые могут хранится в более компактном представлении непосредственно в строках (rows). Кроме того, схема позволят организовать работу со вторичными индексами. Что касается новой архитектуры хранения, то её основной особенностью является обеспечение постоянной производительности операций чтения, записи и сканирования диапазонов, не зависящей от размера хранилища (O(1)).Российский рынок CRM-систем: оценки, тренды, крупнейшие поставщики и перспективы. Обзор TAdviser 149.2 т

2015: Sophia 2.1

СУБД ориентирована на очень большую скорость записи и чтения при работе с данными небольшого и среднего размера. Данные сохраняются на диске с использованием лог-подобного хранилища, работающего в режиме постоянного пополнения (append-only). В отличие от других лог-подобных хранилищ, метод хранения в Sophia не ограничивается высокой скоростью записи, но оптимизирован для обеспечения высокой скорости произвольного чтения данных и выборки диапазонов значений.


Особенности

  • Соответствие требованиям ACID.
  • Движок MVCC (Multi-Version Concurrency Control) для мультидоступа к БД.
  • Чистый режим постоянной дозаписи (append-only).
  • Поддержка множественных БД.
  • Многопоточность в движке и клиентском доступе.
  • Мультиоперационные транзакции.
  • Поддержка сериализованных представлений.
  • Асинхронное горячее резервирование.
  • Консистентные указатели.
  • Снапшоты.
  • Простой API со стабильным форматом.
  • Проста в интеграции.
  • Расширяется посредством FFI.
  • Распространяется под лицензией BSD в виде небольшой библиотеки на языке Си без каких-либо зависимостей.

Начиная с версии 2.1 СУБД Sophia позиционируется как гибридное RAM/Disk-хранилище, использующее для хранения, как ОЗУ так и диск, позволяющее автоматически разделять "горячие" и "холодные" данные (обновлённые и не изменившиеся).


Поддерживаемые технологии

  • Дисковое хранение - для хранения используется жесткий диск или флэш-память. Запись кэшируется в памяти для последующего сброса на диск.
  • Анти-кэширование - оперативная память становится основным хранилищем. Холодные данные читаются с диска или Flash-памяти.
  • Постоянное кэширование - второе хранилище используется в паре как LRU-кэш в оперативной или Flash-памяти для горячих данных. Холодные и горячие данные дублируются в основном хранилище.
  • Постоянное хранение в памяти - данные хранятся в оперативной памяти и постоянно сохраняются на диске. Поддерживается сжатие данных в памяти.

Схема взаимодействия СУБД, (2015)

В выпуске 2.1 добавлены:

  • режим LRU для вытеснения старых данных из кэша,
  • возможность раздельного сжатия "горячих" и "холодных" данных,
  • реализация фильтра приблизительной выборки (AMQ, Approximate Member Query),
  • поддержка снапшотов для быстрого восстановления после сбоя,
  • реорганизация операций UPSERT (добавить-или-модифицировать),
  • режим интеграции других СУБД с Write-Ahead Log,
  • дополнительные метрики для мониторинга производительности.

Примечания



Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Oracle (44, 179)
  SAP SE (6, 175)
  Microsoft (23, 142)
  PostgreSQL Global Development Group (14, 118)
  Постгрес профессиональный (ППГ, Postgres Professional) (6, 37)
  Другие (253, 201)

Распределение систем по количеству проектов, не включая партнерские решения

За всю историю
2021 год
2022 год
2023 год
Текущий год