LINUX.ORG.RU

GNU dbm 1.15

 ,


1

3

Состоялся релиз GNU dbm (gdbm) 1.15 — библиотеки функций для работы с базами данных.

Изменения:

  • Расширена проверка целостности БД.
  • Улучшена проверка ошибок.
  • Удален код совместимости с gdbm 1.6.3.
  • В утилите gdbmtool теперь можно вставлять команды в качестве аргументов командной строки.
    Синтаксис: gdbmtool DBNAME COMMAND [ARGS...].
    Команды можно записывать последовательно с помощью разделителя, например gdbmtool t.db count\; avail.
  • Добавлен новый элемент структуры gdbm_recovery — duplicate_keys.
  • Новые коды ошибок:
      GDBM_BAD_BUCKET      "Malformed bucket header"
      GDBM_BAD_HEADER      "Malformed database file header"
      GDBM_BAD_AVAIL       "Malformed avail_block"
      GDBM_BAD_HASH_TABLE  "Malformed hash table"
      GDBM_BAD_DIR_ENTRY   "Invalid directory entry"

Скачать исходный код

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 3)

Ответ на: комментарий от das_tier

chromium выходит чаще, и что?

cetjs2 ★★★★★
() автор топика

Два вопроса.

1. Зачем GDBM, когда есть SQLite и RocksDB? (сказал бы BerkeleyDB если б не лицензия)

2. Зачем на ЛОРе ссылки «скачать исходный код»? Кто вообще по них кликает? Люди с дистрибутивами с бинарными пакетами не будут компилировать любой софт с исходников в большинстве случаев, а люди с дистрибутивами, где надо компилировать любой софт, в большинстве будут ждать своих «портов» и т.д.

Ribtoks
()
Ответ на: комментарий от Ribtoks

1. Зачем BSD и Mac, когда есть Linux и Windows?
2. Зачем вообще нужны ссылки «скачать исходный код»? ...

Ну ты понел

Deleted
()

в новости написано с базами данных, какими?

anonymous
()

Изменения

Там в чейнжлоге ещё парочка утечек и обращений к нулевому указателю. Бедные мыши.

RazrFalcon ★★★★★
()
Ответ на: комментарий от Deleted

Нет, не понял.

1-вое правило разработчика баз данных: «не разрабатывай свою базу данных».

А o Linux и Windows - больше толсто, чем тонко.

Ribtoks
()
Ответ на: комментарий от Ribtoks

Этот вопрос Вам следовало бы задать авторам sqlite.

anonymous
()
Ответ на: комментарий от Ribtoks

в большинстве случаев

в большинстве

Есть и меньшинство. И именно оно, скорее всего, напишет те самые «порты и т.д.». А кто-то, может, с нетерпением ждёт, когда в исходниках появится его патч, и он точно не будет ждать портов.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Почему если от соотечественников, то сразу «жуть»?

ну, людям свойственно судить по себе :)

buratino ★★★★★
()
Ответ на: комментарий от Ribtoks

не разрабатывай свою базу данных

Тогда sqlite тоже не должен был появиться, ведь на тот момент уже были БД, если не ошибаюсь

Deleted
()
Ответ на: комментарий от Deleted

sqlite заполнил очевидную нишу между совсем убогими файловыми таблицами и полноценным sql сервером.

Судя по описанию, это очередная файловая таблица. Зачем она?

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

Ну какие-то отличия есть наверное

Deleted
()
Ответ на: комментарий от Ribtoks

Зачем на ЛОРе ссылки «скачать исходный код»?

Во первых оценить исходники, во вторых тут есть бсдуны, скратчеры, кто то может даже в сигвине собирает.

splinter ★★★★★
()
Ответ на: комментарий от mrdeath

Не уметь sql можно по двум причинам. Либо потому что не осилил и тогда остаешься на простейших файлах ключ-значение типа dbase или перерос sql и уже смотришь на серьезные масштабируемые решения типа redis.

Зачем этим категориям эта ерунда из новости, загадка.

AVL2 ★★★★★
()

В комментах, как обычно, перепись школоты с «ненужно», никогда не слышавших, понятное дело, про key/value storage и прочий nosql.

Лор. Лор никогда не меняется.

LamerOk ★★★★★
()
Ответ на: комментарий от mrdeath

Я правильно понимаю, что программа из этой новости претендует на объемы и распределенность базы данных в более серьезных масштабах, нежели редис?

Лично я под серьезностью подразумевал очень простой критерий. Если базу данных вы ставите отдельно, это серьезная база данных. А если бд сделана в виде библиотеки и не требует ничего для начала работы, это бд уровня sqlite или любой инкарнации файловых бд прошлого.

AVL2 ★★★★★
()
Ответ на: комментарий от Dark_SavanT

тут GPL, так что аксиома Эскобара тащем.

А BDB теперь вообще под AGPL. Правда никто не запрещает взять «классическую» версию из BSD

annulen ★★★★★
()
Последнее исправление: annulen (всего исправлений: 1)
Ответ на: комментарий от Ribtoks

1. Зачем GDBM, когда есть SQLite и RocksDB? (сказал бы BerkeleyDB если б не лицензия)

прямтаки вопрос вызывающий рекурсию. SQLite использует key-value базу как бэкенд. И когда-то (не знаю как сейчас, смотреть лень) мог «сидеть» поверх GDBM.

MKuznetsov ★★★★★
()
Ответ на: комментарий от AVL2

Зачем она?

Эта конкретно - скорее всего из-за NIH-сидрома гнушников, которые в конце восьмидесятых/начале девяностых хотели переписать весь стандартный BSDшный софт под GPL.

Зачем такие штуки в современном мире? В задачах, не требующих ничего сложнее таблицы ключ-значение они позволяют развить огромные скорости, см. например tokyo/kyoto cabinet или (в качестве изврата) cdb

annulen ★★★★★
()
Ответ на: комментарий от AVL2

dbase (LOLWUT?)

redis

Вообще-то «ерунда из новости» это встраиваемая БД, а не сервер, как твои примеры, и сравнивать ее надо с вещами типа sqlite, bdb, kyoto cabinet, leveldb и т.д.

annulen ★★★★★
()
Ответ на: комментарий от Dark_SavanT

Изначально BDB писалась для «той самой» BSD и имела соотвествующую лицензию (мне страничка в интернетах попадалась, описывающая сборку «той самой» BDB 1.86 и патч, но сходу найти не смог)

Потом BDB дорабатывали другие чуваки по заказу нетшкафа, и эта версия уже стала копилетфной. Потом ее купил Оракл и в какой-то момент сделал AGPL

*BSD же поддерживают свой форк (форки?) 1.86, так как это часть базовой ОС. Когда я сравнивал фрибсдшную версию с 1.86, то разница была в переходе на ANSI C и добавлению новомодных флагов POSIX API, емнип O_CLOEXEC

annulen ★★★★★
()
Ответ на: комментарий от annulen

об этом и речь, что это не сервер, примеры коих я привел в альтернативу sql, а не новости.

AVL2 ★★★★★
()
Ответ на: комментарий от annulen

ну что сказать, вопросы лицензирования, это вопросы церкви. Не обсуждаемо.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

вы не правильно понимаете. Я про то, что распределенность redis'а без гарантированной сохранности данных не может быть «серьезным решением».

а по сабжу, во многих программах, кроме обычного key/value с прозрачным сохранением на диск больше и не нужно ничего. можно sqlite конечно, но почему бы и нет?

mrdeath ★★★★★
()
Ответ на: комментарий от MKuznetsov

Прямо в точку.

sqlite-1.0.32/src/dbbe.c

** This file uses GDBM as the database backend.  It should be
** relatively simple to convert to a different database such
** as NDBM, SDBM, or BerkeleyDB.

anonymous
()
Ответ на: комментарий от AVL2

Лично я под серьезностью подразумевал очень простой критерий. Если базу данных вы ставите отдельно, это серьезная база данных. А если бд сделана в виде библиотеки и не требует ничего для начала работы, это бд уровня sqlite

И куда отнести firebird при такой классификации ?

или любой инкарнации файловых бд

Тогда у тебя серьезый только оракл, умеющий хранить в голых дисковых разделах, без фс.

прошлого.

круглое колесо устарело, да. И критерий ACID, видимо, тоже.

handbrake ★★★
()
Ответ на: комментарий от annulen

как оказалось, 1.86 вполне можно найти на сайте оракла. Правда сходу современным gcc не собирается. На этом я решил минутку текнонекрофилии закрыть.

Dark_SavanT ★★★★★
()

что-то в треде не нашел упоминания lmdb, моднее же

anonymous
()
Ответ на: комментарий от handbrake

И куда отнести firebird при такой классификации ?

Который старый interbase, к первым, серьезным. А который последняя встраиваемая библиотека, к простым.

Тогда у тебя серьезый только оракл, умеющий хранить в голых дисковых разделах, без фс.

да нет, дело не в бекэнде, а в необходимости установки и поддержки сервера баз данных. Никто же тебя не заставляет при установке файрфокса ставить сервер sqlite? Не бывает такого, что файфокс ты запустил, а сервер sqlite нет? Или что не создал саму базу данных для него? Пользователя не завел в БД?

круглое колесо устарело, да. И критерий ACID, видимо, тоже.

Я не утверждаю, что простые БД не нужны. Просто это одна ниша и после рождения sqlite все более примитивные старые стали сильно не нужны. sqlite такая же простая, как и они, но гораздо мощнее. Понятно, что есть особые случае, какой нибудь сборщик логов, которому нужна ,например, очень быстрая запись в таблицу, которая недостижима для универсальных sql движков, но в целом так и есть.

AVL2 ★★★★★
()
Ответ на: комментарий от annulen

*BSD же поддерживают свой форк (форки?) 1.86, так как это часть базовой ОС.

какие именно *BSD? Поискал в OpenBSD - не нашёл

buratino ★★★★★
()
Ответ на: комментарий от AVL2

Который старый interbase, к первым, серьезным. А который последняя встраиваемая библиотека, к простым.

? - Как-бы, отдельный кроссплатформенный SQL сервер (аж двух архитектур) там никуда и не пропадал.

Embed у FB всего лишь вариант сборки sql сервера, с полным функционалом (sql-99 однако), там ядро компактное, позволяет.

Это embed называется, а не «простой».

Упомянутый редис - вообще key-value, к субд не относится.

У тебя какая-то странная собственная классификация.

handbrake ★★★
()
Ответ на: комментарий от handbrake

? - Как-бы, отдельный кроссплатформенный SQL сервер (аж двух архитектур) там никуда и не пропадал.

а я и не говорю, что он пропал. Он есть. Просто добавился еще и простой внедряемый вариант. Да и тот не везде. Под линукс, говорят, оно все равно требует установленного сервера.

Это embed называется, а не «простой».

Встраиваемый сервер необязательно простой.

Упомянутый редис - вообще key-value, к субд не относится.

к СУБД или к sql?

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

Лично я под серьезностью подразумевал очень простой критерий. Если базу данных вы ставите отдельно, это серьезная база данных.

Который старый interbase, к первым, серьезным. А который последняя встраиваемая библиотека, к простым.

Встраиваемый сервер необязательно простой.

Юлишь как госконтрактник на вопрос где деньги.

handbrake ★★★
()
Последнее исправление: handbrake (всего исправлений: 1)

Тред-детектор ньюфагов.

anonymous
()
Ответ на: комментарий от handbrake

В чем суть претензий?

То, что firebird так или иначе особый случай, должно быть ясно каждому. Если бы его изначально писали, как встраиваемый, он был бы куда легче и проще. А так да, еще в бытность interbase проиграли все ниши на рынке обычных серверов и в конце концов впихнули в новую нишу встраиваемых. Ожидаемо и это не помогло.

И таки да, насколько я понял он в итоге нифига не прост, если помимо одной сошки в составе программы требует отдельной установки и сервера. Это реально сложный и запутанный случай.

AVL2 ★★★★★
()
Ответ на: комментарий от mrdeath

распределенность redis'а без гарантированной сохранности данных не может быть «серьезным решением»

Единственный стоящий камент в треде.

dimgel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.