Pravega入门--分布式流批统一存储

本文介绍了Pravega,一个用于流批统一的分布式存储框架。Pravega提供三层API实现流批处理的统一,强调流式存储的要求,如数据连续无限、自动弹性伸缩和精确一次处理。通过 Exactly-Once 机制保证数据一致性,同时讨论了Pravega的基本概念和如何实现高效并发读写Stream以及顺序一致性。
摘要由CSDN通过智能技术生成

Pravega一大特点是解决流批统一问题,那么Flink是怎么实现流批统一的呢?

Flink怎么实现流批统一?

提供三层API

在这里插入图片描述
可以用不同级别的抽象来开发流/批统一

在这里插入图片描述
通过Table API和SQL来实现流批统一,核心是流批共用一套引擎.

什么是Pravega?

首先我们来探讨,为什么需要Pravega?

用来实现流批统一的分布式流存储框架.

Pravega

设计宗旨是成为流的实时存储解决方案.应用程序把数据持久化存储到Pravega中,然后Pravega的Stream可以有无限制的数量并且持久化存储任意长的时间.

使用同样的Reader API提供尾读(tail read)和(catch-up read),能够有效满足两种处理方式的统一.

从而最终实现由事件驱动,连续的而且有状态的数据处理的流式存储-计算模式

流式存储的要求

现有存储引擎无法同时满足流和批数据读取的请求

企业级流存储引擎实现难度主要体现在:

  • 要把数据视为连续和无限的
  • 能够自动弹性伸缩数据采集,存储和处理能力,与负载保持一致,持续快速交付结果
  • 即使在延迟到达或者乱序数据情况下,也能连续交付准确的处理结果
数据视为连续和无限
  • kafka采用添加到文件末尾并且追踪其内容的方式模拟连续和无限的数据流
  • 受限于本地文件系统的文件描述符以及磁盘容量
  • 对于数据可靠性,Kafka使用同步副本(in-sync replica)方法进行

Pravega怎么做?

  • Pravega的Stream是一个命名的,持久的,append-only并且无限的Byte 序列
  • 使用低延迟追加尾写的尾读(tail read/write)
  • 具有来自序列较旧部分的高吞吐追赶读(catch-up read)
基于负载的自动弹性伸缩特性
  • 许多写客户端同时追加写不相交的数据子集

1.写入数据

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值