ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Anton Farygin <rider@basealt.ru>
To: devel@lists.altlinux.org
Subject: Re: [devel] altrepodb - архитектура БД
Date: Thu, 1 Apr 2021 15:17:18 +0300
Message-ID: <2d65a61b-6272-4918-77f8-0853048a3240@basealt.ru> (raw)
In-Reply-To: <10866469-c138-402e-4362-64aed07ee5af@altlinux.org>

Спасибо.

а какая Cardinality у поля dpname в таблице Depends ?
Может быть стоит сделать её LowCardinality ?

Вопрос не простой, поиск по этому полю активно будет использоваться в 
сложных запросах, анализирующих зависимости исходных и бинарных пакетов. 
Позволит ли это изменение нам уменьшить объём данных и увеличить 
скорость работы с ними.


CREATE TABLE Depends
(
     pkg_hash   UInt64,
     dp_name    String,
     dp_version String,
     dp_flag    UInt32,
     dp_type    Enum8('require' = 1, 'conflict' = 2, 'obsolete' = 3, 
'provide' = 4)
) ENGINE = MergeTree ORDER BY (pkg_hash, dp_type, dp_name, dp_version, 
dp_flag) PRIMARY KEY pkg_hash;


On 01.04.2021 12:41, Danil Shein wrote:
>
> Обновлённая структура БД во вложении
>
> 31.03.2021 14:06, Anton Farygin пишет:
>> On 31.03.2021 13:58, Danil Shein wrote:
>>> Поле pkgset_class добавлю вво вложенную структуру pkgset_kv c ключом 
>>> 'class'.
>>>
>>> Выбрать его можно будет как и другие значения в запросе вида:
>>>
>>>> select *,pkgset_kv.v[indexOf(pkgset_kv.k,'type')] as pkgset_class 
>>>> from PackageSetName
>>>
>>> В таблице PackageSetName колонка pkgset_name переименована в 
>>> pkgset_nodename
>>
>>
>> Сбрось сюда, пожалуйста, новую структуру целиком.
>>
>>
>>>
>>>
>>> 31.03.2021 10:40, Anton Farygin пишет:
>>>> Данил, есть предложение добавить в PackageSetName ещё enum поле 
>>>> pkgset_class, в который записывать такие варианты: 
>>>> 'repository','iso','rootfs','squashfs','installer'
>>>>
>>>> Может быть вместо enum использовать lowcardinality string.
>>>>
>>>> Для того, что бы идентифицировать наборы пакетов ещё и типам.
>>>> т.к. этот class будет использоваться довольно часто, то лучше его в 
>>>> nested структуру не класть.
>>>>
>>>> Ну и было бы неплохо обновить версию с последними исправлениями.
>>>>
>>>> On 29.03.2021 15:57, Danil Shein wrote:
>>>>> Добрый день, коллеги!
>>>>>
>>>>> В настоящее время идёт активная переработка altrepodb - решения 
>>>>> реализующее загрузку в единую БД на ClickHouse информации о 
>>>>> структуре и содержании всех репозиториев и тасков для последующего 
>>>>> анализа, хранения истории и т.п.
>>>>>
>>>>> Сейчас репозитории и таски грузятся в БД, анализ и получение 
>>>>> данных работает через сервер altrepo_server (JSON API).
>>>>>
>>>>> На текущий момент переделана базовая схема БД для загрузки 
>>>>> репозиториев.
>>>>> Структура репозитория сохраняется в БД в виде дерева, пакеты 
>>>>> привязываются к соответствующим веткам.
>>>>>
>>>>> Новая структура таблиц для хранения информации о тасках в процессе 
>>>>> разработки.
>>>>>
>>>>> SQL файл во вложении.
>>>>>
>>>>> Обсуждение, замечания и предложения приветствуются.
>>>>>
>>>>> Спасибо!
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Devel mailing list
>>>>> Devel@lists.altlinux.org
>>>>> https://lists.altlinux.org/mailman/listinfo/devel
>>>>
>>>>
>>>> _______________________________________________
>>>> Devel mailing list
>>>> Devel@lists.altlinux.org
>>>> https://lists.altlinux.org/mailman/listinfo/devel
>>>
>>
>> _______________________________________________
>> Devel mailing list
>> Devel@lists.altlinux.org
>> https://lists.altlinux.org/mailman/listinfo/devel
> -- 
> Данил Шеин / Danil Shein
>
> E-mail:dshein@basealt.ru
>
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel




  parent reply	other threads:[~2021-04-01 12:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-29 12:57 Danil Shein
2021-03-31  7:40 ` Anton Farygin
2021-03-31 10:58   ` Danil Shein
2021-03-31 11:06     ` Anton Farygin
2021-04-01 12:17         ` Anton Farygin [this message]
2021-04-01 13:15           ` Danil Shein
2021-04-01 15:31             ` Anton Farygin
2021-04-08  5:13                 ` Anton Farygin

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=2d65a61b-6272-4918-77f8-0853048a3240@basealt.ru \
    --to=rider@basealt.ru \
    --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