|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
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, .... Что-то я в таком способе секционирования не догоняю, как-никак база для аналитики. Похвалите или покритикуйте, плииз. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2020, 12:04 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Всё зависит от тех задач и критериев, которые используются аналитиками. Может, им именно так и удобнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 16:34 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Я надеялась получить приблизительно такой ответ, что для аналитики это удобно потому-то и потому-то. А мне как DBA это неудобно и не совсем понятно, поэтому и спросила. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 10:55 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Aliona, так и спроси у своих аналитиков. Мы не знаем НИЧЕГО об их задачах, критериях и методах анализа. Даже предметной области. Как тут можно что-то оценивать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 22:31 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Aliona, Ну а что, вот это "PERIOD VARCHAR2(6 BYTE)" экономит место по сравнению с датой ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 23:12 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
AlexFF__| Ну а что, вот это "PERIOD VARCHAR2(6 BYTE)" экономит место по сравнению с датой ;) Ну не обязательно именно ради экономии. "Период" в означенном смысле - по сути не дата, а идентификатор. Плюс речь идет, если я правильно понял, про BI - а там свои тараканы и, как вариант, решили не строить datetime hierarchy там, где достаточно простого измерения. ...ну и, как справедливо замечено, мы ничего не знаем о природе MRF_ID. Возможно, в обсуждаемой системе он много более обязательный и определяющий, чем какой-то там period :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 13:26 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Правильный Вася Aliona, так и спроси у своих аналитиков. Хорошо послали. Вы предполагаете, что аналитики - девочки, умеющие нажимать на кнопки в приложении, знают что-нибудь о секционировании? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 11:37 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Порассматривала я БД. В ней тысячи секционированных таблиц, даже размером в 50-100мб. Большинство из них секционировано таким, на мой взгляд, "странным образом". Остальные, ещё "более странным образом". Хотя случайно наткнулась на одну нормальную таблицу. Статистика собирается вручную по подсекциям 1 раз месяц. Системные задачи по сбору статистики отключены. Индексов либо нет вообще, либо иногда попадаются по 1 секционированному индексу, поле индекса никак не связано с полями секционирования. В половине таблиц всего по одной партиции, и одной субпартиции. Во многих таблицах половина подсекций пустые. Даже если индексы есть, оптимизатор их не использует, предпочитает просканировать все секции таблицы. Предполагаю, что разработчики решили заменить индексы мелко нарезанными подсекциями. Забила я на это дело, пущай БД живёт, как и жила до меня. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 11:54 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Aliona Вы предполагаете, что аналитики - девочки, умеющие нажимать на кнопки в приложении, знают что-нибудь о секционировании? Я полагаю, что аналитик разбирается в предметной области и может рассказать, что проводит такие-то выборки и строит такие-то кубы, в которых данные отбираются по некоему признаку (например, по месяцам или категориям товаров), что позволяет говорить о полезности секционирования именно по этому признаку. Если в какой-то части таблиц по одной секции, значит, нет данных для создания других секций. Возможно, эта система была куплена готовой и изначально была рассчитана на что-то более масштабное, а у вас просто более узкое применение. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 20:43 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Правильный Вася Я полагаю, что аналитик разбирается в предметной области и может рассказать, что проводит такие-то выборки и строит такие-то кубы, в которых данные отбираются по некоему признаку (например, по месяцам или категориям товаров), что позволяет говорить о полезности секционирования именно по этому признаку. Какие выборки делаются из таблицы, я и сама могу в БД увидеть. А вот на кой программисты, которые давным-давно уволились, придумали такой способ секционирования, никакие аналитики не подскажут, тем более, что секционирование для аналитиков и программистов должно быть прозрачным. Зашли в тему попрактиковаться попосылать "бедную женщину"? Практикуйтесь на здоровье, а я уже с этой БД разобралась, у меня уже к этой БД вопросы отпали. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2020, 09:24 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Aliona, можно еще посмотреть топ запросов в ash по проблемной таблице, какие предикаты используются чаще всего и совпадают ли они с партициями. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2020, 10:06 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Я уже 2 раза написала, что тема закрыта. Я уже всё в ней поняла. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2020, 14:44 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Аруп Нанда Секционирование достигает совершенства 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 будет много нового для удобства секционирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2020, 15:22 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2020, 15:27 |
|
Вопрос по секционированию таблиц.
|
|||
---|---|---|---|
#18+
Aliona Порассматривала я БД. Статистика собирается вручную по подсекциям 1 раз месяц. Системные задачи по сбору статистики отключены. Индексов либо нет вообще, либо иногда попадаются по 1 секционированному индексу, поле индекса никак не связано с полями секционирования. В половине таблиц всего по одной партиции, и одной субпартиции. Во многих таблицах половина подсекций пустые. Рискну предположить что: 1. Данные в подсекциях не изменяются, а только добавляются. Не имеет смысла собирать статистику по подсекциям, в которых данные не изменились. 2. Системные задачи отключены по причине, указанной в первом пункте. 3. Тут надо смотреть запросы, обращающиеся к этим таблицам. 4. Имеется некий процесс, выполняющий exchange partition? 5. Как долго хранятся старые данные? Каким образом удаляются? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 20:48 |
|
|
start [/forum/topic.php?fid=52&fpage=45&tid=1881224]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 146ms |
0 / 0 |