【51CTO.com快译】每个SaaS应用程序背后的数据库存储有关员工、供应商、客户及其他合作伙伴的业务信息。SaaS应用程序支持诸多工作流程,比如面向销售和营销的CRM、面向财务的云ERP、面向人力资源的劳动力管理以及其他企业和部门服务。如今,许多公司使用众多SaaS应用程序:从Salesforce、Slack、Workday和Atlassian之类的主流产品,到许多小型的SaaS工具,不一而足。
SaaS应用程序不会在孤岛中运行,大多数企业需要将它们的功能与私有云或公共云中管理的其他企业应用程序集成起来。
如果跨多个应用程序的工作流程需要集成应用程序,开发团队可以利用SaaS平台的API来触发从一个平台到另一个平台的事件。许多应用程序和服务需要集成时,可以选择Boomi、SnapLogic或MuleSoft之类的企业集成平台。如果需要遵循“如果这样,需要那样”模式的轻量级集成,IFTTT平台可以提供有效的集成。如果开发团队在开发连接到多个SaaS和企业工作流程的新应用程序,还应探究Appian、OutSystems和PowWow之类的低代码平台。
利用SaaS数据以满足不同的业务需求
如果你需要将来自SaaS平台的数据与其他数据源集成起来怎么办?可能需要跨SaaS工具集成数据,出于这几个原因:
- 业务分析员想使用该数据来开发报告和仪表板。
- 数据科学团队想要用于机器学习实验的数据。
- 业务团队想要集中数据以支持工作流程及其他类型的应用程序。比如说,营销团队常常使用客户数据平台或主数据平台来集中有关客户、产品和其他业务实体的数据。
- IT团队应提取备份所需的数据,或将数据迁移到其他平台。
- 法务团队有时需要对基础数据执行法律发现。
- 数据管理员常常想要清理、转换或丰富基础数据。
当然,你可以利用SaaS平台的API来提取数据,但这可能需要大量的开发工作来学习API、了解SaaS平台的数据模型、为任何新数据创建数据存储区、编写代码以加载数据,并为任何转换开发逻辑。此外,IT团队要定义托管该应用程序或服务的云或数据中心基础架构。最后,任何旨在按计划或按需要运行的数据集成都需要日常的支持。对于面临其他更重要的优先事项的开发团队和IT部门而言,从头开始开发集成可能成本高昂。
另一种方法是考虑数据集成、数据流、ETL(提取转换和加载)或其他数据准备平台。处理频繁变化的大量数据时,使用数据集成平台可能是最佳方法,因为这种平台可实现灵活的提取和转换。然而,在最终用户访问和使用信息之前,它们也需要事先开发集成机制。
可能需要查询和管理SaaS数据的更轻量级的手段。有时,这种方法对于快速实验、发现和构建原型很有用。有时,这种方法可以轻松用于运营或生产需求,尤其在数据量很少且查询吞吐量不大的情况下。以下是三种选择。
1. 直接查询SaaS应用程序的BI平台
如果你的主要需求是报告,那么许多自助式BI和数据可视化平台可以直接连接到更流行的SaaS应用程序。
- Tableau可以连接到Intuit Quickbook、Google Analytics、LinkedIn Sales Navigator、ServiceNow、Eloqua、Marketo和Salesforce等平台。
- Microsoft Power BI还与Adobe Analytics、Facebook、GitHub、MailChimp、Stripe、Quick Base和Zendesk等在线服务集成。
- Domo声称有1000多个连接件,支持的平台包括HubSpot、Jira、Instagram、Qualtrics、Shopify、SurveyMonkey、Twitter和Workday等。
至少,这些集成提供了一种查询和发现基础SaaS数据源的简易方法。往好里说,现成的集成足以使最终用户创建所需的数据混合、报告和仪表板。
有几个方面要考虑。
- 当列有匹配的键时,这些平台可支持连接和数据混合。如果在集成数据源或将其与其他数据源混合之前需要大量的数据转换,它们就变得较难使用。
- 评估是否通过实时查询执行SaaS数据集成,或者数据是提取还是缓存。
- 如果SaaS应用程序含有大量数据、与许多其他数据源存在复杂的连接,或者仪表板将被许多用户同时使用,性能可能是一个因素。
2. 模拟ODBC、JDBC、OData或其他驱动程序的平台
如果业务需要的不仅仅是报告和仪表板,仍需要轻量级的集成方法,那么一些商业工具可将SaaS API转换成标准数据库驱动程序,比如ODBC、JDBC或OData。对于常用SaaS平台的驱动程序而言,两个选择是Progress DataDirect和CData Driver Technologies。
如果数据科学团队想要在提取数据以供分析之前对SaaS数据库执行临时查询,驱动程序方法可能最有用。对于需要实时查询SaaS应用程序数据的应用开发人员来说,这也是不错的选择。
开发和数据科学团队应调查该集成的性能,尤其是在需要大量查询、庞大数据集或低延迟的情况下。此外,许多SaaS应用程序根据API使用情况来限制客户或向客户收费,因此如果需要更高的查询量或数据量,这可能是个因素。
3. 可将SaaS数据同步到云数据库的轻量级ETL平台
最后一个方法是将数据集成从SaaS应用程序搬到贵企业建立和管理的云数据库中。该策略增添了一些操作复杂性和成本,如果需要实时查询SaaS应用程序数据,可能不是理想的选择。但它确实有几个优点:
- 它让企业可以更大程度地控制业务用户、数据科学家(包括平民数据科学家)和应用开发人员使用的数据库平台和数据架构。平台和架构应满足容量、性能和延迟等方面的要求。
- 独立于SaaS数据库存储数据可提供更大的灵活性,可根据下游用户和应用程序的要求,灵活地转换、连接、清理或聚合数据。
- 如果面向查询该数据的数据安全、数据隐私或其他数据治理控制措施有别于SaaS应用程序中的访问和权利控制措施,那么可能需要将数据托管在单独的数据库中。
- 独立于SaaS平台托管数据对于更高的数据量和查询量需求而言可能更具成本效益。
虽然你可以将该集成与数据集成或准备平台结合起来,但是仍有一些SaaS数据集成平台拥有可直接连接到许多SaaS应用程序的机制。如果你的目标是将数据从SaaS应用程序流式传输到云数据库,Talend旗下的Stitch是一款即插即用的解决方案。你可以选择要复制的数据和复制频次,但是它不提供用于转换或过滤数据的任何工具。Skyvia提供了一款类似的产品,两者都有让开发团队可以试一试集成的免费版本。谷歌云旗下的Alooma致力于将数据转移至Google BigQuery、Amazon Redshift和Snowflake之类的大数据平台,并提供一些数据转换功能。
如果贵公司在使用许多SaaS平台,那么一刀切的策略可能行不通。每条集成路径都支持不同的SaaS集成,集成的类型必须与预期的业务需求相一致。比较工具并考虑多种选择是一条优选实践,数据集成需求变化时尤为如此。
原文标题:How to query and extract data from SaaS applications,作者:Isaac Sacolick
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】