The OpenNET Project / Index page

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

17.08.2016 09:08  Выпуск встраиваемой СУБД Sophia 2.2

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

Ключевыми изменениями в Sophia 2.2 являются новые схема хранения и архитектура хранения. Новая схема хранения базируется на построчном размещении, при котором каждая строка включает ряд полей произвольного типа. Подобный подход позволяет снизить накладные расходы при размещении данных в хранилище, например, числа и метадданые могут хранится в более компактном представлении непосредственно в строках (rows). Кроме того, новая схема позволят организовать работу со вторичными индексами. Что касается новой архитектуры хранения, то её основной особенностью является обеспечение постоянной производительности операций чтения, записи и сканирования диапазонов, не зависящей от размера хранилища (O(1)).

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

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




  1. Главная ссылка к новости (https://groups.google.com/foru...)
  2. OpenNews: Выпуск встраиваемой СУБД Sophia 2.1
  3. OpenNews: Релиз встраиваемой СУБД Sophia 1.2.3
  4. OpenNews: Выпуск встраиваемой СУБД Sophia 1.2.2
  5. OpenNews: Sophia - новая встраиваемая СУБД, оперирующая данными в формате ключ-значения
Автор новости: Dmitry S
Тип: Программы
Ключевые слова: sophia, database
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 09:29, 17/08/2016 [ответить] [показать ветку] [···]    [к модератору]
  • –1 +/
    Это аналог SQLite?
     
     
  • 2.2, ae (?), 09:42, 17/08/2016 [^] [ответить]    [к модератору]
  • +1 +/
    нет, это key-value бд.
     
  • 2.52, Аноним (-), 09:57, 19/08/2016 [^] [ответить]     [к модератору]
  • +/
    это скорее дальний родич беркли дб, чем склайт без блэкджека и проблем лицензио... весь текст скрыт [показать]
     
  • 1.3, Аноним (-), 09:42, 17/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Слава Вселенной, что оно не на каком-то Rust или Go.
     
     
  • 2.4, Игорь (??), 09:53, 17/08/2016 [^] [ответить]    [к модератору]  
  • +6 +/
    Позвольте поинтересоваться, а чем обусловлена такая реакция к Rust? Просто интересно мнение людей, что не устраивает, например синтаксис, система лайфтаймов, владения и заимствования, либо же система типов? Вопрос не ради холивара! Просто интересно мнение инженеров.
     
     
  • 3.6, rob pike (?), 10:18, 17/08/2016 [^] [ответить]    [к модератору]  
  • +10 +/
    Такая реакция на Rust обсусловлена в первую очередь сектой расто-манов, которые заполонили уже все интернеты своими хэлло ворлдами.
     
     
  • 4.9, Аноним (-), 11:04, 17/08/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Rust-оманов значительно меньше чем Go-внюков. Вторые реально всю вселенную хотят на своем любимом язычке переписать.
     
     
  • 5.11, Аноним (-), 12:23, 17/08/2016 [^] [ответить]    [к модератору]  
  • +/
    И правильно. Знаете почему? Мне очень интересно: почему бы и нет?
     
  • 5.12, Аноним (-), 12:28, 17/08/2016 [^] [ответить]    [к модератору]  
  • –2 +/
    Потому что существует 1. ДОСТУПНАЯ, 2. понятная, 3. официальная, 4. постоянно обновляющаяся документация. Да-да. Надеюсь те, у кого есть уважение к своему времени, перейдут на RUST & GO...
     
     
  • 6.13, Аноним (-), 12:38, 17/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Ага, вообще, уважение к себе в целом и полностью. Поддерживаю.
     
  • 6.23, Аноним (-), 18:55, 17/08/2016 [^] [ответить]    [к модератору]  
  • +/
    От главы Lifetime в Rust Docs хочется глаза вырвать, настолько она замечательная
     
  • 6.59, Сбиряк (?), 19:00, 19/08/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    С каких это пор читать man-ы наши небесные стало грешно?
     
  • 5.15, Мяут (ok), 13:19, 17/08/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    На Go уже написан Docker (считай, новый продукт). На Rust _переписывают_ GNU coreutils: https://github.com/uutils/coreutils И кто тут переписывает вселенную?
     
     
  • 6.17, kai3341 (ok), 13:57, 17/08/2016 [^] [ответить]    [к модератору]  
  • +/
    И в чём проблема? Нормальный тестовый проект для развивающегося языка.
    Вообще не понимаю хейтеров. Как будто их заставляют переписывать на Rust, например, тот же coreutils =)
     
     
  • 7.25, rob pike (?), 19:27, 17/08/2016 [^] [ответить]     [к модератору]  
  • –2 +/
    Их не заставляют переписывать Их заставляют продираться сквозь информационный ш... весь текст скрыт [показать]
     
  • 6.22, Аноним84701 (?), 18:07, 17/08/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    Хуже, на расте даже ОСь накатали https www redox-os org И работает она даже ... весь текст скрыт [показать]
     
     
  • 7.27, rob pike (?), 19:29, 17/08/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    У Go действительно были такие претензии?
     
     
  • 8.35, Аноним84701 (?), 20:30, 17/08/2016 [^] [ответить]     [к модератору]  
  • +/
    https golang org doc faq https github com golang go wiki GoForCPPProgrammers... весь текст скрыт [показать]
     
  • 7.47, angra (ok), 12:16, 18/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Одно слово - docker
     
  • 3.19, Sabakwaka (ok), 15:03, 17/08/2016 [^] [ответить]    [к модератору]  
  • +/
    >>  Просто интересно мнение инженеров

    Чтобы узнать мнение инженеров, нужно спрашивать инженеров?

     
  • 3.33, adolfus (ok), 19:55, 17/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Под всем этим гайном, типа лайфтаймов, этого вашего владения и заимствования, ле... весь текст скрыт [показать]
     
  • 1.7, rob pike (?), 10:28, 17/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    O(1) оно только
      - в идеальной сферической в вакууме машине Фон Неймана с единой ценой доступа к любой ячейке памяти
      - если оторвать MVCC (иначе раскатистое эхо от длинной очереди откатывающихся транзакций можно слушать при некоторых условиях довольно долго)
      - без http://sophia.systems/v2.1/admin/compaction.html
     
     
  • 2.10, funny_falcon (ok), 11:58, 17/08/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    Я сейчас не про твою критику Софии спрошу Она частями разумна поправлю только... весь текст скрыт [показать]
     
     
  • 3.20, Mail (?), 16:09, 17/08/2016 [^] [ответить]     [к модератору]  
  • –2 +/
    O 1 - имелось в виду обращений к диску, а не вычислительных затрат так и запи... весь текст скрыт [показать]
     
     
  • 4.21, funny_falcon (ok), 16:19, 17/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Я действительно funny_falcon Я не слышал ни о ком в it-сообществе, кто тоже бы ... весь текст скрыт [показать]
     
  • 3.29, rob pike (?), 19:35, 17/08/2016 [^] [ответить]     [к модератору]  
  • +/
    В каких же частях она не разумна Это интереснее всего Это уже ближе к реальн... весь текст скрыт [показать]
     
     
  • 4.31, funny_falcon (ok), 19:49, 17/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Log 2 48 48 если по основанию 2 А диск медленнее памяти в 1000 раз среднес... весь текст скрыт [показать]
     
     
  • 5.34, rob pike (?), 20:22, 17/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Если бы compaction здесь был еще хуже чем в LevelDB, то и смысла обсуждать бы ... весь текст скрыт [показать]
     
     
  • 6.36, funny_falcon (ok), 20:41, 17/08/2016 [^] [ответить]     [к модератору]  
  • +/
    http www 3dnews ru 917044 - 440000IOP s на чтение Быстрее сходу не гуглится ... весь текст скрыт [показать]
     
     
  • 7.37, rob pike (?), 23:09, 17/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    80 000 ns это обычный NVMe SSD 10 000 ns это 3D XPoint 1 000 ns это NVDIMM ... весь текст скрыт [показать]
     
     
  • 8.39, funny.falcon (?), 23:38, 17/08/2016 [^] [ответить]     [к модератору]  
  • +/
    - убедили Если у вас столько денег, что вы сотнигигабайтные хранилища на NVDI... весь текст скрыт [показать]
     
     
  • 9.43, rob pike (?), 01:15, 18/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    NVDIMM пока позиционируется не столько для самого хранилища, сколько для индексо... весь текст скрыт [показать]
     
     
  • 10.46, funny.falcon (?), 07:22, 18/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Уууу Понятно Т е все таки, когда нашли где читать, потом опять идти в медленн... весь текст скрыт [показать]
     
  • 8.49, vatocefal (?), 13:39, 18/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Где посмотреть, что сейчас придумали вместо ... весь текст скрыт [показать]
     
     
  • 9.51, rob pike (?), 22:23, 18/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Не вместо , в дополнение к прошлым ухищрениям Поиски что бы такого с LSM сдела... весь текст скрыт [показать]
     
     
  • 10.55, Аноним (-), 10:50, 19/08/2016 [^] [ответить]    [к модератору]  
  • +/
    в б-ве юзеркейзов проще юзать вещи вроде LMDB в проектах, где изящно обошли проблемы "мысля вне коробки", во многом. пусть там и более скромная(изначально)функциональность.
     
     
  • 11.57, rob pike (?), 11:26, 19/08/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    В LMDB своих причуд хватает - на уровне технического исполнения, так что лучше форк https://github.com/ReOpen/libmdbx
     
     
  • 12.62, Аноним (-), 15:40, 20/08/2016 [^] [ответить]     [к модератору]  
  • +/
    ну, безупречных вещей нет и LMDB использована сугубо для примера но это в б-в... весь текст скрыт [показать]
     
     
  • 13.66, rob pike (?), 15:51, 21/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Работает, когда не не работает 1 LevelDB тоже работает при определенных обстоя... весь текст скрыт [показать]
     
     
  • 14.67, Led (ok), 22:23, 21/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Да, всё вышеперечисленное - работает Ты просто рукожопый гуманитарий на ставке ... весь текст скрыт [показать]
     
  • 14.68, Аноним (-), 23:41, 21/08/2016 [^] [ответить]     [к модератору]  
  • +/
    зря вы так куча проектов на все этом есть те что на редис - я даже подпиливал ... весь текст скрыт [показать]
     
  • 10.58, vatocefal (?), 15:56, 19/08/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    А что из существующих реализаций самое продвинутое? Чтобы код можно было посмотреть.
     
  • 4.32, funny_falcon (ok), 19:51, 17/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Поправляюсь:
    "Ощущать себя" - не является достаточным условием, но является необходимым.

     
  • 1.8, Аноним (-), 10:55, 17/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Как оно в сравнении с rocksdb?
    Вторичные индексы это хорошо, когда они действительно заработают
     
  • 1.30, adolfus (ok), 19:42, 17/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Чем оно отличается от BerkeleyDB?
     
     
  • 2.53, Аноним (-), 10:02, 19/08/2016 [^] [ответить]     [к модератору]  
  • +/
    можно крутить хранение данных Явно в отличие от, двигая между подходами принудит... весь текст скрыт [показать]
     
  • 1.44, Аноним (-), 04:18, 18/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Автору благодарности
     
  • 1.48, Шарпей (?), 12:57, 18/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    А для C# у них обёртка есть? Вижу только для джавы и хипстерских руби-питонов.
     
     
  • 2.54, Аноним (-), 10:03, 19/08/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    > А для C# у них обёртка есть? Вижу только для джавы и
    > хипстерских руби-питонов.

    C# еще более хипстерский, внезапно.

     
     
  • 3.61, Шарпей (?), 23:38, 19/08/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    C# не может быть более хипстерским, потому что у него есть компилятор, в том числе и в нэйтив код. А питоновские скриптики - это баловство для школьников, которое по некоторому недоразумению слишком часто стало применяться в крупных проектах.
     
     
  • 4.63, Аноним (-), 15:42, 20/08/2016 [^] [ответить]     [к модератору]  
  • +/
    компилятор как показатель не работает тк он есть у всего почти и у бидона ес... весь текст скрыт [показать]
     

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


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