The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

24.01.2016 18:34  Выпуск встраиваемой СУБД Sophia 2.1

Доступен релиз встраиваемой СУБД Sophia 2.1, которая поставляется в форме разделяемой библиотеки, предоставляющей API для обработки данных. Код Sophia написан на языке Си и поставляется под лицензией BSD.

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

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

Поддерживаются следующие технологии:

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

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

Основные особенности СУБД Sophia:

  • Быстрая запись (Append-Only) и оптимизация на чтение;
  • Соответствие требованиям ACID (атомарность, согласованность, изолированность, надежность);
  • MVCC-движок для обеспечения одновременного конкурентного доступа к БД (Multi-Version Concurrency Control);
  • Транзакции, которые могут охватывать несколько операций;
  • Консистентные курсоры;
  • Снапшоты;
  • Возможность хранения нескольких БД в одном файле;
  • Поддержка сериализированных представлений;
  • Многопоточный движок и возможность использования в многопоточных приложениях;
  • Поддержка создания горячих бэкапов, создаваемых на лету без приостановки работы;
  • Простой API, лёгкая интеграция с приложениями, отсутствие сторонних зависимостей. Для работы требуется только два файла на языке Си.


  1. Главная ссылка к новости (http://sophia.systems/...)
  2. OpenNews: Sophia - новая встраиваемая СУБД, оперирующая данными в формате ключ-значения
  3. OpenNews: Представлена Serenity, Redis-совместимая транзакционная СУБД с дисковым хранилищем
  4. OpenNews: Релиз встраиваемой СУБД Sophia 1.2.3
Автор новости: Дмитрий
Тип: Программы
Ключевые слова: sophia, database, nosql
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, 10й Брейтовский переулок, 21:12, 24/01/2016 [ответить] [смотреть все]
  • –3 +/
    база 15-20 гигов тормозить будет ... весь текст скрыт [показать]
     
     
  • 2.2, Devider, 21:55, 24/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +6 +/
    У Вас, видимо, будет.
     
  • 1.3, Lester, 02:36, 25/01/2016 [ответить] [смотреть все]  
  • +/
    > Снапшоты

    Заинтересовался, но, к сожалению, оказалось чисто внутренней деталью реализации, а не полноценным статичным срезом данных как, например, в leveldb.

    > Для работы требуется только два файла на языке Си.

    А вот это бывает удобно.

     
     
  • 2.4, Аноним, 05:49, 25/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Подумал, что вся СУБД состоит из 2-х файлов. Как бы не так.
     
     
  • 3.7, Lester, 11:35, 25/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    В SQLite тоже много файлов, которые потом собирают в один c Тут аналогично, ес... весь текст скрыт [показать]
     
  • 1.5, Аноним, 07:13, 25/01/2016 [ответить] [смотреть все]  
  • +/
    Честно говоря ребята молодцы Но когда тестировали у нас проиграло на чтение roc... весь текст скрыт [показать]
     
  • 1.6, lex, 10:02, 25/01/2016 [ответить] [смотреть все]  
  • –1 +/
    Пользовал первую версию, было громко заявлено о скоростях и прочем. ~1000000 записей вида логин_твитера=ид_твитера и база стала весить 30ГБ и встала колом, диск лёг. Я верю, что новые версии лучше, но осадок остался.
     
     
  • 2.14, funny.falcon, 19:04, 25/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ну, архитектура с тех пор сильно изменилась Уверен, сейчас будет ощутимо юзабел... весь текст скрыт [показать] [показать ветку]
     
  • 1.8, Аноним, 14:35, 25/01/2016 [ответить] [смотреть все]  
  • +/
    "встраиваемая СУБД" какие в опу 30Гб на базу? Она же не для таких вещей
     
     
  • 2.15, funny.falcon, 19:05, 25/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    У некоторых SQLite терабайтами ворочает, и они только нахваливают.
     
     
  • 3.18, Кирилл, 22:26, 25/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Не верю SQLite это вообще чумное убожество Хотя чего ждать от поколения твитт... весь текст скрыт [показать]
     
     
  • 4.21, funny.falcon, 01:08, 26/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Как бы, у всех свои задачи Ссылку, где я в оригинале увидел такой claim не нашё... весь текст скрыт [показать]
     
  • 2.25, Аноним, 22:23, 27/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    некоторые встраиваемые БЫ - и побольше вот если бы она на 50 Терабайт была, т... весь текст скрыт [показать] [показать ветку]
     
  • 1.9, Кирилл, 15:26, 25/01/2016 [ответить] [смотреть все]  
  • –3 +/
    Зачем это нужно Кто объяснит И почему подобное называется БД коль элементарно ... весь текст скрыт [показать]
     
     
  • 2.11, Кирилл, 15:41, 25/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Похоже, я погорячился. Заявлено много чего.
     
     
  • 3.16, Аноним, 21:45, 25/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Вы бы еще CAP-теорему вспомнили
     
     
  • 4.17, Кирилл, 22:21, 25/01/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Э, как бы сформулировать... Никакой САР-теоремы не существует. Гетерогенные системы можно делать какими угодно, хоть согласованными всегда, хоть -- иногда. Этому никаких принципиальных препятствий нет.
     
     
  • 5.20, Аноним, 23:36, 25/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Да вы батенька освежите в памяти САР-теорему, прежде чем разглагольствовать Кон... весь текст скрыт [показать]
     
     
  • 6.22, Кирилл, 13:11, 26/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Консистентность. Это что такое? Переведите. Вы понимаете, что это значит вообще? Ещё раз, никакой "САР-теоремы" не существует. Это просто маркетинговое обоснование для убожественных систем. В результате подобной лапши, например, в РФ внедрили в одной гос. организации "распределённую NoSQL-систему документооборота" и получили, что уже заверенный кадастровый договор ещё пару месяцев болтается в различных статусах в дебрях этого очень NoSQL-решения. А на основе этих статусов пеня начисляется и всякие письма автоматом штампуются совершенно от всего этого бардака очумевшему клиенту.
    Сказки клиентам выдумывать и рассказывать дело, иногда, нужное и важное. Главное -- самому случайно в них не уверовать.
    САР-теорема или, например, "ортогональность реляционной модели и объектной", "разработка через тестирование" -- всё из той же оперы.
     
     
  • 7.23, Аноним, 19:35, 26/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Перевожу на твой https ru wikipedia org wiki Согласованность_данных Больше нам... весь текст скрыт [показать]
     
     
  • 8.24, Кирилл, 22:24, 26/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Хотя на этом -- спасибо: что хотя бы бесплатно маразм не распространяете.
     
  • 2.19, Led, 23:18, 25/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > Зачем это нужно? Кто объяснит?

    У тебя точно есть родной брат, тоже Кирилл.

     
  • 1.12, Кирилл, 15:48, 25/01/2016 [ответить] [смотреть все]  
  • –3 +/
    Вот все эти мантры по in-ram processing они о чём В общем-то, все основные СУБД... весь текст скрыт [показать]
     
     
  • 2.13, Кирилл, 15:49, 25/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    А, понятно, это же встраиваемое решение.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor