Как стать автором
Обновить
56
0
Андрей Мешков @aymeshkov

Пользователь

Отправить сообщение
Да, использует.
Нет, имелось в виду именно subscriber_id % 4. Смысл в том, чтобы один абонент обрабатывался всегда в одном потоке — иначе мы возможно встрянем на блокировке, например, когда два потока возьмутся баланс одному абоненту обновлять.
Да, кажется, и пока не вышла 8.5 приходится им пользоваться:). С другой то стороны решение рабочее, и свою функцию выполняет.
Я так 8.4 ждал из-за аналитических запросов, а как она вышла — один раз пощупал, а мигрировать на 8.4 забил. База на 8.3 уже полтера, и сейчас мне просто времени жалко, которое на миграцию уйдет…
Ну тут одним секционированием уже не обойдешься думается:)
Да, не везде, но как опция совсем не повредит. Надо сказать, что в базах, заточенных под анализ данных, распараллеливание какого-нибудь SELECT FROM GROUP BY по секциям очень полезно.
аа, вы сведете меня с ума:) но писать топик на английском не выход:)

Незачто:) Дождитесь только второй части, будет проще)
Ок, заменил везде)
Нет, не умеет. Вообще у postgresql есть один большой минус, он выполняет запрос в одном потоке, и совсем не умеет параллелить, так что каждый раз приходится изобретать велосипед. Ходит слух, что enterpriseDB параллелит выполнение запросов.

В защиту постгре скажу, что распараллеливание запросов в Oracle не всегда приносит тот результат, который от него ждешь.
ну что вы наговариваете:) будто планы запросов к обычным таблицам проверять не нужно, да и параллелятся они тоже на раз.
Поэтому и говорю — неявно для пользователя. Сама база работает с секцией как с отдельной таблицей, Кайт когда-то писал об этом.

Ну а чтобы не начать ненароком спора об этом, сформулирую так: секции имеют очень много общего с обычными таблицами:).
Ой, сейчас пересчитал, Oracle EE, 25xNUP +25xNUP Partitioning:

ИТОГО 38066.56 $

Вот во всем Oracle хорош, но цена…
У вас по tablespace на partition?
Вообще вы можете спокойно дропнуть хоть половину всех секций, работе с остальными это не повредит.

И я бы не сказал, что это эмуляция секционирования. Это оно самое и есть, просто реализация отличается от Oracle, но Oracle и не является эталоном (что прискорбно).
Ой как дешево, а если покупать в РФ у официальных дилеров, то от 12к$.
Ну не скажите, административный ovehead добавляется и в oracle. Точно также нужно во время создавать/архивировать партиции. Разве что с триггером и CHECK constraints возиться не нужно. Вообще по сути в oracle каждая партиция неявно для пользователя является отдельной таблицей.
Да я хотел, но очень уж много материала получается, так что это во второй части.
Вы про секционирование? В литературе встречаются оба подхода. Эх, с русским конечно тяжело), во второй части буду чаще partitioning употреблять.
Кстати, в прошлом топике я рассказывал про модуль «ip4r» — Быстрое местоположения по ip в postgresql. Модуль предоставляет тип «ip4» (IPv4 адрес), который очень просто преобразуется в BIGINT и обратно:
SELECT ip4('192.168.0.1')::BIGINT;
SELECT ip4(3232235521);

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность