
Gitlab
25.08.2018
03:07:08

Google

Gitlab
25.08.2018
04:41:51

Денис
25.08.2018
05:34:40
парни, приветствую. подскажите, для даных типа дата-значение, в ноке же кликхаус? можно узнать преимущества, перед тем же инфлюксом или какие еще есть варианты? мне надо хранить статистику с 10к устройств. количество данных на каждое примерно 5-6 паарметров, срок - полгода. может посоветуете?

Andrey
25.08.2018
05:39:59
Память, диски,
заточенность на аналитику.

Денис
25.08.2018
05:41:10
как раз начал читать маны на него, потому как мускул это жопа для таких задач, да и в целом, прихожу к выводу, что мускул для новичков
думал в сторону эластика, но джава...

Andrey
25.08.2018
05:41:36
mysql очень печален для timesiries данных.
пример - Заббикс
ну и плюс если ожидается рост, то у инфлюкса кластер за деньги
т.е. отказоустойчивости из коробки не будет

Денис
25.08.2018
05:44:13
о как, тогда курим яндекс кликхаус, вроде прям хорошо отзываются о нем, да и нок) делается опытными парнями)))
спасибо, Андерей

Google

Andrey
25.08.2018
05:44:46
да, у нас был инфлюкс. Перехали на CH
в CH надо очень внимательно подходить к ключу при создании таблиц
от этого зависит объём данных, которые он лопатит при запросах

Денис
25.08.2018
05:46:22
хм, тоесть не делать излишне универсальные?
если надо число длиной 2 знака, то так и делать?

Andrey
25.08.2018
05:47:12
я не про это)

Денис
25.08.2018
05:47:16
или я еще не верными категориями мыслю)
я тока начал читать )))

Andrey
25.08.2018
05:47:33
лучше всего сжимаются целые и строки
числа с плавающей точкой сжимаются очень плохо
поэтому, измерения лучше приводить к целым
н-р хранить не килограммы, а граммы

Денис
25.08.2018
05:48:49
учту, очень полезнео замечание
собираюсь оправшивать беспроводное оборудвание, та мтаких данных по минимумму, айпи и маки собираюсь в целое чсило приводить
а как лучше, его на отдельный сервер ставить?

Andrey
25.08.2018
05:51:19

Денис
25.08.2018
05:51:38
да, тем более данных будет много

Andrey
25.08.2018
05:51:38
ибо бинарные

Google

Денис
25.08.2018
05:51:54

Andrey
25.08.2018
05:52:08
то что в скобках.
Надо хорошо подумать, каким его сделать.
по нему фильтруются запросы в where

Денис
25.08.2018
05:53:01
для начала надо понять принцип мне) пока не имел дела с такими бд

Andrey
25.08.2018
05:53:21

Gitlab
25.08.2018
06:04:17

Dmitry
25.08.2018
06:09:02
В CH нет индексов в том понимании, что в mysql
для начала там нужно понять, что это колоночная база
как greenplum или vertica
таблицы хранятся не строками, а колонками
из этого два профита
если в таблце 100 колонок, а нужно только две -- размотаются только две
и колонка жмется гораздо сильнее, чем строка
так как часто там идут повторяющиеся данные или вообще относительно малое количество состояний
условно говоря - CH проще поднять колонку и профильтровать ее, чем бегать по индексу
и из этого два других свойства

Google

Dmitry
25.08.2018
06:12:04
нормально работает на шпинделях
из-за последовательного чтения
и очень быстро в себя засасывает данные
одна нода на среднем железе ~2.5M записей в секунду
и еще из полезных свойств как хранилище -- изначальное партиционированиие данных
решает вопрос с чисткой
но - CH сильно специализированная система

Ivan
25.08.2018
06:14:12

Dmitry
25.08.2018
06:14:19
по факту
он быстро пишет себе файл на вставку
потом при случае делает merge
LSM там

Ivan
25.08.2018
06:14:44
Да, но вставляет-то позже

Dmitry
25.08.2018
06:14:47
нет
вставляет сразу
но он не любит мелких вставок
то есть лучше раз в секунду влепить миллион строк
чем тысячу раз по тысячу

Ivan
25.08.2018
06:15:46
Ты имеешь ввиду, этот файл уже часть бд, но он его потом аппендит в главный

Dmitry
25.08.2018
06:15:50
поэтому ему нужен буфферизатор

Google

Dmitry
25.08.2018
06:16:09
LSM - сама база состоиит как бы из слоев
каждый следующий утрамбован плотнее, чем предыдущий
доступны все данные
на чтение
просто они могут занимать больше места на диске
в CH, вроде, до 9 уровней

Gitlab
25.08.2018
06:26:15

Денис
25.08.2018
06:27:39
поэтому ему нужен буфферизатор
Дим, подскажи пожалуйста, что подразумевается по буферизатором? напримре, есть скрипт опроса, либо активное подключение с устройства, надо собирать данные раз в 15 минут, например, а потом их сливать в СН?

Gitlab
25.08.2018
06:37:11

Dmitry
25.08.2018
06:38:11
буферизатор -- смотри наш chwriter