如何從SaaS應用程序查詢和提取數據?
譯文【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】