| Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
| Все форумы / OLAP и DWH |
![]() |
||
|
Владимир Штепа Member Откуда: Hannover Сообщений: 5929 |
Уважаемый Моша, объясните пожалуйста release notes.
что изменено? в какую сторону? Subselect достаточно мощная штука, чтобы вскользь писать об этом.
А это как? Как вообще можно user-defined hierarchy объявить как natural hierarchy и с какими целями?
Неужели было трудно дать пространный список (Ctrl-C, Ctrl-V). С таким содержанием, что есть этот пункт, что его нет. Что может пользователь извлечь полезного? Ей богу, прям как в докладе на XXVIII съезде "достигли, выполнили, осуществили ..." |
||||||
| 9 ноя 06, 21:11 [3378978] Ответить | Цитировать Сообщить модератору | |||||||
|
Mosha Member Откуда: Сообщений: 1272 |
Чтобы понять этот параграф, надо понять что называется natural hierarchy. В документации это написано, делаем поиск на www.live.com на слова "natural hierarchy" по сайту msdn.microsoft.com, и в первом же линке есть определение:
Почему они полезные, думаю понятно - ведь именно natural hierarchies материализуются в отличие от unnatural hierarchies, и хотя бы поэтому производительность на них гораздо лучше. А если учесть что unnatural hierarchies имеют тенденцию генерить при запросах arbitrary shape subcu bes, то совсем станет ясно что ненатурал-ными иерархиями лучше стараться не пользоваться. Впрочем о пользе правильных attribute relationships уже много чего написано. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights |
||||
| 10 ноя 06, 08:12 [3379699] Ответить | Цитировать Сообщить модератору | |||||
|
Mosha Member Откуда: Сообщений: 1272 |
Более подробно об этом (но по английски) тут: http://www.sqljunkies.com/WebLog/mosha/archive/2006/11/09/natural_hierarchy.aspx Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights |
| 10 ноя 06, 09:27 [3379990] Ответить | Цитировать Сообщить модератору | |
|
Yuri Abele Member Откуда: Латвия -> Литва -> Тольятти -> Karlsruhe Сообщений: 1077 |
Моша, sorry за назойливость, а диагностические сообщения выводить в Custom (.NET) UDFs теперь можно? |
| 13 ноя 06, 10:59 [3390162] Ответить | Цитировать Сообщить модератору | |
|
Yuri Abele Member Откуда: Латвия -> Литва -> Тольятти -> Karlsruhe Сообщений: 1077 |
Неквалифицированный вопрос наверное, но все же: мне всегда казалось, что Parent-Child измерения хранят агрегаты только на Leafe уровне а "на верх" всегда динамически вычисляют (я прав?), соответсвенно то, что хотя они автоматом и Natural Hierarchies, помогает это мало. Или что-то я не правильно понимаю? |
||
| 13 ноя 06, 11:32 [3390434] Ответить | Цитировать Сообщить модератору | |||
|
Yuri Abele Member Откуда: Латвия -> Литва -> Тольятти -> Karlsruhe Сообщений: 1077 |
Туда же: "Specifying the appropriate relationships and relationship properties increases query and processing performance" Про процессинг я еще понимаю - при изменении в таблицах измерения, потребуется Full процессинг, но почему производительность запросов падает? 8-( |
||||
| 13 ноя 06, 11:54 [3390598] Ответить | Цитировать Сообщить модератору | |||||
|
Владимир Штепа Member Откуда: Hannover Сообщений: 5929 |
Моша, большое спасибо за столь скорый ответ на часть моего вопроса. Можно ли надеятся, что на другие вы тоже ответите. Ведь subselect это hummer. Просто написать The functionality of subselects has changed это как сказать на пульте высокого напряжения поменяли фазы - вывод: до поступления дальнейших уточнений не трогать руками - убьет. |
||
| 13 ноя 06, 17:05 [3393376] Ответить | Цитировать Сообщить модератору | |||
|
Mosha Member Откуда: Сообщений: 1272 |
Мне казалось что Андрей уже Вам показал как выводить диагностику в Profiler Trace. А вставить такие сообщения в результат не позволяет протокол формата результатов - они либо mddataset либо rowset. Т.е. конечно Вы можете из хранимой процедуры вернуть rowset в котором каждая строка это ваше сообщение, кстати так работает комманда <Process>, но по моему Вы хотите просто вставить отладочные сообщения - для этого Profiler Trace вполне подходит как мне кажется.
Производительность запросов как раз повышается если определить attribute relationships. Интуитивно это понятно почему - работать с 1-to-many всегда проще и эффективнее чем с many-to-many.
В принципе я Вас понимаю. Но мне вот что интересно: Ведь до этого, про то как работают subselects и что они делают в деталях нигде собственно тоже написано не было. Так почему Вы не испугались их тогда трогать ? А теперь когда сказали что их еще улучшили, то боитесь ? По существу, как Вы уже заметили, я стараюсь избегать обьяснений про subselects, т.к. не думаю что смогу понятно обьяснить, а только все еще больше запутаю. Если упростить, то в двух словах изменения такие: 1. Можно использовать arbitrary shapes в subselects (да и в WHERE тоже) вместе с many-to-many and reference dimensions. Раньше, как Вы наверное заметили, это вызывало ошибки 2. Применение VisualTotals на нетривиальные вычисления теперь опирается не только на granularity of attributes используемых в subselects и в формулах, но и на саму формулу тоже. Не уверен что Вы на это попадали, но если да, то это изменение Вас должно только обрадовать. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights |
||||||
| 14 ноя 06, 19:43 [3400111] Ответить | Цитировать Сообщить модератору | |||||||
|
Владимир Штепа Member Откуда: Hannover Сообщений: 5929 |
значит надо доработать протокол
Вы же прекрасно знаете, кем на сегодняшний день про это написано наилучшем образом и в деталях, правда без учета доработок SP2.
Но почему же. Про WHERE и related attributes вы тоже сначала неохотно объясняли, но нам все таки удалось вытянуть Вас на дискуссию, и вы же сами рассказали нам, что просле этой дискуссии произошло.
А за это, спасибо огромное. Если бы еще примерчик приличный, который показвает как до SP2 не работало и как с SP2 будет работать, вашим объяснениям вообще цены бы не было. |
||||||||||
| 15 ноя 06, 05:08 [3400818] Ответить | Цитировать Сообщить модератору | |||||||||||
|
Yuri Abele Member Откуда: Латвия -> Литва -> Тольятти -> Karlsruhe Сообщений: 1077 |
Спасибо за комментарии!
Да, но тогда же я ему и ответил, что, хотя это и больше чем ничего, но совсем не то, что трубуется.
А каким тогда образом выводится диагностическая информация в окно Query Analizer-а? К примеру: - при выполнении обычного MDX говорит сколько строк вернуло - при выполнении XMLA комманды на выполнение UPDATE измерения, выводит просто тучу информации, причем не все одним блоком, а по-немногу, порциями, по ходу выполнения - как-то совсем на "mddataset либо rowset" не похоже. Значит как-то можно? Как? Непонятно, для чего тогда доступен метод Microsoft.AnalysisServices.AdomdServer.Context.TraceEvent(
int eventSubclass,
int numberData,
string textData
) |
||||||||
| 15 ноя 06, 10:15 [3401446] Ответить | Цитировать Сообщить модератору | |||||||||
|
Mosha Member Откуда: Сообщений: 1272 |
При выполнении MDX, это SSMS сам считает сколько строк вернулось а вовсе не сервер это посылает. Ну а XMLA комманды типа Process - я же как раз и написал - они всю информацию шлют именно через rowset. По строчке на сообщение. Поэтому не все строчки сразу идут. Если не верите, то можете подключиться network monitor и убедиться что никакого секретного трика тут нет.
Этот метод нужен для того чтобы писать сообщения в Profiler Trace (см. выше).
Сделать конечно можно все. Вопрос сколько от этого пользы, т.е. какое соотношение затрат к отдаче. Лично мне кажется, что такая функциональность мало кому нужна. Но если для Вас она очень важная, то откройте про это предложение на connect. Глядишь, если за него много кто проголосует, то приоритет и поднимется. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights |
||||||
| 15 ноя 06, 10:56 [3401856] Ответить | Цитировать Сообщить модератору | |||||||
|
Yuri Abele Member Откуда: Латвия -> Литва -> Тольятти -> Karlsruhe Сообщений: 1077 |
Хочется чего-то подобного Microsoft.SqlServer.Server.SqlPipe.Send(string message)
Владимир, откройте, а у мы проголосуем! :-) |
||||
| 15 ноя 06, 11:13 [3401988] Ответить | Цитировать Сообщить модератору | |||||
|
Yuri Abele Member Откуда: Латвия -> Литва -> Тольятти -> Karlsruhe Сообщений: 1077 |
Я вчера не сообразил - Моша, а как мне rowset-ы слать? Каким методом? Какого класса? НЕТУ НИЧЕГО! В SQL Server-е для этого SQLPipe есть, а тут? |
||||
| 16 ноя 06, 10:07 [3407384] Ответить | Цитировать Сообщить модератору | |||||
|
Владимир Штепа Member Откуда: Hannover Сообщений: 5929 |
Моша, я думаю, что убеждать вас у нас на форуме приносит гораздо больше плодов в деле развития AS, чем если бы мы эти вопросы на connect выносили. Да и общение с вами приносит удовольствие, а это далеко не последний фактор. |
||
| 16 ноя 06, 10:32 [3407596] Ответить | Цитировать Сообщить модератору | |||
|
Владимир Штепа Member Откуда: Hannover Сообщений: 5929 |
Subselects in SP2 Моша, большое вам спасибо. |
| 25 ноя 06, 19:05 [3451454] Ответить | Цитировать Сообщить модератору | |
| Все форумы / OLAP и DWH | ![]() |
|