极客视点
极客时间编辑部
极客时间编辑部
113242 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/05:30
登录|注册

你真的需要数据湖吗?

讲述:丁婵大小:7.56M时长:05:30
数据湖是一种通常被定义为大数据架构的方法,在处理高速生成的大量数据时,数据湖提供了更容易、更灵活的选择。目前,数据湖已经成为许多大数据项目的基石。但是,数据湖真的适合你吗?日前,InfoQ 编译了 Upsolver 市场总监埃兰·利维(Eran Levy)的一篇文章,他认为应该通过四个问题,判断是否要加入数据湖的潮流中。以下是原文内容。
任何新兴技术都无法成为放之四海而皆准的解决方案,数据湖也是如此。它可能非常适合某些场景,比如处理高速生成的大量数据,如 Web、传感器或应用程序活动数据等等。但在其他情况下,使用传统的数据库体系结构才是更好的解决方案。下面,我们将通过四个问题,帮助你判断是否要加入数据湖的潮流中。

数据湖:基本定义

数据湖是一种通常被定义为大数据架构的方法,它侧重于将非结构化或半结构化数据,以其原始格式存储在一个服务于多个分析用例或服务的存储库中。存储和计算资源是解耦的,因此,数据驻留在廉价的对象存储中,各种工具和服务可以用来查询这些数据。
这一点与传统的数据库或数据仓库架构不同。在传统的架构中,计算和存储是耦合的,数据是在摄取时进行结构化的,以强制执行设置的架构。数据湖采用“立即存储,以后分析”的方法变得更容易,因为几乎不需要付出什么努力就可以将数据输入到这个湖中。但是,在分析数据时,可能会面对一些传统的数据准备挑战。
接下来,需要考虑的问题是:你的组织需要数据湖吗?我们可以从以下 4 个关键问题中找到答案。

1. 你的数据的结构是怎样的?

数据湖非常适合存储大量的非结构化和半结构化数据。将这类数据存储在数据库中需要做大量的数据准备,因为数据库是围绕结构化表构建的,而不是 JSON / XML 格式的原始事件。
如果你的大部分数据是由结构化的表格组成的,则更适合使用传统的数据库。例如,预先处理过的 CRM 记录或财务资产负债表等等。但是,如果你正在处理大量基于事件的数据,比如服务器日志或点击流,那么以原始形式存储这些数据,并根据你的用例构建特定的 ETL 流可能会更容易一些。

2. 你的 ETL 过程有多复杂?

ETL(extract-transform-load)通常是实际使用数据的前提条件。在处理大数据或流数据时,由于使用 Spark/Hadoop 等代码密集型框架编写 ETL 作业的复杂性较高,它可能会成为主要的障碍。
为了最大程度地减少在 ETL 上花费的资源,可以先确定主要瓶颈发生在哪里。如果你在努力将半结构化和非结构化数据“拟合”到关系数据库中时很费劲,那么是时候考虑转换到数据湖了。不过,在创建从湖中到将用于分析、机器学习的各种目标服务的 ETL 流时,你可能仍然会遇到很多挑战。在这种情况下,你需要使用一个数据湖 ETL 工具来自动化这些过程。

3. 数据保留是个问题吗?

由于数据库将存储与计算结合在一起,在数据库中存储非常大的数据量就变得非常昂贵,这就会产生很多数据保留方面的问题。为了控制成本,要么删除数据中的某些字段,要么限制保存历史数据的时间。
如果你在寻找为了分析而保留数据,和为了控制成本而删除数据之间的平衡点,那么,你可以采用数据湖解决方案。因为围绕廉价对象存储构建的数据湖体系结构,可以使你能够保留 TB 甚至 PB 级的历史数据,并且不需要花大价钱。

4. 你的用例是可预测的还是实验性的?

如果你只是试图建立一个报告,只针对定期更新的表运行一组预先确定的查询,那么,数据仓库可能会是一个很好的解决方案,你可以使用 SQL 和可用的数据仓库,以及业务智能工具,简单地实现此类解决方案。
但是,对于更多的实验性用例,比如机器学习和预测分析等,很难提前知道你需要什么数据以及如何查询这些数据。在这种情况下,数据仓库的效率可能会非常低,因为预定义的模式将限制你研究数据的能力。所以这个时候,数据湖会是更好的选择。
当你的数据达到一定的规模和复杂度时,数据湖无疑是最佳选择。如果你也不确定是否要使用数据湖的话,不妨用上面四个问题来检验一下。
以上就是今天的内容,希望对你有所帮助。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 郭行知
    数据湖以对象存储作为底层存储。当业务难以删除历史数据,必须保留全量数据以待分析的情况下,使用数据湖将极大降低成本。
    归属地:北京
收起评论
大纲
固定大纲
数据湖:基本定义
1. 你的数据的结构是怎样的?
2. 你的 ETL 过程有多复杂?
3. 数据保留是个问题吗?
4. 你的用例是可预测的还是实验性的?
显示
设置
留言
1
收藏
35
沉浸
阅读
分享
手机端
快捷键
回顶部