The OpenNET Project / Index page

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

Дэниэл Бернштейн обновил библиотеку cdb

01.12.2025 12:16

Дэниэл Бернштейн (Daniel J. Bernstein), известный эксперт в области криптографии и создания защищённого ПО, разработавший такие проекты, как qmail, djbdns, NaCl, Ed25519, Curve25519 и ChaCha20-Poly1305, опубликовал выпуск проекта cdb 20250121, предлагающего формат хранения данных и сопутствующую библиотеку для встраивания в приложения функций для работы с БД в форме ключ/значение. Выпуск сформирован спустя более 25 лет с момента прошлого обновления cdb 0.75, сформированного в феврале 2000 года.

В новой версии реализован формат cdb64, переведённый на структуры с 64-разрядными типами. На 64-разрядных платформах новый формат позволяет создавать БД размером до эксабайта (ранее размер БД не мог превышать 4 ГБ). БД очень компактная и использует 4096-байтовый заголовок и по 48 байт служебной информации на каждую запись (для 32-разрядного варианта заголовок 2048 и по 24 байта на запись). При обращении к БД выполняются всего две операции доступа к диску при наличии ключа и одна - при отсутствии. Поддерживается атомарная замена БД, стойкая к аварийным завершениям и не блокирующая доступ на чтение.

Другие изменения:

  • Поддержка сборки с использованием скрипта configure и установки командой "make install".
  • Убрана привязка тестовых сценариев к csh.
  • Все внутренние целые значения заменены на тип "num", определённый как "long long". Функции uint32, fmt и scan заменены на функции, работающие с типом num.
  • Программный интерфейс работы с буферами разделён на inbuf и outbuf. Проведена чистка интерфейса hier.
  • Из кода убраны определения неиспользуемых функций.
  • Прекращено использование обвязок, таких как str_len, alloc, uint32, exit, error и systype.
  • Код переделан для прекращения использования устаревших Си-конструкций, таких как старый стиль определения функций, пустые прототипы и старый стиль определения main().
  • Задействованы определения const и static.
  • При сборке активирован флаг "-Wall", а код почищен для устранения предупреждений.
  • При компиляции включены опции -fwrapv, -fno-delete-null-pointer-checks, -fno-strict-aliasing и -fno-strict-overflow.


  1. Главная ссылка к новости (https://cdb.cr.yp.to/download....)
  2. OpenNews: Berkeley DB переведён на лицензию AGPLv3, что привело к вопросу о лицензионной совместимости
  3. OpenNews: CockroachDB сворачивает Core-редакцию и меняет модель лицензирования
  4. OpenNews: Проект Cloudberry, развивающий форк СУБД Greenplum, принят в инкубатор Apache
  5. OpenNews: Выпуск встраиваемой СУБД libmdbx 0.13.7
  6. OpenNews: Доступен встраиваемый движок хранения TidesDB 1.0, поддерживающий ACID-транзакции
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64352-cdb
Ключевые слова: cdb, database
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (46) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:08, 01/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хоть бы пару про бд, а то вообще непонятно зачем
     
     
  • 2.2, Аноним (1), 13:09, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    * слов
     
  • 2.3, avsprv (ok), 13:24, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ещё бы
     
  • 2.6, Аноним (6), 13:43, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это как BerkleyDB до внедрения SQL.
     
     
  • 3.18, Аноним (-), 14:15, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это как BerkleyDB до внедрения SQL.

    Вообще совсем не похожи.
    1) У BDB больше оверхеда на запись в обещм случае.
    2) Зато BDB позволяет нормальную запись.

    А CDB как таковой не может добавить запись к существующей базе как я помню. Только заново перегенерить базу. В этом смысле какой-нибудь tokyo cabinet даст мастеркласс сабжу, ибо оверхеда на запись тоже мало - зато полноценная запись все же есть. Даже ACID если это надо. Есть и более педальные версии типа gdbm/qdbm/... - тоже с записью, но старинные.

     
     
  • 4.37, Аноним (6), 15:49, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Схерали не похожи? Я ж не сказал, что идентичны. Я сказал, что это как BerkleyDB. Т.е. C-библа для дисковой kv-базы-данных.
     
  • 4.48, Аноним (48), 19:36, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Gdbm прекрасная вещь, но acid не умеет (хотя с моими юзкейсами проблем не возникало, но это пока питание не отключалось неудачно). Но единственная альтернатива на практике это sqlite3 (отключай питание сколько хочешь, если не затвикаешь предварительно).
     
  • 2.7, Аноним (7), 13:43, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот если бы
     
  • 2.30, Соль земли2 (?), 15:11, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Быстрая read-only БД в виде одного файла. Например, генеришь список reject или редиректы для postfix и раскидываешь по серверам.
     
  • 2.46, тоже окаклоид (?), 18:33, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это не совсем БД, а просто неизменяемый справочник записей.
    После создания его нельзя изменять, но можно моментально переключиться на новый.

    Неплохо подходит для DNS и других случаях, где очень-очень много чтений при крайне редких обновлениях.

     

  • 1.4, 12yoexpert (ok), 13:29, 01/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    вот это я понимаю качество и обратная совместимость
     
     
  • 2.5, Аноним (5), 13:34, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    круче только “буханка”, 65 лет без патчей и обновлений
     

  • 1.8, Аноним (48), 13:44, 01/12/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –5 +/
     
     
  • 2.10, onanim (?), 13:53, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 3.14, Аноним (48), 14:03, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 4.20, Аноним (20), 14:19, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 5.22, Аноним (48), 14:29, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.11, Аноним (11), 13:53, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.12, Аноним (20), 13:55, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.15, Аноним (15), 14:07, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
     
  • 3.34, Аноним (48), 15:15, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 3.53, Аноним (53), 04:04, 02/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.16, Аноним (16), 14:09, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 3.25, Аноним (25), 14:43, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.35, Аноним (48), 15:17, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.40, Аноним (40), 16:43, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.43, Аноним (48), 17:48, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.49, Аноним (49), 21:37, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 5.50, Аноним (48), 21:44, 01/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.21, Кошкажена (?), 14:25, 01/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > При сборке активирован флаг "-Wall", а код почищен для устранения предупреждений.

    Я так понимаю никакого стат анилиза и санитайзеров у него нет?

     
     
  • 2.26, Аноним (6), 14:48, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какой-то жирный намёк на то, что там всё забагованно и сплошные CVE. Ну тогда покажи где.
     
     
  • 3.28, Аноним (20), 15:06, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это конкретно ваши фантазии. В оригинальном комментарии — констатация факта, выведенного из текста новости.
     
  • 3.41, Кошкажена (?), 16:48, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Какой-то жирный намёк на то, что там всё забагованно и сплошные CVE.
    > Ну тогда покажи где.

    Никакой это не намек. Просто странно не видеть этих инструментов в крипто либе. Просто если только сейчас включили Wall, странно спрашивать...

     
  • 2.27, Аноним (27), 14:58, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ему за полтинник - может, он из тех самых Сишных дидов, которых любят поругивать в комментариях?
     
     
  • 3.31, Аноним (-), 15:11, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    На плечах таких людей держится GNU/Linux.
     
  • 3.36, Аноним (36), 15:19, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://en.wikipedia.org/wiki/Qmail
     
  • 3.42, Кошкажена (?), 16:51, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ему за полтинник - может, он из тех самых Сишных дидов, которых
    > любят поругивать в комментариях?

    Как связан возраст и мой вопрос? Ему 54, а не 94. К слову Chris Lattner тоже под 50.

     
     
  • 4.47, Аноним (48), 18:42, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Larry Wall много полезного за прошедшие 20 лет сделал, а ведь 20 лет назад все дороги были.
     
  • 3.51, Энтомолог_русолог (?), 23:59, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не, из тех самых дидов скорее Eric Paul Allman(September 2, 1955), автор Sendmail и его муж Marshall Kirk McKusick(January 19, 1954), один из создателей FreeBSD

    А Daniel Julius Bernstein следующее поколение(он 1971го), из «отцов-сишников», а не «дидов-сишников»

     
  • 3.54, Аноним (54), 10:29, 02/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.32, Аноним (-), 15:13, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну найди у него ошибку если ты такой умник.
     
  • 2.39, Аноним (39), 16:07, 01/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какой молодец, Дэниэл Бернштейн.
     

  • 1.38, Аноним (38), 16:02, 01/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > известный эксперт в области криптографии и создания защищённого ПО, разработавший такие проекты, как qmail, djbdns

    Видим, ага, без релизов со времён убунты 14 и с тех же времён неисправленными уязвимостями.
    - https://repology.org/project/qmail/versions
    - https://repology.org/project/djbdns/versions

     
     
  • 2.52, Энтомолог_русолог (?), 00:00, 02/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тут есть тонкость
    В qmail уязвимостей нет, потому что он минималистичный и тупой, как пробка, без патчей почти ничего не умеет(потому и есть премия за уязвимости за все десятилетия никем не полученная). А в репах qmail со сторонними патчами за которые автор типа не отвечает
     

  • 1.44, Аноним (44), 17:49, 01/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Эксперт в области заброшенного совта.
     
  • 1.45, Кошкажена (?), 18:00, 01/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно бы было, если бы он сразу верификацию сделал, как в hacl* и код на С сгенерил. Вот тогда бы красота была.
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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