Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 алтернатива IOT для ASA  [new]
mikron
Member

Откуда:
Сообщений: 888
Имеется таблица примерно следующего формата.
create table test_measure(
source_id integer not null,
measure_ts datetime not null,
measure_value  numeric(12,5) not null,
primary key (source_id, measure_ts)
);


данные постянно добавляются. Удаляутся редко и пачками.
Количество источников не велико (>100) и по сравнеию с количеством измерений (~10Mio) просто пренебрежително мало.
Как хранилише пока использую ASA 12.1
проблема заключается в том что на таблице часто проходит выборка.
select measure_ts, measure_value from test_measure 
where source_id = C and measure_ts >= A and measure_ts <= B order by measure_ts

Для подобного запроса ASA не может предложить ничего лутшего чем full table scan - долго и не эфективно.
Мне бы хотелось видет на этом месте IOT, но как этого добится от ASA не понял.
Вопрос: есть ли возможность получить желаемый результат в ASA
или какая другая RDBMS будет наиболее полноценной и бюджетной заменой для неё.
3 дек 13, 18:50    [15234589]     Ответить | Цитировать Сообщить модератору
 Re: алтернатива IOT для ASA  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54794

mikron
Для подобного запроса ASA не может предложить ничего лутшего чем full table
scan - долго и не эфективно.

Ух ты! Любая другая БД при свежей статистике и не слишком большом диапазоне A и B выбрала
бы INDEX RANGE SCAN.

Posted via ActualForum NNTP Server 1.5

3 дек 13, 20:13    [15235007]     Ответить | Цитировать Сообщить модератору
 Re: алтернатива IOT для ASA  [new]
mikron
Member

Откуда:
Сообщений: 888
Dimitry Sibiryakov
mikron
Для подобного запроса ASA не может предложить ничего лутшего чем full table
scan - долго и не эфективно.

Ух ты! Любая другая БД при свежей статистике и не слишком большом диапазоне A и B выбрала
бы INDEX RANGE SCAN.

Сомневаюсь. Выборки большие по 1^6 значений. По индексу действително не еффективно. Индекс + в худшем случае 10^6 страниц грузить.
Если на странице помешяется 1000 значений то выгоднее фул сканн. (40(источников) * 10^7) / 1000 = 4 * 10^5.
В общем (не преводя точную статискику распределения значений) я склонен верить АСА что полный скан эфективнее.
3 дек 13, 20:55    [15235217]     Ответить | Цитировать Сообщить модератору
 Re: алтернатива IOT для ASA  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54794

mikron
(40(источников) * 10^7) / 1000 = 4 * 10^5.

Ты эта... Определись для начала у тебя источников 40 или ">100".

Если у тебя в таблице 4*10^8 записей, а выбирается 10^6 записей, то сканирование 100%
страниц может быть эффективнее сканирования 0.25% страниц + индекс только в том случае,
если у тебя записи выходного НД распределены по всем страницам данных равномерно. В этом
случае тебе прямая дорога в партиционирование.

Posted via ActualForum NNTP Server 1.5

3 дек 13, 21:04    [15235249]     Ответить | Цитировать Сообщить модератору
 Re: алтернатива IOT для ASA  [new]
mikron
Member

Откуда:
Сообщений: 888
Более 100 источников - это ожидаемая величина. Её привел просто что-бы показать порядок величин.
Во вторых источники не однородны и не все одинаково нагружены.
Другими словами, цифры не так существенны, и структура таблицы тоже не отражает действителность. Но я не сомниваюсь, что план выбранный ASA оптимален и почти уверен - Oracle сделал бы в данных условиях тоже самое. Моя проблема в том, как мне кажется, что я уперся в проблему, и дле решения которой мне нехватает функционалных возможностей ASA.
Имея Oracle я бы сделал IOT и наступило бы "Счастье". Партиционирование здесь не поможет.
Как получить это счастье в ASA - незнаю. Индексов с неключевыми полями нет а кластерный индекс не гарантирует порядок.
3 дек 13, 23:54    [15235946]     Ответить | Цитировать Сообщить модератору
 Re: алтернатива IOT для ASA  [new]
mikron
Member

Откуда:
Сообщений: 888
Партиционирование поможет, но IOT более подходящее рещение.
4 дек 13, 00:02    [15235985]     Ответить | Цитировать Сообщить модератору
 Re: алтернатива IOT для ASA  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3795
mikron
Более 100 источников - это ожидаемая величина. Её привел просто что-бы показать порядок величин.
Во вторых источники не однородны и не все одинаково нагружены.
Другими словами, цифры не так существенны, и структура таблицы тоже не отражает действителность. Но я не сомниваюсь, что план выбранный ASA оптимален и почти уверен - Oracle сделал бы в данных условиях тоже самое. Моя проблема в том, как мне кажется, что я уперся в проблему, и дле решения которой мне нехватает функционалных возможностей ASA.
Имея Oracle я бы сделал IOT и наступило бы "Счастье". Партиционирование здесь не поможет.
Как получить это счастье в ASA - незнаю. Индексов с неключевыми полями нет а кластерный индекс не гарантирует порядок.

1. Покрывающий индекс решает проблему легко
2. Партицирование по source_id тоже, причем можно и с пунктом 1 совместить
4 дек 13, 12:01    [15238019]     Ответить | Цитировать Сообщить модератору
 Re: алтернатива IOT для ASA  [new]
mikron
Member

Откуда:
Сообщений: 888
Ivan Durak
1. Покрывающий индекс решает проблему легко
2. Партицирование по source_id тоже, причем можно и с пунктом 1 совместить

Мне кажется замены ИОТ нету.
1. Покрывающий индекс решает проблему со скипом: подойдёт только если мало неключевых полей. и даже с одним полем база вырастет на 40%.
2. Партиционирование не лечит проблему. если план вклюхает полный скан партиции, то придётся сортировать в темп-спейсе.
Если ранге скан то партиционирование вообще роли не играет.
4 дек 13, 18:13    [15241460]     Ответить | Цитировать Сообщить модератору
 Re: алтернатива IOT для ASA  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
микрон, а ты чего сюда запостил, а не в сайбейзовый форум?
ты план выложи, может станет понятнее. чего там происходило.
да и всегда на родном sqlany-форуме можно спросить.
5 дек 13, 14:27    [15246602]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить