Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как нарезать таблицу? / 10 сообщений из 10, страница 1 из 1
18.08.2016, 14:10:54
    #39293933
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарезать таблицу?
Есть таблица с операциями по картам клиента.
сейчас там 200миллионо записей.
В месяц 25-30 тыс активных договоров, генерят 5 мил транзакций. Транзакций у одного клиента от 1 до 60000 в месяц.
Идентификатор клиента составной (ID приложения истояника, ID клиента во внеш. прил.).
Задача БД выдавать клиенту данные только по нему, т.е. клиент смотрит реестр операций и суммарный оборот за период.
Никаких аналитических запросов по всем клиентам в этой бд нет.
как правило операции смотрят за месяц.

Партиции хочу сделать по дате операции по месяцу. А вот как по клиенту портиции сделать хз. Нарезку по ID внешнего приложения? но тогда при добавлении нового нужно создавать партицию для него все время, а не просто вставить в таблицу EXT_APP.
Что посоветуете?
...
Рейтинг: 0 / 0
18.08.2016, 14:14:16
    #39293935
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарезать таблицу?
внешних приложений сейчас 30, будет 60.
Сейчас в одном внешнем приложении от 100-300тыс записей в месяц.
...
Рейтинг: 0 / 0
18.08.2016, 14:20:36
    #39293941
Как нарезать таблицу?
barrabas,

партиции по дате дадут выигрыш при получении сводной статистики по всем клиентам.
а так, все равно индекс и вероятно разные блоки под каждую дату.
но. можно завершенные месяцы перестраивать, кластеризуя по клиенту.
...
Рейтинг: 0 / 0
18.08.2016, 15:24:46
    #39294004
schi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарезать таблицу?
barrabasЕсть таблица с операциями по картам клиента.
сейчас там 200миллионо записей.
...
А вот как по клиенту портиции сделать хз.
Что посоветуете?

По диапазонам номеров карт не подойдет ?
По диапазонами составного числа/строки ID приложения,ID клиента не подойдет ?
...
Рейтинг: 0 / 0
18.08.2016, 15:37:44
    #39294015
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарезать таблицу?
schibarrabasЕсть таблица с операциями по картам клиента.
сейчас там 200миллионо записей.
...
А вот как по клиенту портиции сделать хз.
Что посоветуете?

По диапазонам номеров карт не подойдет ?
По диапазонами составного числа/строки ID приложения,ID клиента не подойдет ?
по номерам карт нет, не подойдет.
по диапазонам ID, типа partition by hash?
...
Рейтинг: 0 / 0
18.08.2016, 15:41:35
    #39294018
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарезать таблицу?
партиции и пелбеиbarrabas,

партиции по дате дадут выигрыш при получении сводной статистики по всем клиентам.
а так, все равно индекс и вероятно разные блоки под каждую дату.
но. можно завершенные месяцы перестраивать, кластеризуя по клиенту.
т.е. реально улучшит ситуацию если нарезать по EXT_APP_ID и при добавлении нового внешнего приложения добавлять партицию
...
Рейтинг: 0 / 0
18.08.2016, 15:43:52
    #39294020
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарезать таблицу?
barrabas,

а зачем вам партиции по клиенту?
(как только на этот вопрос ответите - должны появиться варианты решения - например, нафик..)
...
Рейтинг: 0 / 0
18.08.2016, 15:44:05
    #39294021
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарезать таблицу?
schibarrabasЕсть таблица с операциями по картам клиента.
сейчас там 200миллионо записей.
...
А вот как по клиенту портиции сделать хз.
Что посоветуете?

По диапазонам номеров карт не подойдет ?
По диапазонами составного числа/строки ID приложения,ID клиента не подойдет ?
забыл написать, в некоторых внешних приложениях ID клиенте - varchar2, поэтому и в таблице с операциями ID тоже varchar2
...
Рейтинг: 0 / 0
18.08.2016, 18:21:00
    #39294165
Су-35
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарезать таблицу?
barrabas,

Если задача показать конкретному клиенту его месячные операции - то, почему бы просто к партиционированию по дате операции (по месяцам) не добавить локальный индекс по клиенту? Думаю этого будет достаточно.
...
Рейтинг: 0 / 0
18.08.2016, 20:11:57
    #39294219
Как нарезать таблицу?
Су-35не добавить локальный индексвставка, вероятно, в порядке времени. шансы, что несколько записей одного клиента окажутся в одном блоке, с учетом тормознуточть пposов, равны нулю. то есть, все равно два-три бранча по индексу и столько блоков, сколько записей. на скорости партиционирование по дате не скажется.
оно только позволит оптимизировать хранение для неменяющихся партиций по прошествии даты.
лоеальный индекс по клиенту будет неудачен для выборки не за партицию, а за меньший период и больший тоже.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как нарезать таблицу? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]