172 похожих чатов

Люди, подскажите пожалуйста, есть одна таблица в postgres, колонок из

20-30, куда будет сыпаться относительно много записей, причём около 3/4 колонок в каждой записи будет заполнено нулями. Как оптимизировать подобное в плане экономии места и памяти?

17 ответов

14 просмотров

Записи это временные ряды?

А какой цэлевой смысл в полях, которые будут заполнены нулями?

Твой Знакомый- Автор вопроса
Ilya Anfimov
А какой цэлевой смысл в полях, которые будут запол...

Там телеметрия. Смысл в неподключенном (пока или вообще) оборудовании.

Твой Знакомый
Там телеметрия. Смысл в неподключенном (пока или в...

То есть это не числовое значение "0", а отсутствие данных. Такие вещи в SQL-базах принято обозначать значением Null. Заодно оно займёт 1 бит на каждое значение на диске...

Твой Знакомый- Автор вопроса
Ilya Anfimov
То есть это не числовое значение "0", а отсутствие...

А можно чтобы даже бита не занимало? Чтобы фактически были записаны только существующие значения, Индексы по этим колонкам вроде не нужны.

Твой Знакомый- Автор вопроса
Ilya Anfimov
Нет.

Понял, обойдёмся NULLами) А там может и timescale чем поможет.

Твой Знакомый
Понял, обойдёмся NULLами) А там может и timescale ...

Timescaledb пожмёт лучше чем один бит на каждый null

Твой Знакомый- Автор вопроса
Sergey
Timescaledb пожмёт лучше чем один бит на каждый nu...

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

Твой Знакомый
лишь бы время выборки не увеличилось от такого пож...

Обычно даже уменьшает, ибо основное время это чтение дисков, которое дороже чем время на декодирование/разжатие

Твой Знакомый- Автор вопроса
Sergey
Обычно даже уменьшает, ибо основное время это чтен...

Потом приду с вопросом как последние полгода держать полностью в памяти))

Sergey
Timescaledb пожмёт лучше чем один бит на каждый nu...

Насколько я понял — timescale ещё и с потерями жмёт.

Твой Знакомый
Потом приду с вопросом как последние полгода держа...

Регулярно греть разве что (пока что только так).

Твой Знакомый- Автор вопроса
Ilya Anfimov
Насколько я понял — timescale ещё и с потерями жмё...

Что значит с потерями? значения при чтении изменятся?

Твой Знакомый
Что значит с потерями? значения при чтении изменят...

Насколько я понял — да, hypertable кажэтся в обязательном порядке усредняет значения к указанным интэрвалам. Но, возможно, это и необязательно.

Ilya Anfimov
Насколько я понял — timescale ещё и с потерями жмё...

https://github.com/timescale/timescaledb/issues/2529 тут всё сказано по этому поводу. Краткий ответ - нет, но если вы сами подрежите флоты, то они сожмутся лучше

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта