Разработчики: | Симоненко Дмитрий |
Дата последнего релиза: | 2016/08/17 |
Технологии: | СУБД |
Содержание |
Sophia - встраиваемая СУБД, работающая по принципу «ключ - значение». Действует в виде разделяемой библиотеки.
2016: Sophia 2.2
17 августа 2016 года состоялся релиз СУБД Sophia 2.2.
Основные изменения в Sophia 2.2 - схема хранения и архитектура хранения.
Схема хранения базируется на построчном размещении, при котором каждая строка включает ряд полей произвольного типа [1]. Подобный подход позволяет снизить накладные расходы при размещении данных в хранилище, например, числа и метадданые могут хранится в более компактном представлении непосредственно в строках (rows). Кроме того, схема позволят организовать работу со вторичными индексами. Что касается новой архитектуры хранения, то её основной особенностью является обеспечение постоянной производительности операций чтения, записи и сканирования диапазонов, не зависящей от размера хранилища (O(1)).Как DevOps-сервис помогает «разгрузить» высоконагруженные системы BPMSoft
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-памяти для горячих данных. Холодные и горячие данные дублируются в основном хранилище.
- Постоянное хранение в памяти - данные хранятся в оперативной памяти и постоянно сохраняются на диске. Поддерживается сжатие данных в памяти.
В выпуске 2.1 добавлены:
- режим LRU для вытеснения старых данных из кэша,
- возможность раздельного сжатия "горячих" и "холодных" данных,
- реализация фильтра приблизительной выборки (AMQ, Approximate Member Query),
- поддержка снапшотов для быстрого восстановления после сбоя,
- реорганизация операций UPSERT (добавить-или-модифицировать),
- режим интеграции других СУБД с Write-Ahead Log,
- дополнительные метрики для мониторинга производительности.
Примечания
Подрядчики-лидеры по количеству проектов
SAP CIS (САП СНГ) (38)
Softline (Софтлайн) (35)
РДТЕХ (33)
BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
ФОРС - Центр разработки (25)
Другие (733)
Сапиенс солюшнс (Sapiens solutions) (7)
Navicon (Навикон) (3)
BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
IFellow (АйФэлл) (2)
Другие (35)
РДТЕХ (1)
IBS (1)
Ред Софт (Red Soft) (1)
InnoSTage (Инностейдж) (1)
Сбербанк-Технологии (СберТех) (1)
Другие (20)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Oracle (44, 179)
SAP SE (6, 178)
Microsoft (23, 142)
PostgreSQL Global Development Group (14, 126)
Постгрес профессиональный (ППГ, Postgres Professional) (6, 40)
Другие (263, 242)
SAP SE (3, 11)
Microsoft (3, 11)
PostgreSQL Global Development Group (3, 10)
Oracle (2, 4)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 3)
Другие (10, 13)
PostgreSQL Global Development Group (4, 9)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (2, 3)
Arenadata (Аренадата Софтвер) (3, 2)
Oracle (2, 2)
Другие (9, 9)
PostgreSQL Global Development Group (3, 13)
Постгрес профессиональный (ППГ, Postgres Professional) (1, 6)
Arenadata (Аренадата Софтвер) (3, 5)
Apache Software Foundation (ASF) (3, 4)
Тантор Лабс (Tantor Labs) (2, 3)
Другие (8, 10)
PostgreSQL Global Development Group (4, 11)
Arenadata (Аренадата Софтвер) (3, 6)
VMware (2, 6)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 5)
Сбербанк-Технологии (СберТех) (2, 2)
Другие (5, 7)
Распределение систем по количеству проектов, не включая партнерские решения
Oracle Database - 106
Microsoft SQL Server - 104
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 103
PostgreSQL СУБД - 80
SAP HANA (High Performance Analytic Appliance) - 72
Другие 374
Microsoft SQL Server - 9
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 8
PostgreSQL СУБД - 7
Oracle Database - 3
SAP HANA (High Performance Analytic Appliance) - 3
Другие 21
Postgres Pro СУБД - 5
ADB - Arenadata DB - 2
PostgreSQL СУБД - 2
Tarantool Платформа in‑memory вычислений - 2
Oracle Database - 2
Другие 13
Postgres Pro СУБД - 6
PostgreSQL СУБД - 4
ADB - Arenadata DB - 3
Tantor СУБД - 3
Apache Kafka - 2
Другие 10
PostgreSQL СУБД - 5
ADB - Arenadata DB - 5
Postgres Pro СУБД - 3
Diasoft Digital Q.Database - 2
ADH - Arenadata Hadoop - 2
Другие 9