建立传统数据仓库的前三步是 1) 收集报告要求, 2) 确定源数据, 3) 设计数据模型 (也称为模式), 以便将数据保存在可预测的结构中进行分析。
大数据和数据湖革命从根本上改变了这种做法。现在, 人们首先收集数据, 并使用 “以您自己的方式” 来处理数据模型。基本上是在一个大型数据存储库或云文件存储区中寻找和倾倒潜在的有趣数据。接下来, 分析和报告要求通常是下一个, 因为人们 (或机器) 试图找到一些有用的东西来处理他们组装的数据, 或者尝试用它来回答实际的业务问题。在这个新世界中, “数据建模” 一步在很大程度上被忽略, 或者推迟到后来, 使用 “模式上读取” 方法。
有时这是可行的。通常, 现代数据湖中的数据表是广泛的, 这意味着它们在每个表中都有很多列–可能每列都需要进行某种类型的分析。通过这样的设置, 用户可以从单个表中浏览大量数据, 这样就无需进行大量或任何数据建模, 因为表之间不需要联接。
但是, 分析通常需要超出单个表, 这意味着我们需要了解单个数据库或数据湖中的各个表之间的数据列之间的关系, 或者在完全不同的数据存储区中进行跨集。在这种情况下, 分析工具需要对数据的架构有一定的了解。
在传统 BI 中, 架构是一种相对僵化的结构, 通常在创建报表或仪表板之前定义。创建和更改架构通常需要一个架构师级别的技能集, 并且可能会编辑复杂的类似 XML 的文件。这些任务远远超出了大多数典型的业务用户的能力。
我们在 Zoomdata 的理念是摆脱用户的方式-只是让他们看到和互动的数据。一旦数据经过数据质量和 ETL 步骤, 以确保最初的清洁度和一致性, 我们相信它已经准备好让用户开始探索了。而且这些天的大量数据是机器生成的 (而不是手动输入系统), 而所有机器生成的数据都不一定是一个很有价值的分析。因此, 通过向人们展示他们的数据, 最初在一个简单的网格或几个图表中, 用户就可以了解他们必须使用的内容。当他们识别出潜在价值的部分时, 他们就可以开始将简单的原始数据雕刻成更精致的产品, 提供并回答新的问题, 并洞察他们的业务。
这种雕刻过程通常涉及三步骤, 这可能发生在任何顺序, 并可以发生多次在不同的水平。第一个雕刻步骤是在数据属性之间进行冲浪, 以查看来自不同透视或维度的数据, 如地理、客户类型, 或任何属性或属性集合都在感兴趣的数据中。二是过滤数据, 删除不感兴趣的部分数据, 并在重要方面零入。第三是随着时间的推移来探索数据。要查看跨时间筛选的数据, 了解事物的变化情况, 确定时间粒度和期间到期间的比较, 最好是在手头上的问题或洞察力。通过使用这三方法, 用户可以缩小到一组数据, 然后可以直观地开始讲述一个故事。
不需要任何预定义的 “架构” 来执行任何此项。第一次跃迁到类似传统数据仓库模式的东西, 是当我们开始查看需要在不同源中连接或合并的数据时一旦我们开始分析来自多个源的数据, 我们就需要了解源之间的关系。
这些不仅仅是数据库连接或外键关系。我们不认为源代码位于相同的底层数据存储区中。他们可能是, 而且, 当他们是, 我们可以推动一些工作到该商店, 但我们已经知道, 这些天, 通过一个数据库暴露有一天可能会被其他方式暴露明天。一些最强大的数据分析包括来自完全不同的数据系统和引擎的数据, 由于技术、组织或管理方面的限制, 将永远无法共同定位。
我们想了解这些来源是如何与最终用户相互关联的。希望通过源代码分析数据的有动机的最终用户是教我们数据如何对齐的最佳人选。我们不想让架构师预先定义它, 就像大多数数据虚拟化系统和 BI 工具所需要的那样。我们希望最终用户告诉我们, 因为他们是有动机的。他们有一个问题要解决, 可以告诉我们, 他们希望它解决。我们可以在飞行中向他们学习, 因为他们教系统跨源数据如何对齐。
如果你有足够的用户这样做, 你可以学到很多, 非常快。您可以自动将这些知识应用于其他用户。我们从一个用户那里了解到两个或更多的源对齐方式可以立即被用来帮助数以百计的人。通过从最终用户的操作中学习, 我们可以直观直观地推导出模式。它是一个自学的、不断发展的、自下而上的, 而不是自上而下的 BI 元数据层。
考虑到数据的快速变化、新的来源出现、数据架构的变化、字段的添加和删除, 我们正在讨论的方法是唯一可能的方法来保持它的顶端。数据源和数据结构的变化几乎和数据本身一样快。把它看成是数据的第一个导数。
所以我们可以向用户学习。我们可以学习上面讨论的模式。但我们可以了解用户和他们的兴趣。我们可以了解某些类型的用户觉得有趣的东西。从数据本身, 我们可以了解什么是正常的, 什么是不寻常的。下一代 BI 的圣杯是使用深度学习 AI 技术, 将来自数据本身的有趣的洞察力与最有可能关心和采取行动的用户相匹配。我们需要在正确的时间告诉合适的人, 他们会发现有趣的和可操作的。我们得告诉他们为什么会发生这种事。而且, 最终, 一旦有足够的历史洞察力和行动对, 可以为先进的机器学习算法学习, 我们甚至可以建议他们应该如何处理这些异常或洞察力。
在以后的帖子中, 我们将更多地思考这个学习过程是如何工作的。我们将进一步讨论如何主动生成洞察力并将其提供给正确的用户。我们将讨论如何提出建议和可诉性-最终能够告诉用户他们应该做什么, 并给他们正确的工具, 立即采取行动。我们从用户那里自动学习的第一件事是关于他们数据的模式, 这只是开始。