ALT Linux Team development discussions
 help / color / mirror / Atom feed
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


  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