首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

身处风口的流数据处理,除了Spark Streaming、Apache Flink等开源软件,还有什么更完善可靠的选择?

进入大数据时代,随着互联网应用的高速发展,为更及时地发挥数据的深层价值,政企客户不仅停留在对大规模历史数据进行处理分析,还要对实时产生的数据进行即时处理,并已上升为其业务上的一种迫切需求。这种需求需要对应数据处理技术支撑,同时也催生数据处理技术从批处理到流处理不断演进。

在此之前,尽管MapReduce、Hadoop等相关技术出现,使大规模数据处理变得简单起来,但它们都是基于批处理系统设计,非实时系统,仅能处理历史的离线数据,不能对实时产生的数据实现实时计算;此外,作为批处理技术,它们在处理时会将新到达的数据收集到一个组中,只有在满足一定时间间隔或某些触发条件时才进行批次性处理,这就会耗费大量时间,导致延时过长,因此批处理不适合在线分析及处理时间要求较高的场景。而流处理技术完美解决了这一问题,并成为目前数据库发展的一个主流趋势。

那么,流处理是什么?

流处理是现在十分热门的大数据技术,是一种被设计来处理持续数据流的数据处理技术或系统引擎,响应时间从毫秒到分钟不等。与批处理不同的是,在流处理中,每条数据都会在接收时被处理。例如,在使用手机进行出行或驾驶导航的过程,手机所获取的位置信息就是持续的数据流,系统需要对每条位置信息进行实时处理并给出结果反馈,为用户提供在线的实时导航。这整个过程中就是流数据的实时处理。

于实时处理的特性,流处理能够实现毫秒级的延迟,一般应用于对数据处理速度要求特别高的场景,比如金融行业,比如根据用户行为产生的日志文件进行实时分析,对用户进行商品的实时推荐等。

不妨,简单了解现主流的流处理产品。

在流处理领域,比较早的有Spark推出的Spark Streaming,还有Apache Flink。

Spark Streaming是开源的Spark的核心组件,用于实时计算框架。在策略方面,Streaming以微批(Micro-batch)处理来模拟准实时的情况,其处理机制是,接收实时流的数据,根据一定的时间间隔拆分成一批批的数据,然后通过Spark Engine处理这些批数据,最终得到处理后的一批批结果数据,在一个短暂的时间窗口里面处理多条(batches)Event。这种方式固然能够处理流数据,而且实际效果也比较好,但相比真正的流处理框架在性能依然不足,延时上不尽如人意,并且随着数据集规模/并行量不断扩大,延时还会不断累加。

而Apache Flink是一种开源的可以处理批处理任务的分布式流处理架构,处理传入数据时会将每一项视作真正的数据流,也是公认的实现流处理的流计算引擎。即便如此,Flink仍存在一些缺陷,如通过ApacheCalcite实现SQL的部分,对SQL的支持不够完善,不支持DDL。这使得Flink难以适应更多更复杂的应用场景,不能很好地满足大数据时代数据流实时分析的需求。因此,流处理应当解决延时的前提下,仍须进一步增强可用性。

除以上两款高曝光的流处理产品,是否有一款产品在性能上可以媲美Apache Flink、Spark Streaming,并能够弥补两款产品的不足之处呢?

2016年,国内发布了一款流处理产品:全内存分布式流数据库Rapids StreamDB就是这样的一款产品,既实现了流处理方式处理持续数据流,又具备完善的SQL。下面将简单介绍。

Rapids StreamDB是一种闭源的兼顾批处理和流处理的实时的分布式流处理架构,支持时间及事件窗口,支持流量控制的持续流模型、内存管理机制和多种数据源及文件系统等功能,并引入AI,支持数据流的机器学习,同时支持关系数据库的处理和复杂事件处理。Rapids StreamDB采用内存和分布式架构,除具备无磁盘IO特性外,还具备以下特性及优势:

1) 高扩展:分布式,支持按需动态在线扩展;

2) 高吞吐:支持日增20TB流式数据的实时采集和分析;

3) 高并发:60万条/每核/每秒;

4) 多窗口:提供基于时间窗口、事件数量窗口来呈现;

5) 多模式:滚动窗口、滑动窗口模式;

6) 国际标准:因Rapids StreamDB技术成熟度且达到行业领先水平,以该产品技术参数为支撑,已经形成中国30年来首个《SQL9075 2018 流数据库》国际标准。

在处理机制方面,相比Streaming,Rapids StreamDB实现了真正的流处理,通过Rapids Stream流计算引擎,支持高并发的流式数据实时抓取和实时分析加速,并将延时提升至毫秒级;在适应性方面,尤其是SQL查询方面,Rapids StreamDB优于Flink,支持完整的ANSI SQL99 及2003 OLAP扩展,包括DML/DDL等,能够进行复杂的SQL查询。

鉴于上述特性,Rapids StreamDB不仅有领先的性能,更有广泛的应用场景,包括:金融领域欺诈检测、医疗领域的疫情预警和设备异常检测、电信运营商实时掌握用户喜好及需求变化趋势、交通领域GPS实时追踪、能源行业勘探及生产数据实时分析等。以金融风控反欺诈为例,部署Rapids StreamDB仅需在交易前端增加风控探头,将实时交易数据旁路接入系统。Rapids StreamDB即可根据融合了专家知识和机器学习结果的数百条规则对每笔交易进行风险评估,判断是否允许进行该笔交易,并在毫秒内,完成高并发查询、分析。

Rapids StreamDB是由国内数据新锐企业——柏睿数据自主研发的。柏睿数据是一家全球领先的流数据库系统和大数据整体解决方案提供商,通过引领国际标准制定的数据库技术,致力于为政府和企业的数字化转型及国民产业升级提供全方位的技术、产品和整体解决方案。成立以来,不仅主笔制定了《SQL9075 2018 流数据库》和《AI-in-Database库内人工智能》两项国际标准,更结合AI,形成了包含Rapids StreamDB在内的完善的大数据实时处理体系,无论标准实力,还是关键核心技术,都将引领数据库未来的发展。

【实时分析型数据库】缔造者

国际领先的核心基础数据库技术

为大数据应用提供实时分析技术支持

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181227A18KCH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券