Каков наилучший способ передачи данных из SAP в SQL Server?
Мы хотим создать новое хранилище данных с нуля на основе таблиц SAP. Для процедуры извлечения, преобразования и загрузки (ETL) мы хотим использовать Microsoft SQL Server Integration Services. На рынке есть много поставщиков, таких как Theobald, CData и т. Д., Которые предоставляют платформу для доступа к данным SAP. Но есть также SAP .NET Connector 3.0, предоставленный самой SAP для доступа к данным через RFC.
У вас есть опыт работы с этими различными решениями? В соответствии с концепцией DWH мы просто хотим получить доступ к таблицам и сосредоточены на быстрой передаче (хорошей производительности передачи) данных SAP.
Спасибо за помощь.
3 ответа
Я бы предпочел придерживаться нативных решений SAP. Вот варианты:
- SAP SLT Очень простое, но эффективное решение. Возможности весьма ограничены (без объединений, без слияния из нескольких источников), но, похоже, идеально подходят для однократного преобразования.
- SAP Data Services (SAP BODS) Более сложный инструмент, который позволяет создавать сценарии ETL из любых источников в любые места назначения, включая сложные преобразования, сценарии и т. Д.
- SAP MDM/ MDG Более концептуальное решение, которое включает в себя качество данных, управление данными, валидацию, дедупликацию и т. Д. MDM и MDG - фактически два разных продукта, но здесь мы помещаем их как единое целое для простоты. Предположительно они используются для мгновенного процесса репликации между системами SAP, но MDM более универсален и может использоваться автономно и может использоваться для любого источника.
- SAP PI Самое сложное, многофункциональное и сложное решение, которое не кажется разумным выбором для однократной передачи. Подробнее о различиях.
- SAP Data Hub Решение SAP для источников больших данных, которое кажется излишним для вашего случая.
Все зависит от объема вашей задачи (зеркалирование, репликация или преобразование), сложности данных, необходимых преобразований (простых или сложных), периодичности (однократной или мгновенной), бюджета и других.
Если вам просто нужно перенести свой DWH как есть в MS SQL, я предлагаю использовать SLT как наиболее эффективный способ. Если вам нужны более сложные преобразования, я предлагаю использовать SAP BODS. Другие пункты, кажется, не имеют отношения к вашей задаче.
Вы также можете подключиться через Azure Data Factory или Synapse.
https://learn.microsoft.com/en-us/azure/data-factory/connector-sap-table?tabs=data-factory
Мы используем связанную службу SAP CDC в конвейерах Synapse для передачи данных из SAP в наш Lakehouse, и это работает довольно хорошо. Мы также использовали прямой экспорт (добавочный) из SAP SLT непосредственно в нашу базу данных SQL, которая работала без каких-либо проблем в течение многих лет.
Это также возможно через SSIS, например. через коннектор CData или OLEDB.
Saptodb очень полезен для передачи данных из SAP в хранилище данных SQL. Вы можете передавать RFC-функции с помощью фильтрации. Вы можете перенести сап-таблицы. Вы можете периодически передавать XML-файлы, создавая простые планировщики задач Windows. Он не нуждается в программировании. это бесплатно.