你真的需要数据湖吗?
作者 | Eran Levy
译者 | 冬雨
编辑 | 蔡芳芳
来源 | 微信公众号“AI 前线”(ID:ai-front)
AI 前线导读: 数据湖已经成为许多大数据项目的基石,就因为它们在处理高速生成的大量数据(如 web、传感器或应用程序活动数据)时,提供了更容易、更灵活的选择。由于这类数据源越来越普遍,大家对数据湖的兴趣也在快速增长。然而,数据湖真的适合你吗?本文将带你一起来看四个指标,帮助你理解是该加入数据湖的潮流,还是应该坚持传统的数据仓库。
数据湖 已经成为许多大数据项目的基石,就因为它们在处理高速生成的大量数据(如 web、传感器或应用程序活动数据)时,提供了更容易、更灵活的选择。由于这类数据源越来越普遍,大家对数据湖的兴趣也在快速增长。
然而,与任何新兴技术一样,不存在放之四海而皆准的解决方案:数据湖可能非常适合某些场景,但在其他情况下,坚持使用经实践检验过的数据库架构将是更好的解决方案。在本文中,我们将研究四个指标,它们应该有助于你理解是应该加入数据湖的潮流,还是应该坚持传统的数据仓库。但首先,让我们通过定义术语“数据湖”来设定讨论的范畴。
数据湖:基本定义
数据湖是一种通常被定义为大数据架构的方法,它侧重于将非结构化或半结构化数据以其原始格式存储在一个服务于多个分析用例或服务的存储库中。在此,存储和计算资源是 解耦 的,因此数据驻留在廉价的对象存储中,而各种工具和服务可以用来查询这些数据。
这与传统的数据库或数据仓库架构不同,在传统的架构中,计算和存储是耦合的,为了实施一系列模式,数据是根据摄入进行结构化的。数据湖使采用“现在存储,以后分析”的方法变得更容易,因为几乎不需要付出什么努力即可将数据输入到这个湖中;然而,在分析数据时,可能会出现一些传统的 数据准备挑战(https://www.infoworld.com/article/3254129/data-preparation-is-the-key-to-big-data-success.html)。
现在定义有了,接下来的问题是,你的组织需要数据湖吗?让我们从这 5 个关键指标开始。
1. 数据的结构是怎样的?
数据湖非常适合存储大量的非结构化和半结构化数据。将这类数据存储在数据库中需要做大量的数据准备,因为数据库是围绕结构化表构建的,而不是 JSON / XML 格式的原始事件。
如果你的大部分数据是由结构化的表格组成的——例如,预先处理过的CRM记录或财务资产负债表——那么坚持使用数据库会更容易。但是,如果你正在处理大量基于事件的数据,比如服务器日志或点击流,那么以原始形式存储这些数据并根据你的用例构建特定的ETL流可能会更容易一些。
2. 你的ETL过程有多复杂?
ETL(extract-transform-load,抽取 - 转换 - 加载)通常是实际使用数据的前提条件;但是,在处理大数据或流数据时,由于使用 Spark/Hadoop等代码密集型框架编写 ETL 作业的复杂性,它会成为一个主要的障碍。
为了最小化花费在 ETL 上的资源数量,请尝试确定主要瓶颈发生在哪里。如果你在尝试将半结构化和非结构化数据“调整适应”到关系数据库方面遇到了很大的困难,那么现在是时候考虑转换到数据湖了。然而,创建从湖中向你将用于分析、机器学习的各种目标服务的 ETL 流仍然可能遇到很多挑战。在这种情况下,你可能想要使用一个数据湖 ETL 工具来自动化这些过程。
3. 数据保持是问题吗?
由于数据库将存储与计算结合在一起,在数据库中存储非常大的数据量就变得非常昂贵。这就导致了很多数据保留方面的问题——为了控制成本,要么删除数据中的某些字段,要么限制保存历史数据的时间。
如果你的组织在不断努力寻找为了分析而保持数据和为了控制成本而删除数据之间的平衡点,数据湖解决方案可能是为了——数据湖架构建立在廉价的对象存储之上,允许你持有“嗅”到的 tb 甚至海量历史数据而不必花费多少成本。
4. 你的用例是可预测的还是实验性的?
你应该问的最后一个问题是,你打算如何处理这些数据。如果你只是试图建立一个报告(或一组报告,或仪表板),基本上是针对定期更新的表运行一组预先确定的查询,那么数据仓库可能会是一个很好的解决方案,你可以使用 SQL 和可用的数据仓库和业务智能工具简单地实现此类解决方案。
然而,对于更多的实验性用例(比如机器学习和预测分析),提前知道你需要什么数据以及你想要如何查询它是比较困难的。在这些情况下,数据仓库的效率可能非常低,因为预定义的模式将限制你研究数据的能力。在这些情况下,数据湖可能是更好的选择。
结论:数据湖适合你吗?
以“视情况而定”结尾的文章总是让人感觉像是在逃避,但事实是,大多数技术问题并没有一个唯一解。当你的数据达到一定的规模和复杂性时,数据湖无疑是最佳选择。你的组织在处于这些的情况吗?你可以用以上四个问题来回答这个问题。
作者介绍:Eran Levy 是 Upsolver 的市场总监。Upsolver 是云原生平台,你可以使用一个简单的、可视化的 UI 和 SQL 来配置它。世界上大多数创新型的公司都使用 Upsolver 来自动化所有数据湖操作:摄取、存储管理、模式管理和 ETL 流(包括聚合和连接)。
原文链接:https://insidebigdata.com/2019/11/06/do-you-actually-need-a-data-lake/
原文发布时间:2019-12-08
本文作者:Eran Levy;译者:冬雨;编辑:蔡芳芳
本文来自阿里云云栖号&云栖社区合作伙伴“AI前线”,了解相关信息可以关注“AI前线”
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
支付宝高级Java现场面试35题:页锁+死锁+集群+雪崩+负载等
年底是冲刺大厂的良机,这个时间点大部分人都在观望年终奖与加薪幅度,看情况再伺机而动,人才市场的竞争反而没那么激烈。 获悉到支付宝近期有HC放出,我通过内推渠道,得到了支付宝的面试机会,过关斩将终拿offer,年前面试、年后入职,既能顺利拿到年终奖,同时避开了金三银四面试高峰。 现将面试题目分享给大家,希望对计划跳槽的小伙伴们带来些许参考价值。 01 支付宝一面 1.简单自我介绍。 2.聊聊项目,参与的核心设计有哪些? 3.说说ArrayList和LinkedList底层。 4.说说HashMap、线程安全的ConcurrentHashMap,以及优劣势。 5.Java如何实现线程安全? 6.Synchronized和Lock哪个更好? 7.HashMap中的get()方法是如何实现的? 8.HashMap可以用在哪些场景? 9.JVM,垃圾回收机制,内存划分等 10.SQL优化,常用的索引? 11.你有什么问题想要问的。 02 支付宝二面 1.继续聊项目,做过哪些Java开发相关的项目。 2.对哪些技术比较熟悉? 3.多线程状态图,状态如何流转? 4.死锁,以及死锁原因。 5.页锁、乐...
- 下一篇
《阿里云AIoT技术》第一期
[TOC] 产品动态 一、物联网平台 官网 提供设备接入、管理,设备数据分析、可视化,AIoT应用开发和托管等一站式服务。 1、AMQP服务端订阅发布(不影响原HTTP/2服务的订阅的使用)【功能升级】详细内容 2、固件升级(OTA)计费公告 【功能商业化】详细内容 物联网平台固件升级功能计划于2019年12月27日正式开始计费,并会同步推出预付费和后付费套餐。 每月前100次免费,超出后0.2元/次,预付费套餐提供折扣。 只计算升级成功的次数,以设备上报升级成功后的版本为准。 升级一个设备成功后的计费次数和固件包大小有关,为固件包大小/100MB,并向上取整的值,例如150MB的固件升级一个设备成功后,计为2次升级。 3、支持RAM资源鉴权和资源组【功能升级】 详细内容 物联网平台新增支持针对子账号的RAM资源鉴权和资源组管理,方便您对子账号进行更细粒度的权限管控和资源管理。 新增支持对实例、产品、设备、分组、规则的RAM资源鉴权,可以授予子账号action+resource的组合权限,做到更细粒度的子账号权限管控。 产品和规则接入了RAM资源组,创建时可以指定所属的资源组,设备继承...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果