Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Вопросы и ответы по MS SQL Server" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
MS SQL Server - дело тонкое...
Информационный Канал Subscribe.Ru |
#158<< #159 |
СОДЕРЖАНИЕ
Матричная классификация элементов многомерного куба Автор: Александр ДЕНИСЕНКО (aden@online.ru, aledin@academy.ru) Постановка задачи. При построении координаты многомерного куба OLAP задаётся иерархия элементов, то есть распределение заданного множества по классам и восходящее (иерархическое) объединение классов в объемлющие классы. При загрузке куба используется так называемая фактовая таблица, строки которой содержат ссылки на атомарные элементы каждой из координат. Например, это могут быть сведения о продаже товара 3 в магазине 17 в день Х. Здесь важно подчеркнуть, что ссылка возможна на единственный элемент координаты! Аггрегирующая функция куба автоматически суммирует данные о продажах в вышележащие объекты по каждой координате: ото дня в месяц и далее в год, от магазина - в регион и страну, от товара - в класс товаров (товарную группу). Особенность построения иерархии такова, что на каждом уровне у элемента (или класса) может быть указан единственный вышележащий (родительский) элемент (или класс). Однако во многих приложениях (в частности, в практике финансового анализа, технологических цепях, задачах управления персоналом и т.п.) нормой оказывается отнесение элемента к нескольким классам одновременно. Например, шоколадный ликер входит как в класс напитков, так и в класс кондитерских изделий. Господин N является как сотрудником предприятия M, так и владельцем огорода на территории Т. Итак, необходимо преодолеть ограничение на единственную ссылку из фактовой таблицы на элементы координатной иерархии. Требование информационной технологии: минимум нестандартных компонент и возможность оперативной смены содержимого класса. Предлагаемое решение Интерфейсная часть. Предлагается использовать обычный проводник Микрософта, причем элементу соответствует файл, а классу - папка. Средствами SQL2000 иерархическая структура папок и файлов преобразуется в координатную таблицу куба OLAP. Ничто не мешает одному и тому же файлу находиться в нескольких папках. Наблюдатель при этом пользуется обычными для него приёмами копирования и перемещения файлов из списка множества по классам. Примечание: в файловой системе NTFS следует использовать разные тома для исходного перечня элементов и динамических классов, так как в этом случае перемещение файла мышкой реализовано как копирование, то есть размножение элемента, что позволяет относить элемент к нескольким разным классам, перемещая его поочерёдно в несколько папок для соответствующих классов). Имя файла - название элемента, имя папки - класс. Так, возникнут папки для напитков и кондитерских изделий, в каждой из которых окажется файл с названием шоколадного ликёра. Предполагается, что сотрудник с элементарными навыками в состоянии копировать и перемещать файлы по папкам. Коррекция координатной таблицы. В таблице, содержащей сведения о каждом элементе координаты, предлагается завести дополнительное поле - к какому классу относится данный элемент. Из условия многозначности принадлежности элемента к классу предлагается использовать форму записи многозначных отображений (в терминах Микрософт - форма 1NF) - то есть в строке описания элемента перечислить классы, к которым он относится. Технологический приём: в координатной таблице заводим поле для класса, в котором перечисляем классы, к которым принадлежит элемент. Модификация куба. Создаем динамические (calculeted member в терминах [1]) элементы куба, описание которых на языке MDX содержит признак принадлежности элемента к классу (вхождение подстроки с название класса в строку координатной таблицы - функция INSTR поддерживается MDX Микрософт, но можно использовать и что-нибудь аналогичное). Итоги. Наблюдатель мышкой раскидывает товары (сотрудников и т.п.) между классами. Нажимает кнопку обновления данных. По кнопке автоматически (невидимо для наблюдателя) вызывается командный файл, который запускает DTSпакет, преобразующий файловую структуру каталога элементов в таблицу SQL. Далее динамические элементы кубы при его обновлении автоматически покажут суммарные сведения по любым классам, указанным для наблюдателя в кубе (возможно, с обновлением виртуального куба или координаты - это зависит от технолога). P.S. В практике редко осознаётся одна возможность пакетов DTS в [1]: это вариант WRITE FILE. Он очень удобен при формировании координатной таблицы из каталога. Суть его в том, что содержимое, указанное во втором столбце таблицы, автоматически заносится в файл, создаваемый с путём, обозначенным в первом столбце таблицы - по непонятным для автора причинам этот чрезвычайно сильный вариант не рассматривается в известной литературе и материалах, включая 5-дневный фирменный курс Микрософт 2092, посвящённый исключительно DTS. Впрочем, ещё одна трудность возникает с формированием таблицы каталога по его файловой структуре - самый простой способ видится в использовании процедуры xp_cmdshell, в которую не просто подставить параметры - имя текущей папки, но четыре кавычки решают проблему. Использование же VB требует дополнительных затрат, хотя и даёт более корректный результат в условиях оперативной динамики классов. Проблемы. Предложенное решение не позволяет раскрывать содержимое класса при просмотре наблюдателем содержимого куба. В [1] существует ограничение на число динамических элементов куба в 64 тысячи. Ссылки: [1]. SQL2000. Электронная документация.
Счётчики производительности SQL Server и Windows
1. Введение Счётчики производительности сети позволяют контролировать работу сетевых интерфейсов и протоколов по всем уровням модели Open Systems Interconnect (OSI), от физического до прикладного.
Значения счётчиков производительности сети зависят от текущей производительности других компонент сервера, и наоборот, производительность других компонент может зависеть от компонент сети. Например, если наблюдается увеличение обмена страниц с одновременным уменьшением Server\Bytes Total/sec, это говорит о нехватке оперативной памяти для обеспечения сетевых операций. Сетевые интерфейсы и протоколы активно используют невыгружаемую память, а избыточный свопинг может быть спровоцирован как раз тем, что большая часть ОЗУ была отдана для обеспечения сетевых операций. В таком случае, для сервера баз данных, который также использует выгружаемую память, её может остаться слишком мало. Поэтому, наряду со счётчиками сети, рекомендуется одновременно измерять и другие счётчики для кэша, дисковой подсистемы, памяти, процессоров и системы, которые уже рассматривались в предыдущих главах настоящей статьи:
Cache\Data Map Hits %
Если анализ этих счётчиков не показывает наличия узких мест в производительности других компонент, значения
счётчиков сети будут наиболее близки к истинной производительности. Следующие счетчики позволяют обнаружить узкие места в сети:
При контроле счётчиков протоколов, стоит в первую очередь беспокоится о величине трафика. Для этого, используйте
счётчики: Bytes Total/sec, Datagrams Received/sec, Datagrams Sent/sec, Frames Received/sec и Frames Sent/sec.
При рассмотрении счётчиков передачи, учитывайте пропускную способность вашей сети. Значение Bytes Total/sec не
должно быть близко к пропускной способности сети. Для протокола TCP/IP, используйте объекты TCP, IP, UDP и Internet Control Message Protocol (ICMP). Чтобы контролировать трафик на сетевом уровне, используйте счетчики объекта IP Datagrams Forwarded/sec, Datagrams Received/sec, Datagrams/sec и Datagrams Sent/sec. Для контроля на транспортном уровне, используйте счетчики TCP Segments Received/sec, Segments Retransmitted/sec, Segments/sec и Segments Sent/sec. ICMP используется для поддержания таблиц маршрутизации и диагностирования проблем Объект производительности ICMP состоит из счетчиков, измеряющих частоты отправки и получения сообщений по протоколу ICMP. Он также включает счетчики наблюдения за ошибками протокола ICMP.UDP используется для DNS имён хостов и определения IP адресов, а также для разрешения Network Basic Input/Output System (NetBIOS) имён сервером WINS. Величина передачи и получения сегментов по сети должна быть высокой, иначе, постарайтесь уменьшить широковещательный трафик. UDP\Datagrams/sec указывает на величину широковещательного трафика (отправка и получение), и его значение должно быть низким. Если величина повторных попыток передачи высока, могут иметься аппаратные проблемы, поэтому Вы должны далее исследовать счетчики системы, например - процессора. Счетчики объектов ICMP и UDP, полезны для более подробного наблюдения за передачей данных по протоколу TCP/IP. Используйте пороговые значения, чтобы определить, какие счетчики выходят из допустимого диапазона и могут указывать на проблемы. Для того чтобы контролировать протокол NWLink, используйте следующий три объекта:
Примечание: Имейте в виду, что счетчики кадров (фреймов) этих объектов всегда возвращают нулевые значения. Для протокола NetBEUI, используйте объекты NetBEUI и NetBEUI Resource. Контролируйте Bytes Total/sec и другие счетчики, например: NetBEUI\Frame Bytes Received/sec и NetBEUI\Frame Bytes Sent/sec. Кроме того, проследите за ростом Frames Rejected/sec. Также следите за NetBEUI Resource\Times Exhausted, который указывает, как используются буфер ресурса. Информация об объектах ресурса также регистрируется в журнале event log. Для протокола AppleTalk, используйте счетчики объекта AppleTalk. Для информации об этих счетчиках, см. раздел "Performance Counter Reference" в Windows 2000 Resource Kit companion CD. Далее будут представлены счётчики, которые могут помочь в выяснении причин возникновения узкого места в сети или уточнения его источника. ПРОДОЛЖЕНИЕ СЛЕДУЕТ
Статьи на русском языке
Разноцветный DBGrid. 8 лет спустя
Новые и обновлённые технические статьи Microsoft
"Connection Could Not Be Established" Error Message When You Use Named Pipes to Connect to a
Windows NT 4.0-Based Computer That Is Running Either SQL Server 2000 or SQL
Server 7.0
What's new in SQL Server Yukon
Самые популярные темы недели
Новые упражнения на http://sql.ipps.ru
BDE и MS SQL
|
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||