powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / 30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
25 сообщений из 53, страница 2 из 3
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32463704
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем конечно это так формулируется.
Sybase это описывает так:
Данные в IQ - это индексы. Т.е. отдельная колонка в IQ представляет из себя дефолтный FT (Fast Projection) индекс (он плоский, без дерева, но возможна оптимизация, опишу ниже). Этот индекс и есть данные, его нельзя удалить через drop index, используется alter table drop. Кроме него на колонку можно навесить ещё доплнительные индексы.
Таблица представляет собой логически сгруппированные отдельные FP индексы (колонки).
Если рассмотреть это с физической точки зрения, то на диске на страницах хранятся не строки, а колонки. Т.е. прочитав одну или несколько связанных страниц с диска сервер всегда будет читать данные только для одной конкретной колонки и другие данные (других ненужных колонок) при этом читаться не будут (в отличие от OLTP серверов).

FP индекс (сами данные) мы можем оптимизировать. При создании таблицы можно указать конструкцию для колонки IQ UNIQUE (N).
Например create table t1 (id unsigned int not null, "code" char(10) iq unique(100))
Это не уникальность. Это мы говорим серверу сколько distinct значений мы ожидаем в этой колонке (например - это код департамента, всего 100 департаментов).
Тогда сервер для этой колонки построит оптимизированный FP индекс в зависимости от числа N.
Если N<256, то построится 1-байтовый FP индекс
Если 256<=N<65536, то 2-х байтовый.
Что это даст?
На диске будет построена таблица соответствий из 100 значений для нашего случая (реальное значение - битовая маска в один байт).
А дальше сервер будет уже хранить не данные, а уже битовую маску (один байт).
Если взять наш утрированный пример и посчитать сколько места у нас сэкономиться например для 100 млн записей в таблице:
Плоские данные (char(10) - 10 байт одно значение):
100млн * 10 = 953Мб
С оптимизацией (одно значение - один байт):
100млн * 1 = 95Мб

То можно заметить, что на одной только маленькой колонке мы можем сэкономить уйму места в базе.

Прошу прощения, если что-то осталось непонятно.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32463732
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не силён в вопросах иерархии (не IQ, а вообще), поэтому прошу прощения точно ответить на вопрос не могу.
Если попытаться ответить, то в IQ можно делать всё, что и в ASE и ASA (построение схем и использование операторов) ну и плюс дополнительные функции аналитики и аггрегации.
Список довольно большой. Можно посмотреть на сайте сая (в доке IQ Reference).
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32463755
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Guest

Спасибо!

Правильно ли я понял, что в этом случае неизбежен полный скан колонки (индекса) при любом запросе, если эта колонка участвует в запросе?
То есть если в вашем примере есть таблица на 100 миллионов записей то в случае использования нашей колонки мы должны будем должны в любом случае прочитать наш 95мб индекс?
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32463776
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это мы говорили о хранении данных и об аналоге TABLE SCAN в IQ (когда не созданы дополнительные индексы), т.е. самая худшая ситуация.
Естественно есть ещё дополнительные индексы.
Например HG,LF,HNG,CMP,WD,DATE,TIME,DTTM, которые строятся по определённым правилам и служат для своих целей и будут использоваться в запросах.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32463802
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно ли я понимаю, что в случае обновления данных все индексы должны перестраиваться и инкрементальный апдейт невозможен?
То есть необходимо делать полную перезагрузку данных.

И что будет если в нашем примере появится 257 департамент (то есть данные не поместятся в 1 байтную маску) будет ошибка или индекс будет пересоздан автоматом?

Как производится загрузка?
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32463870
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно полную перезагрузку данных делать не нужно.
Можно доливать данные, удалять, изменять данные (update), причём массовый update по одной колонке будет выполняться очень быстро.
Мало того IQ поддерживает механизм частичной заливки по колонкам, т.е. мы можем сначала загрузить данные в часть колонок таблицы, а потом догрузить в оставшиеся колонки.

В случае работы с оптимизированным FP индексом ситуация очень приятная.
Если мы вылазим за диапазон, то сервер автоматом один раз перестраивает этот один (FP) индекс на следующий уровень, т.е. если был 1-байтовый FP и мы вставляем 256 distinct значение, то этот индекс будет перестроен в 2-хбайтовый автоматом (в процессе загрузки или изменения данных), если был 2-х байтовый и мы превысили кол-во в 32к, то перестроится в плоский.

Загрузка данных тоже возможна в различных вариантах.
Можно из файлов через LOAD TABLE (параметрами можно контролировать формат). Скорость загрузки просто потрясающая. Рекомендует сай использовать этот вариант.

Можно через INSERT VALUES (скорость низкая).
Можно через INSERT SELECT (в том числе и напрямую с другого сервера).
Например так:

INSERT INTO tab1 (col1,col2...)
location 'my_remote_server.mydb'
{select a,bcol ... from ... where ...}

Тоже быстрый метод.

Можно создать прокси-таблицы из IQ, например на MS,ORA,DB2,ODBC и вставлять данные простым insert ... select ... (причём в этом случае нужны толко двайвера ODBC для коннекта и всё).

Хочу ещё привести один пример из доки как демострация функциональности.
Таблица, в которой среди всего остального есть 3 колонки:
Price, Number, Total_Sum

Мы можем влить только Price и Number как первый шаг, а потом выполнить update tab set Total_Sum = Price* Number where "для новых строк или для всех ..."

Цифры из практики:

День работы банка заливается за 10 минут.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32463906
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Guest
Спасибо огромное.
Очень познавательно.

А есть ли среди доков по IQ что то по концепциям, типа введения в понятия IQ и т.п. Соответственно, если есть как этот док называется?
Или может быть дадите ссылку на подборку документации по IQ?
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32463923
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дока конечно есть.
Не знаю, что Вам лучше подойдёт, поэтому порекомендую просто походить на сайте сая в разделах документации (там найдёте доку для IQ без проблем) и в разделах продуктов (там тоже можно найти презентации, статьи), может это Вам больше подойдёт.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32464781
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
а можно чуть конкретней, чем принципиально он отличается и за счет чего как бы получает такой выйгрыш в скорости.
как бы оракл конечно бы тоже расмеялся над таблицей в 500 колонок, создал бы материализед вью, партиции, битмап индексы и получил бы скорость в разы отличающиеся от изначальной таблички ... а за счет чего IQ добивается этого результа ?
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32464785
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
млин не заметил второй страницы.

Тогда сервер для этой колонки построит оптимизированный FP индекс в зависимости от числа N.
т.е. это что-то типа оракловой index organized table ?

На диске будет построена таблица соответствий из 100 значений для нашего случая (реальное значение - битовая маска в один байт).
а это типа bitmap index ?

Да IQ данные хранит по колонкам. Это значит, что данные хранятся вертикально.
Например для OLPT базы если взять таблицу из скажем 100 колонок, то запрос вида
select col1, col20 from tab_name
приведёт к table scan, т.е. поднимутся с диска данные для ВСЕХ 100 колонок.
В IQ будут подняты с диска данные только этих двух колонок.


ээ ... разве ? имхо точно также если по этим колонкам есть индекс данные возьмутся из 2 индексов, вот если нет индекса то да ...
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32464813
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!
Тут как бы имеется ввиду, что в IQ в отличие от OLTP TABLE SCAN как бы не возможен, так как на физическом уровне хранения таблиц в обычном понимании нет. Фактически модель хранения данных IQ - это на 90 градусов повернутая модель OLTP. А основной упор самого движка - это максимально снизить число обращений к накопителям, что и достигается засчет другого формата хранения БД и ее сжатия. Плюс, насколько я понял, IQ ориентирован на очень сложные аггрегатные запросы, понятное дело, что в любой OLTP можно было бы на ту табличку хоть на все 570 полей индексов понаделать, но все равно будут 2 диалемы, особенно если в таблице миллионы записей:
1. БД немерянно вырастет
2. Сколько бы индексов не понаделали, все равно запросы к такой БД надо будет писать очень аккуратно, смотреть на план запросов, продумывать, какие индексы нужны, а какие нет, не наглеть и не использовать в запросах то, что терпеть не могут OLTP: OR в соединениях, NOT BETWEEN, NOT EXISTS и т.д.

У IQ же совсем другая политика (как раз ее и пытался обьяснить нам всю конференцию Тьерри на различных примерах) - Sybase заявляет, что сама архитектура IQ уже позволяет выполнять любой сложности запросы на больших обьемах данных. Т.е. в качестве примера он приводил фирму в Англии, которая снимает показания о переключениях между телевизионными каналами граждан, вся эта информация запихивается в IQ (прирост БД - террабайт в месяц), а потом просто продает SQL доступ к информации этой базы. Т.е. администраторы фирмы только следят за правильным заливом БД, какие запросы выполняются, по каким обьемам данных, с какой активностью - они просто даже не знают. Согласитесь на нормальном OLTP сервере нормальный администратор просто обязан знать, что лежит в его БД и какие запросы выполняют его многочисленные пользователи, иначе его сервер спокойно смогут положить на лопатки недоброкачественным запросом. Не знаю как Оракл, а вот насчет MSSQL и Sybase ASA и Sybase ASE могу сказать точно - эти СУБД не готовы к тому, чтобы на них можно было держать огромную БД и кучу внешних клиентов, которые самостоятельно без ограничений и уведомлений администратора посылают запросы на выборку и аггрегацию большого числа данных. Думаю Оракл так же на это не способен.

В общем конечно лучше бы один раз увидеть, чем сто раз услышать. Однако надеюсь саму идею IQ я обьяснил :)
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465440
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
т.е. хранятся только индексы ... интересно но не совсем понял как можно получить выгоду от хранения вдоль, а не поперек - все равно физически данные хранятся последовательно на секторах диска, а то что программер это претстваляет в виде продольной таблицы как бы не должно влиять, нет ?

Не знаю как Оракл, а вот насчет MSSQL и Sybase ASA и Sybase ASE могу сказать точно - эти СУБД не готовы к тому

а OLAP сервера? имхо это концептуально то же самое - выделеный сервер спецально заточен на суровые запрсы построения OLAP кубов, т.е. и структура бд уже не та что в OLPT а полу агрегирована - да она гораздо больше места занимает - но диски щас дешевле картошки - я на днях не смог купить 36гб сказийник - нет таких маленьких ...

т.е. IQ позиционируется как замена OLAP серверу, т.к. позволяет более гипкие возможности ? они там как-то сранивали с OLAPами ?
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465564
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IQ позиционируется как хранилище. Не больше не меньше (как Terradata).
Вы можете сколько угодно рассуждать о сдвиге OLTP сервера в OLAP, но это всё "круги на воде".
Ведь не зря же люди ставят IQ в качестве хранилища там, где в OLTP стоит Oracle.
Зайдите на tpc.org и посмотрите, что показывает тот же Oracle по сравнению с IQ.
Их пассы руками по размазыванию данных по куче дисков для увеличения пропускной способности дискового IO всёравно не приводят к желаемому результату.
Про Materealized View давайте просто не вспоминать, если учесть, что мы говорим про ad-hoc запросы.
Ну и т.д

"Когда не стоит использовать IQ ?" его ответ: "Я думаю, когда у Вас все работает на том, что есть и все довольны, то явно не стоит начинать использовать IQ" :)

Напоследок ещё раз:
IQ - это не OLTP сервер и не OLTP "сдвинутый" в OLAP - это хранилище.
Вот и всё.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465635
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Догадайтесь с 3-х раз на чём сейчас постороено самое большое в мире хранилище данных? :-)

Догадайтесь с 3-х раз что самое дешевое для построения хранилищ? :-)

Догадайтесь с 3-х раз что самое экономичное по железу? :-)
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465643
Фотография brahew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угадайте что такое дешевый слоган.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465655
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дешевый слоган - это когда говорится что-то, что не подтверждено на практике (насколько я это понимаю).

Хотя критику признаю. Больше флейма от меня не будет.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465687
Фотография brahew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Guest, вы работайете в сайбесе? Вы работали с IQ на больших проектах с терабайтными объемами?
За объяснения что такое хранилище - спасибо, жаль только, что сногие не могут разделить два понятия база для изменеий и база открытая на чтение.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465697
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал проверить :)

На TPC-H тестах IQ появляется только на базах до 300GB и даже в этом сегменте лидер IBM с DB2 и MS SQL Server.

Насчет самого большого в мире хранилища - поиск по инету выдал, что самое большое коммерческое хранилище в France Telecom 32TB и стоит на Oracle.
http://www.oracle.com/features/solutions/business_intelligence/index.html?1217_db_winterdw.html

И еще вопрос, что мешает использованию Materialized Views при ad-hoc запросах? Если данные есть в MV они оттуда берутся, если нет - не берутся, и ведь может быть несколько MV?
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465714
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите на спецификации машин в тэстах или на результаты соимость/производительность.
IQ: 48.2 TB cырых данных размещено на 22 TB дискового пространства.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465805
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
вообщето в tpc-h рулит именно оракл, а IQ максимум на 4-х процах там запустили - ораклу просто не интересно на таких маштабах соревноватся он на 64 соревнуется ...

авторПосмотрите на спецификации машин в тэстах или на результаты соимость/производительность.

mysql и foxpro лидеры :)

авторIQ: 48.2 TB cырых данных размещено на 22 TB дискового пространства.

если это каталог пары сотен порно фильмов, то это ни о чем не говорит.

нам интересны архитектурные особености а в скоростях мы у более авторитетных источников поспрашиваем.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465806
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IQ: 48.2 TB cырых данных размещено на 22 TB дискового пространства.

Это где написано? В спецификациях теста или где? Можно линк какой-нибудь?
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32465909
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
www.sun.com

Search: Sybase IQ 48.2
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32466001
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.

Прочитал в IQ Reference
Unlike Adaptive Server Anywhere, Adaptive Server IQ does not allow
subqueries to appear wherever expressions are allowed. Adaptive Server IQ
only supports subqueries as allowed in the SQL-1989 grammar. It does not support Adaptive Server Anywhere’s extensions.


Отсюда вопросы.
1. Когда непозволительны подзапросы?
2. Почему поддерживается всего лишь SQL-1989?
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32466015
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Note In Adaptive Server IQ, subqueries (nested selects) are not allowed in the
select list. This is a difference between Adaptive Server IQ and Adaptive
Server Anywhere.
In Adaptive Server IQ, subqueries can only be used in a WHERE or HAVING
clause predicate (one of the supported predicate types). Subqueries cannot be
used inside a value expression (for example, in a CASE statement), inside an
outer join ON clause, or inside a BETWEEN or LIKE predicate.
For more details on the use of subqueries, see “Subqueries in expressions” on
page 198 and “Subqueries in search conditions” on page 209.

2. Adaptive Server IQ conforms to the ANSI SQL89 standard but has many
additional features defined in IBM’s DB2 and SAA specification, and in
ANSI SQL/92.
...
Рейтинг: 0 / 0
30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
    #32466994
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос.
Давали ли на этом мероприятии материалы сверх тех, что размещены тут?

http://www.sybase.ru/Syb/corporate/events/iq_30-03-2004.htm
...
Рейтинг: 0 / 0
25 сообщений из 53, страница 2 из 3
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / 30 марта в Москве проводиться конференция по Sybase IQ (впечатления)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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