6

数据平台具备什么样的能力(下)

 2 years ago
source link: https://www.sensorsdata.cn/blog/20180620/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

数据平台具备什么样的能力(下)

神策小秘书 标签: 数据平台, 数据驱动, 神策数据, 大数据, 数据模型, 数据计算, 数据查询 2018年06月20日

关于数据平台所具备的能力,在上篇中我们已经介绍了数据接收、实时订阅、数据清洗、数据存储等,接下来我们将继续介绍数据计算、数据查询等。

数据计算
数据计算是一个更复杂的话题,类似于数据存储,不同的数据应用对数据计算的需求也是各不相同的。前文提到的榜单计算中,就同时需要实时计算和批量计算两种不同的模式。因此,一个数据平台通常应该具备多种计算能力,例如提供以 MapReduce、Spark 为代表的批量计算框架,以及以 Storm、Spark Streaming 为代表的流式计算框架。

API 查询
虽然数据存储层已经提供了完全的数据访问能力,但是底层的接口往往是复杂而难以使用的,并且使用不当可能会导致资源的浪费。因此,对于常见的查询场景,数据平台通常还需要提供一套查询 API,把底层的查询能力进行封装。 上文我们提到客服系统中需要根据用户 ID 进行用户行为序列的查询,这是一个典型的 API 查询的使用场景。同样的 API 还可以被直接用在浏览轨迹、用户行为调研等其他数据应用中。

SQL 查询
SQL 提供了高效、灵活的数据处理能力,在数据调研、数据预处理等阶段都是非常便利的手段。因此,数据平台必须要提供针对用户行为数据的 SQL 访问
接口。 由于用户行为数据的数据量通常是非常大的,我们不建议专门针对 SQL 访问的需求单独进行数据存储,以免导致不必要的计算和存储成本。更合适的方式是基于已有的数据存储,配合合适的 SQL 查询引擎,直接进行数据查询。 具体来说,常见的 SQL 需求可以分为两大类。第一类是统计分析类,例如 PV、UV 等汇总类查询。这类查询的特点是会产生一个较小的结果集,但是对响应时间的要求比较高,例如秒级或者分钟级。第二类是数据处理类,例如格式转换、条件抽取等常见的数据预处理操作。这类查询的特点是产生结果的大小和原始数据集相当,甚至有可能会更大(例如 JOIN)。 在超大规模数据量的平台体系下,针对上述两类需求有可能需要采用不同的 SQL 引擎来提供支持。因此,数据平台中通常也需要支持多个 SQL 查询引擎,以便在合适的应用上选择合适的查询引擎来使用。

总结
用户行为数据可以被应用在产品、服务的各个层面,而底层的数据平台则是这一切的基础。只有构建了一个灵活、易用的数据平台,才能实现高效的数据应用迭代,让数据更快地对产品和服务产生价值,最终实现真正意义上的数据驱动业务。

更多数据分析干货和案例,可以关注“神策数据”公众号了解~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK