Разработчики Fedora Linux намерены перевести базу данных пакетов RPM (rpmdb) с BerkeleyDB на SQLite. В качестве основной причины замены называется применение в rpmdb устаревшей версии Berkeley DB 5.x, которая уже несколько лет не сопровождается. Переходу на Berkeley DB 6 мешает изменение лицензии на AGPLv3, применение которой требует перелицензирования приложений, использующих BerkeleyDB в форме библиотеки (RPM поставляется под GPLv2, а AGPL несовместима с GPLv2)...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=52557
Наконец то.
"Наконец-то"
естественно
естествен-но
ес-те́ст-вен-но
Наконец-то дропают древние движки данных.
SQLite новый движок? У меня им ещё Amarok 1.4.10 пользовался. В 2006.
Последний коммит
Скулит - >15 hours ago
Беркли - > 7 years ago
А, ну да, забыл - Oracle
В Оракл тебе сделают коммит в любой день за какой ты заплатишь.
Не факт, что коммит придётся на заказанный день!
а в еще кучу key-value преемников BDB? подсказать названия?
Беркли - > 7 years agoВы уверены, что версия 18.1.32 появилась именно тогда?
7 лет назад последняя версия с совместимой лицензией.
А может быть такое, что проект полностью закончен, максимально оптимизировани и исправлены все известные баги? Ну тип поэтому нет обновлений.
может, но это не тот случай. Точнее, ты почти угадал, это примерно так и есть, но эта версия 1.8.5, one true berkley db, и rpm, к сожалению, с ней не работает, ему "транзакциев" подавай.А к стильной-модной-современной, с которой он только и может работать - обновления есть - просто они под той лицензией, с которой только сумасшедший захочет связываться.
sql придумали бимеры годах в 70х
а что таблицы что деревья и того раньше.предлагаю всё это дропнуть и перейти на кругло-параллельных котиков.
на json же !
всеми своими вебомакако-смузигироскуторными лапами за
Дебиан на файлах))) вообще про существование бд не знает
Все бд работают с файлами, сюрприз
Вот, хвалю. Это гораздо полезнее, чем писать пакетные менеджеры на ржавчине, которыми никто, кроме пары пионеров, не пользуется.
В дуб ударился?
Ну вот, скоро "database is deadlocked" появится и в rpm…
* Кроме шуток, отражать деревья в реляции — вообще так себе идея. А тут ещё полное отсутствие скиллов в предметной области у отвечающих за разработку.
** Что из этого может выйти, желающие могут посмотреть на примере akonadi от kde. Там ещ
*** Там ещё и операции над списками в виде where xxx in ('a1','a2',..,'a100500')
С соответствующими результатами, которых кроме как в дебаге не видно ("оно просто зависло").
> А тут ещё полное отсутствие скиллов в предметной области у отвечающих
> за разработку.К сожалению, факт -- нынешний апстрим rpm изрядно бестолковый.
"Именно поэтому мы используем apt для rpm-пакетов", - добавил Михаил
> "Именно поэтому мы используем apt для rpm-пакетов", - добавил МихаилКогда в альте определялись с базовыми вещами, deb вообще никуда не годился для применения в системах, безопасность которых кого-либо интересует. Начиная прямо с отсутствия подписей пакетов, помнится.
И да, именно поэтому ALT-RPM != RPM.
> И да, именно поэтому ALT-RPM != RPM.RPM != RPM в принципе. В нынешнем deb все же поболее универсальнее будет.
>> И да, именно поэтому ALT-RPM != RPM.
> RPM != RPM в принципе.Скорее макропакеты.
> В нынешнем deb все же поболее универсальнее будет.
В целом это так. _Почему_ так -- отдельная развесистая тема ;-)
ну х.з... базука деба - жесткий lock, когда какие-нить обновы ставятся - даже лист пакетов сделать нельзя, иногда неудобно. в rpm - даже когда в фоне обновлятор работает можно по-быстрому посмотреть какой версии пакеты залиты и примерно прикинуть заведётся какая-нить прога или нет... пример натянутый, но в реальности с точностью до нюансов именно так и мешает жить
А на чём бы теперь лепили дистр, если бы выбирали? Мне ни deb ни rpm не нравятся. Из альтернатив только пакман. Но он интырпрайзу не нравится.
Я вот таскаю иногда к себе бинарники из разных дистров и проверяю их с помощью checksec и hardening-check. И что оказывается... Самые-самые закалённые в Арче, как ни крути, и причём все, а не только основные. Был удивлён. А чем ALT-RPM лучше?
Чем? Вроде нормальный...
> отражать деревья в реляции — вообще так себе идеяХе, может, тебе ещё хочется, чтобы разрабы себе мозги перестроили и заюзали граф-ориентированную ДБ? Мечтатель...
> Ну вот, скоро "database is deadlocked" появится и в rpm…Вообще никакой проблемы сделать конкурентный доступ нет. sqlite из коробки поддерживает один писатель/много читателей без блокировок. А в контексте пакетных менеджеров, нескольких писателей в принципе быть не может, и блокировка вообще на самом верхнем уровне берется.
> Кроме шуток, отражать деревья в реляции — вообще так себе идея.
Если деревья были отражены в key-value BDB, то в sqlite это будет как минимум так же просто.
> akonadi от kde
Там проблема была в утырках, которые решили поддерживать "общий" backend, который умеет в mysql, и превратившийся в чмонстра. Использовать "встройку" это всегда прекрасная идея, вместо того чтобы велосипедить свою бд.
А велосипедить объектное достаточно простое кей-валью с отн. узким назгачением в реляционке общего назначения это не велописедить
Альтернативы у бдб есть
> А велосипедить объектное достаточно простое кей-валью с отн. узким назгачением в реляционке общего назначения это не велописедитьТо, что изначальная задача натянулась на KV не значит, что она не реализуется проще на реляционке.
> Альтернативы у бдб есть
Я знаю только одну, с хорошей durability (а это очень важно для zero-maintanence тула), которая натягивается со скрипом из-за нюансов mmap: lmdb. Я много работал с lmdb, bdb, leveldb и выбор sqlite для rpm более чем разумен, из-за количества необходимой меты и того количества головняков, которое берет на себя sqlite по надежной записи данных на диск.
Ты, кстати, альтернативы не озвучил.
Какая идея-то?? Реляционка нужна для одного и только одного - перекрестных внезапно реляций. А они в свою очередь для аналитики. Шапка собирается у своих хомячков-клиентов в режиме лайв на продакшн серверах анализировать её же (шапковые) пакеты? обучать нейро-сеть? Или что?
То что не нужно анализировать нужно хранить в объектном хранилище. Это внезапно проще программировать и просто проще а значит надёжнее. Неплохая рекомендация для основы ОС, нес па?
На сайте федоры только жалобы на не поддерживаемость старой версии и невозможность перехода на новую из-за смены лицухи Ораклом. Ну так себе повод переходить на принципиально другую философию...
Так что нужно озвучить сначала идею, а потом уже всё остальное. В т.ч. и альтернативы типа LDBM
> Какая идея-то??Это риторический вопрос? Разверните, пожалуйста, если нет, не понятно что вы спрашиваете.
> Реляционка нужна для одного и только одного - перекрестных внезапно реляций. А они в свою очередь для аналитики. Шапка собирается у своих хомячков-клиентов в режиме лайв на продакшн серверах анализировать её же (шапковые) пакеты? обучать нейро-сеть? Или что?
У дона истерика. Вам надо успокоиться. Это слишком хитрый план.
1) У RH и так есть live-стата у кого какой пакет по-клиентно. Пакеты качаются с серверов RH с авторизацией.
2) У федоры есть обезличенная стата.
3) Никакой проблемы вытащить туже информацию с bdb/lmdb/KV нет. Иначе каким образом rpm работает?Поэтому нет, sqlite нужен не для аналитики и нейронок. А чтобы убрать кучу кода, которая велосипедит реляционку поверх BDB.
> То что не нужно анализировать нужно хранить в объектном хранилище.
Дон стремительно превращается в дремучий валенок. Каким образом объектное хранилище помешает взять аналитику?
Кстати, можно примеры надежных встраиваемых объектных хранилищ? Я за 20 лет ни одного не видел, все какие-то поделки с красивыми рекламными плакатами.
> В т.ч. и альтернативы типа LDBM
Хм. Дон же не думает что KV это объектные хранилища? Иначе это шизофрения. KV-store это отображение одного набора байт в другое. Как правило c range-индексом по K в нагрузку, из-за особенностей реализации. Это очень low-level абстракция, которая начинает быстро обрастать реляционными обвязками на мало-мальски сложных моделях данных. Модель хранения пакетов уж точно переросла это порог.
> Там проблема была в утырках, которые решили поддерживать "общий" backend, который умеет в mysqlПереписывался я с ними в свое время и предлагал им помощь с SQLite. Оказалось, там два парня разработчики - из Афганистана, как помню - и они проектом пиарились, чтобы найти работу и свалить из страны, а мускуль им казался намного более привлекательным для корпораций, где можно найти работу. Нормальная мотивация, а вот КДЕ не нужно было любую дрянь в апстим тащить. Впрочем, до этого я патчил для себя в КДЕ хал менеджер для монтирования флешек с кириллицей, там код тоже такой, что оторопь берет.
Очевидно что стнзя скуля это перекрестные соединения для аналитики
Нахрена оно в объектной среде да еще и в низкоуровневой системной шняге... Ну это федора/рх/ибм... Скоро там инсталлер на руби перепишут.
>Кроме шуток, отражать деревья в реляции — вообще так себе идея.Полагать, что отношение версий пакетов представляет собой дерево тоже.
Но это не мешает же работать? :)
Для проблем с БД не обязательно использовать sqlite...
Как же раньше жили то? В какие еще дистры это планируют ввести? Наверное, во все.
Можно даже по цепочки проследить всех кто прогнется под IBM, а это примерно все.
раньше жили хреново - до появления пресловутой пятой версии, ежедневные бэкапы rpm'ской базы очень многим "впоследствии очень пригодились".Удивительно, что им зачесалось ровно тогда, когда в третий раз перепроданная bdb наконец-то почти перестала портить базы, а не в каком-нибудь 2003м, когда было бы в самый раз.
suse/opensuse, например, до сих пор использует db 4.8 в своей версии rpm.
ну так она, поди, и /etc/cron.daily/suse.de-backup-rpmdb по сей день использует ;-)потому что таки да - имеет свойство ломаться на ровном месте.
Впрочем, девятая, которую использовал rhel6, была не лучше.
Не помню, что там в седьмой.
Если перейду с Windows на Linux, то это будет Fedora
Почему? А чем Gentoo не угодило?
А если купмшь себе Raspberry Pi, то на Pidora.
Bitcoin Core вообще с BerkleyDB 4.x поставляется, но с 5.x собрать можно.
> с 5.x собрать можноBitcoin Core -- софт из разряда "ПО, от которого зависит жизнь людей", т.е. из той же категории, что авиационный или медицинский софт. Поэтому компилить его следует исключительно с вбандленным berkeley-db-4.8.30. Особенно если ты крупная китайская биржа.
А чем повредит использование 5.x?
Версия 0.3.xx использовала BerkleyDB для всех файлов. Версия 0.7 перешла на использование lightdb для всего, кроме wallet.dat. Если бы не необходимость иметь обратную совместимость, то от BerkeleyDB отказались бы
В будущем надо мигрировать с rpm на deb.
На kiss.Вообще не понимаю к чему этот зоопарк?
Нетакиекаквсе же.
Замечательно, когда выкидывают устаревшие технологии 👍
... и на смену тупой поняшки прийдёт железный конь.
> Переходу на более новые выпуски мешает изменение лицензии Berkeley DB 6 на AGPLv3, требования которой распространяются и на приложения, использующие BerkeleyDB в форме библиотеки (RPM поставляется под GPLv2, а AGPL несовместима с GPLv2).все что надо знать о мозгах FSF - которые не могут (и не хотят) обеспечить совместимость между своим же лицензиями.
>>> Разработчики Fedora Linux намерены перевести базу данных пакетов RPM (rpmdb) с BerkeleyDB на SQLite.
>> Переходу на более новые выпуски мешает изменение лицензии Berkeley DB 6 на AGPLv3, требования которой распространяются и на приложения, использующие BerkeleyDB в форме библиотеки (RPM поставляется под GPLv2, а AGPL несовместима с GPLv2).
> все что надо знать о мозгах FSF - которые не могут (и не хотят) обеспечить совместимость между своим же лицензиями.Просто AGPL очень неудобна для проприетар^W Партнеров - нельзя будет просто вкатить жирный блобик и открыть лишь код его загрузки, нельзя будет собрать удаленный сервис, делая на нем миллиарды и зажать все улучшения, нельзя будет использовать в качестве "рабочей платформы" для пропр^W Закрытых Проектов Партнеров.
Но! Это конечно же совершенно не то же самое, что и в недавних случаях с проприетарными-подстилочками-бцдунами, открывающимися переходить на GPLv3 компоненты - одно дело проприетарщики, другое - Партнеры! Понимать надо!
ну rpm развивает такой светочь OpenSource - как RedHat.. который столько всего сделал и будет делать.
Разве у него могут быть такие партнеры которые заставляют его быть подстилкой?..
GPL v3 не нужОн, правильно Линус в свое время послал эту банду борцов за социальную справедливость, которые прикидываются хакерами.
> RPM поставляется под GPLv2, а AGPL несовместима с GPLv2Юристы понапридумывали всякую херню, а программистам теперь работы прибавилось
Переходит на соверщенно левую технологию придумали не юристы.
Скорее дизайнеры или инклюзивные представители какого-нибудь амазонского племени.
>> RPM поставляется под GPLv2, а AGPL несовместима с GPLv2
> Юристы понапридумывали всякую херню, а программистам теперь работы прибавилосьНа мой вкус, AGPL играет роль "патента наоборот".
Т.е. *всё* открыто, но дальше — ультиматум:
* Или башляй за перелицензирование (договаривайся с держателем лицензии)
* Или открывай все производные продукты
** Как всегда, есть 3-й (легальный) вариант "перепиши сам по спецификациям". В отличие от патентов. Он ограничивает сверху жадность держателя такой лицензии.
непонятно нафига им реляционка на хранилище данных о пакетах. анализировать в режиме лайв? это федора поэтому не удивлюсь.
Напомните, в RPM же нет рекомендованных зависимостей? С этим хуже живется или легче?
Рекомендованные в любом случае же необязательны к установке.
в rpm нет средства разрешения (или навязывания) этих зависимостей.Предполагается, что этим занимается высокоуровневый менеджер.
А так есть аж двусторонняя связность:
Forward Reverse
Weak Recommends: Supplements:
Very weak Suggests: Enhances:живется примерно так же - выключаешь нахрен, и нет тонн ненужного барахла, притащенных ради какого-то затесавшегося скрипта на вымершем языке.
механизм recommends во-первых относится больше не к пэкидж манагеру а скорее к системе уровнем выше т.е. yum там или dnfво-вторых, оный в apt убог до невозможности. негибок и непрозрачен. нечто что должно быть полностью переделано.
в новых уже появилось.
в SuSe уже давно естьRecommends: ....
Расскажите, как поступит Alt Linux.
> изменение лицензии Berkeley DB 6 на AGPLv3Совсем это пропустил, сказал было вслух - смеялись всей маршруткой.
Кстати кто в курсе, почему BDB не использует лицензию Беркли?
> Кстати кто в курсе, почему BDB не использует лицензию Беркли?Что значит не использует? Та часть, которая писалась для замены AT&T-шного кода в рамках проекта по избавлению от оного - под BSD лицензией и до сих пор используется, как минимум, во фряхе. А вот более поздние релизы, заказанные авторам уже нетскейпом и ораклом идут под другими.
Омагад! Хороший повод взять на вечер пару флакошек Боярки!
Давно пора. Oracle как то в след за Microsoft, гробит всё к чему прикасается.
Неужели у них там все такие сложные бд что они не могут взять nosql какой-то?