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

А я правильно понимаю, что меня отговарили от системы 1

канал - 1 таблица, потому что СУБД автоматически сожмёт одинаковые ключи (id каналов)? Потому что я иначе вообще не вижу экономии места.

29 ответов

6 просмотров

1 канал чего?

создайте одну таблицу, сделайте партицирование по id/названию канала и не парьтесь. Создаваю кучу таблиц вы раздуваете системные каталоги, это не есть хорошо

central hardware
1 канал чего?

Сервиса. В нём много каналов. Раньше я делал структуру, когда таблицы каждого канала были как-то так: sql CREATE TABLE channels.users_<ID КАНАЛА> ( ... ) CREATE TABLE channels.messages_<ID КАНАЛА> ( ... ) И запросы делал через EXECUTE и форматы. Но мне сказали что это бредовая архитектура (из-за каких-то правил). Я сел её перерабатывать, когда ID каналов выносятся в отдельный столбец вместо названия таблицы. Ну послушал. Но не понял сути, разве что облегчения работы.

Kairat
создайте одну таблицу, сделайте партицирование по ...

А вы в курсе, что на каждую партицию такая же запись в системный каталог делается? И даже наверное больше.

Роман Жарков
А вы в курсе, что на каждую партицию такая же запи...

По-этому я и не понял экономии. Разве что мой ***изм с форматами больной перестал быть нужен.

Nickelodeona K
просто хочу напомнить про jsonb, вдруг поможет...

Тоже знаю, пытался применить, но не представляю, где он мне может пригодится именно в данном вопросе.

Роман Жарков
А вы в курсе, что на каждую партицию такая же запи...

Хмм, вы правы. Меня смутил момент, что не вижу партиции в списке таблиц через IDE, подумал, что партиции записываются только в часть системных каталогов, а это полноценные таблицы. Однако, партиции все же лучше, чем куча одинаковых таблиц с разным названием

> мне сказали что это бредовая архитектура Потому что это совершенно бредовая архитектура. > а (из-за каких-то правил) Я ещё Вам могу сказать, что архитектура, которая предполагает, что 10*10=17, бредовая. Из-за "правила", что 10*10=100. Понимаете, к чему я веду? ;) Так вот, реляционные БД тоже основаны на соответствующей теории (вообще, RDBMS созданы не ради какой-то идиотской экономии на битах). И в том числе существует формальная теория проектирования их схем, поэтому channels.users_<ID КАНАЛА> — это примерно так же "гениально", как 10*10=17. > Но не понял сути, Так почему бы Вам не почитать любой учебник по реляционным СУ(БД)? > разве что облегчения работы. Это одна из целей, да.

central hardware
На какой сотне тысяч таблиц пг скажет прощай ?

Define "прощай". ;) В соседнем (одном из английских) чате я как-то показывал, как "весело" будет при нескольких миллионах таблиц — можете поискать (я точно не помню, в каком и когда)...

Yaroslav Schekin
> мне сказали что это бредовая архитектура Потому...

1 > Я ничего не отрицаю. Я в этом не разбираюсь, поэтому и спрашивал 2 > Ещё раз повторюсь. Я этого не знал. Мне показалось логичным выносить ID канала в название таблицы, поскольку это статичное долгоиграющее значение.

Yaroslav Schekin
Define "прощай". ;) В соседнем (одном из английски...

ну опиши веселье в двух словах в этом чате)))

Nickelodeona K
ну опиши веселье в двух словах в этом чате)))

Кому надо — найдёт (и принесёт сюда ссылку). Мне не надо. ;)

Nickelodeona K
всмысле клиентский код?

Ну что у него там работает с базой

mister_svinia⸙ꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋ
Телеграмм на максималках.

бери сразу несколько инстансов бд и вручную распределяй нагрузку

Nickelodeona K
бери сразу несколько инстансов бд и вручную распре...

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

mister_svinia⸙ꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋꠋ
Сервиса. В нём много каналов. Раньше я делал струк...

ALTER TABLE ATTACH PARTITION без блокировки появилось в 12 версии, так что с точки зрения highload до 12 версии ваше решение лучше чем партицирование встроенными средствами

S B
ALTER TABLE ATTACH PARTITION без блокировки появил...

Ну с учётом что половина моего результата это работа GPT.

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

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

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Карта сайта