简体   繁体   English

应用洞察 -> 导出 -> Power BI 数据仓库架构

[英]Application insight -> export -> Power BI Data Warehouse Architecture

Our team have just recently started using Application Insights to add telemetry data to our windows desktop application.我们的团队最近才开始使用 Application Insights 将遥测数据添加到我们的 Windows 桌面应用程序。 This data is sent almost exclusively in the form of events (rather than page views etc).这些数据几乎完全以事件的形式发送(而不是页面浏览等)。 Application Insights is useful only up to a point; Application Insights 仅在一定程度上有用; to answer anything other than basic questions we are exporting to Azure storage and then using Power BI.回答除我们导出到 Azure 存储然后使用 Power BI 的基本问题以外的任何问题。

My question is one of data structure.我的问题是数据结构之一。 We are new to analytics in general and have just been reading about star/snowflake structures for data warehousing.我们一般不熟悉分析,刚刚阅读了有关数据仓库的星形/雪花结构的信息。 This looks like it might help in providing the answers we need.这看起来可能有助于提供我们需要的答案。

My question is quite simple: Is this the right approach?我的问题很简单:这是正确的方法吗? Have we over complicated things?我们有没有处理复杂的事情? My current feeling is that a better approach will be to pull the latest data and transform it into a SQL database of facts and dimensions for Power BI to query.我目前的感觉是,更好的方法是提取最新数据并将其转换为包含事实和维度的 SQL 数据库,以便 Power BI 进行查询。 Does this make sense?这有意义吗? Is this what other people are doing?这是其他人正在做的事情吗? We have realised that this is more work than we initially thought.我们已经意识到这比我们最初想象的要多。

Definitely pursue Michael Milirud's answer, if your source product has suitable analytics you might not need a data warehouse.绝对追求 Michael Milirud 的答案,如果您的源产品有合适的分析,您可能不需要数据仓库。

Traditionally, a data warehouse has three advantages - integrating information from different data sources, both internal and external;传统上,数据仓库具有三个优势 - 集成来自内部和外部不同数据源的信息; data is cleansed and standardised across sources, and the history of change over time ensures that data is available in its historic context.数据经过跨源清理和标准化,随着时间的推移变化的历史确保数据在其历史背景下可用。

What you are describing is becoming a very common case in data warehousing, where star schemas are created for access by tools like PowerBI, Qlik or Tableau.您所描述的正在成为数据仓库中的一个非常常见的案例,其中创建星型架构以供 PowerBI、Qlik 或 Tableau 等工具访问。 In smaller scenarios the entire warehouse might be held in the PowerBI data engine, but larger data might need pass through queries.在较小的场景中,整个仓库可能保存在 PowerBI 数据引擎中,但较大的数据可能需要通过查询。

In your scenario, you might be interested in some tools that appear to handle at least some of the migration of Application Insights data:在您的场景中,您可能对一些似乎至少可以处理 Application Insights 数据迁移的工具感兴趣:

https://sesitai.codeplex.com/ https://sesitai.codeplex.com/

https://github.com/Azure/azure-content/blob/master/articles/application-insights/app-insights-code-sample-export-telemetry-sql-database.md https://github.com/Azure/azure-content/blob/master/articles/application-insights/app-insights-code-sample-export-telemetry-sql-database.md

Our product Ajilius automates the development of star schema data warehouses, speeding the development time to days or weeks.我们的产品 Ajilius 可自动开发星型模式数据仓库,将开发时间缩短至数天或数周。 There are a number of other products doing a similar job, we maintain a complete list of industry competitors to help you choose.还有许多其他产品在做类似的工作,我们维护一个完整的行业竞争对手列表以帮助您选择。

I would continue with Power BI - it actually has a very sophisticated and powerful data integration and modeling engine built in. Historically I've worked with SQL Server Integration Services and Analysis Services for these tasks - Power BI Desktop is superior in many aspects.我将继续使用 Power BI - 它实际上内置了一个非常复杂和强大的数据集成和建模引擎。从历史上看,我曾使用 SQL Server 集成服务和分析服务来完成这些任务 - Power BI Desktop 在许多方面都更胜一筹。 The design approaches remain consistent - star schemas etc, but you build them in-memory within PBI.设计方法保持一致 - 星型模式等,但您可以在 PBI 中在内存中构建它们。 It's way more flexible and agile.它更加灵活和敏捷。

Also are you aware that AI can be connected directly to PBI Web?您是否也知道 AI 可以直接连接到 PBI Web? This connects to your AI data in minutes and gives you PBI content ready to use (dashboards, reports, datasets).这会在几分钟内连接到您的 AI 数据,并为您提供可供使用的 PBI 内容(仪表板、报告、数据集)。 You can customize these and build new reports from the datasets.您可以自定义这些并从数据集构建新报告。

https://powerbi.microsoft.com/en-us/documentation/powerbi-content-pack-application-insights/ https://powerbi.microsoft.com/en-us/documentation/powerbi-content-pack-application-insights/

What we ended up doing was not sending events from our WinForms app directly to AI but to the Azure EventHub我们最终做的不是将 WinForms 应用程序中的事件直接发送到 AI,而是发送到 Azure EventHub

We then created a job that reads from the eventhub and send the data to然后我们创建了一个从 eventhub 读取数据并将数据发送到的作业

  1. AI using the SDK使用 SDK 的人工智能
  2. Blob storage for later processing用于稍后处理的 Blob 存储
  3. Azure table storage to create powerbi reports用于创建 powerbi 报告的 Azure 表存储

You can of course add more destinations.您当然可以添加更多目的地。

So basically all events are send to one destination and from there stored in many destinations, each for their own purposes.所以基本上所有事件都发送到一个目的地,然后从那里存储在许多目的地,每个目的地都有自己的目的。 We definitely did not want to be restricted to 7 days of raw data and since storage is cheap and blob storage can be used in many analytics solutions of Azure and Microsoft.我们绝对不希望将原始数据限制为 7 天,因为存储很便宜,而且 Blob 存储可用于 Azure 和 Microsoft 的许多分析解决方案。

The eventhub can be linked to stream analytics as well. eventhub 也可以链接到流分析。

More information about eventhubs can be found at https://azure.microsoft.com/en-us/documentation/articles/event-hubs-csharp-ephcs-getstarted/有关 eventhub 的更多信息, 访问https://azure.microsoft.com/en-us/documentation/articles/event-hubs-csharp-ephcs-getstarted/

You can start using the recently released Application Insights Analytics' feature.您可以开始使用最近发布的 Application Insights Analytics 功能。 In Application Insights we now let you write any query you would like so that you can get more insights out of your data.在 Application Insights 中,我们现在允许您编写您想要的任何查询,以便您可以从数据中获得更多见解。 Analytics runs your queries in seconds, lets you filter / join / group by any possible property and you can also run these queries from Power BI. Analytics 在几秒钟内运行您的查询,让您可以按任何可能的属性过滤/加入/分组,您还可以从 Power BI 运行这些查询。 More information can be found at https://azure.microsoft.com/en-us/documentation/articles/app-insights-analytics/更多信息可以在https://azure.microsoft.com/en-us/documentation/articles/app-insights-analytics/找到

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM