Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Знатоки Cache'a, подскажите есть ли смысл пытаться сделать на Cache подобие OLAP системы для использования в системе онлайнового планирования? Я начал писать систему на MSAS но при отличной реализации там аналитики не сумел реализовать реалтаймовые расчеты по меняющимся данным. Т.е. придется идти по традиционному пути и делать чтото типа OLTP и к ней прикручивать аналитику. Но проблема в том что уже в OLTP нужна базовая функциональность OLAP по работе с многомерными данными. Отсюда и вопрос: а не попробовать ли использовать Cache? Ваше мнение? Стас PS. Пардон за столь размытый вопрос, про Cache начал читать только вчера... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 10:36 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Стас, А OLTP система на чем сделана? Что касается реализации хранилищ данных и OLAP-систем, то на Cache' такие системы есть. Посмотрите презентацию BitMap-индексы (С появлением BitMap-индексов можно более эффективно разрабатывать аналитические приложения на Caché. На занятии вы получите теоретические знания и получите практический опыт использования BitMap-индексов и приложения HyperIndex). Очень стоит посмотреть на систему HyperIndex. Это свободно распространяемая система для создания витрин данных. В архиве есть подробная документация. Она позволяет добавить BI-функциональность к OLTP приложению на Cache'. Есть коммерческие OLAP-системы на базе Cache' (Speedminer,...). С данными в Cache' можно работать из OLAP-систем 3-х фирм (Cognos, BO, ...). Перед тем как начинать что-то разрабатывать, советую прочитать пару статей про Cache', посмотреть как устроен объектный и прямой доступ. Лучше всего дополнительно сходить на семинар Cache' Entree и пообщаться с консультантами InterSystems. Данных, чтобы точно сказать, стоит делать Вашу систему на Cache' или нет пока недостаточно. Успехов, Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 11:16 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
VadimFА OLTP система на чем сделана? В новом проекте еще не на чем, срочно выбираю :) , прототип сделан на MSSS+AS. (В предыдущем "поколении" проекта использовалась старая объектная база NeoAccess) VadimF Что касается реализации хранилищ данных и OLAP-систем, то на Cache' такие системы есть. Посмотрите презентацию... Спасибо! сейчас займусь. VadimF Перед тем как начинать что-то разрабатывать, советую прочитать пару статей про Cache', посмотреть как устроен объектный и прямой доступ. пытаюсь, принципы вроде очевидны, смотрю с какой стороны подступится для ч.б. начать разговаривать на этом птичьем языке :) (ничего личного, просто очень непривычно для меня он выглядит) VadimFЛучше всего дополнительно сходить на семинар Cache' Entree и пообщаться с консультантами InterSystems. я бы с удовольствием, но на этот год расписание еще не опубликовано? Кстати в Питере у вас есть партнеры? VadimFДанных, чтобы точно сказать, стоит делать Вашу систему на Cache' или нет пока недостаточно. Я не уверен что это корректно просить в форуме найти за меня решение моей конкретной задачи, поэтому пытался свести это к общему вопросу. в любом случае спасибо за комментарии! Стас ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 11:51 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Вадим, а можно для ускорения процесса ознакомится с материалами Caché Entree, например с последнего семинара ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 11:56 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Stpl VadimFА OLTP система на чем сделана? В новом проекте еще не на чем, срочно выбираю :) , прототип сделан на MSSS+AS. (В предыдущем "поколении" проекта использовалась старая объектная база NeoAccess) Если Вы собираетесь OLTP делать не на Cache, то лучше начать выбирать что-нибудь другое и для OLAP. Связать конечно можно, но сомневаюсь, что это будет эффективно и тем более разумно. А так, проект конечно вкусный, даже завидую. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:12 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
VadimFСтас, А OLTP система на чем сделана? Что касается реализации хранилищ данных и OLAP-систем, то на Cache' такие системы есть. Посмотрите презентацию BitMap-индексы (С появлением BitMap-индексов можно более эффективно разрабатывать аналитические приложения на Caché. На занятии вы получите теоретические знания и получите практический опыт использования BitMap-индексов и приложения HyperIndex). Какова максимальная длина BitMap индекса на один ID, если размер кластера, например равен 32000. n=32000*8 ??? А если нужно несколько млн. позиций или млрд-ов ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:20 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Sergei ObrastsovЕсли Вы собираетесь OLTP делать не на Cache, то лучше начать выбирать что-нибудь другое и для OLAP. Связать конечно можно, но сомневаюсь, что это будет эффективно и тем более разумно. Как раз для oltp части и смотрю на Cache имея в виду ее "неплоские" способности, и возможность сделать на ней же multidimentional модель для использования внутри oltp. ну да... вот такая каша :) multidimensional oltp Sergei ObrastsovА так, проект конечно вкусный, даже завидую. :) ко вкусу добавляется горчинка сроков: я потерял кучу времени в попытках сделать это быстро работающим на MSSS, теперь надо срочно определяться выбором платформы и рисовать сроки, жуть... А кстати в Питере есть спецы по Cache? (вопрос конечно для отдельного поста:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:22 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
-Serg-Какова максимальная длина BitMap индекса на один ID, если размер кластера, например равен 32000. n=32000*8 ??? А если нужно несколько млн. позиций или млрд-ов ??? на один узел - да. только причем тут кластер? ограничение идет от длины данного. значит надо использовать группу узлов. не думаю, что это очень удобно. хотя запас скорости позволяет обрабатывать это достаточно безболезненно, я полагаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:55 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Stpl Sergei ObrastsovЕсли Вы собираетесь OLTP делать не на Cache, то лучше начать выбирать что-нибудь другое и для OLAP. Связать конечно можно, но сомневаюсь, что это будет эффективно и тем более разумно. Как раз для oltp части и смотрю на Cache имея в виду ее "неплоские" способности, и возможность сделать на ней же multidimentional модель для использования внутри oltp. ну да... вот такая каша :) multidimensional oltp Sergei ObrastsovА так, проект конечно вкусный, даже завидую. :) ко вкусу добавляется горчинка сроков: я потерял кучу времени в попытках сделать это быстро работающим на MSSS, теперь надо срочно определяться выбором платформы и рисовать сроки, жуть... А кстати в Питере есть спецы по Cache? (вопрос конечно для отдельного поста:) Понимаю. Еще вопрос, какую часть Cache Вы собираетесь использовать, объектную, реляционную или прямой доступ? В Питере есть конечно, я правда не могу адресовать к кому-нибудь конкретно, может VadimF подскажет, чай у них там списки есть. У Вас большой опыт в создании OLTP/OLAP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 13:03 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Sergei ObrastsovПонимаю. Еще вопрос, какую часть Cache Вы собираетесь использовать, объектную, реляционную или прямой доступ? После первых часов ознакомления: - внешний интерфейс к другим системам - реляционный - динамическая модель описания данных - объектный - вычислительный модуль или business layer - объектный + прямой Sergei Obrastsov В Питере есть конечно, я правда не могу адресовать к кому-нибудь конкретно, может VadimF подскажет, чай у них там списки есть. ОК, повесим вопрос. Sergei ObrastsovУ Вас большой опыт в создании OLTP/OLAP? Если кратко то нет. комерческих OLAP продуктов еще не было, над OLTP подобными системами работал в начале 90х, последние ~10лет работаю в фирме которая делает своеобразный софт для финансовой аналитики и бюджетирования. Последний год готовил почву для перевода всего проекта на MS платформу ASP.NET,MSSS+AS+RS+IS.... C OLAPом знаком уже более менее но совершенство приходит только с опытом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 13:25 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
VadimFСтас, А OLTP система на чем сделана? Что касается реализации хранилищ данных и OLAP-систем, то на Cache' такие системы есть. Посмотрите презентацию BitMap-индексы (С появлением BitMap-индексов можно более эффективно разрабатывать аналитические приложения на Caché. На занятии вы получите теоретические знания и получите практический опыт использования BitMap-индексов и приложения HyperIndex). Не совсем тольок понятно из презентации, насколько большое падение производительности будет на операциях insert/update при использовании BitMap - индексов. А вообще, достаточно интересные возможности появляются у каши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 14:00 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
dials VadimFСтас, А OLTP система на чем сделана? Что касается реализации хранилищ данных и OLAP-систем, то на Cache' такие системы есть. Посмотрите презентацию BitMap-индексы (С появлением BitMap-индексов можно более эффективно разрабатывать аналитические приложения на Caché. На занятии вы получите теоретические знания и получите практический опыт использования BitMap-индексов и приложения HyperIndex). Не совсем тольок понятно из презентации, насколько большое падение производительности будет на операциях insert/update при использовании BitMap - индексов. А вообще, достаточно интересные возможности появляются у каши. Почему сразу "падение производительности"? Эти возможности появились еще 15 лет назад. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 14:08 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Sergei Obrastsov dials VadimFСтас, А OLTP система на чем сделана? Что касается реализации хранилищ данных и OLAP-систем, то на Cache' такие системы есть. Посмотрите презентацию BitMap-индексы (С появлением BitMap-индексов можно более эффективно разрабатывать аналитические приложения на Caché. На занятии вы получите теоретические знания и получите практический опыт использования BitMap-индексов и приложения HyperIndex). Не совсем тольок понятно из презентации, насколько большое падение производительности будет на операциях insert/update при использовании BitMap - индексов. А вообще, достаточно интересные возможности появляются у каши. Почему сразу "падение производительности"? Эти возможности появились еще 15 лет назад. :) В таком случае, если у BitMap - индексов нет такого минуса, как падение производительности, это полноценная замена обыкновенным индексам, только с большим количеством "+"?;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 14:36 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
dialsВ таком случае, если у BitMap - индексов нет такого минуса, как падение производительности, это полноценная замена обыкновенным индексам, только с большим количеством "+"?;-) BitMap - специфические индексы и обеспечить ими полноценную замену обыкновенным, сиречь сильно дифференцированным, индексам нельзя. Получится непомерное разрастание объема и потеря в производительности, конечно. Это я просто не понял с ходу вопроса, прошу прощения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 14:58 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Sergei Obrastsov dialsВ таком случае, если у BitMap - индексов нет такого минуса, как падение производительности, это полноценная замена обыкновенным индексам, только с большим количеством "+"?;-) BitMap - специфические индексы и обеспечить ими полноценную замену обыкновенным, сиречь сильно дифференцированным, индексам нельзя. Получится непомерное разрастание объема и потеря в производительности, конечно. Это я просто не понял с ходу вопроса, прошу прощения. Вообще, имеет ли смысл обыкновенные индексы заменять BitMap - индексами в таблицах, с объёмами данных более миллиона записей? Или необходимо обыкновенные индексы дополнять BitMap? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 16:07 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Sergei Obrastsov -Serg-Какова максимальная длина BitMap индекса на один ID, если размер кластера, например равен 32000. n=32000*8 ??? А если нужно несколько млн. позиций или млрд-ов ??? на один узел - да. только причем тут кластер? ограничение идет от длины данного. значит надо использовать группу узлов. не думаю, что это очень удобно. хотя запас скорости позволяет обрабатывать это достаточно безболезненно, я полагаю. Эээ, как это на разные узлы??? Неапример такблица ID Ni Ni-1 Ni-2 ... 1 A1 0 1 0 0 ... Вопрос в том, максимальное значение i (например, если число реквизитов i=nn-млн-в и где это все хранить в базе т.е. как (длина строки в каше ограничена) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 16:41 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
dials Sergei Obrastsov dialsВ таком случае, если у BitMap - индексов нет такого минуса, как падение производительности, это полноценная замена обыкновенным индексам, только с большим количеством "+"?;-) BitMap - специфические индексы и обеспечить ими полноценную замену обыкновенным, сиречь сильно дифференцированным, индексам нельзя. Получится непомерное разрастание объема и потеря в производительности, конечно. Это я просто не понял с ходу вопроса, прошу прощения. Вообще, имеет ли смысл обыкновенные индексы заменять BitMap - индексами в таблицах, с объёмами данных более миллиона записей? Или необходимо обыкновенные индексы дополнять BitMap? Опять же все зависит от от дифференциации значений индекса. Если в индексе не более 100 значений и нужен офигенно быстрый поиск, то я бы рискнул перейти на BitMap, даже на данных более миллиона, а то и 10-ти. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2007, 03:24 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
-Serg- Sergei Obrastsov -Serg-Какова максимальная длина BitMap индекса на один ID, если размер кластера, например равен 32000. n=32000*8 ??? А если нужно несколько млн. позиций или млрд-ов ??? на один узел - да. только причем тут кластер? ограничение идет от длины данного. значит надо использовать группу узлов. не думаю, что это очень удобно. хотя запас скорости позволяет обрабатывать это достаточно безболезненно, я полагаю. Эээ, как это на разные узлы??? Неапример такблица ID Ni Ni-1 Ni-2 ... 1 A1 0 1 0 0 ... Вопрос в том, максимальное значение i (например, если число реквизитов i=nn-млн-в и где это все хранить в базе т.е. как (длина строки в каше ограничена) А Вы предполагали все это запихнуть в одну строку? Разве у РСБУД нет ограничений на длину одной записи? Вот и здесь то же самое. Да обычно и хранить: ^X(1)=0 ... ^X(Ni)=0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2007, 03:28 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Sergei Obrastsov -Serg- Sergei Obrastsov -Serg-Какова максимальная длина BitMap индекса на один ID, если размер кластера, например равен 32000. n=32000*8 ??? А если нужно несколько млн. позиций или млрд-ов ??? на один узел - да. только причем тут кластер? ограничение идет от длины данного. значит надо использовать группу узлов. не думаю, что это очень удобно. хотя запас скорости позволяет обрабатывать это достаточно безболезненно, я полагаю. Эээ, как это на разные узлы??? Неапример такблица ID Ni Ni-1 Ni-2 ... 1 A1 0 1 0 0 ... Вопрос в том, максимальное значение i (например, если число реквизитов i=nn-млн-в и где это все хранить в базе т.е. как (длина строки в каше ограничена) А Вы предполагали все это запихнуть в одну строку? Разве у РСБУД нет ограничений на длину одной записи? Вот и здесь то же самое. Да обычно и хранить: ^X(1)=0 ... ^X(Ni)=0 Туплю с утра, sorry. Речь ведь о BitMap идет? Тогда нарезка по 262,000 значений на строку, конечно. То есть: ^X(y) = bit где bit = bitmap для значений от Nj до Nj+262000 В окончательном варианте для БД получаем: ^X(ID,y)=BITn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2007, 03:52 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
dials VadimFСтас, А OLTP система на чем сделана? Что касается реализации хранилищ данных и OLAP-систем, то на Cache' такие системы есть. Посмотрите презентацию BitMap-индексы (С появлением BitMap-индексов можно более эффективно разрабатывать аналитические приложения на Caché. На занятии вы получите теоретические знания и получите практический опыт использования BitMap-индексов и приложения HyperIndex). Не совсем тольок понятно из презентации, насколько большое падение производительности будет на операциях insert/update при использовании BitMap - индексов. А вообще, достаточно интересные возможности появляются у каши. BitMap-индексы появились несколько лет назад в версии Cache' 5.0. С тех пор в Cache' появилось много новых возможностей. Любой индекс замедляет операции insert/update просто наш BitMap-индекс замедляет не так сильно, как у конкурентов. Сравнимо с обычным индексом. Это расширяет область применения BitMap-индексов. Их стоит активно применять и в OLTP-приложениях. Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2007, 10:22 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Sergei Obrastsov dials Sergei Obrastsov dialsВ таком случае, если у BitMap - индексов нет такого минуса, как падение производительности, это полноценная замена обыкновенным индексам, только с большим количеством "+"?;-) BitMap - специфические индексы и обеспечить ими полноценную замену обыкновенным, сиречь сильно дифференцированным, индексам нельзя. Получится непомерное разрастание объема и потеря в производительности, конечно. Это я просто не понял с ходу вопроса, прошу прощения. Вообще, имеет ли смысл обыкновенные индексы заменять BitMap - индексами в таблицах, с объёмами данных более миллиона записей? Или необходимо обыкновенные индексы дополнять BitMap? Опять же все зависит от от дифференциации значений индекса. Если в индексе не более 100 значений и нужен офигенно быстрый поиск, то я бы рискнул перейти на BitMap, даже на данных более миллиона, а то и 10-ти. :) Чем меньше уникальных записей в проиндексированном столбце, тем лучше для BitMap-индекса. Граница, при которой стоит использовать BitMap-индексы, не 100 уникальных значений, а 1000-2000. Понятно, что чем меньше, тем лучше. Важный момент. BitMap-индексы используют $Bit-функции. За счет этого, например, обеспечивается сжатие данных индекса, с помощью $Bit-функций можно осуществлять операции над сжатыми битовыми строками, реализована оптимизация журналирования и т.д. В реальном приложении стоит поэкспериментировать с обычными и BitMap-индексами. Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2007, 10:29 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
VadimFЛюбой индекс замедляет операции insert/update просто наш BitMap-индекс замедляет не так сильно, как у конкурентов. Вадим, Вы серьезно это говорите или реклама обязывает? Наш BitMap помедленней чем у конкурентов будет. VadimF Сравнимо с обычным индексом. Вы шутите?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2007, 13:49 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Sergei Obrastsov VadimFЛюбой индекс замедляет операции insert/update просто наш BitMap-индекс замедляет не так сильно, как у конкурентов. Вадим, Вы серьезно это говорите или реклама обязывает? Наш BitMap помедленней чем у конкурентов будет. На чем основывается Ваше утверждение. Помедленней на каких операциях? Когда запускалась Cache' 5.0. делались соответствующие тесты. Сравнивалась производительность с РСУБД, где есть подобные индексы. Скорость при изменении данных, проиндексированных с помощью BitMap-индексов, гораздо выше, чем у конкурентов. У них BitMap-индексы стоит использовать только в Data Warehouse, у нас в OLTP. Sergei Obrastsov VadimF Сравнимо с обычным индексом. Вы шутите?! Нет. Опять таки проводили тестирование. Советую посмотреть материалы старых школ и симпозиумов на эту тему. Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2007, 14:52 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
VadimF Sergei Obrastsov VadimFЛюбой индекс замедляет операции insert/update просто наш BitMap-индекс замедляет не так сильно, как у конкурентов. Вадим, Вы серьезно это говорите или реклама обязывает? Наш BitMap помедленней чем у конкурентов будет. На чем основывается Ваше утверждение. Помедленней на каких операциях? На обычной логике. У нас все-таки п-код, а не ассемблер. Более того, у нас интерпретатор вдвойне, поскольку BitMap реализован через классы. Или я чего-то не знаю? VadimF Когда запускалась Cache' 5.0. делались соответствующие тесты. Сравнивалась производительность с РСУБД, где есть подобные индексы. Скорость при изменении данных, проиндексированных с помощью BitMap-индексов, гораздо выше, чем у конкурентов. У них BitMap-индексы стоит использовать только в Data Warehouse, у нас в OLTP. Может все-таки завеса тайны когда-нибудь приподнимется и мы узнаем с чем производилось сравнение? Потому как более всего меня беспокоит ограничение строки данных размером в 32k. Насколько я помню, в документации по BitMap указан верхний предел для строки даже не в 260 тысяч позиций, а всего в 64. Ну а если БД выходит за этот "небольшой" размер, начинается подгонка и вычисление строк? VadimF Сравнимо с обычным индексом. Sergei Obrastsov Вы шутите?! Нет. Опять таки проводили тестирование. Советую посмотреть материалы старых школ и симпозиумов на эту тему. Ну что ж не буду пока спорить, отвечу после проверки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2007, 15:24 |
|
||
|
Написание Olap-подобного моторчика на Cache для реалтаймовой системы?
|
|||
|---|---|---|---|
|
#18+
Sergei Obrastsov VadimF Sergei Obrastsov VadimFЛюбой индекс замедляет операции insert/update просто наш BitMap-индекс замедляет не так сильно, как у конкурентов. Вадим, Вы серьезно это говорите или реклама обязывает? Наш BitMap помедленней чем у конкурентов будет. На чем основывается Ваше утверждение. Помедленней на каких операциях? На обычной логике. У нас все-таки п-код, а не ассемблер. Более того, у нас интерпретатор вдвойне, поскольку BitMap реализован через классы. Или я чего-то не знаю? BitMap-индексы используют $bit-функции, которые реализованы на уровне ядра. Я об этом писал в этой ветке. Можно найти об этом информацию в материалах, которые я советовал посмотреть и в документации. Такой подход и позволил очень сильно увеличить производительность. Sergei Obrastsov VadimF Когда запускалась Cache' 5.0. делались соответствующие тесты. Сравнивалась производительность с РСУБД, где есть подобные индексы. Скорость при изменении данных, проиндексированных с помощью BitMap-индексов, гораздо выше, чем у конкурентов. У них BitMap-индексы стоит использовать только в Data Warehouse, у нас в OLTP. Может все-таки завеса тайны когда-нибудь приподнимется и мы узнаем с чем производилось сравнение? Потому как более всего меня беспокоит ограничение строки данных размером в 32k. Насколько я помню, в документации по BitMap указан верхний предел для строки даже не в 260 тысяч позиций, а всего в 64. Ну а если БД выходит за этот "небольшой" размер, начинается подгонка и вычисление строк? Ограничение 32k снято на уровне ядра в Cache' 2007.1. В следующих версиях будет снято на уровне объектов и SQL. На работу BitMap-индексов это сильно не влияет. В документации описывается как храниться BitMap-индекс. Caché Development Guides -> Using Caché Multi-Dimensional Storage -> SQL and Object Use of Multidimensional Storage -> Bitmap Indices Вот отрывок: The third subscript contains a chunk number; for efficiency, bitmap indices are divided into a series of bit strings each containing information for about 64000 rows from the table. Each of these bit strings are referred to as a chunk. Размер каждого "кусочка" 8k, что соответствует размеру блока. Sergei Obrastsov VadimF Сравнимо с обычным индексом. Sergei Obrastsov Вы шутите?! Нет. Опять таки проводили тестирование. Советую посмотреть материалы старых школ и симпозиумов на эту тему. Ну что ж не буду пока спорить, отвечу после проверки. Успехов. Будет время посмотрите и Hyperindex. Там реализован bit-slicing. Скоро BitSlicing появится и в Cache'. Но с Hyperindex Вы можете применять эту технологию уже в Cache' 5.0.x. Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2007, 16:20 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=34254192&tid=1559424]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 281ms |
| total: | 391ms |

| 0 / 0 |
