powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по секционированию таблиц.
15 сообщений из 15, страница 1 из 1
Вопрос по секционированию таблиц.
    #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
Вопрос по секционированию таблиц.
    #39955387
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё зависит от тех задач и критериев, которые используются аналитиками. Может, им именно так и удобнее.
...
Рейтинг: 0 / 0
Вопрос по секционированию таблиц.
    #39956148
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я надеялась получить приблизительно такой ответ, что для аналитики это удобно потому-то и потому-то.
А мне как DBA это неудобно и не совсем понятно, поэтому и спросила.
...
Рейтинг: 0 / 0
Вопрос по секционированию таблиц.
    #39956535
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aliona,
так и спроси у своих аналитиков.

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

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

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

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

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

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

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

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

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

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

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

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


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

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


можно еще посмотреть топ запросов в ash по проблемной таблице, какие предикаты используются чаще всего и совпадают ли они с партициями.
...
Рейтинг: 0 / 0
Вопрос по секционированию таблиц.
    #39959865
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже 2 раза написала, что тема закрыта.
Я уже всё в ней поняла.
:)
...
Рейтинг: 0 / 0
Вопрос по секционированию таблиц.
    #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
Вопрос по секционированию таблиц.
    #39959890
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.
...
Рейтинг: 0 / 0
Вопрос по секционированию таблиц.
    #39960472
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aliona
Порассматривала я БД.
Статистика собирается вручную по подсекциям 1 раз месяц.
Системные задачи по сбору статистики отключены.
Индексов либо нет вообще, либо иногда попадаются по 1 секционированному индексу, поле индекса никак не связано с полями секционирования.
В половине таблиц всего по одной партиции, и одной субпартиции.
Во многих таблицах половина подсекций пустые.


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


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