Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Уважаемые господа, Поделитесь, пожалуйста, информацией по поводу опыта крупных проектов по OLAP в российской рознице. В первую очередь по MOLAP (Cognos, Hyperion, Oracle). Есть какие-нибудь примеры успехов/неудач у этих систем в России. Какие потенциальные проблемы могут возникнуть при расширении таблицы фактов (строк чеков) до 200-300 миллионов записей и более. Какие аргументы есть в пользу Cognos в этой ситуации? Таких проектов явно должны быть единицы, поскольку подобных предприятий пока очень немного. Хотелось бы выслушать ваше мнение. Не выгодно нам покупать NCR Teradata, хотя он и тянет 20-летнюю историю продаж Walmart. Да к тому же и внедрять его никто не умеет :) Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 15:36 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Он спросил, какие есть аргументы в пользу Когноса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 16:54 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Oi schas chokolad rekoi pol'etsya.... andyk, vi diatezom ne stradaete. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 17:37 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
А почему Терадату не выгодно покупать? Ведь OLAP по себе не предназначен для создания хранилища данных. На чём хранилище будете делать? Да, и масштабируемость MOLAP до сих пор под вопросом находится. Большинство крупных проектов в рознице - это Teradata+Microstrategy. 200-300 миллионов - это уже нормальный объём. Тут не о скорости надо думать, а о масштабируемости. Да к тому же и внедрять его никто не умеет :) Неправда Ваша. Умеет. Да, и что тут уметь-то? Обычная реляционная база данных. Стандартный SQL (89, 92, 99). Высокопроизводительная и масштабируемая, очень лёгкая в администрировании. А Вы общались с производителем, или просто так написали, что не выгодно? Может, вам выгодные условия предложат? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 18:42 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To andyk: На форуме я не буду слишком подробно писать про свои проекты, если есть интерес - пишите мне на адрес cognos@narod.ru Поделитесь, пожалуйста, информацией по поводу опыта крупных проектов по OLAP в российской рознице. Мне приходилось делать 3 крупных проекта для сетей супермаркетов/гипермаркетов, максимальный объем записей - до 100 миллионов, максимальный справочник товаров - до 230 тысяч (хотя в других отраслях были объемы и побольше). В ближайшее время начну еще один проект для еще более крупной розничной сети, в кубы придется закачивать порядка 200 миллионов строк чеков в год. Хотя такие тесты я еще не проводил, руководство этой компании выбирая Cognos руководствовалось успешным опытом моих предыдущих проектов, и тем, что Cognos хорошо масштабируется - размер куба предсказуем и растет пропорционально закачиваемым данным, с постоянной скоростью, без взрывов. Стоит также отметить, что Cognos приводит как рекомендуемый ориентир 1 миллиард записей в таблице фактов (строки чеков) и 2 миллиона категорий (товары), так что запас прочности есть. Аргументы в пользу Cognos очевидны: 1) Возможность закачки в кубы больших объемов данных без потери производительности и без необходимости предварительной агрегации на уровне РСУБД; 2) Скромные требования к железу (в качестве сервера можно использовать обычный комп класса Pentium 3-4 с оперативкой 256-512 мегабайт); 3) Возможность масштабирования в будущем (работа под Unix, распределение нагрузки между серверами); 4) Работа с популярными СУБД через прямые драйверы без необходимости использования ODBC; 5) Проектирование аналитических моделей (как серверной так и клиентской части) без необходимости программирования To Birkhoff: Он спросил, какие есть аргументы в пользу Когноса Вместо того чтобы прикалываться, приведите свои аргументы в пользу Oracle :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 19:30 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Вместо того чтобы прикалываться, приведите свои аргументы в пользу Oracle :) Ну вопрос был об опыте внедрения в российской рознице. Я лично в российской рознице на Oracle ничего не внедрял, поэтому ничего и не пишу. Внедрял, например, в телекоме, где объемы данных явно не меньше. Все проблемы решаются :) Что касается внедрений решений на Oracle в рознице - можно посмотреть success stories на сайте Oracle, ну или кто-нибудь еще откликнется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 16:40 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Birkhoff: Внедрял, например, в телекоме, где объемы данных явно не меньше. Все проблемы решаются :) Не всегда большие объемы реляционных данных закачивают в OLAP-кубы. Однако для розницы нужен очень детальный уровень, поскольку хочется иметь детализацию по времени не только до дня, но и до часов/минут суток, в разбивке по товарам, кассам/кассирам... Какой Вы подход использовали в телекомовских проектах? Предварительно агрегировали данные на уровне РСУБД, или сразу закачивали в кубы данные с высокой детализацией? Можете ли вы привести пример количества записей, которые вы закачали в куб Oracle Express? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 17:16 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Jurii Мы уже сто раз с вами обсуждали, что количество записей для MOLAP важная характеристика, но далеко не определяющая. Поэтому считать сложность системы только по количеству записей бессмысленно. Детализация до транзакций часто делается комбинированием OLAP и ROLAP подхода, в MOLAP системе обычно хранятся все-таки предагрегированные данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 17:57 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Birkhoff: Мы уже сто раз с вами обсуждали, что количество записей для MOLAP важная характеристика, но далеко не определяющая. Мы с Вами не обсуждали специфику розничной торговли, где очень большая номенклатура и большинство пользователей работают с довольно простыми аналитическими моделями, в которых просто много показателей и измерений. Детализация до транзакций часто делается комбинированием OLAP и ROLAP подхода, в MOLAP системе обычно хранятся все-таки предагрегированные данные. Как я понимаю, автор дискуссии хотел чтобы данные с которыми непосредственно работают конечные пользователи хранились только в MOLAP. В тоже время я ничего не имею против связки РСУБД и MOLAP - в двух моих розничных проектах в качестве реляционного ХД использовалась БД Oracle, и на ее основе проектировалась MOLAP-система Cognos. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 18:46 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Почитал тутошний форум и посты и диву дался. Все как в сказке и тд и тп. Но вот опыт говорит , что OLAP в рознице - это труба его аполагетам. Слишком большой объем и детальные данные требуются при анализе - ни один серве не потянет. Если же анализ сводится к стандартным отчетам - то на фига козе баян. И кто бы ты нибыл ТЕРАДАТА или Oracle или COGNos - все едино. Не готовы наши торговые предприятия к таким вложениям бабок для анализа. Чтобы потянуть такие объемы - нужны действительно сервера. И на этом фоне стоимость софта становится небольшой. Так что , тот кто заявляет здесь что он внедрял - не прав и я не стал бы ему верить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 00:34 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Юрию что Cognos приводит как рекомендуемый ориентир 1 миллиард записей в таблице фактов (строки чеков) и 2 миллиона категорий (товары), так что запас прочности есть. Аргументы в пользу Cognos очевидны: 1) Возможность закачки в кубы больших объемов данных без потери производительности и без необходимости предварительной агрегации на уровне РСУБД; 2) Скромные требования к железу (в качестве сервера можно использовать обычный комп класса Pentium 3-4 с оперативкой 256-512 мегабайт); Как то не вяжутся вместе ваши утвержедения о рекомендованом ориетире, возможности закачки больших объемов и скромных требований к железу. 3) Возможность масштабирования в будущем (работа под Unix, распределение нагрузки между серверами); 4) Работа с популярными СУБД через прямые драйверы без необходимости использования ODBC; А как же Хранилище данных, вы собираетесь строить аналитичекую систему поверх зоопарка оперативных систем? 5) Проектирование аналитических моделей (как серверной так и клиентской части) без необходимости программирования Точнее было сказать без возможности программирования, что имеет следствием - проще создать ситему мышкой заново (без гарантии недопущения ошибок) чем внести мало-мальски значимые контролированые изменения в уже созданную систему. Мне кажется, что не надо видеть OLAP в особенности MOLAP - как панацею от всех проблем. Как раз в области слабо-аггрегируемых данных - имеет смысл больше опираться на реляционное хранилище. Как говориться - пусть каждый делает то, что он может делать лучше других. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 03:39 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Guees, а на каком основании вы делаете такие безрадостные выводы? В какого размера рознице вы работали, в штате или снаружи? Сколько там было фактов и на каких $$$ на железо руководство решило отказываться от OLAP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 11:07 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Guess: Но вот опыт говорит , что OLAP в рознице - это труба его аполагетам. Слишком большой объем и детальные данные требуются при анализе - ни один серве не потянет. Может быть Вы просто пользовались слабеньким OLAP-продуктом или даже продуктом класса ROLAP, пытались повысить производительность с помощью железа, но безуспешно? В это я поверить могу, поскольку не все можно вылечить хорошим железом. Если же анализ сводится к стандартным отчетам - то на фига козе баян Стандартные отчеты есть во всех торговых системах, но про них в этом форуме речь не идет, их нельзя назвать нормальными инструментами для анализа данных. И кто бы ты нибыл ТЕРАДАТА или Oracle или COGNos - все едино. Не готовы наши торговые предприятия к таким вложениям бабок для анализа. Вы упомянули 3 разных продукта. Первые два действительно недешевые, но Cognos то чем Вам не нравится? Один из крупных системных интеграторов, специализирующийся на автоматизации розничных компаний (как больших, так и маленьких) прошел у меня обучение по продуктам Cognos и сейчас они предлагают своим клиентам Cognos PowerPlay в связке с их торговой системой за очень приемлемые деньги... Чтобы потянуть такие объемы - нужны действительно сервера. И на этом фоне стоимость софта становится небольшой. В качестве сервера нужен компьютер стоимостью не более 1000$, это не так дорого, хотя на спор я могу создать аналитическую систему на еще более дешевом и слабом компьютере :) Хотя понятно что это справедливо только для MOLAP-продуктов типа Cognos PowerPlay. Так что , тот кто заявляет здесь что он внедрял - не прав и я не стал бы ему верить. Хорошее заявление. С одной стороны реальные проекты для розницы сделаны (по крайней мере на основе продуктов Cognos), пользователи успешно работают, а с другой стороны - Вы не верите Ну ладно, не верьте дальше. А тот кто действительно интересуется вопросами аналитических систем для розницы - может с моей помощью лично познакомиться с этими компаниями. To backfire: Как то не вяжутся вместе ваши утвержедения о рекомендованом ориетире, возможности закачки больших объемов и скромных требований к железу. Я как-то упомянал, что создавал OLAP-кубы в PowerPlay на морально устаревших компьютерах типа 486 моделей с оперативкой менее 32 мегабайт. Это говорит о том, что OLAP-движок Cognos написан оптимально. Если взять мои крупные проекты, я не закачиваю в кубы за один проход сразу все записи, поскольку реляционный сервер просто не может выполнить SQL-запрос, формирующий таблицу фактов. Я закачиваю данные порциями, например за один раз - двухмесячный массив, потом инкрементально подкачиваю еще один массив, потом - еще один и т.д. Когда куб готов - ежедневное обновление куба требует подкачать небольшие объемы новых данных. Так что все вполне вяжется... А как же Хранилище данных, вы собираетесь строить аналитичекую систему поверх зоопарка оперативных систем? В двух из трех моих розничных проектов (не считая проекты для сетей АЗС, где тоже в принципе розница) еще до внедрения Cognos уже имелись хранилища данных, в которые стекаются данные из магазинов. В третьем проекте использовалась корпоративная система на основе СУБД Progress, в нее реплицировались данные из локальных баз магазинов, но поскольку эта СУБД имеет свою специфику - оптимальным вариантом было выгружать из нее данные в текстовые файлы и на основе этих файлов создавать кубы в PowerPlay. 5) Проектирование аналитических моделей (как серверной так и клиентской части) без необходимости программирования Точнее было сказать без возможности программирования, что имеет следствием - проще создать ситему мышкой заново (без гарантии недопущения ошибок) чем внести мало-мальски значимые контролированые изменения в уже созданную систему. Cognos позволяет балансировать нагрузку между РСУБД (создавая виртуальные вьюшки - SQL-запросы - в Impromptu визуальными средствами) и OLAP-сервером, где MDX тоже создается визуальными средствами, либо с помощью объектно-ориентированных конструкторов выражений. В редких случаях пользователи Cognos занимаются программированием (редактируют SQL-запросы Impromptu, пишут новые функции, используют встроенный Visual Basic). В MS AS не такие удобные визуальные средства для проектирования кубов, а SQL-запросы по определению пишутся только вручную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 11:24 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
А как же Хранилище данных, вы собираетесь строить аналитичекую систему поверх зоопарка оперативных систем? 5) Проектирование аналитических моделей (как серверной так и клиентской части) без необходимости программирования Точнее было сказать без возможности программирования, что имеет следствием - проще создать ситему мышкой заново (без гарантии недопущения ошибок) чем внести мало-мальски значимые контролированые изменения в уже созданную систему. Мне кажется, что не надо видеть OLAP в особенности MOLAP - как панацею от всех проблем. Как раз в области слабо-аггрегируемых данных - имеет смысл больше опираться на реляционное хранилище. Как говориться - пусть каждый делает то, что он может делать лучше других. Я бы хотел дистанцироваться от Юрия, т.к. более технический специалист, и знаю наряду с сильными сторонами и слабости Cognos :) Он не упоминал (видимо, потому что не работал с) Cognos DecisionStream - это визуальный ETL Builder/Engine, но в котором есть и SQL, и свой скриптовый язык. Cамая главная его feature - то, что решает в ходе дизайна предметного хранилища в терминах измерений и витрин все типовые задачи, как то: - дизайн измерений star, snowflake и parent-child, в случае каких-то некорректностей в данных генерятся dummy-родители, так что элементы измерений не теряются, как в MS AS - управление суррогатными ключами (вообще без программирования) - управление медленно меняющимися измерениями типа 1 и 2 (вы выбираете атрибуты измерения, при изменении которых генерится новый элемент) - генерация измерений времени как "из воздуха", по начальной и конечной дате, так и из таблиц учетной системы с решением по ходу проблемы разорванных между месяцами недель - автосверка измерений и фактов при загрузке витрин с диагностикой, почему факты не загружены - несколько видов агрегаций (агрегаты в реляционном хранилище) - генерация Cognos и MS кубов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 11:24 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Гликоген: Я бы хотел дистанцироваться от Юрия, т.к. более технический специалист, и знаю наряду с сильными сторонами и слабости Cognos :) Тогда позвольте мне тоже пока дистанцироваться от Вас - у нас все-таки несколько разный уровень опыта в области Cognos :) А насчет слабостей Cognos - было бы интересно их услышать, чтобы понять, действительно ли есть такие слабости, или Вы просто не знаете той или иной функциональности Cognos для решения этих задач... Он не упоминал (видимо, потому что не работал с) Cognos DecisionStream - это визуальный ETL Builder/Engine, но в котором есть и SQL, и свой скриптовый язык. DecisionStream я не внедрял, и соответственно не упоминаю о нем. Пока что обхожусь на практике функциональностью Impromptu. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 11:47 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Вы еще не используете Cognos, тогда мы идем к вам!!! :-) Если серьезно, то после такой активной рекламы в возможности Cognos верится все меньше и меньше. Тут тебе и сервер за 1000$ и одновременно работа с детальными данными в 200-300 млн. строк. Что-то с трудом в это верится. Кстати, вопрос к знатокам Cognos. А сколько одновременно с ним может активно работать пользователей, и как количество пользователей сказывается на производительности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 12:54 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
aka andyk :) Уважаемые господа, Еще раз спасибо большое за полезную информацию. Абстрагируясь от дебатов Jurii (хорошего сейлза) и его оппонентов, я хотел бы несколько переформулировать вопрос. Каково позиционирование этих трех систем в рамках розничных задач? Чем лично вы руководствовались при выборе аналитической системы для себя (необязательно в рознице)? Jurii полностью прав в описании розничной специфики. Аналитические задачи и их ценность для бизнеса здесь уникальны, поэтому крупные розничные сети, работающие в условяих конкуренции, будут всегда вкладывать в решение этих задач немалые деньги. И неправильный выбор системы может привести к плачевным последствиям не только для того, кто ее выбрал, но и в целом для бизнеса. Спасибо! To Jurii: Cognos является исключительным продуктом по соотношению цена/качество. Но его использование не может быть оптимальным для всех OLAP-задач - это однозначно. Он не оптимален ни для ПБОЮЛ, ни для Walmart. Если бы Вы высказывались не как сейлз, а как эксперт, то какая целевая область у Cognos на Ваш взгляд? Какие у него преимущества конкретно перед Essbase для задачи, описанной мною в начале? P.S. ХД = Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 14:05 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To drive: Если серьезно, то после такой активной рекламы в возможности Cognos верится все меньше и меньше. Цель этого ПиАра (рекламой это назвать нельзя, поскольку за плечами людей говорящих про Cognos - реальные успешные проекты) состоит в том чтобы массовые пользователи узнали, что Excel - это не единственный аналитический инструмент, и чтобы процесс выбора аналитического продукта был более объективным. Далее кто-то заказывает демонстрацию продуктов Cognos и референс-визиты (обычно это представители компаний, которым интересна тема аналитических систем и корпоративной отчетности), а кто-то просто сидит и ни во что не верит (например представители компаний продвигающих другие BI-продукты или технические специалисты, которые не понимают, что если они расскажут про Cognos своему руководству - руководство их отблагодарит, а не заменит их ручной труд по созданию аналитических моделей на визуальные средства Cognos :) ... Тут тебе и сервер за 1000$ и одновременно работа с детальными данными в 200-300 млн. строк. Что-то с трудом в это верится. Под сервером за 1000$ имеется в виду компьютер, на котором будут создаваться OLAP-кубы и к которому будут коннектиться пользователи. А на каком компьютере лежат 200-300 миллионов записей - это другой вопрос, возможно он будет посерьезнее. Я полагаю что кубы MS AS и Oracle Express требуют более дорогого железа, но для OLAP-движка Cognos можно использовать и дешевое, и проверено это на практике. Кстати, вопрос к знатокам Cognos. А сколько одновременно с ним может активно работать пользователей, и как количество пользователей сказывается на производительности? У компании Cognos есть проекты где в аналитической системе работают более 10 тысяч пользователей. Недавно проводились тесты продукта ReportNet, и там проверялась его работоспособность при работе 190 тысяч пользователей. Понятно что у Cognos есть и MOLAP, и ROLAP, и HOLAP, и принципы масштабирования в этих случаях разные. Но если брать самый простой и дешевый подход с MOLAP-кубами и доступом к кубам как к файлам - то количество пользователей никак не влияет на производительность (немного надо учитывать загрузку сети, но это можно и игнорировать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 14:20 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Короче, когда спрашивают "сколько пользователей может работать без задержек?" про системы enterprise-уровня, остается только посоветовать почитать статьи по архитектуре и масштабируемости современных решений. Ибо в отрыве от того, какое железо в тесте, как распределены приложения между серверами, сколько пользователей выполняют какие задачи и т.п. - этот вопрос просто не имеет смысл. Намек: как вы оцените производительность системы, состоящей из: - сервера OLAP, распараллеленного на четыре экземпляра на двух физических серверах - разбитых на партиции кубов, причем партиции на отдельных серверах, отдельных физических дисках и отдельных каналах SCSI - сервера представлений, также распараллеленного на два сервера - и двух веб-серверов, обеспечивающих рендеринг отчетов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 15:24 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To akoo Если ХД = Oracle , то может следует присмотреться к тому, что предлагает Oracle. Ясно, что если начать серьезно иcследовать системы, то пожалуй не у одной из MOLAP-систем не будет серьезных преимуществ над другими системами, ни в производительности, ни в функциональных возможностях. Другое дело, это сложность внедрения системы и, в итоге, стоимость всего проекта. Так как ХД = Oracle , то внедрять Oracl'овые OLAP-системы будет легче, да и по стоимости, вполне возможно выйдет дешевле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 15:26 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
to Гликоген Согласен, в отрыве от железа этот вопрос наверное бесмысленен... но в том то и дело, что Jurii так все расписал, что создалось впечатление, что сервер может быть любым, скорость от этого не зависит. Глядите, что он пишет: В качестве сервера нужен компьютер стоимостью не более 1000$ И глядите, что как он ответил на мой "бесмысленный" вопрос: количество пользователей никак не влияет на производительность (немного надо учитывать загрузку сети, но это можно и игнорировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 15:38 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
В качестве сервера нужен компьютер стоимостью не более 1000$ - это, наверное, издержки юриного маркетинга. если прорываться к продаже проекта через техперсонал, часто спрашивают такие дурацкие вещи :) на уровне, когда OLAP продается ЛПР-ам, такие вопросы не задают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 15:45 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To akoo: Но его использование не может быть оптимальным для всех OLAP-задач - это однозначно Теоретически наверное это так, осталось лишь доказать это утверждение, найти те задачи, где Cognos не оптимален :) Хотя например в качестве калькулятора оптимально использовать не PowerPlay, а Calc.exe ... Он не оптимален ни для ПБОЮЛ, ни для Walmart. Если бы Вы высказывались не как сейлз, а как эксперт, то какая целевая область у Cognos на Ваш взгляд? С этим я никак не соглашусь. Даже ПБОЮЛ может себе позволись заплатить 1000$ за OLAP-сервер, включающий 1 рабочее место OLAP-клиента (это минимальная конфигурация Cognos). Не всегда это будет нужно, но если ПБОЮЛ грамотный - то PowerPlay позволит ему делать сложные модели по консолидации данных из разных источников, например к своим данным подкачивать цены конкурентов. Walmart - это тоже реально для Cognos: мы ведь понимаем, что Cognos будет аналитической надстройкой над реляционным ХД, и при этом Cognos позволяет балансировать нагрузку между сервером РСУБД и OLAP-сервером. Если хочется чтобы проект выглядел солидно - у Cognos есть и дорогие конфигурации :) Как Вы видите, стоимость минимальной конфигурации Cognos доступна всем (чего не скажешь например про Oracle OLAP, Essbase и т.п.). По сравнению с MS AS - у Cognos дешевле стоимость внедрения/быстрее можно обучить пользователей создавать кубы/отчеты. Если брать более массовые ситуации, когда компания уже не ПБОЮЛ но еще не Walmart, то это объем данных от миллиона до 100 миллионов записей. С миллионом худо-бедно справится и ROLAP, и MOLAP-продукты, но будет проявляться фактор наличия встроенной функциональности - то есть ROLAP будет неудобен для поддержки несбалансированной иерархии справочника товаров, а продукты типа Essbase, Oracle и MS AS будет трудоемко внедрять (надо писать ручками SQL-запросы, кубы не очень визуально проектируются и т.п.). Если брать объемы порядка 100 миллионов -то ROLAP не обеспечит высокую скорость отклика, а некоторые MOLAP-продукты типа Essbase и Oracle OLAP не позволят делать кубы с детальными данными... Какие у него преимущества конкретно перед Essbase для задачи, описанной мною в начале? P.S. ХД = Oracle Преимущества такие: 1) Cognos в отличие от Essbase позволит закачивать в кубы детальные данные и кубы не будут взрываться 2) Кубы Cognos легче будет проектировать (визуальные средства у Cognos сильнее) 3) OLAP-клиент Cognos PowerPlay даже по мнению представителей компании Ланит значительно лучше (более гибкие для создания сложных отчетов, более красивый и наглядный интерфейс), чем стандартные OLAP-клиенты для Essbase. 4) Не уверен что в России есть внедрения Essbase в рознице 5) Не уверен, что из Essbase можно подключаться к Oracle по прямому драйверу 6) Ну и наконец - цены немного разные, как на лицензии, так и на внедрение, Cognos дешевле Что касается слабостей Cognos перед Essbase - то теоретически они могут проявиться если будут создаваться модели анализа продаж со сложной внутренней логикой. В таком случае может потребоваться подключать второй OLAP-сервер Cognos - Cognos Planning (во многом он похож на Essbase). однако в моих предыдущих проектах по рознице не было задач, которые не решались в PowerPlay. Если Вы увидите в этом постинге больше ПиАра чем технической информации - предлагаю встретиться и поговорить на техническом языке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 16:04 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To drive: Ясно, что если начать серьезно иcследовать системы, то пожалуй не у одной из MOLAP-систем не будет серьезных преимуществ над другими системами, ни в производительности, ни в функциональных возможностях. Может оказаться много мелких преимуществ (например не у всех есть иерархические показатели, не у всех хорошо поддерживаются в кубе показатели типа Дистинкт каунт, что очень актуально для розницы, не все продукты позволяют закачивать в кубы детальные данные, не для всех продуктов есть нормальные OLAP-клиенты...). Например господа Goodleo, Torin и др. часто упоминают много мелких неудобств при работе с MS AS, ни одно из них в отдельности не является поводом для перехода на другой OLAP-сервер. Однако если их вместе собрать - то набегает большой снежный ком :) Так как ХД = Oracle, то внедрять Oracl'овые OLAP-системы будет легче, да и по стоимости, вполне возможно выйдет дешевле. Это спорный вопрос. Слишком уж слабая Completeness of Vision (мало функциональности) у аналитических продуктов Oracle... но в том то и дело, что Jurii так все расписал, что создалось впечатление, что сервер может быть любым, скорость от этого не зависит. Я не теоретик - а практик, и примеры привожу из практики. Глядите, что он пишет: В качестве сервера нужен компьютер стоимостью не более 1000$ И глядите, что как он ответил на мой "бесмысленный" вопрос: количество пользователей никак не влияет на производительность (немного надо учитывать загрузку сети, но это можно и игнорировать. Я уточнил, что используется подход когда пользователи работают с кубом как с файлом. Подумайте, что будет, если файл формата Excel лежит на компьютере, и его по сети открывают на чтение 1000 пользователей? Ведь все будет работать быстро, это не вызывает сомнений. К кубам PowerPlay доступ производится только на чтение, пользователи которые параллельно работают с одним и тем же кубом друг друга не замечают и создают независимые отчеты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 16:46 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Jurii Это спорный вопрос. Слишком уж слабая Completeness of Vision (мало функциональности) у аналитических продуктов Oracle... И в чем это выражается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 16:50 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Jurii: Подумайте, что будет, если файл формата Excel лежит на компьютере, и его по сети открывают на чтение 1000 пользователей? Ведь все будет работать быстро, это не вызывает сомнений. Ни фига себе заявление. :-) Зачем тогда люди SCSI придумывают, если, якобы и так все будет работать быстро. ;-) ... понимаете у вас один дисковод, а не 1000, если одновременно два пользователя запросили данные из этого файла, то дисковод будет обслуживать сперва первого, а затем второго. Вот тут-то могут возникнуть задержки, особенно если операции у каждого пользователя длинные (у нас OLAP, а не OLTP) и если файл ограмадный. И все-таки интересно, что Cognos предлагает для парлелльной работы пользователей, неужели нет никакой оптимизации, ну я не знаю, там, кэширования какого-нибудь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 17:13 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Guees Слишком большой объем и детальные данные требуются при анализе - ни один серве не потянет. Так вот, andyk написал, что Teradata 20 лет истории Walmart тянет. А Walmart - самая крупная розничная сеть в мире. Соответственно, тянут по-видимому. И кто бы ты нибыл ТЕРАДАТА или Oracle или COGNos - все едино. Некорректно сюда Cognos записывать, он всё-таки многомерный, а Терадата и Oracle - реляционные. Большая разница. Но вот опыт говорит , что OLAP в рознице - это труба его аполагетам. У Терадаты есть аналитическое решение для розницы на Microstrategy, неоднократно внедрённое, что показывает, что Ваше утверждение можно оспорить. Вот тут есть про внедрения. В частности, турецкая компания Migros, которая владеет сетью Рамстор в России, использует связку Teradata+Microstrategy. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 17:25 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Birkhoff: Это спорный вопрос. Слишком уж слабая Completeness of Vision (мало функциональности) у аналитических продуктов Oracle... И в чем это выражается? Выражается в том, что для многих типичных задач с которыми пользователи сталкиваются в жизни не предусмотрено стандартных пунктов меню, опций и подходов решения. Достаточно ли детально я ответил на Ваш вопрос? :) To drive: у вас один дисковод, а не 1000, если одновременно два пользователя запросили данные из этого файла, то дисковод будет обслуживать сперва первого, а затем второго. Вот тут-то могут возникнуть задержки, особенно если операции у каждого пользователя длинные (у нас OLAP, а не OLTP) и если файл ограмадный. Ну не знаю, у меня в практике были кубы по гигабайту (десятки миллионов записей) и пользователи к ним параллельно коннектились как к файлам со слабых компьютеров, и отклик был в стиле OLAP (либо мгновенно, либо не более 5 секунд). Возможно дело в том что прочитать числа из куба - это не нагрузка для дисковода... И все-таки интересно, что Cognos предлагает для парлелльной работы пользователей, неужели нет никакой оптимизации, ну я не знаю, там, кэширования какого-нибудь? Если чем-то не подходит вышеприведенный файл-серверный метод, при котором кэширование для каждой сессии/пользователя свое, можно использовать клиент-сервер или доступ через веб-браузер. Для этого нужен Powerplay Enterprise Server, и при этом будет полноценное "многопользовательское" кэширование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 17:29 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Jurii Это спорный вопрос. Слишком уж слабая Completeness of Vision (мало функциональности) у аналитических продуктов Oracle... И в чем это выражается? Выражается в том, что для многих типичных задач с которыми пользователи сталкиваются в жизни не предусмотрено стандартных пунктов меню, опций и подходов решения. Достаточно ли детально я ответил на Ваш вопрос? :) Как я понял в Когносе предусмотрена кнопка "Работа" Да, с этим вопросом мне все стало окончательно ясно. В очередной раз. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 17:51 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Birkhoff: Как я понял в Когносе предусмотрена кнопка "Работа" Да, с этим вопросом мне все стало окончательно ясно. В очередной раз. :) Надо будет нам как-нибудь пивка попить и заодно посмотреть какой функционал заложен в Cognos. Если начать перечислять - получится очень длинный список (это будет не перечисление пунктов меню, опций и кнопок, а тех задач, которые можно с их помощью решить без программирования). Мне как-то неохота на это время тратить - проще перечитать дискуссии на этом форуме, составить список задач которые вызывали сложности у пользователей MS AS и Oracle Express/OLAP и убедиться, что решение львиной доли этих задач Cognos предусмотрел и включил в свои продукты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 17:58 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
У нас есть опыт постоения розничных BI-решений. Правда текущий объем у большинства крупных розничных клиентов в районе 50-60 млн. фактов. У нас рекордсмен это уже не розница, а сотовые операторы анализирующие до 20 млн. фактов за месяц (звонки, SMS-ки по услугам и т.д.). MS AS ведет себя весьма достойно, но надо здорово оптимизить. Как "детский конструктор" MS AS хорошо работает на DWH до 5 млн. фактов, затем нужно ручки крутить и весьма профессионально. На ROLAP-системы я бы сейчас не ставил. У меня как у инженера 10-летний опыт работы на различных SQL-серверах. Для себя я сделал вывод, что современные SQL-сервера способны вытягивать SQL-запросы в 10-20 млн. фактов, далее жестокий даун, что у MS SQL, что у Oracle. Либо агрегируйтесь и реально получайте 5-6 млн. фактов, либо вам дорога в MOLAPы (Hyperion, MS AS, Cognos). Если интересно по MS AS пишите ivanov-soft@inbox.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 18:43 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Guees, а на каком основании вы делаете такие безрадостные выводы? To whom .... Тутошние разговоры все время затеняют одну вещь, чтоб OLAP работал под ним должно быть ХД. Чтоб он очень хорошо работал - нужно очень хорошое железо. А это господа Вы скрываете. Через год сколько бы Вы не планировали , окажется ресурсов не хватает. Может для пилота и PC за 500USD достаточно , но сейчас скорость роста данных такова что ни один из Вас и Ваших клиентов реально не сможет спрогнозировать этот прирост. Так все утверждения о мощном OLAP - чей бы он ни был хоть долбаный Cognos хоть рапространенный MSOLAP все равно выглядят шутками , тем более в рознице. Не будет там OLAP тащить все - не по силам. Сначала клиенту навешаете лапши - что надо OLAP, заптем скажите что надо де и ХД перед тем как OLAP, а затем заявите , что туда все не надо грузить, пусть там будут агрегаты только .... Или предложите распределенную архитектуру ... типа 10 серверов по периметру ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 22:41 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Ivanov "У меня как у инженера 10-летний опыт работы на различных SQL-серверах" S kakih por v pedvuzah gotovyat inzhenerov? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 00:22 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Ivanov "Я не инженер, хотя и приходятся часто делать review кода и проектирование архитектуры. Я аналитик, даже скорее менеджер" Razve eto ne vashi slova? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 00:25 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Ivanov что современные SQL-сервера способны вытягивать SQL-запросы в 10-20 млн. фактов, далее жестокий даун, что у MS SQL, что у Oracle. Либо агрегируйтесь и реально получайте 5-6 млн. фактов, либо вам дорога в MOLAPы Cto vi podrazumevaete pod zaprosom v 10-20? Zapros zavprosu rozn', takzhe kak dizain odnogo DWH - dizainu drugogo DWH. V kakih koknkretnih usloviyah u vas nablyudalsya "zhestokii down" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 00:31 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Ivanov. У меня как у инженера 10-летний опыт работы на различных SQL-серверах. Aga! Schazzz! V 94-gudu na 3-m kurse Lenpeda, poluchaya "inzhenernoe" obrazovanie uchitelya fiziki i informatiki vi nachali rabotat s SQL-Serverami? - ne smeshite publiku! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 01:01 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Guees: Если Вы представляете розничную сеть, и у вас есть проблемы с обработкой больших объёмов данных и есть задача построения хранилища данных, свяжитесь, пожалуйста, со мной. У меня будет что рассказать. Лапшу на уши типа "1000 долларов, и Вы в порядке" вешать не буду. Не тот масштаб. Расскажу и про железо, которое нужно, и про софт. 2 Владимир Иванов: Oracle и MS SQL - СУБД, которые разрабатывались для транзакционных систем. Ничего удивительного, что они не справляются с нагрузками, типичными для хранилищ данных. Для этого специальные СУБД надо использовать. Тем более, если речь о рознице идёт. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 09:41 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Lisyansky Спасибо, Ваши координаты передам людям ,которым собственно и предлагают купить OLAP. Собственно и ссылки на SQL.ru . Пусть почитают. Сам я отвечаю за железо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 09:55 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Guees, так вы и не ответили, какие объективные факторы берутся вами в расчет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 10:18 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To guess, Константин: Тутошние разговоры все время затеняют одну вещь, чтоб OLAP работал под ним должно быть ХД. Чтоб он очень хорошо работал - нужно очень хорошое железо. А это господа Вы скрываете. У меня будет что рассказать. Лапшу на уши типа "1000 долларов, и Вы в порядке" вешать не буду. Не тот масштаб. Господа, видимо нам надо несколько итераций чтобы понять друг друга. Вы специалисты по железу и ХД, я по аналитическим системам. Когда я прихожу в розничную сеть - там уже есть ХД, пока этот вопрос не решен крупные сети OLAP не начинают даже выбирать. Поэтому мне и хватает компьютера за 1000$ для OLAP-сервера. Может для пилота и PC за 500USD достаточно , но сейчас скорость роста данных такова что ни один из Вас и Ваших клиентов реально не сможет спрогнозировать этот прирост. Так все утверждения о мощном OLAP - чей бы он ни был хоть долбаный Cognos хоть рапространенный MSOLAP все равно выглядят шутками , тем более в рознице. Не забывайте, форум открыт для массовых посетителей, у которых через 10 лет не будет 100 миллионов записей. А крупных торговых сетей все-же немного, единицы... Да и специалистов которые внедряли там аналитические системы - тоже единицы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 10:33 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Константин Лисянский Oracle и MS SQL - СУБД, которые разрабатывались для транзакционных систем. Ничего удивительного, что они не справляются с нагрузками, типичными для хранилищ данных. Для этого специальные СУБД надо использовать. Тем более, если речь о рознице идёт. При всем моем уважении к вам, тут вы не правы. По крайней мере в отношении Oracle. Да и к Microsoft наверное тоже. Посмотрите например результаты тестов TPC-H http://www.tpc.org/tpch/results/tpch_perf_results.asp Особенно для сверхбольших хранилищ видно, что Oracle там показывает лучшие результаты. Более того на текущий момент самое большое коммерческое хранилище данных в France Telecom 32TB построено на Oracle. О чем был прессрелиз специальный. Там писали что перехватили флаг у Terradata. Само хранилище 48TB, но боевой кусок 32. В Oracle очень много встренных спец средств, созданных именно для использования с хранилищами. Например один асинхронный Change Data Capture чего стоит. Ну а про материализованные представления, partitioning, merge, query rewrite, query equivalence я уже и не говорю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 10:57 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
to Константин Лисянский авторOracle и MS SQL - СУБД, которые разрабатывались для транзакционных систем. Ничего удивительного, что они не справляются с нагрузками, типичными для хранилищ данных. Для этого специальные СУБД надо использовать. Советую полистать Oracle9 i Data Warehousing Guide Release 2 (9.2) March 2002 Part No. A96520-01 Oracle - это типичная СУБД для ХД. Смотря как сконфигурировать. Про это даже спрашивается на этапе создания БД. В MS я уверен тоже что-то подобное имеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 10:59 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Jurii: Не забывайте, форум открыт для массовых посетителей, у которых через 10 лет не будет 100 миллионов записей Юрий, посмотрите, пожалуйста, с чего начался разговор. Человек явно написал про сотни миллионов записей. Вероятно, он представляет крупную розничную сеть. Если бы речь не шла о таких объёмах, возможно я бы и не стал принимать участия в этом разговоре, чтобы не мешать Вам продвигать аналитические системы. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 11:06 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Константин Лисянский Нашел статью. http://otn.oracle.com/products/bi/pdf/vldw_cases_winter.pdf В частности в разделе case studies написано почему France Telecom мигрировал с Teradata. Там написано что трафик в FT 500 миллионов звонков в день. В хранилище содержится информация о 180 миллиардах звонках. Так что, это к вопросу можно ли держать в Oracle объемы данных крупной розницы. Есть и case study про Telecom Italia Mobile. Про Amazon.com (а это уже розница) там же написано что у них объемы 5 терабайт, и удваиваются каждый год. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 11:44 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Birkhoff, Tomcat: Спасибо за информацию об Oracle. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 12:19 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Почитал я ваши сообщения. Вроде специалисты, а общение на уровне PR-маркетинга. :) Хотите забавную историю по "терабайтные хранилища и крупнейшие в мире OLAP-решения"? Для начала без лиц, имен и названий. Ok? Мне пришлось сейчас на практике столкнуться с OLAP-решением, которое которое лежит в топе "кейсов" одного из 4х ведущих поставщиков BI-систестем. В кейсе написано, что "решение для компании-лидера в своем сегменте рынка (30 тыс. человек персонала), решение охватывает 250 филиалов компании по всему миру, совокупно в хранилищах данных 400 млн. фактов. BI-решение используется для бюджетирования корпорации на базе технологии OLAP-кубов с обратной записью. On-line доступ через Инет для всех 250 филиалов. И тд И тп". И вот мы со своим "детским" MS AS пошли автоматизировать филиал, интегрированный в такой супер-комплекс. Правда когда я стал смотреть решение, я чуть со стула не упал. Все что сказано выше это правда, только вот что это такое если очистить маркетинговый вид речи. - Во всех хранилищАХ действитетельно 400 млн. фактов, даже наверное больше, НО в хранилище центрального офиса передаются только агрегированные данные на уровне результатов за месяц. В результате в центральном офисе крошечное хранилище на 3-5 млн. агрегированных фактов. - Внимание!... сядьте покрепче, сейчас можно со стула упасть. Только 15% филиалов передают данные в центральные офис автоматически, остальные 75% ... перебивают руками операторы филиалов через терминальный сервис. На самом деле подобный подход далеко не редкость. Очень часто рассуждения об автоматизации "крупнейшей розничной сети" на самом деле весьма небольшые хранилища и кубы с грубым агрегированием. Решение на полной базе фактов, которое есть у большиства участников форума чаще оперирует большей OLAP-размерностью, чем подобное грубоагрегированное решение у мировой корпорации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 12:34 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Иванов Забавно. Предположим, что так оно и есть в этом случае. Но ключевое слово тут "решение". Технология по боку. А решить задачу как видно можно разными средствами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 12:46 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Россия однозначно родина слонов! Владимир сам тоже отличился ранее, описав свое мегавнедрение MSOLAP+OWC на 100+ рабочих мест в какой-то некрупной питерской конторке, уж не помню, какой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 12:50 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Birkhoff. Коллега, мне почему-то кажется что вы знаете, что у российский сотовых операторов логи довольно часто держаться под базами с MySQL. В базах MySQL лежат сейчас десятки и сотни миллионов фактов. Это я к тому, что нет проблем напихать 150 млрд. записей в любой SQL-сервер в плоскую неиндексированную таблицу и с выключенным логированием. Если тут еще задействовать федеративный кластер MS SQL, то можно вообще рекорды ставить. Теперь осталось сделать хотя бы простейший SQL-запрос... А вот тут получается пшик. Все как-то умалчивают, что все это "хралище" чаще всего даже не реально перепроцессировать. В OLAP оно попадает инкрементальной подкачкой или через модуль "грубого агрегирования". К слову, кто пробовал сделать Distinct Count анализ по 2 млн. абонентов? В MS AS работает, причем на 2х процессорной системе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 12:52 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Логи чего? логи сайта? Биллинг? CDR? Бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 12:58 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Иванов Мне наверное повезло. я работал с несколькими телекомовскими компаниями и везде было по-честному. Хранилище было на Oracle и данные оттуда читали запросами все кому не лень. (Собственно это и было обычно предпосылкой создания OLAP системы - разгрузить хранилище) Distinct Count делали. Тогда еще 2 миллионов абонентов не было, но и техника была послабее. не то что сейчас. Довольно шустро работало, со своими правда особенностями. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 12:59 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Глюкоген. "Маленькая питерская конторка" это вероятно Сатурн. 20% оптового рынка стройматериалов россии, номеклатура 300 тыс. позиций (правда большая чать часть набилась от "шурупной" проблемы), обычный филиал имеет склад в виде 2х самолетных ангаров (это не преувеличение, читать дословно). Я к слову не идеализирую это внедрение, там своих проблем хватает. Но не стоит судить об известности компаний по обывательским брендам. Обычному обывателю в голову не придет, что 70% таких супермаркетов как Лента, Максидом, OK, IKEA наполняется 3-4 крупнейшии оптовыми поставщиками-логистами такими как Сатурн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 13:02 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
и как они при эдакой монструозности живут на 1С, из которой, собственно, и качаются данные в MSAS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 13:37 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Все-таки, по-моему, розница сильно отличается от телекома в области анализа в сторону большей сложности (правда, при меньшем количестве записей) :) Три московских Ашана генерируют в сумме до миллиона фактов в день. И в процессе работы таких предприятий явно будут появляться новые кубы, которые надо будет строить по сотням миллионов записей, а не просто инкрементировать. Честно говоря, я скептически отношусь к заявлению, что Oracle не может выступать как ХД на таких объемах... Что же тогда может? P.S. Я представляю не Ашан! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 13:50 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Гликоген. Прежде всего мои извинения, я случайно обозвал вас Глюкогеном. В Сатурне только некоторые филиалы скупленные сравнительно недавно у разорившихся конкурентов работают под 1С. В основном они работают на нашей системе Ultra Project. Это комплекс сходный по архитектуре с Ultima-S, но в нем другое CASE-ядро. Сейчас новая версия комплекса проходит обкатку в корп. внедрениях. Однако если не гнуть пальцы, то потенциал 1С+OLAP тоже весьма велик. Русклимат далеко не маленькая компания, но ей удается решать свои проблемы на 1С 7.7/8.0 + комплексный OLAP. Правда тут много тонкостей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 13:57 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2akoo. Может как раз инкременталка в связке с MOLAP. Требования к хранилищу тут минимальные. Запросто можно из текстовых файлов качать. Причем наращение 1 млн. фактов на 50 млн. занимает на MS AS примерно 15-30 минут (реальный сервер). Архив вести конечно можно, только репроцессинг его может занять месяцок-другой. Вот почему важно в таких хранилищах сразу делать правильную архитектуру. Переделка весьма и весьма кровопролитна. У нас один клиент был вынужден развернуть систему-дублера за $20K для перепроведения всех архивов. В чем была проблема? Небольшие ошибки в проектировании, которые привели к нерабочей системе, мы их быстро нашли и исправли. Осталось только кубики перепроцессировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 14:04 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
akoo У меня вопрос, а нельзя обойтись Oracl'овым ROLAP'ом? Или есть какие-то серьезные требования, по которым ROLAP не проходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 14:12 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
ROLAP, он и в Африке ROLAP. Надо понимать, что агрегаты тут таблицы или виртуальные таблицы типа материлизованных (Oracle) или индексированных (MS SQL) представлений. Соотвественно и ограничения как обычное приложение под SQL-сервер. Если размер таблиц агрегатов сравнительно не велик (сотни тысяч позиций) и пользователи практически не открывают детализацию требующую обращения к фактам, то ROLAP себя ведет не так плохо. Это все и называется ГРУБОЙ агрегацией. Если же пользователь начинает скользить к мелким листьям товарного дерева, использовать сочетание многих измерений, то ROLAP генерить такие SQL-запросы, что система быстро уходит в даун. Разработчики ROLAP обычно решают это просто - не дают использовать большие детализации. Нагрузка на CPU сервера при работе ROLAP и MOLAP отличается примерно в 7 раз. 2Birkhoff. Если уж и говорить о разгрузке SQL-сервера, то тут как раз MOLAP нужен, он вообще SQL-сервер при работе не трогает. У ROLAP и HOLAP есть только один плюс - более компактные по размеру хранилища. MOLAP у MS AS самый маленький по размеру, т.к. жмется на лету, но все равно объем MOLAP хранилища может быть существенно больше исходных данных. Если на вашем RAID мало места, можно попробовать только не ROLAP, а HOLAP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 14:43 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Иванов Дык и было внедрение MOLAP (Express) для разгрузки хранилища. А насчет того что MV не помогают, в Oracle 10g есть теперь интересная фича. Я тут ее упомянул чуть выше. Называется QUERY EQUIVALENCE. Это расширение Query Rewrite. QR работает как? Мы создаем сколько-то MV на наши таблицы. Можно создать на одну таблицу несколько MV с разной степенью детализации. И когда пишем select к исходным таблицам, оптимизатор SQL может решить что данные лучше взять не из таблиц исходных, а из одного или нескольких MV. Запрос автоматом переписывается. То есть участие программиста тут не требуется. QE - это более хитрая штука. DBA может прописать, что существует MOLAP куб, который содержит данные такие же, как и дает запрос по некоторым реляционным таблицам. И вот в момент селекта по реляционным таблицам оптимизатор может переписать запрос так, что обращение произойдет к MOLAP кубу, а не к таблице. Естественно MOLAP часто отрабатывает запрос гораздо быстрее, чем group by. Надо экпериментировать, я много раз видел как таблицы с десятком миллионов записей при помощи набора MV очень шустро опрашиваются. Это вопрос настройки. Так что не стоит списывать ROLAP со счетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 15:18 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
akoo, а, например, как вы относитесь к решению, состоящему из нескольких продуктов? например, в качестве построителя хранилищ - DecisionStream или WarehouseBuilder, хранилище - в Oracle, если он у вас уже есть, кубы Microsoft, пакетная отчетность - в ReportNet? То есть не противопоставлять продукты, а брать у каждого вендора лучшее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 15:31 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Birkhoff. Судя по тому, что вы пишите видно, что MV в Oracle как серьезно отставали от IV в MS SQL так и отстают. Я имел удовольствие разворачивать Discoverer с использованием оптимизации под MV. Проблем хватило, в том числе обновление MV по расписанию, в MS SQL обновление IV всегда real-time. А QE вообще-то не производит вид божественного откровения. Оптимайзер MS SQL без всяких действий со стороны админа цепляет подходящий IV, если он может помочь в расчетах и цепляет весьма разумно (см. Query Plan). Я этот прием даже иногда использую в Real-time OLAP и ROLAP отказываясь от кривоватых автоматических IV и создавая свои руками. Оптимайзер их подбирает сам. Все это (MV и IV) совсем не панацея. Помолчим о тормозах в OLTP которые появляются из-за работы таких систем. Поскольку MV и IV все такие же плоские как таблицы при многомерных запросах по многим мемберам они быстро выпадают из актуальности и эффект от них нивелируется. Для Real-time OLAP и ROLAP все это помогает где-то до 10-15 млн. фактов, дальше даун. Я старый реляционщик, но как ни грустно признавать ROLAP'ам крышка, да это и видно по рынку. На 80% сейчас продаются MOLAP'ы. PS. Обратите внимание, что в Юконе будет большое количество расширений реляционной части для хранилищ данных, в том числе партиционные таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2004, 00:13 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Константин, Юрий, посмотрите, пожалуйста, с чего начался разговор. Человек явно написал про сотни миллионов записей. Вероятно, он представляет крупную розничную сеть. Это понятно :) Я просто хотел подчеркнуть, что розница - это далеко не всегда большие объемы данных, и чтобы г-н Guess поверил в чудодейственную силу MOLAP для розницы. Что касается вопроса, хватит ли сервера стоимостью 1000$ или нет: действительно, я говорил только про такой дешевый MOLAP-сервер, и не упоминал про сервер РСУБД. Возможно ХД на РСУБД потребует более дорогого железа, но прочувствуйте разницу между 2 подходами: 1) используем ROLAP, например ту же Microstrategy - это означает, что на реляционный сервер ХД будут постоянно идти аналитические запросы, это при большом объеме строк чеков - огромная нагрузка, и тут я согласен с Guess, что железо будет очень дорогое; 2) Используем MOLAP, например Cognos PowerPlay купив для него сервак за 1000$. При этом нагрузка на сервер ХД будет минимальна, аналитических запросов туда поступать не будет - только выборка новых данных по индексам для инкрементальной подкачки в куб PowerPlay (и то, в моих крупных розничных проектах это делается только ночью). Я считаю, что сервер ХД при таком подходе может быть и слабым компьютером, может не за 1000$, но не более чем за 5000$. Константин, интересно было бы нарисовать график (как для ROLAP, так и для MOLAP) стоимости железа (стоимость реряционного сервера + OLAP-сервера) в зависимости от количества записей в таблице фактов - думаю для ROLAP это будет экспоненциальный рост, а для MOLAP - либо слабый линейный рост, либо вообще горизонтальная линия... Да и вообще то дискуссия затянулась и немного отошла от темы. Поделитесь, пожалуйста, информацией по поводу опыта крупных проектов по OLAP в российской рознице. В первую очередь по MOLAP (Cognos, Hyperion, Oracle). Поэтому я бы предложил провести тесты на реальной базе данных автора этой дискуссии. Я могу предоставить для этого свой опыт в области Cognos PowerPlay (в течение одного дня могу создать серьезный кубик :) Думаю компании Ланит и Oracle тоже примут в этом участие со своими продуктами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2004, 10:45 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Иванов Судя по тому, что вы пишите видно, что MV в Oracle как серьезно отставали от IV в MS SQL так и отстают. Судя по тому, что вы пишите, я плохо объяснил идею. Я имел удовольствие разворачивать Discoverer с использованием оптимизации под MV. Проблем хватило, в том числе обновление MV по расписанию, в MS SQL обновление IV всегда real-time. В Discoverer обновление materialized views (MV) по расписанию - это дефолтный вариант, который меньше всего грузит сервер, особеннно в случае большой транзакционной загрузки. К тому же, обычно подразумевается что хранилища обновляются по расписанию. Но и в Discoverer в частности и в MV вообще существуют разные режимы обновления и работы. Можно сделать чтобы MV обновлялось в real-time, можно по времени, можно по команде. Использоваться они могут тоже в нескольких режимах. Например, оптимизатор может брать данные из MV только если они соответствуют тому, что в таблице. Или может брать данные всегда. Это в том случае, когда несколько новых записей в таблице не сказываются на трендах. Что будет делать IV если у нас нагрузка 1000 транзакций в минуту? будет пытаться обновлять IV 1000 раз в минуту? Тогда понятно почему на 10 миллионах записей все это уходит в даун. А если бы можно было сделать отложенное обновление IV - это резко бы разгрузило систему. Оптимайзер MS SQL без всяких действий со стороны админа цепляет подходящий IV, если он может помочь в расчетах и цепляет весьма разумно (см. Query Plan). Я этот прием даже иногда использую в Real-time OLAP и ROLAP отказываясь от кривоватых автоматических IV и создавая свои руками. Оптимайзер их подбирает сам. Ну так и в случае MV оптимизатор без всяких действий админа цепляет нужный MV (или несколько). Насчет весьма разумного оптимизатора - не знаю как в MS, но если поищите в форуме Oracle по ключевым словам "CBO" или "оптимизатор" найдете, что в сложных случаях оптимизаторы могут ошибаться. И админы с этим пытаются бороться. Думаю что в MS тоже самое, просто вы не сталкивались с такими сложными случами. А QE вообще-то не производит вид божественного откровения. Поскольку MV и IV все такие же плоские как таблицы при многомерных запросах по многим мемберам они быстро выпадают из актуальности и эффект от них нивелируется. Вот тут видимо вы и не поняли идею Query Equivalence (QE). Может ли оптимизатор в MS при например select shop,sum(amount) from sales group by shop автоматом переписать этот запрос в MDX и отправить его в MS AS? Думаю не может. А вот QE именно это и делает. Мы пишем селект к реляционным таблицам, а оптимизатор решает взять ли данные из таблицы, из MV или переписать его и отправить в многомерную базу, где не может быть ситуации когда при многомерных запросах по многим мемберам они быстро выпадают из актуальности и эффект от них нивелируется . Так как обращение идет к самому что ни на есть многомерному OLAP. В этом подходе уже не ясно где кончается ROLAP (да и начинается ли?) и где он переходит в MOLAP. HOLAPом это тоже назвать сложно. А Real-time OLAP действительно ли он кому то нужен? Или это просто погоня за идеальной системой? Все это (MV и IV) совсем не панацея. Помолчим о тормозах в OLTP которые появляются из-за работы таких систем. Панацеи не существует нигде, а тормозов в MV можно избежать разумной политикой их обновления. P.S. Обратите внимание, что в Юконе будет большое количество расширений реляционной части для хранилищ данных, в том числе партиционные таблицы. В Oracle партиционированные талицы уже давно существуют, что так же помогает не умирать системе на 15 миллионах записях. Кстати не дадите линку какую нибудь summary по новым фичам Юкона для хранилищ? Кстати еще одной фишкой в 10g является возможность взять данные из таблице не те, которые лежат сейчас там, а те, которые в ней были на момент времени в прошлом. То есть можно сравнивать что изменилось за определенное время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2004, 13:01 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Birkhoff 1) На MS SQL нет проблем сделать отложенное обновление IV. Просто сделайте их поверх DWH, а не таблиц OLTP. При создании DWH они обновяться как MV. Проблема в том, что и на MS SQL и на Oracle часто удобно использовать для оперативных кубов сами таблицы OLTP (см. п.3). Тут обновление MV по расписанию довольно неудобно. 2) Оптимайзеру MS SQL можно при манипулировании IV помочь хинтами, однако на практике OLAPов это редкость. Довольно прозрачно как надо цеплять IV. MDX и QE сравнивать некорректно. Для работы MDX под MOLAP обычно не нужно обращаться ни куда SQL-запросами. MDX запросы в MOLAP всегда быстрее в 2-3-7 раз аналогичных SQL-запросов. 3) Real Time не нужен для топ-менеджеров смотрящих отчеты, это главные потребители такой информациии и ваша реакция тут сраведлива. Но мы делаем решения не только для кучки аналитиков, а и для всей компании в целом. Менеджерам среднего звена нужны отчеты с низкой латетностью. Не весело пропустить последний платеж клиента и принять на этом решение. 4) Давайте не будем про неумерающий Oracle на 15 млн. фактов? Ok? Сделайте запрос-снежинку в 10 млн. и он подохнет. Аналог партиционных таблиц можно сделать в MS SQL 2000 через создание отдельных табличек типа Sales2000, Sales2001 и объединения их через UNION ALL view. Если использовать distributed view через несколько серверов производительность MS SQL будет примерно в 2 раза выше Oracle на таком оборудовании. По-сути это и есть тот самый кластерный тест TPC на котором Microsoft забодал Oracle. Однако даже эта более производительное чем у Oracle решение не спасает на 20 млн. фактов и BI-решении с требованиям к высокой детализации в кубах. Новые вичи Юкона можно найти в статье в MSDN Business Intelligence and Data Warehousing in SQL Server Yukon ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2004, 15:20 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Иванов 1) На MS SQL нет проблем сделать отложенное обновление IV. Просто сделайте их поверх DWH, а не таблиц OLTP. При создании DWH они обновяться как MV. А если DWH нет, если работаем над OLTP таблицами? Тогда MV можно обновлять по расписанию. Почему вы говорите, что это неудобно? В чем неудобство? Оптимайзеру MS SQL можно при манипулировании IV помочь хинтами, однако на практике OLAPов это редкость. Довольно прозрачно как надо цеплять IV. В простых запросах конечно, а если например запрос объединяет 20 таблиц, которые при этом не лежат в звезде? Тогда оптимизатор может ошибаться. MDX и QE сравнивать некорректно. Для работы MDX под MOLAP обычно не нужно обращаться ни куда SQL-запросами. MDX запросы в MOLAP всегда быстрее в 2-3-7 раз аналогичных SQL-запросов. Похоже опять вы меня не поняли. Есть реляционный сервер. Есть многомерный. Мы делаем селект к реляционному серверу - запрос отрабатывается. Можем сделать MDX запрос к многомерному серверу - запрос отрабатывается гораздо быстрее. Но что нельзя сделать, так это то, чтобы когда писался селект к реляционной базе - оптимизатор знал что послав вместо реляционки MDX запрос к многомерной он получит ответ гораздо быстрее. Именно это делает QE. Пользователь не знает что его реляционный запрос перенаправлен на многомерный сервер - он просто получает ответ гораздо быстрее. Может вы просто не знаете, что в Oracle OLAP тоже есть свой язык многомерных запросов - OLAP DML? Вот QE как раз переписывает SQL в DML когда это удобно. В чем некорректность сравнения? Давайте не будем про неумерающий Oracle на 15 млн. фактов? Ok? Давайте. Если бы я не работал с хранилищем в котором было 200 миллионов фактов и не делал бы по этому хранилищу запросы с объединением 20 таблиц то я бы с вами может и согласился. При этом сервак работал медленно, да, этот запрос мог отрабатываться десятки минут, но сервер не умирал. Причем там не было ни партишинига ни MV. Ну и давайте вспомним пример, что я раньше приводил о 32 терабайтном хранилище в France Telecom. Хотите сказать, что у них там нет табличек на 20 миллионов записей? Аналог партишининга через UNION ALL это как раз то что и применялось до изобретения партишининга. Партиции и сейчас представляют собой отдельные таблицы, просто теперь оптимизатор знает в какой таблице что лежит. А что это за тест TPC где MS делает Oracle- специально заглянул туда - вроде Oracle делает MS с большим отрывом. Или я что то неуглядел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2004, 18:15 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Коллега, давайте не будем спорить так горячо как представители разных религий. В к слову сказали очень интересную вещь. Если бы я не работал с хранилищем в котором было 200 миллионов фактов и не делал бы по этому хранилищу запросы с объединением 20 таблиц то я бы с вами может и согласился. При этом сервак работал медленно, да, этот запрос мог отрабатываться десятки минут, но сервер не умирал. Причем там не было ни партишинига ни MV. Ну и давайте вспомним пример, что я раньше приводил о 32 терабайтном хранилище в France Telecom. Хотите сказать, что у них там нет табличек на 20 миллионов записей? Можно пример запроса, который вы делали? Берусь утверждать, что это максимум звезда и "20 таблиц" все же преувеличение. MS SQL может оперировать 100 млн. только на "вручную" партицированных таблицах, по технологии как я указывал. Однако моя практика прикручивания MS AS к Oracle показывает, что он ведет себе не лучше MS SQL. Для нормальной работы также нужно делать Оптимизацию Схемы, так что не смотря даже на 40 табличек в связях все это приводит к плоскому запросу без join'ов. Фактически это уже нужно делать при 5-7 млн. фактов. База в Лаверне под Discoverer не живет без MV уже на 20 млн. фактов (и то время отклика 80 секунд). А вы говорите 200 млн… Или шаман знает заклятие? :) Куплю сервер за $2млн и все OK? Хотя мне кажется все просто. Факты просто порезаны на несколько таблиц и баз, а возможно и серверов. France Telecom думаю сделал также. Хранить в 1й таблице даже 10 млн. фактов часто маразм. Разные таблицы позволяют применить разное индексирование. Плюс есть история развития. В следующих периодах таблицы фактов обычно меняют наращивая аналитику. Аналог партишининга через UNION ALL это как раз то что и применялось до изобретения партишининга. Партиции и сейчас представляют собой отдельные таблицы, просто теперь оптимизатор знает в какой таблице что лежит. А что это за тест TPC где MS делает Oracle- специально заглянул туда - вроде Oracle делает MS с большим отрывом. Или я что то неуглядел? Коллега вы уже пропустили все шоу. При выходе MS SQL 2K ребята из MS развернули федеративный кластер и тогда побили Oracle в 2 раза. Лари бегал по форумам и всем кричал, что такая технология не применима в реальных приложениях (у Oracle насколько мне известно нет технологии федеративных кластеров которые масштабируются линейно). Это во многом действительно так. Есть 2 исключения: построение мощных Web-порталов и создание хранилищ данных. Если вы следите за TPC вы должны были отметить, что MS не принимает там активного участия в последние 1,5 года. Так вялый тест 64-битной версии и все. Кого нужно убеждать, что сервер которому уже пошел 4й год все еще на высоте? Рынок ждет Юкона. Хотя я думаю, MS бы потратив $20-30 млн. могбы снова всех повалить в TPC федеративным кластером. Просто надо покупать Пролиантов пачками и ставить рядом. Дисковое хранилище-то федеративное. Я думаю с выходом Юкона Microsoft победит Oracle в тестах TPC как по кластерному тесту, так и без кластера. Готов поспорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2004, 23:31 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Иванов Это не религия, это что-то другое. :) Вот уж не думал что придется доказывать вам, что 20 миллионов записей - обычный объем. Я поищу в понедельник на работе пример запроса, если найду - пришлю. Нет там никакого преувеличения, так как нет и звезды, зато есть несколько outer join-ов. Хранилище представляло собой копию OLTP базы на определенный момент времени. Так что звезды там не были предусмотрены. Select count (*) по таблице фактов проходил за 40 минут :) Насчет того, что Discoverer умирает с 20 миллионами записей - нужно смотреть конкретный пример. Можно наверное придумать как и на 1 миллионе убить, при желании. :) Вот вы говорите 20 миллионов ситуация нетипичная. Странно. Вы же работаете с розницой. Там 20 миллионов фактов должны встречаться сплошь и рядом. Да и в первом посте этого топика спрашивали о том как работать с 200-300 миллионами записей... Посудите сами, что такое 20 миллионов записей? Возьмем какого-нибудь среднего регионального сотового оператора с объемом абонентской базы 100 тысяч человек. Он вам миллион записей нагенерит дня за 3 максимум. Если держать в хранилище звонки за полгода - год, то будет 50-100 миллионов записей. А если взять крупных операторов, то 10 миллионов записей у них падает в базу за день. Думаю московсоке метро вбивает в базу 10 миллионов записей о проходах через турникеты в день, а то и больше. Различные типы партишининга позволяют держать и работать с огромными объемами. Я проверю в понедельник, по-моему у меня на компьютере даже есть одна тестовая базулька на 12 миллионов записей. Другой пример. Я его как то уже приводил - мне нужно было загрузить и проанализировать большой справочник номенклатуры, около 40 миллионов наименований. Загрузил его в MS SQL, потом построил кубик с Distinct Count мерами в MS AS. И все это тоже на обычной персоналке с гигом памяти. Никаких тормозов ни при SQL запросах, ни при запросах к MS AS. Заметьте не Oracle даже :) Я спорю не о технологии даже, а о том что в наше время 20 миллионов записей это совершенно обычная вещь. Если бы лучшие серверы умирали на таких объемах как бы мы вообще жили? К слову в тестах tpc-с число, насколько я помню, показывает количество транзакций отработанных в секнуду. Вот на текущий момент Oracle лидирует с числом 1,184,893. В секунду. За сколько набьется 20 миллионов? За 17 секунд. Теперь по кластерам. Я не особый специалист в них. Попытался найти, что такое федеративный кластер - яндекс выдал мне две ссылки - одну на старый Микрософтовский прессрелиз, а вторую на ваш сайт :) Как это в оригинале называется? Я так понял, это когда персоналки объединяются вместе, база делится по их дискам, а результаты запроса собираютя по кусочку со всех? И как это работает? Какая технология? Не уверен, что у Oracle есть технология именно такая. Да и зачем плодить кучу персоналок, когда можно взять большой дисковый массив? И каким нибудь хэш партишинингом раскидать по этому массиву огромное количество записей с огромной же скоростью... Подождем Юкона, что делать :) Теперь-то MS SQL можно пускать на супердомах. Красота :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:29 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Иванов Это не религия, это что-то другое. :) Вот уж не думал что придется доказывать вам, что 20 миллионов записей - обычный объем. Я поищу в понедельник на работе пример запроса, если найду - пришлю. Нет там никакого преувеличения, так как нет и звезды, зато есть несколько outer join-ов. Хранилище представляло собой копию OLTP базы на определенный момент времени. Так что звезды там не были предусмотрены. Select count (*) по таблице фактов проходил за 40 минут :) Насчет того, что Discoverer умирает с 20 миллионами записей - нужно смотреть конкретный пример. Можно наверное придумать как и на 1 миллионе убить, при желании. :) Вот вы говорите 20 миллионов ситуация нетипичная. Странно. Вы же работаете с розницой. Там 20 миллионов фактов должны встречаться сплошь и рядом. Да и в первом посте этого топика спрашивали о том как работать с 200-300 миллионами записей... Посудите сами, что такое 20 миллионов записей? Возьмем какого-нибудь среднего регионального сотового оператора с объемом абонентской базы 100 тысяч человек. Он вам миллион записей нагенерит дня за 3 максимум. Если держать в хранилище звонки за полгода - год, то будет 50-100 миллионов записей. А если взять крупных операторов, то 10 миллионов записей у них падает в базу за день. Думаю московсоке метро вбивает в базу 10 миллионов записей о проходах через турникеты в день, а то и больше. Различные типы партишининга позволяют держать и работать с огромными объемами. Я проверю в понедельник, по-моему у меня на компьютере даже есть одна тестовая базулька на 12 миллионов записей. Другой пример. Я его как то уже приводил - мне нужно было загрузить и проанализировать большой справочник номенклатуры, около 40 миллионов наименований. Загрузил его в MS SQL, потом построил кубик с Distinct Count мерами в MS AS. И все это тоже на обычной персоналке с гигом памяти. Никаких тормозов ни при SQL запросах, ни при запросах к MS AS. Заметьте не Oracle даже :) Я спорю не о технологии даже, а о том что в наше время 20 миллионов записей это совершенно обычная вещь. Если бы лучшие серверы умирали на таких объемах как бы мы вообще жили? К слову в тестах tpc-с число, насколько я помню, показывает количество транзакций отработанных в секнуду. Вот на текущий момент Oracle лидирует с числом 1,184,893. В секунду. За сколько набьется 20 миллионов? За 17 секунд. Теперь по кластерам. Я не особый специалист в них. Попытался найти, что такое федеративный кластер - яндекс выдал мне две ссылки - одну на старый Микрософтовский прессрелиз, а вторую на ваш сайт :) Как это в оригинале называется? Я так понял, это когда персоналки объединяются вместе, база делится по их дискам, а результаты запроса собираютя по кусочку со всех? И как это работает? Какая технология? Не уверен, что у Oracle есть технология именно такая. Да и зачем плодить кучу персоналок, когда можно взять большой дисковый массив? И каким нибудь хэш партишинингом раскидать по этому массиву огромное количество записей с огромной же скоростью... Подождем Юкона, что делать :) Теперь-то MS SQL можно пускать на супердомах. Красота :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:31 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Поправка. TPC считает число транзакций в минуту, а не в секунду. Ну в общем, это мало что меняет. 20 миллионов за 17 секунд или за 17 минут, в данном случае не важно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:41 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Это не религия, это что-то другое. :) Вот уж не думал что придется доказывать вам, что 20 миллионов записей - обычный объем. Это совсем необычный объем. Есть только несколько видов приложений где фактов сразу много (больше 20 млн): розница, телеком, производственная телеметрия, веб-логи. Вот пожалуй и все. О московском метро давайте не будем, я как раз с этим пересекался. Если сейчас начну рассказывать так все со смеху попадают. Просто Макбет шоу, там до OLAP'ов как до Луны. Результаты работы крупной производственной группы масштаба Лукой-Коми это всего 20 млн. фактов год. Правда если взять производственную телеметрию нефтянки там быстро набегает 100 млн. за месяц. Однако там как раз удобна грубая агрегация. Потом объем фактов совсем не главный показатель, OLAP-системы более чувствительны к количеству и качеству измерений. Например, Distinct Count анализ на 20 млн. фактов сложнее по оптимизации чем тупой отчет на 100 млн. Единственное что нужно знать, так это то что методика оптимизации MS AS меняется если фактов больше 20 млн. или если измерений в кубах стало больше 20. Теперь по кластерам. Я не особый специалист в них. Попытался найти, что такое федеративный кластер - яндекс выдал мне две ссылки - одну на старый Микрософтовский прессрелиз, а вторую на ваш сайт :) Как это в оригинале называется? Еще это называют distributed view. Еще просто говорят "кластер MS SQL", но чтобы не путать его с аварийно-устойчивым кластером MS SQL я говорю как MS - "федеративный кластер". Федеративный - это значит, что все ноды кластера независимы. Для сравнения у Oracle хралище данных может быть только на одном сервере в кластере. Интересно, что федеративный кластер MS SQL можно делать географически распределенным (ноды это сервера в разных географических точках). Такой кластер сделан в Сатурне для объединения локальных DWH в филиалах в кластерное предеставление. Не только быстро, но и удобно. Группа серверов смотрится как один. PS. И вообще выходные, пить пиво надо. А мы тут кластеры, кластеры.... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 12:55 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Иванов Федеративный - это значит, что все ноды кластера независимы. Как я понимаю, в этом случае, когда вырубается один из узлов кластера - система остается без части данных? То есть кластер предназначен для ускорения доступа, но для обеспечения высокой доступности - нет? Oracle хралище данных может быть только на одном сервере в кластере Это не совсем так. У Oracle кластер - это несколько серверов с единым дисковым массивом. Сказать на каком из узлов находится хранилище нельзя, да и не имеет смысла. В этой архитектуре в случае сбоя одного из узлов, нагрузка перераспределится на оставшиеся, все данные будут по-прежнему доступны. А вообще по Oracle кластерам у нас на форуме есть как минимум один специалист - DimaR, может он что-то добавит. Пойду пить пиво :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 13:13 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
В СУБД Teradata, то, о чём вы говорите (кластерная, а точнее массивно-параллельная архитектура "shared nothing") существует с самого начала (1983 год) и по сей день. И хэш-партишионинг тоже. Удивительно, что Оракл только совсем недавно до этого дошёл. В MS, насколько я знаю (поправьте меня, если это не так), хэш-пиртишионинг отсутствует, что делает практически невозможным равномерное распределение данных между узлами кластера, а соответственно, и эффективное распараллеливание запросов. И вообще там под вопросом находится параллелизм внутри запросов. Умеет ли MS параллельно выполнять JOIN, сортировку, агрегирование, чтение индексов, вставку, обновление, удаление, создание индексов, архивирование, восстановление, full-scan таблиц, наконец? Все эти возможности необходимы для создания и эксплуатации больших хранилищ данных. Вторая СУБД - IBM DB2. Про неё тоже, почему-то, здесь никто не говорит. Хотя она тоже очень хорошие результаты показывает в массивно-параллельной конфигурации. Желаю удачно попить пива :) С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 14:35 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Кто знает, каков уровень цен на СУБД Teradata и на сопутствующее железо для серьезных объемов данных от 100 миллионов записей? Какова минимальная конфигурация/стоимость? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 15:54 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Константин Лисянский Про DB2, так же как и про Teradata не говорят, потому что, видимо, нет тут специалистов по этим СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 16:24 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Юрий: гугль нашел цену на Teradata '98 - от $25K до $50K на четырехпроцессорный сервер; также часто попадается отчет о "нелогичной ценовой политике" и упоминание ее секретности ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 16:27 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
А вот что я в Яндексе нашел... : "То, для чего пять лет назад требовалась система Teradata стоимостью 10 миллионов долларов, теперь можно осуществить на рабочих станциях Hewlett-Packard, Sun Solaris, Digital Alpha и Silicon Graphics", - отмечает Лав. ( http://www.olap.ru/basic/dm3.asp ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 16:59 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
тоже, значит, линк старый. то, для чего требовались Силиконы, сейчас делается на вычислительных фермах стандартных писюков под линухами, а станции на Wintel сильно подвинули остальные, а некоторые даже убили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 17:05 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
вот зачем искуственно ограничивать выборку только "местными" внедрениями OLAP? ясно же, что у нас это делается совсем недавно, и масштаб бизнесов в среднем меньше. сетей уровня WalMart - просто нет. давайте опишем здесь проект Т3 2000-го года, где в девять околотерабайтных MSAS-кубов залили 7млрд. записей со скоростью 200млн. записей в час на многопроцессорном железе Unisys, под лозунгом "сделаем больше, чем вообще может понадобиться, чтобы не возникало вопросов, сколько можно в принципе" и закроем вопрос в конце концов. жаль, что для Cognos нет таких тестов. я нашел только бенчмарк по количеству юзеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 17:16 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
вот зачем искуственно ограничивать выборку только "местными" внедрениями OLAP? В России и СНГ другой масштаб проектов. Например если у нас благоприятная политика лицензирования и Cognos доступен даже для ПБОЮЛ, то на Западе считается что средний проект по Cognos - более 100 тыс. долларов. давайте опишем здесь проект Т3 2000-го года, где в девять околотерабайтных MSAS-кубов залили 7млрд. записей со скоростью 200млн. записей в час на многопроцессорном железе Unisys Думаю тут не все так однозначно - во-первых железо дорогое будет, во-вторых насколько я слышал - в том проекте были кубы с очень простой структурой. Мы ведь знаем слабые места MS AS, против которых никакой Unisys не поможет... жаль, что для Cognos нет таких тестов. Да, было бы интересно закачать в Cognos PowerPlay 7 миллиардов записей. Но только вот нет у меня под рукой ни подобной БД, ни соответствующего железа... Поэтому как тесты остается рассматривать реальные проекты, но там объемы поменьше. Могу привести тест по Cognos который я делал несколько лет назад и упоминал на форуме www.olap.ru: Исходные данные - текстовый файл размером порядка 600 мегабайт (детальные данные по 700 тысячам юр. лиц, итого 7 миллионов записей). При создании куба в PowerPlay я умудрился записать эти данные без потери детализации на стандартную дискету размером 1.4 мегабайта... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 17:36 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Константин. Не знаю разворачивали вы кластерные решения на Терадате, но я что-то сомневаюсь в эффективности автоматического хеширования данных кластерах sharing-nothing. Вы представляете гигабайты курсирующие между нодами согласно хешам? Эффективность ручной сегментации на порядок выше и как правило она уже сделана, нода в федеративных кластерах Microsoft это сервер филиала, значит там и данные филиала (остальное фильтруем). Основной недостаток кластера Microsoft, что его нельзя "подложить" под работающую систему особенно класса ERP. Систему сразу нужно писать в кластерной архитектуре. Однако для DWH это не проблема, а даже скорее решение. 2Бикхоф. Кластер Oracle не поддерживает Sharing Nothing, т.к. дисковый массив все равно зависим и полного паралеллизма как в Терадате и MS не получить. Кластер sharing-nothing по определению не аварийно устойчивый, это цель - производительность. Но и вы года от него не 30% а 3000%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 17:52 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Иванов Основной упор в кластерах Oracle делается на высокую доступность, устойчивость от сбоев, а производительность достигается другими методами, в том числе и партишинингом. В этом наверное и разница подходов. 2 Гликоген T3 критиковали именно за сверхупрощенность модели. Так что этот проект практически ничего не доказал. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 18:09 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Birkhoff. Просто у Oracle аварийно-усточивый кластер и кластер для создания многосерверного паралеллизма одно и тоже. У MS и Терадата это не так. Отдельно кластер сверхпараллелизма и отдельно аварийно-усточивый кластер (failover cluster). Можно 2 кластера использовать отдельно, можно не использовать любой на выбор. Кластер Oracle дает выйгрыш до 30% при переходе от 1й ноды к 3м. Кластер MS дает тут примерно 300%. Однако кластер Oracle можно подложить под SAP R3, а кластер MS нет. Правда по SAP Benchmark лидирует MS SQL и без кластеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 19:06 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир: Автоматическое хэширование даёт несколько преимуществ: 1. Отсутствие перекосов в данных за счёт их равномерного распределения по узлам системы. Если распределение данных, например, производится по филиалам, то перекосы гарантированы, поскольку никогда не будет случая, когда во всех филиалах одинаковое количество данных (если, вы их, конечно, не агрегируете до одной строки). Соответственно, надо ждать результатов ровно столько, сколько обрабатывается самый большой набор данных = узкое место. 2. Алгоритм хэширования позволяет эффективно извлекать данные по первичному индексу (столбец или их набор, по которому производится хэширование) за одну операцию чтения с диска. Например: CREATE TABLE customer ( cust_id, cust_name ) PRIMARY INDEX (cust_id); SELECT * FROM customer WHERE cust_id=10023 Селект потребует всего одно чтение с диска (прикиньте, сколько чтений может потребовать MS, в идеале - как минимум два - один для чтения индекса, другой - данных, хотя, до нужной страницы индекса можно сразу и не добратбся - смотря сколько уровней в дереве). При этом, преимущество перед случайным распределением в том, что результат размещения строки в партицию повторяемый и предсказуемый, то есть строка с одним и тем же значением первичного индекса всегда будет попадать в одно и то же место, если конфигурация системы остаётся постоянной. 3. Выборка данных по вторичному уникальному индексу происходит за два обращения к диску. Здесь надо сказать, что вторичные индексы в Терадате не представляют собой B+-деревья, а являются такими же таблицами, что и базовые и так же хэшируются. 4. Руками ничего не надо делать, данные распределяются автоматически = лёгкость администрирования. По поводу прогулок между узлами. Дело в том, что в массивно-параллельной конфигурации для соединения узлов между собой используется специальное устройство - коммутатор BYNET, который соединяет каждый узел с каждым. Общая пропускная способность получается гигантская. Поэтому перераспределение данных на другие узлы не являются проблемой. Помимо этого существуют такие вещи, как хэш- и джойн-индексы, которые в некотором роде являются аналогами MV и позволяют материализовать джойны между таблицами. Кластер sharing-nothing по определению не аварийно устойчивый, это цель - производительность Не знаю, как в MS, а в Терадате очень даже устойчивый, поскольку: 1. Существует механизм FALLBACK-таблиц. Грубо говоря, альтернативное распределение таблиц по узлам. При выходе узла из строя ничего с такой таблицей не случится, поскольку есть такой же кусочек таблицы, хранящийся на другом узле. 2. Существует такое понятие, как "клика" (объединение узлов для автоматического восстановления после сбоя). 3. Для mission critical систем существует режим Dual Mode, когда две системы стоят рядом и полностью дублируют друг друга. Но и вы года от него не 30% а 3000%. Выгода - это линейная масштабируемость, то есть рост производительности прямопропорционально количеству добавляемых узлов. полного паралеллизма как в Терадате и MS не получить Я уже поднял вопрос о "полном" параллелизме в MS. Его там, скорее всего, нет. Зачем тогда нужны хинты (которых, кстати, в Терадате нет), как не объяснять не очень продвинутому оптимайзеру, что запрос надо выполнять не как он решит, а как ему скажут? Давайте ответим на вопрос, какие этапы запросов распараллеливаются в MS, существует ли параллелизм внутри шагов запроса и между шагами, а также между запросами (когда разные запросы могут использовать результаты идентичных шагов, а не выполнять их многократно по числу запросов)? Существуют ли такие удобства, как синхронизированное сканирование таблиц (один пользователь начинает full scan таблицы, другой начинает через некоторое время, но физически он начинается с того места, где сейчас первый пользователь, дальше идут вместе до конца, первый получает результат, второй сканирует с начала таблицы и до того места, откуда он начал скан таблицы, в итоге вместо двух сканов таблицы получаем один с кусочком, больше пользователей сканируют одну таблицу - больше выигрыш от синхронного скана). Про парралелизм в Терадате здесь . У MS и Терадата это не так. Отдельно кластер сверхпараллелизма и отдельно аварийно-усточивый кластер (failover cluster). Нет, не отдельно. Всё вместе. По крайней мере у Терадаты. Я бы не ставил MS и Терадату рядом - разного класса продукты. Может Юкон будет попродвинутее в плане поддержки хранилищ. Удачи! С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 19:28 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Автоматическое хэширование даёт несколько преимуществ: 1. Отсутствие перекосов в данных за счёт их равномерного распределения по узлам системы. Если распределение данных, например, производится по филиалам, то перекосы гарантированы, поскольку никогда не будет случая, когда во всех филиалах одинаковое количество данных (если, вы их, конечно, не агрегируете до одной строки). Соответственно, надо ждать результатов ровно столько, сколько обрабатывается самый большой набор данных = узкое место. Вы меня не убедили. Разрезать на число нод до 10 лучше руками, в конце концов их не 100, ни какой хеш не сможет быть умнее человека. Потом следует учесть, что в MS AS партиции ложаться слайсами, которые нужно для максимальной производительности задать вручную, соотвественно нужно знать как разрезаны данные по нодам. Можно конечно не задавать и надеяться на автомат, тогда потеряешь 10-15% скорости. Селект потребует всего одно чтение с диска (прикиньте, сколько чтений может потребовать MS, в идеале - как минимум два - один для чтения индекса, другой - данных, хотя, до нужной страницы индекса можно сразу и не добратбся - смотря сколько уровней в дереве). Судя по всему вы не запусками MicrosStrategy поверх кластера MS SQL, а зря -он силен. Там тоже будет одно чтение. При создании dview он запоминает в query plan как наложены check на ключах, поэтому полезет в одну ноду. При этом, преимущество перед случайным распределением в том, что результат размещения строки в партицию повторяемый и предсказуемый, то есть строка с одним и тем же значением первичного индекса всегда будет попадать в одно и то же место, если конфигурация системы остаётся постоянной. Вы меня не убеждаете. В SQL-серверах есть другой более важный фактор, это нахождение данных читаемых как правило одновременно рядом на диске. Это снижает seek и позволяет выиграть до 40% производительности (ноды). Чтобы этого достичь нужно по таким данным создать кластерный индекс, иными словами выполнить хеширование вручную. 4. Руками ничего не надо делать, данные распределяются автоматически = лёгкость администрирования. А вот это действительно плюс. Во влияние на производительность, простите не верю. В кластере на 10 серверов всегда можно сделать лучше руками. Представте что такое кластер с сумарной мощностью 40 процессоров и 40 быстрых дисков, все юзется без повторов. Oracle может пойти погулять, там такая система будет в 5-6 раз дороже по металлу. По поводу прогулок между узлами. Дело в том, что в массивно-параллельной конфигурации для соединения узлов между собой используется специальное устройство - коммутатор BYNET, который соединяет каждый узел с каждым. Общая пропускная способность получается гигантская. Поэтому перераспределение данных на другие узлы не являются проблемой. Все это конечно здорово, но слегка забыли о транзакционной целостности. Для целостности распределенных транзакций нужен Distributed Trasaction Coordinator, т.е. совсем от центрального узла согласования транзакций не уйти или ... грязное чтений и no warranty. Неужели Терадата работает без координатора транзакций? Кластер sharing-nothing по определению не аварийно устойчивый, это цель - производительность Не знаю, как в MS, а в Терадате очень даже устойчивый, поскольку: 1. Существует механизм FALLBACK-таблиц. Грубо говоря, альтернативное распределение таблиц по узлам. При выходе узла из строя ничего с такой таблицей не случится, поскольку есть такой же кусочек таблицы, хранящийся на другом узле. Согласитесь, тогда это не sharing-nothing, а sharing-"что-то" со всеми накладными расходами на поддержку дубляжа "чего-то". Возможно именно это "что-то" привело к тому, что Терадата полностью вылетела из рейтинга TPC. 2. Существует такое понятие, как "клика" (объединение узлов для автоматического восстановления после сбоя). На это должен быть значительный накладняк. 3. Для mission critical систем существует режим Dual Mode, когда две системы стоят рядом и полностью дублируют друг друга. В MS SQL это Failover-кластер, к слову он может быть не только дуальным, но и тетра-кластером. Выгода - это линейная масштабируемость, то есть рост производительности прямопропорционально количеству добавляемых узлов. Судя по тому, что вы пишите, для Терадаты это не так. Для поддержания аварийной устойчивости нужен серьезный накладняк. Чистого sharing-nothing в Терадате нет, как MS SQL. Но в MS SQL он тоже почти чистый, т.к. требуется работа только координатора DTC. MS SQL гарантирует не только производительность, но и высокий режим изоляции и надежности распределенных транзакций. Мне распределенный commit важненее, защиты от падения ноды. Я уже поднял вопрос о "полном" параллелизме в MS. Его там, скорее всего, нет. У меня сложилось обратное впечатление. Блеснув аварийной усточивостью, вы вскрыли серьезную арихитектурную проблему Терадаты. За все надо платить, в том числе производительностью. Зачем тогда нужны хинты (которых, кстати, в Терадате нет), как не объяснять не очень продвинутому оптимайзеру, что запрос надо выполнять не как он решит, а как ему скажут? Согласитесь наличие хинтов, лучше чем их отсутвия. Счастливо Терадате разобраться какой индекс взять на запросе связывающем 20 таблиц с сумарным числом индексов свыше 100 и по 3-4 всеьма схожих составных индекса на некоторых таблицах. В MS SQL я могу поправить оптимайзер, однако это делается весьма редко. Новички же в MS SQL вообще пишут не глядя на оптимизацию. MS SQL вытягивает в связанных запросах таблицы в 200 тыс записей вообще без индексов. Давайте ответим на вопрос, какие этапы запросов распараллеливаются в MS, существует ли параллелизм внутри шагов запроса и между шагами, а также между запросами (когда разные запросы могут использовать результаты идентичных шагов, а не выполнять их многократно по числу запросов)? Вы вероятно редко сажаете MicroStrategy на MS SQL (или это сделать нельзя? или никто не хочет?), иначе бы вы знали, что особенно MS SQL Ent очень сильно использует параллелизм и без кластера. В Query Plan такие "синие этажерки" появляются. Не заметить - невозможно. Существуют ли такие удобства, как синхронизированное сканирование таблиц (один пользователь начинает full scan таблицы, другой начинает через некоторое время, но физически он начинается с того места, где сейчас первый пользователь, дальше идут вместе до конца, первый получает результат, второй сканирует с начала таблицы и до того места, откуда он начал скан таблицы, в итоге вместо двух сканов таблицы получаем один с кусочком, больше пользователей сканируют одну таблицу - больше выигрыш от синхронного скана). Плохой пример, точнее легкий для MS SQL. Он просто откеширует это дело и все. Давайте я вам расскажу как правильно ругать MS SQL. Пользователь 1 читает данные, Пользователь 2 - пишет. Все - задница, если Пользователь 1 не использовал грязное чтение, он блокирует Пользователя 2. Насколько я понимаю в Oracle такой проблемы нет (snapshot). Интересно есть ли snapshot в Терадате? Нет, не отдельно. Всё вместе. По крайней мере у Терадаты. Как я отмечал, это совсем не достоинство Терадаты и снижает ее производительность. Вероятно потому и неконкурентна она более в TPC. Я как админ могу выбирать разные стратегии надежности, например могу сделать ставку на RAID в нодах, могу делать failover-кластер. Это мой выбор, не надо его делать за меня. Я бы не ставил MS и Терадату рядом - разного класса продукты. Может Юкон будет попродвинутее в плане поддержки хранилищ. На мой взгляд MS SQL 2K и так не плох для DWH даже в 100G (хотите сверьтесь с TPC-H). Однако MS SQL и Терадата продукты действительно разного уровня. MS SQL универсальный SQL-сервер на котором днем могут работать сотни готовых приложений от 1С до SAP R3, а ночью может идти обсчет сложнейшего DWH. Лучше наворачивать 1н мощный сервер под MS SQL и Oracle, чем дублировать вложения в Терадату. Потом если используется MOLAP, особо больших требований к MS SQL нет. Это MOLAP будет хранить 7 млрд. фактов как в тестах Unisys. К слову в Cognos грузили только 1 млрд., интересно сколько в MicroStrategy+Терадата? Удачи! В прочем с интересом бы еще послушал про Терадату. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 03:56 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Это MOLAP будет хранить 7 млрд. фактов как в тестах Unisys. К слову в Cognos грузили только 1 млрд., интересно сколько в MicroStrategy+Терадата? Загрузить то можно много, главное чтобы сохранялось среднее время отклика на запрос пользователя не более 5 секунд... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 09:37 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Загрузить то можно много, главное чтобы сохранялось среднее время отклика на запрос пользователя не более 5 секунд... В этом конкретном случае с Т3, при работе 50 пользователей одновременно, результат был следующий: The median query response time is only 0.02 seconds for warm cache and 0.08 seconds for cold cache queries. (источник: http://www.microsoft.com/sql/evaluation/BI/terabytecube.asp ) или подробнее: Query execution time with cold cache ranged from under a second to 33 seconds. The mean query response time was 1.2 seconds. The median response time was 0.08 seconds. In general, the queries with longer response times were doing substantial computations (e.g., computing a rolling average over many months of data). (источник: независимый аудит сделанный Winter Corporation, http://www.microsoft.com/sql/evaluation/bi/AuditLetter.doc) ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 09:54 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Иванов Кластер sharing-nothing по определению не аварийно устойчивый, это цель - производительность Вовсе нет. В мою бытность работы с Informix XPS приходилось тратить много времени на разбирательство с вопросами защиты от сбоев систем shared-nothing. Нужно различать принципиальные возможности защиты, которые заложены в архитектуру и реализацию этих возможностей конкретным вендором. Изначально архитектура shared-nothing реализует все свои преимущества при использовании с DSS задачами. Поэтому вендоры СУБД для этой архитектуры традиционно относили реализацию фич high-availability на второй план по сравнению с задачами повышения производительности. На самом деле, практически все, что реализуется в системах shared-disk (Oracle) для решения задач HA можно реализовать и в shared-nothing (DB2/XPS, Teradata). Не исключено, что в какой-то момент мы увидим гибрид в виде систем shared-nothing, каждый узел которых в свою очередь построен по архитектуре shared-disk. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 11:09 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Владимир К слову в Cognos грузили только 1 млрд., интересно сколько в MicroStrategy+Терадата? Вот success stories для розницы Microstrategy+Teradata: Lowes (16 ТБ) - "More than 500 users actively use MicroStrategy Web™, an all-HTML, intuitive interface, to build their own ad-hoc queries or run predefined data reports against a 16-terabyte data warehouse" Ace Hardware Corporation - "Now, Ace’s Teradata Warehouse solution manages transactional data from 1,618 of its stores and supports 250 corporate plus 100 field-based end users." Далее о количестве клиентов компании - "Now we’re at 3.2 million members, with plenty of room to grow". Applebee’s International тоже используют Microstrategy+Teradata - ресторанная сеть 300 своих + 1300 франшиз Migros Turk T.A.S. - "мама" нашего Рамстора. Про объёмы не пишут, но по количеству магазинов и картхолдеров (более 3.8 миллионов) и то, что хранилище позволяет хранить и анализировать ежедневно закачиваемые туда транзакции (суть детали чеков) позволяет сделать оценки, что данных много. Mitsukoshi, Ltd. - это уже не про Microstrategy, но 100 миллионов транзакций в год упоминаются (строк, я думаю, будет больше). Office Depot - "Office Depot selected a Teradata analytical solution, acquiring a 5-terabyte, 4-node Teradata Warehouse. During the first year, Office Depot increased the data warehouse size to 12 nodes due to its active use throughout the organization." Далее по тексту "Office Depot’s Teradata Warehouse has 1,200 active users, with 2,000 more employees receiving market basket analysis reports." Надо заметить, что вышеприведённые примеры - это не тесты, а реально работающие системы. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 11:48 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Андрей Прохоров Не исключено, что в какой-то момент мы увидим гибрид в виде систем shared-nothing, каждый узел которых в свою очередь построен по архитектуре shared-disk. Далеко ходить не надо - в СУБД Терадата узлы представляют собой SMP-системы с разделяемыми ресурсами. Одноузловая ситсема - это система "shared disk" физически, хотя логически она является массивано-праллельной (единицы паралелизма и комутатор BYNET являются в этом случае виртуальными процессами). С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 11:57 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
ребята, время feature-based рыночного позиционирования прошло, теперь позиционируются только брэнды :) MS, конечно, с трудом, но поднимается и вытесняет конкурентов из high-end-ниш... Им бы имело смысл производить High-end SQL Server 2000, переупакованный под другим брэндом и стоящий в 10 раз дороже - тогда бы и народ недоверчивый потянулся :)) Типа как Porche Chayenne и Volkswagen Touareg внутри одинаковые, но продаются в разных салонах и для разных людей. Машины абсолютно новые, без истории, выезжают только на брэнде. Почему считается, что SQL Server не может быть хорошим и масштабируемым только потому, что его дедушка был для мелких предприятий? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 12:20 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Константин ЛисянскийСуществуют ли такие удобства, как синхронизированное сканирование таблиц (один пользователь начинает full scan таблицы, другой начинает через некоторое время, но физически он начинается с того места, где сейчас первый пользователь, дальше идут вместе до конца, первый получает результат, второй сканирует с начала таблицы и до того места, откуда он начал скан таблицы, в итоге вместо двух сканов таблицы получаем один с кусочком, больше пользователей сканируют одну таблицу - больше выигрыш от синхронного скана). Существуют в виде карусельного сканирования (merry-go-round scan). Учебник по настройке ХД. Владимир ИвановПлохой пример, точнее легкий для MS SQL. Он просто откеширует это дело и все. Смотря какая редакция. Enterprise будет использовать карусельное сканирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 12:29 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир: Вы меня не убедили. Разрезать на число нод до 10 лучше руками, в конце концов их не 100, ни какой хеш не сможет быть умнее человека. Потом следует учесть, что в MS AS партиции ложаться слайсами, которые нужно для максимальной производительности задать вручную, соотвественно нужно знать как разрезаны данные по нодам. Можно конечно не задавать и надеяться на автомат, тогда потеряешь 10-15% скорости. Конечно же Вы не почитали статью, которую я порекомендовал. А зря. Возможно, она сняла бы некоторую долю Вашего скептицизма. Тогда расскажу ещё немного об архитектуре Терадата, тем более, Вам это, я вижу, интересно. Итак, основными единицами параллелизма в Терадате являются два типа процессов: AMP и PE. AMP - access module processr. Он отвечает за обработку данных (каждый AMP обрабатывает свой кусочек данных, как мы уже упоминали) - сканирование таблиц, индексов, агрегицию, соединение таблиц, блокировки и т.д. PE - parsing engine. Отвечает за контроль пользовательских сессий, разбор и оптимизацию запросов, распределение между AMPами шагов по выполнению запросов. Возврат результатов пользователю или приложению. И тех и других процессов много. Множественность PE также наруку поскольку позволяет повысить степень параллелизма, а также надёжность системы (один координатор был бы узким местом системы, а так в случае отказа, его работу начинает выполнять PE на другом узле). Дальше. Количество AMPов обычно определяется при конфигурации системы. Существуют оптимальные параметры такой конфигурации. В любом случае, на один узел их будет несколько. В более-менее серьёзной системе их будет точно более 10. Данные фактически режутся не по числу узлов, а почислу AMPов. Каждая таблица хэшируется по первичному индексу и размазывается равномерно на все AMPы, что позволяет каждому AMPу работать с одинаковым количеством записей. Хэш, действительно равномерно распределяет записи. Вручную их размазать равномерно очень трудно (исключение - алгоритм round robbin - следующая запись на следующий узел, однако он имеет существенный недостаток - невозможность повторения результата и отсутствие информации о том, куда реально пошла запись). Теперь давайте разберёмся с ручным распределением данных по узлам. Что для этого нужно? Есть две стратегии - демографическое распределение (данные одного филиала хранятся на специально выделенном узле) и попытка равномерного распределения. Демографическое рапределение порождаёт массу узких мест - в первую очередь разбалансировку системы - запросы к данным одного филиала будут выполняться только на одном узле. Соответственно, параллелизм запускается коту под хвост. Сравнение двух филиалов ждёт данные от того узла, который должен обработать больше данных. Готов послушать соображения на этот счёт. Может быть, я не прав. Теперь про попытку ручного равномерного распределения. Вспомним про разлив водки на троих. Довольно ловкие люди разливают довольно ловко :) Однако, на десетярых уже может не получиться равномерно разлить - будт перекосы :) Это шутка. А если серьёзно - по какому признаку можно равномерно распределить бизнес-данные? Филиал уже рассмотрели - перекосы на лицо. Другой вариант - дата. Но и тут бывает сезонность, выходные, праздники. Товар? Не каждый товар продаётся во всех магазинах. Опять перекос. Готов послушать предложения об оптимальном ручном распределении данных и подискутировать на эту тему. Есть ли сомнения в том, что равномерное распределение позволяет не иметь узких мест при параллельной обработке, или надо рассказать детальнее, почему перекосы в данных разбалансируют систему? Надеюсь, что всё понятно. Продолжение следует... С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 12:31 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир: При создании dview он запоминает в query plan как наложены check на ключах, поэтому полезет в одну ноду. Поясните, пожалуйста, я не понимаю механизма. Что нужно, чтобы доступ был гарантированно за одно чтение с диска? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 12:35 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир: Вы меня не убеждаете. В SQL-серверах есть другой более важный фактор, это нахождение данных читаемых как правило одновременно рядом на диске. Это снижает seek и позволяет выиграть до 40% производительности (ноды). Чтобы этого достичь нужно по таким данным создать кластерный индекс, иными словами выполнить хеширование вручную. Владимир, меня удивляет, откуда у Вас такие точные цифры? Прямо как в рекламе - зубная паста такая-то защищает от кариеса на 40% эффективнее. Эффективнее чего? В Терадате отсутствуют кластерные индексы (видите, не каждой СУБД они нужны). Первичные индексы не занимают места вообще, поскольку положение строки (на каком она хранится AMPе) вычисляется через хэширование (отсюда, кстати, и доступ за одно чтение). Далее. Если Вы точно знаете, что существуют данные, которые точно будут использоваться вместе (например, часто соединяемые таблицы), то Вы можете выбрать первичные индексы таким образом, что соединяемые строки будут на одном AMP. Соответственно, их соединение будет (параллельно) выполняться в пределах узлов. Речь пока даже не идёт о джойн- и хэш-индексах, которые предназначены специально для целей ускорения соединений. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 13:11 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Владимир: А вот это действительно плюс. Во влияние на производительность, простите не верю. В кластере на 10 серверов всегда можно сделать лучше руками. Представте что такое кластер с сумарной мощностью 40 процессоров и 40 быстрых дисков, все юзется без повторов. Oracle может пойти погулять, там такая система будет в 5-6 раз дороже по металлу. Про влияние на производительность я уже написал. Равномерное распределение данных гарантирует сбалансированный параллелизм. По поводу сделать руками - как Вы думаете, зачем Oracle ввёл хэш-партишионинг? Не потому ли, что руками не так эффективно было? Дальше. Допустим, сделали партишионинг руками. Теперь добавляется новый узел. Что делаем? Останавливаем базу. Выгружаем наши терабайты назад и заново делаем партишионинг руками и грузим данные? В случае Терадаты запускаем одну команду и ждём пока она сама перераспределит данные с учётом нового узла (опять-таки автоматически и равномерно). С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 14:37 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир: Блеснув аварийной усточивостью, вы вскрыли серьезную арихитектурную проблему Терадаты. Расскажите, пожалуйста, в чём состоит серьёзная архитектурная проблема. Кстати, никто не заставляет создавать fallback-таблицы. Это опция. Если готовы положиться только на защиту уровня RAID. Согласитесь наличие хинтов, лучше чем их отсутвия. Не согласен. По двум причинам - хочу тратить время на разработку отчётов и бизнес-логики, а оптимизатор пусть сам разбирается. Второе - BI-тулзы, работающие напрямую с реляционными СУБД (Microstrategy, Business Objects, Cognos и др.) обычно не спсобны генерировать хинты. Соответственно, оптимизатор должен сам уметь разобраться. Счастливо Терадате разобраться какой индекс взять на запросе связывающем 20 таблиц с сумарным числом индексов свыше 100 и по 3-4 всеьма схожих составных индекса на некоторых таблицах. Было и большее количество соединений. Разбирается. Большое количество соединений вообще очень характерно для Терадаты, поскольку хранилища данных на Терадате проектируются в третьей нормальной форме для гибкости и возможности отвечать на сложные запросы. Денормальизация (схема звезда) используется очень редко. К тому же, как правило, Терадата требует меньше индексов, чем другие СУБД. Более того, она не боится фулл-сканов, поскольку они выполняются паралельно (всегда и безусловно). В MS SQL я могу поправить оптимайзер, однако это делается весьма редко. Новички же в MS SQL вообще пишут не глядя на оптимизацию. MS SQL вытягивает в связанных запросах таблицы в 200 тыс записей вообще без индексов. 200 тыс. записей - это небольшой объём. Вы вероятно редко сажаете MicroStrategy на MS SQL (или это сделать нельзя? или никто не хочет?) Сажал на DB2/400, Sybase ASE, Терадату, и на MS тоже. Я слышал, что в Даноне связка Microstrategy на MS. Задайте вопрос, может расскажут как это у них. Интересно есть ли snapshot в Терадате? Нету. Используются блокировки. Самая детальная - на уровне ROW HASH. Терадата не позиционируется как база для OLTP, хотя имеет необходимые механизмы, которые нужны для построения хранилищ данных, работающих в режиме онлайн (Active Data Warehousing, про который пишут здесь ). Как я отмечал, это совсем не достоинство Терадаты и снижает ее производительность. Вероятно потому и неконкурентна она более в TPC. Я как админ могу выбирать разные стратегии надежности, например могу сделать ставку на RAID в нодах, могу делать failover-кластер. Это мой выбор, не надо его делать за меня. Снижает, конечно. За всё нужно платить. Однако, как я уже писал, механизм fallback-таблиц можно и не использовать. В TPC конкурентна, просто тесты не публикует. Дело в том, что они достаточно искуственны и не совсем соответствют реальным приложениям. "Карта не есть территория" - правильно? MS SQL универсальный SQL-сервер на котором днем могут работать сотни готовых приложений от 1С до SAP R3, а ночью может идти обсчет сложнейшего DWH. Универсальность всегда стоит чего-то. Нагрузка на хранилище и нагрузка на OLTP - принципиально две разные вещи. Это при Ваших знаниях не должно вызывать сомнения. Идея всё иметь на одной платформе (корпоративная баща данных) витает в воздухе уже несколько десятилетий, а хранилища как строили выделенные, так и строят. Ну, и потом, где Вы видели серьёзные системы, где хранилище и оперативная система работает на одной платформе? И что такое "обсчёт сложнейшего DWH?". По-моему, DWH - это периодическая или он-лайн загрузка плюс постоянный доступ со стороны пользователей и бизнес-приложений. Мне кажется, что совмещение хранилища и оперативной системы на одной платформе - не более, чем маркетинговый лозунг. Удачи и больших хранилищ :) С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 15:33 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Согласитесь наличие хинтов, лучше чем их отсутвия. Не согласен. По двум причинам - хочу тратить время на разработку отчётов и бизнес-логики, а оптимизатор пусть сам разбирается. Второе - BI-тулзы, работающие напрямую с реляционными СУБД (Microstrategy, Business Objects, Cognos и др.) обычно не спсобны генерировать хинты. Соответственно, оптимизатор должен сам уметь разобраться. Я думаю еще и Юра не согласится с пользой хинтов. Для чистого OLAP'щика это раздражающий фактор. Никой Imputu не сделать DWH так как сделает спец в TSQL, даже с 3х летним опытом. Спец с 5 летним опытом сделает заточенный DWH c использованием хинтов и др. особенностей MS SQL так, что он будет работать в 1,5-2 раза быстрее. Счастливо Терадате разобраться какой индекс взять на запросе связывающем 20 таблиц с сумарным числом индексов свыше 100 и по 3-4 всеьма схожих составных индекса на некоторых таблицах. Было и большее количество соединений. Разбирается. Большое количество соединений вообще очень характерно для Терадаты, поскольку хранилища данных на Терадате проектируются в третьей нормальной форме для гибкости и возможности отвечать на сложные запросы. Денормальизация (схема звезда) используется очень редко. Это по-моему вторая серия по Oracle на 200 млн. фактов. Приведите пример SQL-запроса. Чудес на свете не бывает. К тому же, как правило, Терадата требует меньше индексов, чем другие СУБД. Более того, она не боится фулл-сканов, поскольку они выполняются паралельно (всегда и безусловно). Это воспринимать как оправдание слабости индексирования Терадаты? Счастливо вам full-сканом найти элемент в измерении на 2 млн. абонентов. Сажал на DB2/400, Sybase ASE, Терадату, и на MS тоже. Я слышал, что в Даноне связка Microstrategy на MS. Задайте вопрос, может расскажут как это у них. К слову любонытно, какие у вас впечатления от производительности этих серверов. Я заметил, что в списке нет Oracle. Любопытно, что у нас MS SQL и Oracle это сервера номер один, затем Sybase и Interbase, все отсальное крайне редко. Под DB2 делали только один раз пока работали на IBM, сервер надо сказать понравился. Но спецов по нему ноль в РФ, потому и не игрок. Снижает, конечно. За всё нужно платить. Однако, как я уже писал, механизм fallback-таблиц можно и не использовать. В TPC конкурентна, просто тесты не публикует. Дело в том, что они достаточно искуственны и не совсем соответствют реальным приложениям. "Карта не есть территория" - правильно? В к слову зря о TPC как о неком формальном тесте. Тест TPC эмулирует не некий академический тест. TPC это модель работы очень крупной торговой компании (ордер, оплата и т.д.). Таким образом, это модель тех самых крупных розничных сетей, где раньше все укладывала Терадата+MicroStrategy. Падение Терадаты ниже пола показывает, причем имеено на задачах целевого сегмента рынка, что универсальные SQL-сервера победили. Терадата вероятно замечательная система, но это уже прошлое. Идея всё иметь на одной платформе (корпоративная баща данных) витает в воздухе уже несколько десятилетий, а хранилища как строили выделенные, так и строят. Ну, и потом, где Вы видели серьёзные системы, где хранилище и оперативная система работает на одной платформе? Довольно часто видел. Хорошо сделанное хранилище может обновится за 4-6 часов даже на десятках миллионов записей. Иными словами это можно сделать за ночь. Работа DWH на том же сервере, что и ERP не только дешевле, но и быстрее, т.к. не нужно таскать данные по сети. И что такое "обсчёт сложнейшего DWH?". По-моему, DWH - это периодическая или он-лайн загрузка плюс постоянный доступ со стороны пользователей и бизнес-приложений. Мне кажется, что совмещение хранилища и оперативной системы на одной платформе - не более, чем маркетинговый лозунг. Тем не менее универсальные SQL-сервера победили и господствуют во всех сегментах и нишах. Я понял в чем ваши сомнения. При использовании ROLAP как MicroStratery или Discoverer конечно DWH нельзя класть рядом с ERP. Нагрузка велика. Однако при использовани MOLAP как MS AS такого нет. Он подкачался ночью и работает себе, SQL-сервер не трогает. Плюс учтите MOLAP очень мало берет ресурсов при работе (много при ночном процессинге), поэтому даже на одном сервере даже сам MOLAP может жить и не сильно мешать SQL-серверу, просто памяти добавте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 17:49 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Дальше. Допустим, сделали партишионинг руками. Теперь добавляется новый узел. Что делаем? Останавливаем базу. Выгружаем наши терабайты назад и заново делаем партишионинг руками и грузим данные? В случае Терадаты запускаем одну команду и ждём пока она сама перераспределит данные с учётом нового узла (опять-таки автоматически и равномерно). Констатин, я рекомендую вам сделать пилот на кластере MS SQL. Вы будете приятно удивлены многим, в том числе что обычно не нужно ни чего выгружать и перегружать при подключении новой ноды. Типовое использование кластера MS SQL это привлечение серверов административных подразделений большой компании для работы как кластер под DWH. Замечу, новых серверов под кластер покупать не нужно. Наверное поэтому у нас получился опыт построения крупных географически распределенных кластеров MS SQL в 15-18 нод. Обычно каждый узел отвечает сам за себя, т.е. кладет свои данные в локальный DWH, а вот он уже подхвачен distributed view. У этой схемы только один недостаток, все ноды действительно должны работать всегда. При использовании интранета через спутник или свою GSM-подсетку или радиосет встает серьезная проблема тайм-аутов между нодами. В принципе решаемо, но весьма геморойно и далеко от веселой рекламы Microsoft. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 17:57 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Я думаю еще и Юра не согласится с пользой хинтов. Для чистого OLAP'щика это раздражающий фактор. Я рассматриваю хинты как страховку, которую можно будет использовать в самом крайнем случае. Я предпочитаю создавать виртуальные вьюшки (SQL-запросы, виртуальные витрины данных) визуальными средствами в модуле Impromptu. Если же запрос созданный визуальными средствами неоптимален и работает небыстро, и если это критично - то можно войти в режим редактирования виртуальной вьюшки и вставить туда хинты. Однако бывают случаи, когда запрос сложный, выполняется небыстро, но это не напрягает поскольку инкрементальная подкачка в куб делается малыми порциями или в ночное время, а в кубе PowerPlay все работает быстро. Что касается разработки ХД, то это дело хорошее, но я стараюсь если есть возможность избегать этого лишнего звена, поскольку при часто меняющихся бизнес-процессах и требованиях пользователей перепроектирование ХД - это большая головная боль (гораздо быстрее можно переделать виртуальную вьюшку визуальными средствами). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 18:11 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Владимир, меня удивляет, откуда у Вас такие точные цифры? Прямо как в рекламе - зубная паста такая-то защищает от кариеса на 40% эффективнее. Эффективнее чего? Давайте я вам отвечу так. Меня как эксперта по MS SQL, многие помнят по интересной выходке. До хождения к профайлерам, я часто прекладываю ухо к серверу. Если из сервера слышен непрерывный треск, значит админ или девелопер чайник. Если сервер "шелестит" дисками, значит тут спецы. 40% это всреднем "по больнице". Если seek нужен для каждой записи, а правильный кластерный индекс пзволяет сделать один seek и за полоборота диска считать все что нужно, можно и 80% на этой операции получить. Это довольно типичная ошибка новичков. В бутылочном горле базы под MS SQL или DWH они как в "книжках написано" делают ставку на кластерный ключ типа SalesId, а нужно "странный" составной ключ ProductId, SalesId. При кубе на Distinct Count можно выйграть несколько часов на процессинге DWH. Уградайте почему. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 18:15 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Я думаю еще и Юра не согласится с пользой хинтов. И правильно сделает. Зачем они нужны, если есть хороший оптимизатор. Вижу, Вам этого не понять, поскольку Вы к ним уже привыкли. Вспомните основной принцип декларативного языка SQL - надо сказать базе ЧТО делать, а не КАК это делать. Ну, да ладно об этом. К тому же, похоже, он частично согласился ради политкорректности :) Для чистого OLAP'щика это раздражающий фактор. Никой Imputu не сделать DWH так как сделает спец в TSQL, даже с 3х летним опытом. Я - не чистый олапщик, Impromptu - вообще не OLAP-средство. Простой генератор отчётов. В Альфабанке сначала на нём начали отчёты делать, но когда поняли, что мало-мальски сложный запрос с его помощью сделать невозможно, перешли на ручное написание SQL. Ох, и геморрой это, я Вам скажу отлаживать SQL. Поэтому я больше полагаюсь на тулзы, которые хорошо генерируют SQL. Мне это как-то удобнее. Хотя и SQL могу написать когда нужно. Про спец с 3х-летним опытом скажу так - если тулза позволяет нормально генерирть SQL, а оптимизатор его нормально переваривает, то этот спец с тулзой за один день сделает отчётов гораздо больше, чем без тулзы за месяц. Спец с 5 летним опытом сделает заточенный DWH c использованием хинтов и др. особенностей MS SQL так, что он будет работать в 1,5-2 раза быстрее. Не исключаю, что каста танцующих с бубнами - это особые люди и простым смертным до них далеко :)) Это по-моему вторая серия по Oracle на 200 млн. фактов. Приведите пример SQL-запроса. Чудес на свете не бывает. Там, по-моему, не было разговора про 200 миллионов фактов. Запрос надо поднять. Покопаюсь, когда найду приведу за руку в пример :) Это воспринимать как оправдание слабости индексирования Терадаты? Счастливо вам full-сканом найти элемент в измерении на 2 млн. абонентов. Да, нету никакой слабости. Я это к тому, что плясок с бубном гораздо меньше. Индексы жрут место, по ним надо собирать статистику, их надо обслуживать. Если система успешно обходится без индексов и показывает отличную производительность, почему же она слабая? Давайте проведём небольшой экскурс в мир индексов Терадаты. Бывают следующие виды индексов: 1. PI - первичные (хэш-индексы, используются для равномерного распределения данных по AMPам и для быстрого доступа по столбцам, определяющим PI). Бывают: а. PPI - Partitioned Primary Index (помимо хэш-партишионга можно дальше их разбить по какому-то условию, иногда это помогает повышать производительность, иногда - нет). Про PPI можно почитать здесь . б. NPPI - Non-Partitioned Primary Index - обычные дальше не разбиваются Бывают: а. Уникальными б. Неуникальными В итоге получаем четыре комбинации - UPPI, UNPPI, NUPPI, NUNPPI. Работа с ними ведётся по-разному. 2. Вторичные индексы - Secondary Index Хранятся в виде суб-таблиц так же, как и обычные таблицы. Как я уже писал, двоичные деревья не используются. Бывают: а. Уникальные - USI б. Неуникальные - NUSI Соответственно, обрабатываются по-разному. 3. Джойн-индексы. Напоминают Materialized View и агрегированные таблицы, поскольку физически хранят предварительно соединённые таблицы, порезанные вертикально (т.е. не все столбцы, а наборы столбцов). Соответственно, предназначены для повышения производительности частых операций соединения и агрегирования. Бывают: а. Многотабличные б. Однотабличные 4. Хэш-индексы. Опять-таки предназначены для ускорения операций соединения, но являются однотабличными. Как видите, с индексами всё в порядке. Поддерживается динамический bitmapping индексов (то есть, если их несколько с низкой селективностью, а в комбинации они становятся высокоселективным индексом, то из них делается bitmap-index - похожая фича есть в AS/400). Поддерживается также компрессия индексированных значений (напоминает то, как это делается в Sybase IQ). Пожалуй, так. Может, ещё что забыл. Вспомню - напишу. К слову любонытно, какие у вас впечатления от производительности этих серверов. Я заметил, что в списке нет Oracle. Любопытно, что у нас MS SQL и Oracle это сервера номер один, затем Sybase и Interbase, все отсальное крайне редко. Под DB2 делали только один раз пока работали на IBM, сервер надо сказать понравился. Но спецов по нему ноль в РФ, потому и не игрок. Oracle забыл написать. Был один не очень удачный проект. Кстати, на Cognos тоже. В части Oracle когда написал один запрос, формирующий таблицу фактов из нормализованной стрктуры и запустил - ждать пришлось долго. В конце пришлось его побить штук на 20 маленьких запросов. Только тогда загрузка нормально заработала. Непосредственно в базу запросов не было, был только процессинг кубов Cognos, который длился несколько часов, а кубик просто озастывал, поскольку измерение клиент было довольно разветвлённым и с большим количеством категорий. Возможно, в то время руки не оттуда росли, не знаю, но повторный прокол с Cognos заставил отказаться от него в пользу Microstretegy. Юрий, сорри за антирекламу, но это правда из жизни. AS/400 понравился. Завалить удалось всего два раза :) Там есть определённые архитектурные особенности, которые ограничивают применение AS/400 как платформы для хранилищ данных. Мне кажется, IBM больше позиционирует DB2/RS6000 в массивно-параллелной конфигурации как платформу для серьёзных хранилищ. Представители IBM поравят меня, если я ошибаюсь. Sybase ASE на мой взгляд не дотягивает до платформы для хранилищ. Sybase позиционирует IQ в этих целях. Посмотрим, как это направление будет у них развиваться. Interbase - сами понимаете, игрушечная СУБД, да не обидятся на меня её поклонники :) С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 18:56 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Константин и всем. Меня наше обсуждение насторожило тем, что истинные проблемы кластеров MS SQL не были вскрыты. Я предвижу, что многие прельстятся поднять популярный кластер MS SQL "по филиалам". Однако кластер у Microsoft, как все. На уровне простых задач - приятная игрушка, на уровне сложных - нормальный инструмент, но в руках шамана с бубном. :) Будьте осторожны! Центральная проблема кластера MS SQL это тайм-аут и временный даун ноды. Microsoft как-то избегает описания этих проблем. Их можно решить через специальную самописную утилиту динамического реконфигурирования кластера. Она чекает ноды и в случае проблем временно исключает узел. Примерно за 1,5 сек кластер полностью должен быть реконфигурирован. Еще важное замечание, мы используем кластер для инкрементальной подкачки в большое центральное хралище. Все заточено под заглатывание дельты группой MOLAP серверов. Там аналог кластера работает на распределенных партициях. Иными словами это не совсем то что обсуждает Константин - full-time транзакционный кластер, а весьма специфический DWH по инкрементальный MOLAP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 19:42 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Константин, Возможно, в то время руки не оттуда росли, не знаю, но повторный прокол с Cognos заставил отказаться от него в пользу Microstretegy. Юрий, сорри за антирекламу, но это правда из жизни. Ну какая же это антиреклама, это наоборот подтверждение факта, что хотя Cognos и крут, требуется как минимум пройти нормальные курсы обучения (от 1 до 3 дней) по его использованию, а в сложный проектах - обращаться за консультациями в службу тех. поддержки... Если например я сейчас возьмусь делать сложный проект по разработке терабайтного ХД на СУБД Oracle и потерплю неудачу - это же не будет антирекламой для СУБД Oracle, поскольку я не являюсь экспертом в этой области и не знаю обо всех ее крутых фичах :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 09:02 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Jurii: Я ожидал этого ответа. Вы очень предсказуемы. И Ваше желание защитить лббимый продукт, ссылаясь на криворукость внедренцев вполне естественная реакция. К тому времени я уже обучился продуктам Cognos и сдал экзамен на сертификат Cognos BI Author. Я не списываю с себя ответственности за тот проект, соответствующие выводы были сделаны. Но и всю ответственность на себя тоже не беру. Если и так, то ошибка - это выбор неподходящего продукта для решения конкретной задачи. Ну, не подошёл Cognos для решения той задачи, что делать? Ну, не является он универсальным средством для решению любых задач... Просьба не начинать рассказ о блохе... С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 09:50 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир: Владимир, а каким образом общаются друг сдругом узлы кластера MS? Используется локальная сеть и протокол TCP/IP или имеются специализированные протоколы, которые настроены именно под специфику СУБД? Иными словами это не совсем то что обсуждает Константин - full-time транзакционный кластер Я обсуждаю массивно-параллельную систему. Это немного не то, что кластер, хотя для простоты мы здесь пока их приравниваем. Я пока до конца не понял, как работает кластер MS. Что происходит, например, если в запросе требуется агрегирование данных из разных узлов? Как обрабатывается такой запрос? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 09:56 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Гликоген: ребята, время feature-based рыночного позиционирования прошло, теперь позиционируются только брэнды :) Возможно, это и так, однако кроме этого позиционируются целостные решения, а не только движки. MS, конечно, с трудом, но поднимается и вытесняет конкурентов из high-end-ниш... Им бы имело смысл производить High-end SQL Server 2000, переупакованный под другим брэндом и стоящий в 10 раз дороже - тогда бы и народ недоверчивый потянулся :)) Не исключено, что так. Свежий отчёт META Group показывает кто лидер, а кто - преследователь. Почему считается, что SQL Server не может быть хорошим и масштабируемым только потому, что его дедушка был для мелких предприятий? :) Вопрос философский. Почему люди одних семей всегда были графами, а другие - крепостными? Иногда довольно трудно преодолеть влияние окружения, в котором находишься. Возьмите те фичи, которые были в Терадате с самого начала. Многие из них появились в других СУБД сравнительно недавно. Разрыв достаточно большой получается. Почему Жигули не стали машиной high-end класса? Может, наследие сказывается? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 12:08 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Константин! Вот древняя статья по теме использования кластеров MS SQL 2000 в связке с инкрементальным MOLAP. http://www.ivn.newmail.ru/Cluster-OLAP.htm Предупреждение. Статья написана как ПОПУЛЯРНАЯ, многое сильно упрощено. Рассматривается понятный всем пример интеграции с филиалами на 1С. На самом деле, большая часть информации формируется комплексами под UP. Все системы филиалов не зависимо от вида кидаю свою информацию в SalesX. Иными словами, речь идет о гетерогенном кластере относительно применяемых ИС. PS. Константин, если хочешь можешь разместить статью у себя на сайте. Я думаю я этот материал опубликую на SQL.ru, часто спрашивают. Может обновлю предварительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 12:23 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Константин, Вы очень предсказуемы. И Ваше желание защитить лббимый продукт, ссылаясь на криворукость внедренцев вполне естественная реакция. Думаю в таких вопросах трудно не предсказать реакцию эксперта по продукту (будь то Cognos, Oracle и др.). Позвольте мне остаться на своей точке зрения, что в тех случаях Вам просто не хватило опыта в области Cognos. К тому времени я уже обучился продуктам Cognos и сдал экзамен на сертификат Cognos BI Author. Есть разница между знаниями и опытом. Да и этот экзамен не учитывает российской специфики. Если не секрет, кто был Вашим преподавателем? (если хотите - скиньте мне его имя по почте, я знаком с большинством специалистов по Cognos). Если и так, то ошибка - это выбор неподходящего продукта для решения конкретной задачи. У меня мало информации о тех задачах, которые Вы не смогли решить с помощью Cognos. Могу лишь отметить следующий факт: Если например у человека огромный опыт внедрения системы 1C, а его заставляют внедрять другую систему, то какой бы хорошей она не была - она не будет внедрена удачно, и в конце концов будет принято решение о внедрении 1С :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 12:41 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир: Спасибо, прочитал. Статья написана как ПОПУЛЯРНАЯ, многое сильно упрощено Ага, точно. Самое главное немного напрягает вольность обращения с термином "хранилище данных". То, что там построено не напоминает мне хранилища данных в привычном для меня смысле этого слова, поскольку многих атрибутов хранилища я не увидел. В частности, упоминается о том, что суррогатные ключи не надо использовать, история изменений не хранится, а переписывается, система позиционироуется для ответа на определённый узкий круг вопросов (не отрицаю, что она это решает), а не на произвольные вопросы. Реляционная база используется исключительно для наполнения кубов. Понятно, что производительность кубов будет нормальная, если всё настроить. MS SQL 2000 в зависимости от ваших запросов автоматически вычисляет на каком сервере лежат нужные данные и обращается именно к нему Вот здесь я вижу проблему - работают не все серверы кластера, а только один. Соответственно, производительность зависит от одного сервера. Вопрос о том, что происходит, когда начинают работать все серверы сразу я уже задавал, ответа пока не получил. Например, если надо будет за длительный период сравнить производительность нескольких филиалов с какими-нибудь сложными условиями? Предвижу, что ответом будет куб. А если нельзя на вопрос ответить из куба? Или всегда можно? Прошу воспринимать как конструктивную критику, а не как наезд :) С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 12:59 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Констатин, ваша критика справедлива в том плане, что вы перечисляете ограничения и особенности конкрентного решения для конкрентных задач. То что в статье называется DWH это скорее что-то похожее на витрину данных. Полный DWH дальше в центральном офисе, но он как правило "спит" и качается дельтой. Все серверы начинают работать вместе, когда Центр требует наполнить разные блоки DWH данными. Тогда в dview аналогичные SalesX идут различные запросы для получения дельт в разных аспектах. Замечу, кластер работает и на запись. После получения дельт, кластер чистит "маленькие" DWH филиалов делая разные delete по dview. Высосанные кластером дельты хватает, как я уже говорил группа MOLAP-серверов. При работе юзеров, конечно кластер не используется. Однако раз в 10 минут он стреляет в Интранет и снова подбирает дельты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 13:47 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2 Владимир: То что в статье называется DWH это скорее что-то похожее на витрину данных Да, я это и хотел написать. Именно витрина. Полный DWH дальше в центральном офисе, но он как правило "спит" и качается дельтой Почему спит? Должен работать. Уволить :) При работе юзеров, конечно кластер не используется Потому что если юзеры начнут к нему делать запросы, мало ему не покажется. Думаю, так. Что будет, если юзер начнёт джойнить таблицы, хранящиеся на разных узлах кластера? Пример интересный, но не демонстрирует мощи кластера MS. Вот, если есть кластер, к которому сложные запросы Ad Hoc от многих пользователей одновременно поступают, на это интересно было бы посмотреть. P.S. Нарыл сравнение нескольких поставщиков хранилищ данных . Читайте на здоровье. Про MS там тоже хорошее есть. Да, и про всех остальных. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 14:02 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Может интересно будет, «Technical Comparison of Oracle9i Real Application Clusters vs. IBM DB2 UDB EEE v8.1» ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 15:14 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Вобще это уже похоже на топики в "Сравнении" Вот еще ссылка Bigger & Better March 22, 2004 Just a few years ago, a data warehouse or transactional database that approached a terabyte was considered big. Today, "big" means tens of terabytes. Here's the story behind four of the largest data systems in the world, plus a government database project expected to reach up to 5 petabytes (or 5,000 terabytes) within several years and up to 50 petabytes in 20 years. All are examples of organizations pushing the edge of what's possible with database technologies. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 15:22 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Константин То что в статье называется DWH это скорее что-то похожее на витрину данных Да, я это и хотел написать. Именно витрина. Обратите внимание, что "настоящий" DWH никогда не удаляеет из себя записи. Это отчасти решает проблемы SCD. Полный DWH дальше в центральном офисе, но он как правило "спит" и качается дельтой. Почему спит? Должен работать. Уволить :) Потому что это MOLAP, а не ROLAP. Он нужен только как страховка на случай аварии. MOLAP'ы питаются из инкременталки и в спящее хранилище кладется то что обработано. При работе юзеров, конечно кластер не используется Потому что если юзеры начнут к нему делать запросы, мало ему не покажется. Думаю, так. Что будет, если юзер начнёт джойнить таблицы, хранящиеся на разных узлах кластера? Нет, кластер MS SQL хорошо отработает если юзеры по нему начнут бить запросами. Проблема в другом. Речь идет о кластере географического масштаба, т.е. нода может быть в где-то Мухосранске. Пошел дождь, провода намокли и связь стала плохой. Тайм-аут и все подсело. Вот проблема. :) Ее можно подлечить если быстро исключить Мухосранск из кластера. Когда связь станет лучше снова подключаемся. Инкременталка не коссет от того, что нода то видна, то нет. Просто заберет данные чуть позднее. Пример интересный, но не демонстрирует мощи кластера MS. Вот, если есть кластер, к которому сложные запросы Ad Hoc от многих пользователей одновременно поступают, на это интересно было бы посмотреть. Я делал такие примеры только на 2-3 ноды. Результат весьма неплох. Однако профилирование каждый раз показывало, что если привести один MS SQL в порядок, то кластер уже особо и не нужен. И так быстро. Хотя возможно для ваших ROLAP'ов он и был бы полезен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 15:23 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Позвольте заметить, что у вас в массе наблюдается гигантомания. Где вы видели такие объемы (терабайт и выше) у нас в России? Я слышал, у фармацевтов каких-то есть. Возможно, у телекомов столичных, но тамошние спецы тут как-то не очень фигурируют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 16:12 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
2Гликоген. У вас как-то странный подход, типа в раз мы в РФ, так мы все засранцы и нам до систем "больших дядек" далеко. Напомню, что сам MS AS сделан инжерами обученными в РФ. Современные матричные методы производственных калькуляций, тоже достижение отечественной школы. Западу есть чему у нас поучится и они учатся, как мы у них. В РФ действуют многие мировые решения, в том числе и в плане BI. Местами это deploy в россиских филиалах транснациональных корпораций. Местами это решения таких гигантов (даже в мировом плане) как Лукойл, Юкос, Газпром, РАО ЕЭС. Гигабайт данных сейчас легко получить просто в крупной рознице, телекоме, производственной телеметрии, матричном хранилище и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 16:26 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Полностью согласен с Владимиром, у меня сейчас, вроде сначала данных было не так много, но когда начали просчитывать рост объемов, с запасом на несколько лет (3-5) оказалось террабайтный сторедж это не так уж и много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 16:42 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Гигабайты я не обсуждаю - я с ними работаю. Я о ТЕРАБАЙТАХ, о которых тут дискуссия с размахиванием руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 17:54 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Гигабайты я не обсуждаю - я с ними работаю. Я о ТЕРАБАЙТАХ, о которых тут дискуссия с размахиванием руками. Господа, вы лучше не гигабайты-терабайты упоминайте, а такие параметры как количество таблиц фактов, количество записей в каждой из них, средняя длина записи, количество основных справочников и количество элементов в них. А то может быть записей мало, а хранилище данных спроектировано не оптимальным образом, и сильно распухает до терабайтов (может быть большую часть места съедают пустоты, индексы, вспомогательные поля). А кубики (MOLAP) в итоге будут измеряться не более чем десятками-сотнями мегабайт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 18:03 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
дискуссия "оптимизация vs. производительность труда" идет уже десятки лет, и побеждают наши :) пока кто-то оптимизировал си-библиотеки для прорисовки псевдографических интерфейсов, мир уже лабал на RAD учетные системы под Windows. десакрализация технологических ноу-хау, замена их автооптимизаторами и интеллектуальными визардами делает длинные технарские дискуссии устаревшими. в результате рулит тот, кто лучше и быстрее удовлетворяет потребности бизнеса, а не тот, кто предложит лучшую архитектуру кластеринга :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 18:26 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
в результате рулит тот, кто лучше и быстрее удовлетворяет потребности бизнеса, а не тот, кто предложит лучшую архитектуру кластеринга :) Да нет. Рулит тот, кто откат больше сделает :) Человеческий фактор всегда на первом месте, потом уже техника. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 23:25 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Константин, Да нет. Рулит тот, кто откат больше сделает :) Думаю для этой дискуссии это не очень актуально. У крупных розничных сетей обычно есть серьезные собственники, которые не допускают необъективности выбора. По крайней мере когда крупные розничные торговцы у которых я внедрял Cognos решали, какую аналитическую систему выбрать, они выбирали Cognos, поскольку он просто им лучше подходил по ряду ключевых параметров (мощность/производительность при работе с детальными данными, удобство и несложность проектирования моделей, гибкость при создании отчетов, невысокие цены). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 14:56 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Кстати про Wal-Mart. Что-то сомнительно про 20 лет истории транзакций, если честно. Помнится пару лет назад у них была проблема с тем что расплодилось столько серверов СУБД что рук не хватало их все по-человечески. Стоял официально десаппортнутый (неподдерживаемый) 5й информикс. Данные накапливались, но объемы были такие огромные что с ними практически ничего не делалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 02:15 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
To Зл0й: Данные накапливались, но объемы были такие огромные что с ними практически ничего не делалось. Я знаком с некоторыми компаниями, у которых накоплены колоссальные объемы данных (миллиарды/десятки миллиардов записей). Все записи в одной базе данных не держатся, но когда возникает конкретная аналитическая задача, нужные данные можно собрать и проанализировать. А есть вообще то на форуме представители Walmart? Интересно было бы послушать мнение из первоисточника... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 09:31 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Владимир Иванов У меня как у инженера 10-летний опыт работы на различных SQL-серверах. Для себя я сделал вывод, что современные SQL-сервера способны вытягивать SQL-запросы в 10-20 млн. фактов, далее жестокий даун, что у MS SQL, что у Oracle. Константин Лисянский Oracle и MS SQL - СУБД, которые разрабатывались для транзакционных систем. Ничего удивительного, что они не справляются с нагрузками, типичными для хранилищ данных. Для этого специальные СУБД надо использовать. Тем более, если речь о рознице идёт. А вот экспериментальные данные: select count(*) from sales_fact_1997 28,962,208 строк (68 секунд) (перезагрузка сервера) select count(*) from sales_fact_1997 WHERE product_id = 1 and time_id = 741 and customer_id = 614 and store_id = 17 (111 секунд) create index sales_fact_1997_product on sales_fact_1997(product_id) (416 сек) select count(*) from sales_fact_1997 WHERE product_id = 1 and time_id = 741 and customer_id = 614 and store_id = 17 (61 сек) create index sales_fact_1997_time on sales_fact_1997(time_id) (393 сек) select count(*) from sales_fact_1997 WHERE product_id = 1 and time_id = 741 and customer_id = 614 and store_id = 17 (3 сек) Теперь - о железе. Athlon XP 2500+ (Barton), 1 Gb ОЗУ PC-2700, EIDE Western Digital JB-800 (и Ось и СУБД - на одном диске. Своп - на нем же). Ось - Windows 2003 AS. Как видим, уже простое индексирование в MS SQL 2000 на, простите, персоналке, дает неплохой результат, да и без индексов стопором результат не назовешь). А еще до Oracle и bitmap индексов не добрались... Это так, к слову о "пределах стандартных РСУБД". Вообще говоря, приведенные выше данные были получены на подготовительном этапе тестирования Opteron - в 32-х и 64-х битных режимах. У кого будет интерес - пишите, вышлю ссылку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 18:32 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
А вот экспериментальные данные: select count(*) from sales_fact_1997 добавлять в запрос join'ы ко всем измерениям не забываем, не забываем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 18:38 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
олапист добавлять в запрос join'ы ко всем измерениям не забываем, не забываем select /*+ INDEX(sales_fact_1997 sales_fact_7_by_time_bit) */ sum (store_sales) store_sales_total, sum (store_cost) store_cost_total, sum (unit_sales) unit_sales_total from sales_fact_1997 t where time_id in (select time_id from "time_by_day" t where (the_day = TRANSLATE('Saturday' USING NCHAR_CS) or the_day = TRANSLATE('Sunday' USING NCHAR_CS))) 10,926 сек. Это уже на Opteron (2 проца, 6 Гб ОЗУ, но диск даже медленее), Oracle-64, bitmap-индексы использованы. В целом же мы тестировали не СУБД, а Opteron-ы, и надо сказать, что во время тестов пришлось увеличить таблицу фактов ровно в 8 раз, иначе все было совсем уж неубедительно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 19:16 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
ну вы все же вот это попробуйте для большей убедительности: SELECT "store"."store_id", "time_by_day"."the_year", "time_by_day"."quarter", "time_by_day"."month_of_year", "product"."product_id", "promotion"."media_type", "promotion"."promotion_name", "customer"."customer_id", "customer"."education", "customer"."gender", "customer"."marital_status", "customer"."yearly_income", "sales_fact_1997"."unit_sales", "sales_fact_1997"."store_cost", "sales_fact_1997"."store_sales", "sales_fact_1997"."product_id", "sales_fact_1997"."store_sales"-"sales_fact_1997"."store_cost" FROM "sales_fact_1997", "store", "time_by_day", "product", "promotion", "customer" WHERE ("sales_fact_1997"."store_id"="store"."store_id") AND ("sales_fact_1997"."time_id"="time_by_day"."time_id") AND ("sales_fact_1997"."product_id"="product"."product_id") AND ("sales_fact_1997"."promotion_id"="promotion"."promotion_id") AND ("sales_fact_1997"."customer_id"="customer"."customer_id") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 20:02 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
/*+ INDEX(sales_fact_1997 sales_fact_7_by_time_bit) */ А без этого слабо? Если SQL тулзой генерится (типа BusinessObjects, Cognos, Microstrategy), она такого точно туда не вставит. Суважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 10:32 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
JuriiУ компании Cognos есть проекты где в аналитической системе работают более 10 тысяч пользователей. Недавно проводились тесты продукта ReportNet, и там проверялась его работоспособность при работе 190 тысяч пользователей. Понятно что у Cognos есть и MOLAP, и ROLAP, и HOLAP, и принципы масштабирования в этих случаях разные. Но если брать самый простой и дешевый подход с MOLAP-кубами и доступом к кубам как к файлам - то количество пользователей никак не влияет на производительность (немного надо учитывать загрузку сети, но это можно и игнорировать). Если честно, не знал, что у Cognos есть ROLAP и HOLAP. Я думал, что Cognos - это классический MOLAP. Можете выслать какие-то материалы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 10:33 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Если честно, не знал, что у Cognos есть ROLAP и HOLAP нету ни ROLAP, ни HOLAP. Только MOLAP. Есть Reporting поверх реляционных СУБД, но это не ROLAP. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 11:59 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Если честно, не знал, что у Cognos есть ROLAP и HOLAP нету ни ROLAP, ни HOLAP. Только MOLAP. Есть Reporting поверх реляционных СУБД, но это не ROLAP. С уважением, Константин Лисянский http://lissianski.narod.ru И ещё вопрос. У Cognos-a был продукт Impromptu для репортинга. Теперь аннонсирован ReportNet. Это переименование продукта или что-то новое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 12:31 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский /*+ INDEX(sales_fact_1997 sales_fact_7_by_time_bit) */ А без этого слабо? Если SQL тулзой генерится (типа BusinessObjects, Cognos, Microstrategy), она такого точно туда не вставит. Суважением, Константин Лисянский http://lissianski.narod.ru Это коммент:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 13:27 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский /*+ INDEX(sales_fact_1997 sales_fact_7_by_time_bit) */ А без этого слабо? DmitrySЭто коммент:-) Пошел офф-топ... Нет, не слабо. Я просто скопировал из протокола тестов первый запрос, попавший под руку. Сам же хинт возник вот как. Тестируя Opteron-ы на 6 GB, мы обнаружили, что 28 Мегастрок маловато будет. Поэтому накатили еще таблицу на 28х8 Мегастрок. К чему я это? Тестируя самые разнообразные возможности, обнаружено в частности, что на 28 Мстрок выборка по ключу в 5 раз эффективнее сканирования таблицы, а вот на 28х8 - наоборот, сканирование таблицы оказалось раза в три эффективнее. Это так, к слову о селективности ключей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 16:20 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
олапистну вы все же вот это попробуйте для большей убедительности: SELECT "store"."store_id", "time_by_day"."the_year", "time_by_day"."quarter", "time_by_day"."month_of_year", "product"."product_id", "promotion"."media_type", "promotion"."promotion_name", "customer"."customer_id", "customer"."education", "customer"."gender", "customer"."marital_status", "customer"."yearly_income", "sales_fact_1997"."unit_sales", "sales_fact_1997"."store_cost", "sales_fact_1997"."store_sales", "sales_fact_1997"."product_id", "sales_fact_1997"."store_sales"-"sales_fact_1997"."store_cost" FROM "sales_fact_1997", "store", "time_by_day", "product", "promotion", "customer" WHERE ("sales_fact_1997"."store_id"="store"."store_id") AND ("sales_fact_1997"."time_id"="time_by_day"."time_id") AND ("sales_fact_1997"."product_id"="product"."product_id") AND ("sales_fact_1997"."promotion_id"="promotion"."promotion_id") AND ("sales_fact_1997"."customer_id"="customer"."customer_id") Не понял, что Вы хотите получить в итоге? Все 28 миллионов строк на клиенте? Так это нужен клиент "правильный". Или первую строку, удовлетворяющую условию? Запускаю такой вот запрос, созданный на основе предложенного и одного из моих: PiSELECT "store"."store_id", "time_by_day"."the_year", "time_by_day"."quarter", "time_by_day"."month_of_year", "product"."product_id", "promotion"."media_type", "promotion"."promotion_name", "customer"."customer_id", "customer"."education", "customer"."gender", "customer"."marital_status", "customer"."yearly_income", "sales_fact_1997"."unit_sales", "sales_fact_1997"."store_cost", "sales_fact_1997"."store_sales", "sales_fact_1997"."product_id", "sales_fact_1997"."store_sales"-"sales_fact_1997"."store_cost" FROM "sales_fact_1997", "store", "time_by_day", "product", "promotion", "customer" WHERE ("sales_fact_1997"."store_id"="store"."store_id") AND ("sales_fact_1997"."time_id"="time_by_day"."time_id") AND ("sales_fact_1997"."product_id"="product"."product_id") AND ("sales_fact_1997"."promotion_id"="promotion"."promotion_id") AND ("sales_fact_1997"."customer_id"="customer"."customer_id") AND ( "customer"."account_num" = 94933843612.0) AND ("time_by_day"."the_date" = '1998-01-10') AND ("store"."store_name" = 'Store 17') 107 секунд и 1232 строки результата под MS SQL (в описанной выше конфигурации Athlon). Так что, по прежнему Владимир Иванов У меня как у инженера 10-летний опыт работы на различных SQL-серверах. Для себя я сделал вывод, что современные SQL-сервера способны вытягивать SQL-запросы в 10-20 млн. фактов, далее жестокий даун, что у MS SQL, что у Oracle. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 18:46 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
авторИ ещё вопрос. У Cognos-a был продукт Impromptu для репортинга. Теперь аннонсирован ReportNet. Это переименование продукта или что-то новое. совсем новый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 10:25 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Pi Не понял, что Вы хотите получить в итоге? Все 28 миллионов строк на клиенте? Это запрос, которая посылается на сервер при процессинге кубика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 17:40 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Это запрос, которая посылается на сервер при процессинге кубика. Это не очень оптимальный запрос для построения куба. Если речь идёт о BusinessObjects, наверное, так и будет. Cognos будет делать другие запросы. Microsoft AS, скорее всего, тоже. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 17:48 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Странное какое-то обсуждение. Цели не понял. Вы знаете у MS SQL есть способ делать select count(*) фактически моментально на любом объеме данных. Но это уже вопрос к шаманам MS SQL. Если вы не шаман, то MS SQL может вас огорчить.... Рассматривать AMD-системы даже как тестовые для серверов. Мда... Что-то мне не хочеться в этом обсуждении участвовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 22:16 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
OR Pi Не понял, что Вы хотите получить в итоге? Все 28 миллионов строк на клиенте? Это запрос, которая посылается на сервер при процессинге кубика. Только в том случае если куб построен новичком, после прочтения "Olap for Dummies". При процессинге кубов, сделанных не по-детски, join не будет, а будет читаться только таблица фактов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 23:26 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Только в том случае если куб построен новичком, после прочтения "Olap for Dummies". При процессинге кубов, сделанных не по-детски, join не будет, а будет читаться только таблица фактов. вообще-то это запрос из стандартной базки FoodMart 2000 которая вместе с MS AS поставляется а что значит не по-детски? Optimize Schema нажать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 09:36 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
olap dummy Только в том случае если куб построен новичком, после прочтения "Olap for Dummies". При процессинге кубов, сделанных не по-детски, join не будет, а будет читаться только таблица фактов. вообще-то это запрос из стандартной базки FoodMart 2000 которая вместе с MS AS поставляется а что значит не по-детски? Optimize Schema нажать? Прежде чем ее нажать, надо позаботится, чтобы от ее нажатия был толк и поболтше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 11:08 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Владимир ИвановВы знаете у MS SQL есть способ делать select count(*) фактически моментально на любом объеме данных. Но это уже вопрос к шаманам MS SQL. select count(*) фактически моментально на любом объеме данных - это да, достаточно иметь ключ на таблицу. Но здесь же, в этой ветке, демонстрировался не только select count(*) и нет только на MS SQL... Запросы наглядно показали, что при достаточном объема памяти указанные Вами размеры базы данных Владимир Ивановв 10-20 млн. фактов не выглядят пугающе, а уж тем более не вызывают Владимир Ивановжестокий даун, что у MS SQL, что у Oracle Я не случайно указывал на то, что конечная цель моего тестирования были Opteron, т.е. процессоры, которые дают возможность сохранить наработанное ПО и постепенно перейти в архитектуру 64-х бит. Я прогнозирую в течении двух лет "обвальное" увеличение памяти только в домашних компьютерах до 2-4 Гиг - благодаря платформе AMD-64. А это значит, что для в однопользовательской среде запросы к неиндексированной базе данных на миллионы записей будут занимать десятки секунд, в индексированных - секунды. Владимир Иванов Рассматривать AMD-системы даже как тестовые для серверов. Мда... Кому как. Выбор серверной платформы - сугубо личное дело: Четырехпроцессорные серверы корпорации Hewlett-Packard на базе AMD Opteron™ гарантируют исключительную производительность Процессор AMD Opteron™ станет базовой платформой для новых мощных корпоративных серверов и рабочих станций Sun Rambler работает на процессорах AMD Процессоры AMD Opteron™ становятся базовой платформой нового центра корпоративных приложений Fujitsu Systems Europe Процессоры AMD OPTERON™ становятся основой кластерного решения швейцарского федерального технологического института Суперкомпьютер под номером 6, построенный компанией Linux Networx для Национальной лаборатории в Лос-Аламосе, стал лучшим в списке Top500 среди систем на базе процессора AMD Opteron Для кластерного суперкомпьютера выбран AMD Университет штата Юта выбирает процессор AMD Opteron™ и решение ANGSTROM MICROSYSTEMS для самого большого в Юте компьютера Национальная лаборатория в Лос-Аламосе выбирает процессор AMD Opteron™ для моделирования системы национальной обороны США Процессоры AMD Opteron™ будут использоваться для создания одного из мощнейших суперкомпьютеров мира Dawning 4000A Выбор можно было бы и продложить, но я только добавлю, что указанный в конфигурации Athlon XP 2500+ - это не сервер, а мой персональный офисный компьютер. ;) В целом я рассматриваю наш обмен мнениями как беседу, в которой каждому есть что сказать. Конечно, лучше говорить фактографически, поскольку наша отрасль меняется очень быстро, чему я личный свидетель еще с 1979 года, когда набивал курсовую на перфокартах на "электронном богатыре" ЕС-1022 :) Thank you! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 14:24 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
OR Pi Не понял, что Вы хотите получить в итоге? Все 28 миллионов строк на клиенте? Это запрос, которая посылается на сервер при процессинге кубика. Догадываюсь. Но если Вы предприняли хоть-что-то для построения куба, то этот запрос делается один раз - при полном процессинге куба. Я не рискну строить прямо сейчас куб и мерять его время построения - может просто на хватить места на моей персоналке, - но подозреваю, что ночи хватит. Однако мне трудно представить, чтобы такой процессинг надо было проводить днем на каждый запрос пользователя. ;) Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 14:30 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Продолжая страую тему - производительность серверов (в том числе в рознице). Мои тестовые данные, приведенные выше, возникли во время подготовки статьи Анализ консолидированных данных: тестируем платформу AMD Opteron . Просьба к форумчанам - шлите свои пожелания по возможным тестовым замерам. Центр кластерных технологий продолжает работать, и мы намереваемся продолжить проведение испытаний. Второй момент. В ходе демонстрации серверов на Opteron мы столкнулись с заказчиком (украинская розничная сеть), утверждающим что вот приезжали спецы от Cognos в одну украинскую торговую сеть где-то летом 2004 г. , попытались открыть проект - и неудача! Продукт не прошел предложенное тестирование: 1. Как сервер кубов он не справился - не смог за сутки постоить куб на базе заказчика. Заказчик собственными силами на MS AS успевает построить куб за ночь на том же железе и той же базе. 2. Как клиент продукт тоже не подошел - не получился доступ к виртуальным кубам MS AS (см. выше) По первому пункту просьба откликнуться, кто что знает. У меня подозрение, что у заказчика база не совсем стандартная, поскольку объем ее составляет около 200 миллионов записей (около 20 за квартал). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2004, 19:46 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
насколько я успел понять, PowerPlay использует в качестве источника данных одну здоровенную вьюшку куда включено все - и элементы измерений и факты соответственно тормоза могут возникнуть из-за такого большого количества join-ов и из-за размеров самого result set'a а в MSAS при использовании Optimize Schema (смотрите выше в текущем топике) измерения и таблица фактов процессятся отдельно без join-ов хотя рад буду ошибиться на счет PowerPlay :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2004, 20:19 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Владимир Иванов2Birkhoff. Просто у Oracle аварийно-усточивый кластер и кластер для создания многосерверного паралеллизма одно и тоже. У MS и Терадата это не так. Отдельно кластер сверхпараллелизма и отдельно аварийно-усточивый кластер (failover cluster). Можно 2 кластера использовать отдельно, можно не использовать любой на выбор. Кластер Oracle дает выйгрыш до 30% при переходе от 1й ноды к 3м. Кластер MS дает тут примерно 300%. Однако кластер Oracle можно подложить под SAP R3, а кластер MS нет. Правда по SAP Benchmark лидирует MS SQL и без кластеров. Владимир, Вы так уверенно приводите цифры, что аж не хватает духу Вам не поверить. Но, помня Гитлера - Чем больше ложь, тем охотнее в нее верят , - мне хотелось бы спросить, откуда цифры то? Вот, к примеру, что пишет Oracle: http://dsvolk.msk.ru/oracle/rac/FederatedvsClustered.pdf?PHPSESSID=c0bd5ed7c789fd5e428a2d20c3ded32fFederated databases cannot scale when queries access data by alternate keys that are not the partitioning key Consider a 10-node federated database with a DPV on the Employee table with columns (Employee Number Primary Key, Email, …). A basic OLTP query on an alternate key, such as SELECT * FROM Employee WHERE EMAIL = ‘joe.smith@acme.com’ will be broadcast to all 10 nodes, although it will return only one record. As you add nodes (go from 10 nodes to 12, say) this query will perform worse, since it will now require responses from 12 nodes instead of 10. This behavior of federated databases is not a function of the quality of implementation; it is inherent in the architecture. In contrast, even early 90’s versions of shared-disk clusters (such as IBM DB2-Sysplex for the Mainframe and Oracle Parallel Server) scaled up very well on alternate-key access for read-mostly workloads. And Oracle9i Real Application Clusters scales up very well on alternate-key access for the read-write workloads typical of OLTP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2004, 20:48 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
Владимир Иванов В к слову зря о TPC как о неком формальном тесте. Тест TPC эмулирует не некий академический тест. TPC это модель работы очень крупной торговой компании (ордер, оплата и т.д.). Таким образом, это модель тех самых крупных розничных сетей, где раньше все укладывала Терадата+MicroStrategy. Падение Терадаты ниже пола показывает, причем имеено на задачах целевого сегмента рынка, что универсальные SQL-сервера победили. Терадата вероятно замечательная система, но это уже прошлое. Владимир, извините за вставки 5-ти копеек много месяцев спустя, но просто к сведению TPC - это тесты серверов. Не СУБД. Мне, как работающему с ERP системами (по 1 000 - 30 000 объектов в базе), трудно понять, как можно судить о "скорости" СУБД только по тесту на 5-7 таблицах, причем в режиме на вставку записей. Да, тест TPC говорит о многом, но не о всем. Например, тот же MS SQL хорошо продавался задолго, как он стал лидером этого теста, но и его продажи не подскочили до потолка после того, как он вырвался на самый наверх. Не берусь утверждать, но по слухам долгожданный Yukon не дал скачка производительности, но зато приблизился к Oracle по самой базовой функциональности - из чистого "блокировщика" появились элементы "версионника" (Правда, я говорю это с чужих слов). Так что не стоит прогнозировать чью-то смерть - базы всякие нужны, базы всякие важны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2004, 21:06 |
|
||
|
Опыт в рознице
|
|||
|---|---|---|---|
|
#18+
PiМне, как работающему с ERP системами (по 1 000 - 30 000 объектов в базе), трудно понять, как можно судить о "скорости" СУБД только по тесту на 5-7 таблицах, причем в режиме на вставку записей. К слову, именно поэтому кластерное решение Oracle называется Real Application Clusters (RAC), то есть кластеры для реальных приложений. Под самыми реальными приложениями понимаются ERP системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 13:07 |
|
||
|
|

start [/forum/topic.php?all=1&fid=49&tid=1871945]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
21ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
171ms |
get tp. blocked users: |
2ms |
| others: | 268ms |
| total: | 512ms |

| 0 / 0 |
