SQL Server и Business Intelligence

Подкатегории

Введение в Business Intelligence

Целью этого раздела является ознакомление вас с важной областью технологии баз данных - интеллектуальными ресурсами (business intelligence, бизнес-аналитика). Сначала объясняются различия между оперативной обработкой транзакций (online transaction processing, OLTP), с одной стороны, и бизнес-аналитикой, с другой стороны. Складом данных для процесса бизнес-аналитики может быть хранилище данных (data warehouse) или киоск данных (data mart). Обсуждаются оба типа, а затем описываются их отличия.

Просмотреть материалы...

Microsoft Analysis Services

Microsoft Analysis Services является группой сервисов, которые используются для управления данными, находящимися в хранилище данных или в киоске данных. Analysis Services преобразует данные из хранилища данных в многомерные кубы с агрегатами, для того чтобы дать возможность создавать замысловатые отчеты и сложные запросы. Ключевыми особенностями Analysis Services являются: простота использования; гибкость модели данных; поддержка некоторых API. Analysis Services предоставляет мастеров для большинства задач, которые выполняются в процессе проектирования и реализации хранилища данных. Например, Data Source Wizard позволяет задавать один или более источников данных, в то время как Cube Wizard используется для создания многомерных кубов, где хранятся агрегатные данные.

Просмотреть материалы...

Business Intelligence и Transact-SQL

До версии SQL Server 2000 язык Transact-SQL не выполнял достаточно хорошо сложный анализ данных. С самого начала Transact-SQL предоставлял некоторые агрегатные функции, которые могли быть использованы для вычисления простых обобщений данных, а также предложение group by, которое позволяло выполнять элементарную группировку данных. SQL Server 2000 был первой версией SQL Server, которая предоставляла сложные возможности анализа данных, такие как оператор cube и предложение top. SQL Server 2005 значительно расширил эти возможности, введя функции упорядочения и некоторые реляционные операторы. SQL Server 2008 вводит стандартизованный синтаксис для операторов rollup и cube, а также для группировки наборов, что позволяет выполнять вычисления для групп некоторых различных наборов по столбцам группирования.

Просмотреть материалы...

Microsoft Reporting Services

В этом разделе описывается инструмент создания промышленных отчетов в SQL Server, называемый Reporting Services. В начале главы обсуждается общая структура отчета и объясняются основные компоненты Reporting Services. После этого вы увидите, как можно создавать отчеты с помощью мастера Report Server Project Wizard. Затем будет рассмотрена обработка отчета. Под конец будут показаны различные способы поставки спроектированного и развернутого отчета.

Просмотреть материалы...

Техники оптимизации для бизнес-аналитики

В этом разделе описываются две техники оптимизации, связанные с ROLAP. Иными словами, эти техники могут быть применены только по отношению к хранению многомерных данных. В начале этой главы обсуждается, когда имеет смысл хранить все экземпляры сущности в одной таблице, а когда лучшим решением с точки зрения производительности - в разделенных таблицах данных. После общего введения даются способы, которые можно использовать для разделения данных. Помимо общих правил разделения данных В этом разделе описываются улучшения в SQL Server 2008, связанные с этими техниками. Затем подробно объясняется техника оптимизации запросов, называемая схемой «звезда». Будут представлены преимущества этой техники, а также использование фильтров битовых образов.

Просмотреть материалы...
Оценить
(0 голоса)
Прежде чем вы начнете разделять таблицы базы данных, вы должны завершить следующие шаги: 1. Задать цели разделения. 2. Определить разделяющий ключ и количество разделов. 3. Создать файловую группу для каждого раздела. 4. Создать функцию разделения и схему разделения. 5. Создать индексы разделения (если необходимо).
Оценить
(0 голоса)
Цели разделений зависят от типа приложений, которые обращаются к таблицам, подлежащим разделению. Существует множество различных целей и каждая из них может быть единственной причиной для разделения таблицы: ♦ увеличение производительности для индивидуальных запросов; ♦ уменьшение конкуренции; ♦ улучшение доступности данных. Если первичной целью разделения таблицы является увеличение производительности для индивидуальных запросов, распределите все строки таблицы равномерно. Причина этого в том, что система базы данных не будет ожидать больше времени при поиске данных из раздела, имеющего больше строк, чем другие разделы. Также, если запросы осуществляют доступ к данным путем сканирования таблицы с большим объемом данных, следует только разделить строки таблицы. (В…
Оценить
(0 голоса)
Таблица может быть разделена с помощью любого столбца таблицы. Значения разделяющего ключа используются для размещения строк таблицы по различным файловым группам. Для лучшей производительности каждый раздел должен сохраняться в отдельной файловой группе, а каждая файловая группа должна сохраняться на отдельном дисковом устройстве. Размещая данные на нескольких дисковых устройствах, вы можете сбалансировать операции ввода/вывода и улучшить производительность, готовность и поддержку запросов. Вы должны разделять данные таблицы, используя столбец, значения которого меняются нечасто. Если разделение выполняется по столбцу, который часто изменяется, то любые операции изменения этого столбца могут привести к тому, что система будет перемещать изменяемые строки из одного раздела в другой,…
Оценить
(0 голоса)
Для достижения лучшей производительности, наивысшей доступности данных и более простой поддержки следует использовать различные файловые группы для разделения данных таблицы. Количество файловых групп главным образом зависит от используемого вами оборудования. Если у вас несколько центральных процессоров, разделите ваши данные таким образом, чтобы каждый CPU мог обращаться к данным на одном дисковом устройстве. Если Database Engine может обрабатывать несколько разделов параллельно, то время работы вашего приложения будет значительно сокращено. Каждый раздел данных должен размещаться в файловой группе. Для создания файловой группы используйте оператор create database или alter database. В примере 26.1 показано создание базы данных testpartitioned с одной первичной файловой группой…
Оценить
(1 голос)
Следующим шагом после создания файловых групп является создание функции разделения. Функция разделения создается оператором create partition function. Существуют две формы этого оператора в зависимости от типа разделения. Синтаксис create partition function, связанный с этими типами разделения, следующий: create partition function functionjname(param_type) as range  [left  |  right] for values  ([boundary_value [,   ... л 1]) Здесь function_name задает имя функции разделения; param_type определяет тип данных ключа разделения; boundary_vaiue задает одно или более значений границ, для каждого раздела разделяемой таблицы или индекса, использующего функцию разделения. Оператор create partition function поддерживает две формы опции range: range left И range right. range left указывает, что…
Оценить
(0 голоса)
Когда вы разделяете данные таблицы, индексы, ассоциированные с этой таблицей, также могут быть разделены. Вы можете разделять индексы таблицы с использованием существующей схемы разделения для этой таблицы или другую схему. Когда и индексы, и таблица используют одну и ту же функцию разделения и те же разделяющие столбцы (в том же порядке), то таблица и индекс называются выровненными. Когда таблица и ее индексы являются выровненными, система базы данных может перемещать разделы между разделенными таблицами более эффективно, поскольку разделение обоих объектов базы данных выполнено при помощи одного и того же алгоритма. По этой причине в большинстве практических случаев рекомендуется, чтобы вы использовали…
Оценить
(0 голоса)
Помимо разделения таблиц вместе с соответствующими индексами, Database Engine также поддерживает разделение двух таблиц с использованием одной и той же функции разделения. Эта форма разделения означает, что строки обеих таблиц, которые имеют одно и то же значение разделяющего ключа, сохраняются вместе. Эта концепция разделения данных называется совместным размещением. Предположим, что помимо таблицы orders существует также таблица order_detaiis, которая содержит ноль, одну или более строк с заказами для каждого уникального номера заказа в таблице orders. Если вы разбиваете обе таблицы, используя одну и ту же функцию разбиения для соединения столбцов orders, orderid и order_details . orderid, то строки обеих таблиц с…
Оценить
(0 голоса)
SQL Server 2008 имеет следующие улучшения, касающиеся разделения данных: ♦ преимущества, производительности для многих параллельных планов запросов за счет порядка выполнения операций доступа; ♦ параллельное выполнение запросов к разделенным таблицам при использовании многих потоков управления; ♦ улучшенное редактирование информации, относящейся к разделенным данным. В следующих разделах рассматриваются эти возможности.
Оценить
(0 голоса)
В SQL Server 2008 было изменено внутреннее представление разделенных таблиц, такая таблица представляется процессору запросов в виде составного (содержащего несколько столбцов) индекса с разделяемым столбцом в качестве лидирующего столбца. Этот столбец, называемый partitionediD, является скрытым вычисляемым столбцом, используемым внутренне для представления идентификатора раздела, содержащего указанную строку. Предположим, например, что существует таблица tab с тремя столбцами coll, co12 и co13. (coll используется для разделения таблицы, а со12 является кластерным индексом.) В SQL Server 2008 такая таблица внутренне трактуется как неразделенная таблица со схемой tab (partitionID, coll, со12 со13) и с кластерным индексом с составным ключом (partitionio, со12). Это позволяет оптимизатору запросов…
Оценить
(0 голоса)
В SQL Server 2005 один поток был выделен на раздел, когда запрос обращался к нескольким разделам. Иными словами, каждый запрос, который применялся к разделенным таблицам, не мог выполняться параллельно. (Определение параллельных запросов.) Это может привести к проблемам производительности в системах с несколькими центральными процессорами, если схема таблицы содержит меньше разделов, чем существует центральных процессоров. В этом случае не все CPU будут использованы для обработки запроса. SQL Server 2008 предоставляет две стратегии выполнения запросов для параллельных планов запросов к разделенным объектам: стратегия одного потока на раздел и стратегия нескольких потоков на раздел. В стратегии одного потока на раздел оптимизатор запросов назначает…
© 2018 www.serversql.ru. Все права защищены.