Size: a a a

ClickHouse не тормозит

2020 August 04

D

Denis in ClickHouse не тормозит
сейчас, кстати, получение всех доменов из партиции и запись их в Redis выглядят вот так (ужаснитесь со мной тоже):
[domain_letter: a] Prefill domains (1411.4 sec) | Count: 9459731
[domain_letter: b] Prefill domains (1255.1 sec) | Count: 8424206
[domain_letter: c] Prefill domains (1580.8 sec) | Count: 10660824


час потратили только на то, чтоб получить данные 3х партиций из 36 🙂 И это там запросы уже оптимизированы (`select id, domain from domain_letter_[буква] where id > :last_id limit 5000`)
источник

D

Denis in ClickHouse не тормозит
Dj
Сохраняйте не меняя старые записи, не вижу проблемы если честно...
можно подробнее? как тогда получить все домены, которые были изменены позавчера (сменён ns)? учитывая что сегодня они могли снова сменится - как схлопнуть это изменение?
источник

D

Dj in ClickHouse не тормозит
Denis
можно подробнее? как тогда получить все домены, которые были изменены позавчера (сменён ns)? учитывая что сегодня они могли снова сменится - как схлопнуть это изменение?
Дайте пример данных
источник

D

Dj in ClickHouse не тормозит
Insert select, или сгенерьте из numbers()
источник

D

Denis in ClickHouse не тормозит
вот прямо живые данные в pg сейчас
источник

D

Denis in ClickHouse не тормозит
только без учета того, что что-то поменяться могло - там только 1 раз парсинг целиком прошел у меня
источник

K

Kid in ClickHouse не тормозит
Алексей Артамонов
в ЗК сделал getAcl /clickhouse а там sasl и джайдест, по этой причине КХ не может законнектится к ЗК
zookeeper.sasl.client
Set the value to false to disable SASL authentication. Default is true.

https://zookeeper.apache.org/doc/r3.5.2-alpha/zookeeperProgrammers.html
источник

D

Denis in ClickHouse не тормозит
из того что хочется уже сейчас поанализировать и что я запихал в pg, это вот такой запрос:
SELECT domain FROM domain_letter_{}
WHERE tld_id = :tld_id AND ARRAY[:ns] <@ name_servers
AND (updated_at = :ddate OR created_at = :ddate)
LIMIT 100


который, к слову, выполняется примерно вечность
источник

D

Denis in ClickHouse не тормозит
получить первые 100 доменов из партиции по букве с указанной доменной зоной, указанными name servers, которые были обновлены или созданы за выбранную дату
источник

D

Dj in ClickHouse не тормозит
Denis
вот прямо живые данные в pg сейчас
Ок, как распарсю картинку так и кину запрос сразу )
источник

D

Denis in ClickHouse не тормозит
да даже не сколько запрос нужен, расскажите как это вот всё организовать в КХ )
источник

D

Denis in ClickHouse не тормозит
я не понимаю как мне складывать нужно это туда, чтоб можно было делать такие запросы как я показал выше
источник

D

Denis in ClickHouse не тормозит
не обессудьте, но по сути в этом суть ))))
источник

D

Denis in ClickHouse не тормозит
это не лучшая задача чтоб поиграться с КХ получается?
источник

D

Dj in ClickHouse не тормозит
упростите ваш пример входных данных, и объясните что именно вы хотите на выходе с этого входа
например, что значит "обновлены"
>
получить первые 100 доменов из партиции по букве с указанной доменной зоной, указанными name servers, которые были обновлены или созданы за выбранную дату

>
источник

D

Dj in ClickHouse не тормозит
когда обновлен список NS? (появился новый НС, удалился старый НС, изменился порядок НС)?
источник

D

Denis in ClickHouse не тормозит
когда обновляются NS это значит, что там хотя бы один из них или заменяется другим или добавляются новые, порядок всегда строго отсортирован (в парсере сортировка)

по входным даным: каждый день есть выгрузка всех доменов по доменной зоне, которая состоит из списка
example.com = [ns1, ..., nsX]

если домена не было в базе в этот момент, то нужно добавить его с created_at = текущий день;
если в базе есть домен,  в выгрузке не было - значит нужно поставить этому домену в базе в поле deleted_at = текущий день;
если изменились NS - значит нужно изменить их в базе и поставить updated_at = текущий день;
и если домен уже был удален когда-то (deleted_at не null), а он снова появился в выгрузке - нужно поставить deleted_at = null, created_at = текущий день, ну и скорее всего сменить NS
источник

D

Denis in ClickHouse не тормозит
логика такая, но как это всё организовать в КХ, чтобы не острелить себе все конечности - я не понимаю, но очень хочется разобраться и начать уже хоть где-то применять КХ, а то футболка от самого Алексея есть, ношу её, но похвастаться инстансом в проде (пускай и для хобби) - не могу
источник

D

Dj in ClickHouse не тормозит
Denis
получить первые 100 доменов из партиции по букве с указанной доменной зоной, указанными name servers, которые были обновлены или созданы за выбранную дату
и все запросы будут с фильтрацией по дате и префиксу домена?
источник

D

Denis in ClickHouse не тормозит
после загрузки данных - большинство да, вот тот пример запроса что я привел выше - это первое что мне хочется проанализировать (правда, LIMIT 100 там стоит просто потому что pg не вывозит, вообще мне все домены получать хочется)
источник