Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по секционированию таблиц. / 15 сообщений из 15, страница 1 из 1
06.05.2020, 12:04
    #39954543
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Oracle 11.2
Наткнулась на такой способ секционирования в БД для аналитиков.
В таблице всего 7 секций,
а вот количество подсекций в каждой секции с каждым годом надо увеличивать на 12 шт.


авторCREATE TABLE t1
(
PERIOD VARCHAR2(6 BYTE),
MRF_ID NUMBER(20),
ABN_ID NUMBER(10),
CNT NUMBER(1),
CNT_NEW NUMBER(1),
CNT_DISCON NUMBER(1),
Q NUMBER(1),
RWD ROWID
)
NOCOMPRESS
PARTITION BY RANGE (MRF_ID)
SUBPARTITION BY RANGE (PERIOD)
(
PARTITION P11 VALUES LESS THAN (12)
NOCOMPRESS
(SUBPARTITION P11_201501 VALUES LESS THAN ('201502'),
SUBPARTITION P11_201502 VALUES LESS THAN ('201503'),
SUBPARTITION P11_201503 VALUES LESS THAN ('201504'),
....
SUBPARTITION P11_202006 VALUES LESS THAN ('202007'),
SUBPARTITION P11_202007 VALUES LESS THAN ('202008'),
SUBPARTITION P11_202008 VALUES LESS THAN ('202009'),
SUBPARTITION P11_202009 VALUES LESS THAN ('202010'),
SUBPARTITION P11_202010 VALUES LESS THAN ('202011'),
SUBPARTITION P11_202011 VALUES LESS THAN ('202012'),
SUBPARTITION P11_202012 VALUES LESS THAN ('202101') ),
PARTITION P12 VALUES LESS THAN (13)
NOCOMPRESS
(SUBPARTITION P12_201501 VALUES LESS THAN ('201502'),
SUBPARTITION P12_201502 VALUES LESS THAN ('201503'),
....

Один локальный индекс
авторCREATE INDEX IND_t1 ON t1
(ABN_ID)
LOCAL (
PARTITION P11
NOCOMPRESS
(SUBPARTITION P11_201501,
SUBPARTITION P11_201502,
SUBPARTITION P11_201503,
...
SUBPARTITION P11_202010,
SUBPARTITION P11_202011,
SUBPARTITION P11_202012 ),
PARTITION P12
NOCOMPRESS
(SUBPARTITION P12_201501,
SUBPARTITION P12_201502,
SUBPARTITION P12_201503,
....

Что-то я в таком способе секционирования не догоняю, как-никак база для аналитики.
Похвалите или покритикуйте, плииз.
...
Рейтинг: 0 / 0
08.05.2020, 16:34
    #39955387
Правильный Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Всё зависит от тех задач и критериев, которые используются аналитиками. Может, им именно так и удобнее.
...
Рейтинг: 0 / 0
12.05.2020, 10:55
    #39956148
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Я надеялась получить приблизительно такой ответ, что для аналитики это удобно потому-то и потому-то.
А мне как DBA это неудобно и не совсем понятно, поэтому и спросила.
...
Рейтинг: 0 / 0
12.05.2020, 22:31
    #39956535
Правильный Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Aliona,
так и спроси у своих аналитиков.

Мы не знаем НИЧЕГО об их задачах, критериях и методах анализа. Даже предметной области. Как тут можно что-то оценивать?
...
Рейтинг: 0 / 0
12.05.2020, 23:12
    #39956570
AlexFF__|
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Aliona,

Ну а что, вот это "PERIOD VARCHAR2(6 BYTE)" экономит место по сравнению с датой ;)
...
Рейтинг: 0 / 0
13.05.2020, 13:26
    #39956807
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
AlexFF__|
Ну а что, вот это "PERIOD VARCHAR2(6 BYTE)" экономит место по сравнению с датой ;)

Ну не обязательно именно ради экономии.
"Период" в означенном смысле - по сути не дата, а идентификатор.
Плюс речь идет, если я правильно понял, про BI - а там свои тараканы и, как вариант, решили не строить datetime hierarchy там, где достаточно простого измерения.
...ну и, как справедливо замечено, мы ничего не знаем о природе MRF_ID.
Возможно, в обсуждаемой системе он много более обязательный и определяющий, чем какой-то там period :)
...
Рейтинг: 0 / 0
19.05.2020, 11:37
    #39959331
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Правильный Вася
Aliona,
так и спроси у своих аналитиков.

Хорошо послали. Вы предполагаете, что аналитики - девочки, умеющие нажимать на кнопки в приложении, знают что-нибудь о секционировании?
...
Рейтинг: 0 / 0
19.05.2020, 11:54
    #39959353
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Порассматривала я БД.

В ней тысячи секционированных таблиц, даже размером в 50-100мб.
Большинство из них секционировано таким, на мой взгляд, "странным образом".
Остальные, ещё "более странным образом".
Хотя случайно наткнулась на одну нормальную таблицу.

Статистика собирается вручную по подсекциям 1 раз месяц.
Системные задачи по сбору статистики отключены.
Индексов либо нет вообще, либо иногда попадаются по 1 секционированному индексу, поле индекса никак не связано с полями секционирования.
В половине таблиц всего по одной партиции, и одной субпартиции.
Во многих таблицах половина подсекций пустые.

Даже если индексы есть, оптимизатор их не использует, предпочитает просканировать все секции таблицы.

Предполагаю, что разработчики решили заменить индексы мелко нарезанными подсекциями.

Забила я на это дело, пущай БД живёт, как и жила до меня.
...
Рейтинг: 0 / 0
19.05.2020, 20:43
    #39959666
Правильный Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Aliona
Вы предполагаете, что аналитики - девочки, умеющие нажимать на кнопки в приложении, знают что-нибудь о секционировании?

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

Если в какой-то части таблиц по одной секции, значит, нет данных для создания других секций. Возможно, эта система была куплена готовой и изначально была рассчитана на что-то более масштабное, а у вас просто более узкое применение.
...
Рейтинг: 0 / 0
20.05.2020, 09:24
    #39959768
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Правильный Вася

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


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

Зашли в тему попрактиковаться попосылать "бедную женщину"? Практикуйтесь на здоровье, а я уже с этой БД разобралась, у меня уже к этой БД вопросы отпали.
...
Рейтинг: 0 / 0
20.05.2020, 10:06
    #39959782
pihel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Aliona,


можно еще посмотреть топ запросов в ash по проблемной таблице, какие предикаты используются чаще всего и совпадают ли они с партициями.
...
Рейтинг: 0 / 0
20.05.2020, 14:44
    #39959865
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Я уже 2 раза написала, что тема закрыта.
Я уже всё в ней поняла.
:)
...
Рейтинг: 0 / 0
20.05.2020, 15:22
    #39959885
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Аруп Нанда
Секционирование достигает совершенства
11g
http://www.fors.ru/upload/magazine/03/http_texts/w_dev_ora11g_partitioning.html


Oracle Partitioning в Oracle Database 12c
Эффективное управление данными и повышение
производительности для каждой системы
СТАТЬЯ ORACLE | СЕНТЯБРЬ 2014
https://www.oracle.com/technetwork/ru/database/partitioning-wp-12c-1896137-ru.pdf


14.05.2020 на онлайн-митапе Oracle рассказывал, что в Oracle 19 будет много нового для удобства секционирования.
...
Рейтинг: 0 / 0
20.05.2020, 15:27
    #39959890
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
.
...
Рейтинг: 0 / 0
21.05.2020, 20:48
    #39960472
flexgen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по секционированию таблиц.
Aliona
Порассматривала я БД.
Статистика собирается вручную по подсекциям 1 раз месяц.
Системные задачи по сбору статистики отключены.
Индексов либо нет вообще, либо иногда попадаются по 1 секционированному индексу, поле индекса никак не связано с полями секционирования.
В половине таблиц всего по одной партиции, и одной субпартиции.
Во многих таблицах половина подсекций пустые.


Рискну предположить что:
1. Данные в подсекциях не изменяются, а только добавляются. Не имеет смысла собирать статистику по подсекциям, в которых данные не изменились.
2. Системные задачи отключены по причине, указанной в первом пункте.
3. Тут надо смотреть запросы, обращающиеся к этим таблицам.
4. Имеется некий процесс, выполняющий exchange partition?
5. Как долго хранятся старые данные? Каким образом удаляются?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по секционированию таблиц. / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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