Size: a a a

ClickHouse не тормозит

2020 August 03

DC

Denny Crane (I don't... in ClickHouse не тормозит
нет, невозможно
источник

K

Kid in ClickHouse не тормозит
ок, спасибо)
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Ivan Panteleev
Ваша правда, переделал: SELECT * FROM odbc('DSN=postgres','analytics','shop'). Итог тот же.
в смысле итог? не работает?
источник

IP

Ivan Panteleev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
в смысле итог? не работает?
да, в конце та же ошибка
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Ivan Panteleev
да, в конце та же ошибка
и что там опять кавычки как раньше?   FROM "analytics.shop" ?
источник

IP

Ivan Panteleev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
и что там опять кавычки как раньше?   FROM "analytics.shop" ?
нет, кавычки "analytics"."shop", я приложил выше трейс. но после запроса опять
<Error> ODBCHandler: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Not found: ODBC (version 19.17.6.36
источник

ПП

Павел Прохоров... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
https://clickhouse.tech/docs/ru/engines/table-engines/mergetree-family/replication/

Блоки данных дедуплицируются. При многократной записи одного и того же блока данных (блоков данных одинакового размера, содержащих одни и те же строчки в одном и том же порядке), блок будет записан только один раз. Это сделано для того, чтобы в случае сбоя в сети, когда клиентское приложение не может понять, были ли данные записаны в БД, можно было просто повторить запрос INSERT. При этом не имеет значения, на какую реплику будут отправлены INSERT-ы с одинаковыми данными. Запрос INSERT идемпотентный. Параметры дедуплицирования регулируются настройками сервера merge_tree
Спасибо за наводку, проблема решена!

Кому интересно - вот настройки дедупликации для MergeTree в MergeTreeSettings.h
replicated_deduplication_window, 100
"How many last blocks of hashes should be kept in ZooKeeper (old blocks will be deleted)."
replicated_deduplication_window_seconds, 7 * 24 * 60 * 60 /* one week */
"Similar to \"replicated_deduplication_window\", but determines old blocks by their lifetime. Hash of an inserted block will be deleted (and the block will not be deduplicated after) if it outside of one \"window\". You can set very big replicated_deduplication_window to avoid duplicating INSERTs during that period of time."
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Ivan Panteleev
нет, кавычки "analytics"."shop", я приложил выше трейс. но после запроса опять
<Error> ODBCHandler: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Not found: ODBC (version 19.17.6.36
а как у вас описан driver в odbc.ini ?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Павел Прохоров
Спасибо за наводку, проблема решена!

Кому интересно - вот настройки дедупликации для MergeTree в MergeTreeSettings.h
replicated_deduplication_window, 100
"How many last blocks of hashes should be kept in ZooKeeper (old blocks will be deleted)."
replicated_deduplication_window_seconds, 7 * 24 * 60 * 60 /* one week */
"Similar to \"replicated_deduplication_window\", but determines old blocks by their lifetime. Hash of an inserted block will be deleted (and the block will not be deduplicated after) if it outside of one \"window\". You can set very big replicated_deduplication_window to avoid duplicating INSERTs during that period of time."
ойойой. Не трогайте это никогда.

Вам нужно либо добавить id инсерта в инсерт, либо просто выключить во время втсавки insert_deduplicate=0
источник

ПП

Павел Прохоров... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
ойойой. Не трогайте это никогда.

Вам нужно либо добавить id инсерта в инсерт, либо просто выключить во время втсавки insert_deduplicate=0
нет, я точно трогать не буду
источник

ПП

Павел Прохоров... in ClickHouse не тормозит
просто нашел где и сколько
источник

ПП

Павел Прохоров... in ClickHouse не тормозит
да, добавлю колонку
источник

IP

Ivan Panteleev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
а как у вас описан driver в odbc.ini ?
odbcinst:
[PostgreSQL Unicode]
Description=PostgreSQL ODBC driver (Unicode version)
Driver=psqlodbcw.so
Setup=psqlodbcw.so
Debug=0
CommLog=1
UsageCount=1

odbc.ini:
[DEFAULT]
Driver = postgres

[postgres]
Description         = PostgreSQL connection to postgresql
Driver              = PostgreSQL Unicode
Protocol            = 10
ReadOnly            = No
RowVersioning       = No
ShowSystemTables    = No
Servername          = foo.bar
Database            = analytics
Port                = 5432
USERNAME            = ch_dict
PASSWORD            = verystrongpass
источник

IP

Ivan Panteleev in ClickHouse не тормозит
Ivan Panteleev
odbcinst:
[PostgreSQL Unicode]
Description=PostgreSQL ODBC driver (Unicode version)
Driver=psqlodbcw.so
Setup=psqlodbcw.so
Debug=0
CommLog=1
UsageCount=1

odbc.ini:
[DEFAULT]
Driver = postgres

[postgres]
Description         = PostgreSQL connection to postgresql
Driver              = PostgreSQL Unicode
Protocol            = 10
ReadOnly            = No
RowVersioning       = No
ShowSystemTables    = No
Servername          = foo.bar
Database            = analytics
Port                = 5432
USERNAME            = ch_dict
PASSWORD            = verystrongpass
с абсолютным путем аналогично
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Ivan Panteleev
odbcinst:
[PostgreSQL Unicode]
Description=PostgreSQL ODBC driver (Unicode version)
Driver=psqlodbcw.so
Setup=psqlodbcw.so
Debug=0
CommLog=1
UsageCount=1

odbc.ini:
[DEFAULT]
Driver = postgres

[postgres]
Description         = PostgreSQL connection to postgresql
Driver              = PostgreSQL Unicode
Protocol            = 10
ReadOnly            = No
RowVersioning       = No
ShowSystemTables    = No
Servername          = foo.bar
Database            = analytics
Port                = 5432
USERNAME            = ch_dict
PASSWORD            = verystrongpass
>Driver = postgres

это неправльно,  нужен полный путь в либе .so
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
полный путь к driver /usr/lib..../

DRIVER = /usr/local/lib/libmyodbc5w.so
обязателен!
https://clickhouse.tech/docs/en/operations/table_engines/odbc/
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Ivan Panteleev
с абсолютным путем аналогично
вот тут полный путь  нужен Driver              = PostgreSQL Unicode
источник

IP

Ivan Panteleev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
вот тут полный путь  нужен Driver              = PostgreSQL Unicode
да, я понял, уже делал, но поменял еще раз. Но не помогло
источник

IP

Ivan Panteleev in ClickHouse не тормозит
Ivan Panteleev
да, я понял, уже делал, но поменял еще раз. Но не помогло
смущает то, что все работает через isql, + я вижу, что до постгреса долетают запросы для парсинга полей в таблице
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Ivan Panteleev
смущает то, что все работает через isql, + я вижу, что до постгреса долетают запросы для парсинга полей в таблице
isql работает в вашем окружении, odbcbridge форкается и не видит драйвера чаще всего (зависит от дистрибутива линукса)
источник