Требования к архитектуре клиента для разработки служб Analysis Services
Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Microsoft SQL Server SQL Server Analysis Services поддерживает архитектуру тонкого клиента. Подсистема вычислений SQL Server Analysis Services полностью основана на сервере, поэтому все запросы разрешаются на сервере. В результате для каждого запроса требуется только одно перемещение данных от клиента к серверу и обратно, что позволяет масштабировать производительность по мере роста сложности запросов.
Собственный протокол для SQL Server Analysis Services — XML для анализа (XML/A). SQL Server Analysis Services предоставляет несколько интерфейсов доступа к данным для клиентских приложений, но все эти компоненты взаимодействуют с экземпляром SQL Server Analysis Services с помощью XML для анализа.
Несколько разных поставщиков предоставляют SQL Server Analysis Services для поддержки различных языков программирования. Поставщик взаимодействует с сервером SQL Server Analysis Services, отправляя и получая XML-код для анализа в пакетах SOAP по протоколу TCP/IP или по протоколу HTTP через службы IIS. Http-подключение использует COM-объект, созданный службами IIS, который называется насосом данных, который выступает в качестве канала для SQL Server Analysis Services данных. Средство переноса данных никак не просматривает базовые данные, которые содержатся в HTTP-потоке, и никакие структуры базовых данных не доступны никакому коду в самой библиотеке данных.
Клиентские приложения Win32 могут подключаться к серверу SQL Server Analysis Services с помощью OLE DB для интерфейсов OLAP или объектной модели Объектов данных Microsoft® ActiveX® (ADO) для языков автоматизации COM, таких как Microsoft Visual Basic®. Приложения, закодированные на языках .NET, могут подключаться к серверу SQL Server Analysis Services с помощью ADOMD.NET.
Существующие приложения могут взаимодействовать с SQL Server Analysis Services без изменений с помощью одного из поставщиков SQL Server Analysis Services.
Язык программирования | Интерфейс доступа к данным |
---|---|
C++ | OLE DB для OLAP |
Visual Basic 6 | ADO MD |
Языки платформы .NET | ADO MD.NET |
Любой язык с поддержкой SOAP | XML для аналитики |
SQL Server Analysis Services имеет веб-архитектуру с полностью масштабируемым средним уровнем для развертывания как в малых, так и в крупных организациях. SQL Server Analysis Services обеспечивает широкую поддержку среднего уровня для веб-служб. Поддержка приложений ASP реализована в OLE DB для OLAP, а приложений ADO MD, ASP.NET — в ADOMD.NET. Средний уровень, проиллюстрированный на приведенном ниже рисунке, масштабируется для одновременной поддержки большого количества пользователей.
Клиентские и средние приложения могут взаимодействовать напрямую с SQL Server Analysis Services без использования поставщика. Клиентские приложения и приложения промежуточного уровня могут отправлять данные XML для аналитики в SOAP-пакетах по протоколам TCP/IP, HTTP или HTTPS. Клиент может быть написан на любом языке, поддерживающем SOAP. В этом случае сообщением проще всего управлять посредством служб IIS, используя протокол HTTP, хотя также можно запрограммировать прямое соединение с сервером по протоколу TCP/IP. Это самое тонкое клиентское решение для SQL Server Analysis Services.
Службы Analysis Services в табличном режиме или режиме интеграции с SharePoint.
В SQL Server 2017 г. сервер можно запустить в режиме модуля аналитики VertiPaq в памяти (VertiPaq) для табличных баз данных и книг Power Pivot, опубликованных на сайте SharePoint.
Power Pivot для Excel и SQL Server Data Tools — это единственные клиентские среды, которые поддерживаются для создания баз данных в памяти и запросов к ним, использующих SharePoint или табличный режим соответственно. Внедренная база данных Power Pivot, созданная с помощью инструментов Excel и Power Pivot, содержится в книге Excel и сохраняется как часть файла .xlsx Excel.
Однако книга Power Pivot может использовать данные, хранящиеся в традиционном кубе, если импортировать данные куба в книгу. Вы также можете импортировать данные из другой книги Power Pivot, если они были опубликованы на сайте SharePoint.
Примечание
При использовании куба в качестве источника данных для книги Power Pivot данные, полученные из куба, определяются как запрос многомерных выражений; однако данные импортируются в виде плоских snapshot. Нельзя ни работать с данными в интерактивном режиме, ни обновлять их из куба.
Интерфейсы для клиента Power Pivot
Power Pivot взаимодействует с подсистемой хранилища подсистемы аналитики VertiPaq в памяти в книге с помощью установленных интерфейсов и языков для служб Analysis Services: AMO и ADOMD.NET, многомерных выражений и XMLA. В надстройке меры определяются с помощью языка формул, аналогичного языку формул Excel и DAX (выражения анализа данных). Выражения анализа данных внедряются в сообщения XMLA, отправляемые внутрипроцессному серверу.
Поставщики
Для обмена данными между Power Pivot и Excel используется поставщик OLEDB MSOLAP (версия 11.0). В поставщике MSOLAP имеется четыре модуля (также называемых транспортами), которые можно использовать для пересылки сообщений между клиентом и сервером.
TCP/IP Используется для обычных подключений "клиент-сервер".
HTTP Используется для HTTP-подключений через службу насоса данных SSAS или путем вызова компонента веб-службы SharePoint Power Pivot (WS).
INPROC Используется для подключений к подсистеме внутрипроцессного процесса.
КАНАЛ Зарезервировано для взаимодействия с системной службой PowerPivot в ферме SharePoint.