当前位置: 附加器 >> 附加器发展 >> 数据仓库与数据湖与数据流朋友敌人敌人
让我们比较一下数据仓库、数据湖和数据流。他们是现代数据堆栈中的朋友、敌人还是敌人?
数据仓库、数据湖和数据流的概念和架构是解决业务问题的补充。存储静态数据以进行报告和分析与为实时工作负载持续处理动态数据相比,需要不同的功能和SLA。存在许多开源框架、商业产品和SaaS云服务。不幸的是,底层技术经常被误解,过度使用于单一和不灵活的架构,并被供应商推向错误的用例。
数据的价值:事务性与分析性工作负载
过去十年提供了许多关于数据成为新石油的文章、博客和演示文稿。今天,没有人质疑数据驱动的业务流程会改变世界并支持跨行业的创新。
数据驱动的业务流程需要实时数据处理和批处理。考虑以下跨应用程序、域和组织的事件流:
事件是业务信息或技术信息。事件无时无刻不在发生。现实世界中的业务流程需要各种事件的关联。
事件有多重要?
事件的严重性决定了结果。潜在影响可能是增加收入、降低风险、降低成本或改善客户体验。
业务交易:理想情况下,零停机和零数据丢失。示例:付款需要只处理一次。关键分析:理想情况下,零停机时间。单个传感器事件的数据丢失可能没问题。对事件聚合发出警报更为关键。示例:持续监控IoT传感器数据和(预测性)机器故障警报。非关键分析:停机和数据丢失不好,但不会扼杀整个业务。这是一场意外,但不是一场灾难。示例:用于预测需求的报告和商业智能。
何时处理事件
实时通常意味着毫秒或秒内的端到端处理。如果您不需要实时决策,批处理(即,在几分钟、几小时、几天之后)或按需(即,请求-答复)就足够了。
业务交易通常是实时的:像付款这样的交易通常需要实时处理(例如,在客户离开商店之前;在您发货之前;在您离开网约车之前)。关键分析通常是实时的:关键分析通常需要实时处理(例如,在欺诈发生之前检测;在机器故障之前预测机器故障;在客户离开商店之前向其追加销售)。非关键分析通常不是实时的:在历史数据中发现洞察力通常是使用复杂SQL查询、map-reduce或复杂算法(例如,报告;使用机器学习算法进行模型训练;预测)等范例在批处理过程中完成的)。
通过这些关于处理事件的基础知识,让我们了解为什么将所有事件存储在单个中央数据湖中并不是解决所有问题的方法。
通过权力下放和同类最佳的灵活性
传统的数据仓库和数据湖方法是将来自所有来源的所有数据摄取到中央存储系统中,以实现集中的数据所有权。天空(和您的预算)是当前大数据和云技术的极限。
然而,领域驱动设计、微服务和数据网格等架构概念表明,分散所有权是现代企业架构的正确选择。
不用担心。数据仓库和数据湖并未消亡,但在数据驱动的世界中比以往任何时候都更加重要。两者都适用于许多用例。即使在其中一个领域中,大型组织也不使用单个数据仓库或数据湖。为工作(在您的领域或业务部门)选择正确的工具是解决业务问题的最佳方式。
人们对用于批处理ETL、机器学习甚至数据仓库的Databricks感到满意是有充分理由的,但在某些用例中仍然更喜欢AWSRDS(完全托管的PostgreSQL)这样的轻量级云SQL数据库。
快乐的Splunk用户也有充分的理由将一些数据引入Elasticsearch。以及为什么Cribl在这个领域也越来越受到
转载请注明:http://www.aideyishus.com/lktp/1652.html