powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Какие в Oracle есть возможности для работы с огромными таблицами
9 сообщений из 9, страница 1 из 1
Какие в Oracle есть возможности для работы с огромными таблицами
    #32173440
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Я не уточняю объем записей. Просто могу сказать , что если 
обрабатывать (делать селеки, особенно со связью с другими таблицами, и пр. )
эти таблицы с учетом всех записей, то временн'ые накладные расходы становятся
недопустимо большими.

Чтобы повысить производительность можно ,конечно , самому разбивать такие огромные 
таблицы на куски ,скажем по фактору времени (или другому какому-нить), 
и при обычной оперативной работе иметь дело только с последним временн'ым куском ,
( ну , например за текущий  и предыдущий месяц, а ,может, последние 
 1500  накладных или еще как-нить ).
И при необходимости запроса данных из нескольких кусков использовать свои какие-то 
механизмы переключения между кусками. 
Но! Все это слишком хлопотно при разработке!

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

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

Так вот вопрос - есть ли в Oracle такие механизмы, или придется как и в
настольных СУБД организовывать все это самому со всеми вытекающими проблемами.
...
Рейтинг: 0 / 0
Какие в Oracle есть возможности для работы с огромными таблицами
    #32173442
Well, one of such mechanisms is table partitioning.

Artist formerly known as SY.
...
Рейтинг: 0 / 0
Какие в Oracle есть возможности для работы с огромными таблицами
    #32173444
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2SY:
Спасибо,
Но я подозреваю, что table partitioning не позволит предоставить возможность пользователю в приложении динамично определять тот диапазон, о котором я писал и который бы и определял скорость работы приложения .
Да, и сжимает ли он данные. И вообще , если вопрос понятен, то вообще в Oracle предусмотрен только этот единственный способ решения этой проблемы?
...
Рейтинг: 0 / 0
Какие в Oracle есть возможности для работы с огромными таблицами
    #32173457
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
компрессия кстати есть в 9и
...
Рейтинг: 0 / 0
Какие в Oracle есть возможности для работы с огромными таблицами
    #32173461
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Но я подозреваю, что table partitioning не позволит предоставить
>возможность пользователю в приложении динамично определять тот
>диапазон, о котором я писал и который бы и определял скорость работы
>приложения .

очень даже позволит. Сделайте партиционирование по месяцам. Тогда если пользователь захочет работать с двумя месяцами, то этому соответствуют две партиции. Если он хочет работать с двумя днями, то эту проблему решат локальные индексы (обычные B*tree по дате) в пределах этой партиции. Есть еще вариант иметь субпартицию по дням или (если это оправдывают Ваши объемы) вообще партиционировать по дням, а не по месяцам.

>Да, и сжимает ли он данные.

Ну это уж извините, сжимать придется самому :-). Но опять же партиционирование позволит хранить старые партиции в других табличных пространствах, которые вы объявите read-only и сожмете Вашим любимым архиватором. А в случае необходимости разархивируете и подключите их к базе.

>И вообще , если вопрос понятен, то вообще в
>Oracle предусмотрен только этот единственный способ решения этой
>проблемы?

я пока не вижу причин по которым бы Partitioning Option не удовлетворял бы Ваших требований. Разве что, возможно только стоимость :-)
...
Рейтинг: 0 / 0
Какие в Oracle есть возможности для работы с огромными таблицами
    #32173466
On top of partitioning you can use replication to create various representations of data to fit ad-hoc needs.

Artist formerly known as SY
...
Рейтинг: 0 / 0
Какие в Oracle есть возможности для работы с огромными таблицами
    #32173530
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To .dba:

Что значит "Тогда если пользователь захочет работать с двумя месяцами, то этому соответствуют две партиции." - Приложение должно обеспечить настройку на эти две партиции? Т.е. при каждом задании диапазона дат пользователем приложение должно решать какие партиции использовать , а
насколько это ненакладно по времени - переключение используемых партиций, т.е. насколько часто это можно делать ?

Обеспечивается table partitioning связь данных в секционированных и несекционированных таблицах?

И потом, Вы пишите - " Ну это уж извините, сжимать придется самому :-). Но опять же партиционирование позволит хранить старые партиции в других табличных пространствах, которые вы объявите read-only и сожмете Вашим любимым архиватором. А в случае необходимости разархивируете и подключите их к базе. "
- Так эти операции следует выполнять вручную, сделать так чтобы при заказе пользователем диапазона дат приложение (или тем более админ ) не заботился об извлечении из архива и обратном сжатии - нельзя ? Т.е. если пользователю будут нужны данные за прошлые года, он должен пойти к админу, попросить их предоставить ему на пару дней попользоваться а потом админ их должен убрать назад в архив, потом назавтра или через пару часов , а может и пару месяцев , придет другой такой же юзер с такой же просьбой и т.д. ....?
...
Рейтинг: 0 / 0
Какие в Oracle есть возможности для работы с огромными таблицами
    #32173605
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>насколько это ненакладно по времени - переключение используемых
>партиций, т.е. насколько часто это можно делать ?

их не нужно переключать - это абсолютно прозрачно для приложения.

>Обеспечивается table partitioning связь данных в секционированных и
>несекционированных таблицах?

тоже аболютно прозрачно, как с обычными таблицами.

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

ну я просто предложил как вариант решения. Вот Эд даже написал, что 9i сам умеет сжимать. А вообще-то вместо того чтоб ходить к админу и обратно можно написать скрипт, который это будет делать.
...
Рейтинг: 0 / 0
Какие в Oracle есть возможности для работы с огромными таблицами
    #32173651
X-Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://oradba.com.ru/misc/articles/a1_archiving.shtml
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Какие в Oracle есть возможности для работы с огромными таблицами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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