@clickhouse_ru

Страница 540 из 723
Олег Иванович
27.05.2018
00:34:39
малость тупой вопрос ... могу ли я хранить в КХ данные по финансовым транзакциям, и подходит ли КХ для этой задачи?

Wolf
27.05.2018
04:17:53
наверно неплохо будут храниться данные с биржи )

Олег Иванович
27.05.2018
04:18:49
... я почему-то думаю, что тут есть какие-то подвохи ... хотелось б еще увидеть ответ от разрабов, на этот вопрос

Google
Wolf
27.05.2018
04:19:57
да нет подвохов , если ограничения кх вас ничем не смущают, надежность хранения высокая

Олег Иванович
27.05.2018
04:21:18
ну, сейчас, единственным ограничением может быть только UPDATE/DELETE но, как говорил уже кто-то тут в чате, в Q2 уже зарелизят

Wolf
27.05.2018
04:23:53
ну там не такие апдейты и делеты как в обычных базах )

да и инстерты тут тоже не такие как везде

Олег Иванович
27.05.2018
04:24:28
про это вкурсе

Олег Иванович
27.05.2018
07:10:28
Stanislav
27.05.2018
07:54:46
припоминаю хранение денежной информации в виде рубли*10^4 (требовались сотые доли копеек для последующей обработки).

Kirill
27.05.2018
07:58:42
малость тупой вопрос ... могу ли я хранить в КХ данные по финансовым транзакциям, и подходит ли КХ для этой задачи?
Хранить можете, нет, если у вас любая финансовая транзакция это 1 операция (что далеко не факт) то и жить с этим как-то вы сможете. А вообще нет, не подходит, как минимум у КХ нет транзакций.

Anton
27.05.2018
10:34:47
У кх нет гарантированной точки времени когда данные консистентны. "Когда-нибудь" мало подходит для критичных бизнес данных. Журнал операций с транзакциями да, можно. Логи по факту

Wolf
27.05.2018
13:36:58
а нет случаем под убунту 16.04 репозитория с chproxy ?

Daniel
27.05.2018
17:46:46
Недавно писал, что clickhouse-copier, если судить по докам, при попытке решардировать данные в уже существующем кластере удалит вообще все партиции с данными. Проводил тесты - всё так и получилось)). Хотелось бы уточнить у тех, кто, может, делал перешардирование кластера при добавлении нового шарда - как избежать такой проблемы? И у представителей разработки - clickhouse-copier вообще поддерживает решардирование данных по уже существующему кластеру, чтобы задействовать вновь добавленный шард?

Google
Anton
27.05.2018
19:11:35
Если да, то не получится

Daniel
27.05.2018
19:18:55
Вы пытаетесь решардинг сделать в уже существующей бд в рамках одной таблицы?
Да. Не хотелось бы делать дубликаты таблиц с новыми названиями и отключать клиентов, переписывать логику ПО на новые имена таблиц только ради добавления нового шарда...

Если да, то не получится
Спасибо за ответ. Мы нашли другое решение для себя, не очень красивое, но eventually сбалансированное и главне рабочее Думал может с копиером что-то не так делаю...

Anton
27.05.2018
19:21:47
Про удаление данных в доке описано даже. Копир я воспринимаю скорее как средство развертывания копии кластера, с неким числом данных

Daniel
27.05.2018
19:23:51
Про удаление данных в доке описано даже. Копир я воспринимаю скорее как средство развертывания копии кластера, с неким числом данных
Ага. Но также написано про решардинг, кроме этого в гите в issue к старым командам решардинга самим Clickhouse писали что-то вроде «это сломано, используйте копир». Поэтому и была надежда)

Felixoid
27.05.2018
20:07:02
для удобства может симлинк из etc
Боюсь, я забыл закрыть свой pr и Лёша его принял. Так что лучше будет его вычистить, наверное. Ну и по поводу симлинков, мне лично не совсем понятно, как их правильно ставить, ведь data dir может быть где угодно и всё равно нужен рут для того, чтобы это сделать. ?

Evgeny
28.05.2018
03:32:58
достаточно забавное поведение :) select 100; SELECT 100 ┌─100─┐ │ 100 │ └─────┘ 1 rows in set. Elapsed: 0.001 sec. :) select 0100; SELECT 64 ┌─64─┐ │ 64 │ └────┘ 1 rows in set. Elapsed: 0.001 sec. :)

Anton
28.05.2018
04:40:14
достаточно забавное поведение :) select 100; SELECT 100 ┌─100─┐ │ 100 │ └─────┘ 1 rows in set. Elapsed: 0.001 sec. :) select 0100; SELECT 64 ┌─64─┐ │ 64 │ └────┘ 1 rows in set. Elapsed: 0.001 sec. :)
Вполне понятное. Автоматическое приведение типов данных. Есть у кх такая фича. Как и отсутствие ошибки при переполнении поля Int/UInt

Anton
28.05.2018
04:42:26
Бинарный вид видимо

Это как с ip адресами в ping

Alexey
28.05.2018
04:44:08
восьмеричная система счисления же

Evgeny
28.05.2018
05:02:35
да, что и не совсем ожидаешь хотя, возможно, это где-то в документации есть

Mike
28.05.2018
06:58:07
А я правильно понимаю, что чтобы приджойнить несколько таблиц, нужно иерархически плодить select from ( (select from)any left join (select from) using) any left join (select from) using ? Можно ли плоско сделать? select from () any left join () any left join () using

Уже на две таблицы в джойне — под 50 строк запрос, дальше просто страшно приджойнивать ))

antuan
28.05.2018
07:12:58
Денормализация :)

Рулон
28.05.2018
07:26:16
Привет, а как можно почистить clickhouse-server.err.log

Wolf
28.05.2018
07:26:57
echo > clickhouse-server.err.log

ну или удалить его и перезапустить кх

Google
Felixoid
28.05.2018
07:39:54
да, что и не совсем ожидаешь хотя, возможно, это где-то в документации есть
мне вот страннее, что КХ знает нотацию "010", "0x10", но вот о "0b10" не догадывается =)

Wolf
28.05.2018
07:40:58
в программировании с с++ сказать честно не помню чтобы испольховал бинарную нотацию, вероятно это как то связано

хотя могу ошибаться и просто они никогда особо не была нужны

Felixoid
28.05.2018
07:42:23
:) select 010 format TSKV SELECT 8 FORMAT TSKV 8=8 1 rows in set. Elapsed: 0.005 sec. select 0x10 format TSKV SELECT 16 FORMAT TSKV 16=16 1 rows in set. Elapsed: 0.004 sec. select 0b10 format TSKV Syntax error: failed at position 8: select 0b10 format TSKV

Mike
28.05.2018
07:42:57
Денормализация :)
Так там агрегаты, типа есть сайты, а есть много колонок агрегатов: количество того, количество сего, и оно в разных таблицах. Даже если в одной — нужно было бы ее с собой джойнить, кажется

Wolf
28.05.2018
07:43:49
ну я раньше закончил на нем программировать, ну думаю отсюда и корни растут.

antuan
28.05.2018
07:45:05
Рулон
28.05.2018
07:56:00
Скажите пожалуйста, а такое поведение корректно? Есть зукипер кластер, а 3 нодах. Я останавливаю службу зукипера (лидер) И сразу же в кликхаул ловлю DB::Exception: ZooKeeper session has been expired.. как только появляется новый лидер зукипер (ок 20 сек ), ошибка пропадает

Timur
28.05.2018
08:24:12
rate

Const
28.05.2018
08:25:57
всем привет, есть ATTACH PARTITION и DETACH PARTITION, а можно ли заменить партицию? например, для изменения данных я бы подготовил измененную партицию, а потом заменил ею существующую. надо чтобы замена атомарно сработала(или не сработала)

Timur
28.05.2018
08:27:20
Добрый день, есть таблица с событиями, есть поле datetime, есть ли возможность посчитать rate ( событие в секунду/минуту) из CH? Так же есть другой кейс: есть startdatetime, duration. Нужно посчитать сколько МАКСИМАЛЬНО активных (ПИКИ) событий было в момент времени с группировокой по минуте/часу.

Timur
28.05.2018
08:37:43
Rate считается легко, туплю(еще не проснулся)

а вот с пиками активных событий не все так просто, в минуте может быть 3 события а все по времени они не пересеклись, соответсвенно пик в этом отрезке времени будет 1

Леонид
28.05.2018
09:42:21
День добрый всем. Кто-нибудь работал с движком MySQL? Есть особенности?

Nikita
28.05.2018
09:42:53
А подскажите, были какие-нибудь статьи о том какими файловыми системами лучше пользоваться для кликхауса? Бенчи какие-нибудь.

Wolf
28.05.2018
09:44:19
в целом на 2тб данных нормально работает на дефолтном ext4 без тюннинга

Google
Евгений
28.05.2018
09:48:00
А подскажите, были какие-нибудь статьи о том какими файловыми системами лучше пользоваться для кликхауса? Бенчи какие-нибудь.
Яндекс советует Ext4 — самый проверенный вариант, стоит указывать опции монтирования noatime,nobarrier

Eugene
28.05.2018
10:14:27
hdd/ssd ? или не критично?

Yuran
28.05.2018
10:15:10
Яндекс советует Ext4 — самый проверенный вариант, стоит указывать опции монтирования noatime,nobarrier
nobarrier? Seriously? Барьеры записи позволяют поддерживать согласованность журнала и данных на диске, я бы не стал это отключать.

Есть опыт, когда так пол раздела превращалось в тыкву и многие файлы даже в lost+found потом отсутствовали :).

Wolf
28.05.2018
10:16:25
hdd/ssd ? или не критично?
зависит от нагрузки у нас хорошо крутится и на хдд

Yuran
28.05.2018
10:17:53
hdd/ssd ? или не критично?
Правда зависит от задач. По идее, если требуется относительно редкое чтение, в кликхаусе можно хранить на одной машине десятки (если не сотни) терабайт, поэтому HDD в таких условиях намного предпочительней, поскольку он намного дешевле

Олег
28.05.2018
10:18:07
nobarrier? Seriously? Барьеры записи позволяют поддерживать согласованность журнала и данных на диске, я бы не стал это отключать.
У Яндекса, который это советует, небось отказоустойчивость уровнем выше расположена — если что не так с сервером или диском, то его выкидывают и настраивают новый. А nobarrier для производительности.

Yuran
28.05.2018
10:18:56
У Яндекса, который это советует, небось отказоустойчивость уровнем выше расположена — если что не так с сервером или диском, то его выкидывают и настраивают новый. А nobarrier для производительности.
В принципе, да, репликация решает эту проблему, но всё равно неприятно, когда нужно полностью ресинкать всю стойку, если питание моргнуло, например.

Ivan
28.05.2018
10:33:37
Господа, есть ли какие-либо варианты ротаций для query log? Чет я все бьюсь над проблемой того, что он разъедается до немыслимых размеров

Ivan
28.05.2018
10:35:29
я имею в виду, что эта таблица системная и в ней можно это настроить?

Alex
28.05.2018
10:36:43
Ага, по дефолту месяц, но можно и настроить.

Алексей
28.05.2018
10:37:10
данные только придется переливать

или уже можно нет ?

Alex
28.05.2018
10:37:31
Придётся

Точнее должна новая таблица создаться.

А старая переименуется с суффиксом

Gennady
28.05.2018
10:39:23
У Яндекса, который это советует, небось отказоустойчивость уровнем выше расположена — если что не так с сервером или диском, то его выкидывают и настраивают новый. А nobarrier для производительности.
По поводу nobarrier, если в приложении используется полноценный fsync, а не fdatasync, проблем с потерей данных не должно быть. Также проблем не должно быть, если используется контроллер дисков с политикой кеширования WriteBack и с батарейный кешем.

Google
Ivan
28.05.2018
10:39:34
Ага, по дефолту месяц, но можно и настроить.
https://clickhouse.yandex/docs/ru/operations/server_settings/settings/#part_log

это не то?

Alex
28.05.2018
10:40:08
https://clickhouse.yandex/docs/ru/operations/server_settings/settings/#query_log

part_log это лог операций с кусками в MergeTree-таблицах

Кстати, за кастомное партиционирование в query_log спасибо @kshvakov :)

Ivan
28.05.2018
10:41:28
Кстати, за кастомное партиционирование в query_log спасибо @kshvakov :)
Если структура журнала запросов изменилась при обновлении сервера ClickHouse, то таблица со старой структурой переименовывается, а новая таблица создается автоматически.

Я задал параметры партицирования

но чет новая таблица не создалась а старая не переименовалась

Alexey
28.05.2018
10:47:32
что посоветуете делать с периодическими ошибками: 2018.05.28 13:40:09.227034 [ 15 ] <Error> SspStats..inner.SspDealLogAggr_local (StorageReplicatedMergeTree): DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Timeout: connect timed out: 10.136.14.220:9009, e.what() = Timeout

Alex
28.05.2018
10:48:38
но чет новая таблица не создалась а старая не переименовалась
Ага, значит недоработано. Можно вручную переименавать: rename table system.query_log to system.query_log_0, а новая таблица с новым партиционированием автоматически создастся.

Alex
28.05.2018
11:02:17
А какая версия у вас?

что посоветуете делать с периодическими ошибками: 2018.05.28 13:40:09.227034 [ 15 ] <Error> SspStats..inner.SspDealLogAggr_local (StorageReplicatedMergeTree): DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Timeout: connect timed out: 10.136.14.220:9009, e.what() = Timeout
Проблемы при передаче кусков между репликами. Попробуйте подиагностировать сеть стандартными способами (может быть забивается полоса при передаче данных для запросов, или ещё что).

Ivan
28.05.2018
11:22:05
Alex
28.05.2018
11:24:07
Это было добавлено в 1.1.54378

Ivan
28.05.2018
11:24:57
А насколько оно нормально обновляется?

Страница 540 из 723