From: Mikhail Novosyolov <mikhailnov@altlinux.org> To: devel@lists.altlinux.org Subject: Re: [devel] Еще раз о правильном аналоге packages.altlinux.org Date: Fri, 12 Feb 2021 21:02:29 +0300 Message-ID: <03dad1a3-d45e-667e-4807-cfb847d7a970@rosalinux.ru> (raw) In-Reply-To: <3e95e51b-326c-5e43-79b3-462138875de9@basealt.ru> 12.02.2021 20:25, Anton Farygin пишет: > On 12.02.2021 12:38, Eugene Prokopiev wrote: >> вт, 9 февр. 2021 г. в 11:26, Anton Farygin <rider@basealt.ru>: >> >>>> curl >>>> https://repodb.basealt.space/package_info?name=kernel-image-un-def |jq >>>> >>>> Мне понравилось. Отдаёт всё очень шустро. :-) >>>> Использует rpmlib или данные лежат в какой-то базе? >>> Лежит в clickhouse. >>> >>> в rpmlib невозможно в принципе держать данные для почти трёх миллионов >>> пакетов. >> Антон, а нельзя ли это переложить в elasticsearch и за счет некоторого >> снижения производительности и/или увеличения требований к железу (вряд >> ли критичному) получить возможность писать запросы к этой БД через >> довольно удобный DSL over HTTP и рисовать в Kibana (и не только) >> различные дашборды > > Мне не нравится эластик, Его практически невозможно упакетить. Поэтому после некоторых экспериментов мы взяли clickhouse и сейчас залили туда почти три миллиона пакетов (метаданных) включая списки файлов с контрольными суммами и правами. > > Т.е. - все метаданные, которые можно было взять из rpm. > > при этом структура базы содержит ошибки, которые нужно исправить перед публикацией. Ну и надо переосмыслить некоторые моменты с хранением. > > Например, мне не нравится как мы храним информацию о том, какой пакет в каком репозитории находится/находился. Сейчас это делается влоб - в отдельной таблице лежат пары <uuid репозитория> <hash rpm пакета>. > > А т.к. мы ничего не удаляем и добавляем в базу ежедневные срезы всех репозиториев (если менялись), то эта таблица пухнет и сейчас в ней около 500 миллионов записей. > > Благодаря clickhouse, конечно, с ними работать получается довольно быстро, но на мой взгляд тут есть куда работать над оптимизацией хранения, в первую очередь в сторону хранения только изменений репозитория. Такая табличка будет очень маленькая (около 4 миллионов записей) и должна будет вся помещаться в память, что очень сильно ускорит практически все запросы. > > ну и можно писать отдельные парсеры, заливающую разную полезную информацию в CH - например, данные из bugzilla, логи и статусы пересборки, активность ментейнеров в рассылках и т.д. > >> >> Ок, я в курсе лицензионных вопросов по эластику, СlickHouse тоже >> неплох - особенно если структура БД будет опубликована и к ней можно >> будет писать SQL-запросы через HTTP >> >> На самом деле вопрос сводится к: >> и и >> * вменяемому HTTP API для поиска по репозиториям/пакетам > > Это уже есть, вменяемость API нужно обсуждать. > > curl https://repodb.basealt.space/|jq > выводит HELP. Выглядит очень круто. Было бы полезно, чтобы build_dependency_set мог вывести имена не только binary, но и source пакетов. Описание не очень понятное, если правильно понял, речь про список пакетов, использованных для сборки заданного пакета, т.е., грубо говоря, всех пакетов, установленных в чрут. > >> * возможности связать вывод такого API и сборочные логи/таски > Тоже есть, API уже можно обсуждать. >> * удобному фронтенду (но уже потом) >> >> Мне было бы интересно принять в этом посильное участие - но для начала >> нужен какой-то список требований с приоритетами + понимание откуда >> брать исходные данные >> >> > Жень, сейчас Данил Шеин смотрит что у нас наработано по clickhouse и после рефакторинга структуры и базовового кода выложит все наработки в паблик. Не знаю, честно, сколько времени на это уйдёт, надеюсь что немного ;) > > Конечно, идея как раз в этом и заключается, что бы со стороны можно было ходить к базе и спрашивать у неё разные полезные ништяки, в том числе графики рисовать при необходимости. > > Код написан на питоне. > > > > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel
next prev parent reply other threads:[~2021-02-12 18:02 UTC|newest] Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-19 8:21 [devel] https://repology.org/ Sergey Afonin 2020-08-19 8:42 ` Dmitry V. Levin 2020-08-19 8:44 ` Anton Farygin 2020-08-19 18:49 ` Leonid Krivoshein 2021-02-06 16:31 ` Mikhail Novosyolov 2021-02-06 16:48 ` Dmitry V. Levin 2021-02-07 12:46 ` Andrey Cherepanov 2021-02-07 12:57 ` Sergey Y. Afonin 2021-02-07 14:59 ` Dmitry V. Levin 2021-02-07 15:21 ` Dmitry V. Levin 2021-02-07 15:44 ` Alexey Gladkov 2021-02-07 16:07 ` Sergey Y. Afonin 2021-02-07 16:15 ` Alexey Gladkov 2021-02-07 16:27 ` Dmitry V. Levin 2021-02-07 16:48 ` Sergey Y. Afonin 2021-02-07 18:09 ` Alexey Gladkov 2021-02-07 18:35 ` [devel] webery.altlinux.org Sergey Y. Afonin 2021-02-07 17:30 ` [devel] сайты о репозиториях и сборках (was: https://repology.org/) Michael Shigorin 2021-02-07 18:07 ` Alexey Gladkov 2021-02-07 16:00 ` [devel] https://repology.org/ Sergey Y. Afonin 2021-02-08 8:43 ` Anton Farygin 2021-02-09 1:40 ` Leonid Krivoshein 2021-02-09 4:55 ` Anton Farygin 2021-02-09 5:30 ` Leonid Krivoshein 2021-02-09 8:26 ` Anton Farygin 2021-02-12 9:38 ` [devel] Еще раз о правильном аналоге packages.altlinux.org Eugene Prokopiev 2021-02-12 17:25 ` Anton Farygin 2021-02-12 18:02 ` Mikhail Novosyolov [this message] 2021-02-13 7:39 ` Anton Farygin 2021-02-13 9:11 ` Vladimir D. Seleznev 2021-02-13 10:24 ` Anton Farygin 2021-02-09 5:20 ` [devel] https://repology.org/ Leonid Krivoshein 2021-02-10 10:25 ` Mikhail Novosyolov 2021-02-12 10:12 ` Mikhail Novosyolov 2021-02-07 17:28 ` Michael Shigorin 2021-02-08 8:41 ` Anton Farygin 2021-02-07 16:57 ` Sergey Y. Afonin 2021-02-07 17:19 ` Dmitry V. Levin 2021-02-07 17:23 ` [devel] inheritance check и missing last changelog entry Sergey Y. Afonin 2021-02-08 17:44 ` Sergey Y. Afonin 2021-02-08 17:48 ` Dmitry V. Levin 2021-02-09 11:48 ` Sergey Afonin 2021-02-09 12:01 ` Антон Мидюков 2021-02-09 12:23 ` Sergey Afonin 2021-02-09 12:38 ` Sergey Afonin 2021-02-09 12:56 ` Dmitry V. Levin 2021-02-09 13:02 ` Sergey Afonin 2021-02-09 11:58 ` Michael Shigorin 2021-02-09 12:25 ` Sergey Afonin 2020-08-19 19:04 ` [devel] https://repology.org/ Leonid Krivoshein 2020-08-20 3:07 ` Anton Farygin 2021-02-06 12:26 ` Sergey Y. Afonin 2021-02-06 16:08 ` Michael Shigorin 2021-02-06 16:09 ` Dmitry V. Levin 2020-08-20 6:22 ` Sergey Afonin 2021-02-08 7:56 ` Sergey V Turchin 2021-02-08 17:00 ` Sergey Y. Afonin 2020-08-19 8:44 ` Alexey V. Vissarionov 2020-08-19 8:49 ` Anton Farygin 2020-08-19 8:54 ` Alexey V. Vissarionov 2020-08-19 9:07 ` Anton Farygin 2020-08-19 9:19 ` Dmitry V. Levin 2020-08-19 9:27 ` Anton Farygin 2020-08-19 9:27 ` Andrey Savchenko 2020-08-19 11:06 ` Michael Shigorin 2020-08-19 12:09 ` Andrey Savchenko 2020-08-19 12:50 ` Michael Shigorin 2020-08-19 14:14 ` Andrey Savchenko 2020-08-19 9:26 ` Alexey V. Vissarionov 2020-08-19 11:01 ` Michael Shigorin 2020-08-19 11:09 ` Anton Farygin 2020-08-19 11:35 ` Sergey V Turchin 2020-08-19 11:37 ` Anton Farygin 2021-02-06 16:27 ` Mikhail Novosyolov 2020-08-19 8:53 ` Anton Farygin 2020-08-19 10:56 ` Michael Shigorin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=03dad1a3-d45e-667e-4807-cfb847d7a970@rosalinux.ru \ --to=mikhailnov@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git