Pegasus Data Version v3

2022-02-10

Background

There are two RocksDB value-encoding formats in Pegasus. To speak simply, we call them v1 and v2. Here follows is the specification of the two formats:

...
Read More

Pegasus ReadOnly集群调研

2022-02-10

RocksDB参数

Read More

Alibaba PolarDB

2022-01-09

PolarDB是一款云原生OLTP数据库,采用存储计算分离的架构。其设计目标是:大存储量、高TPS及高可用性。

当前的云原生数据库普遍采用从database节点下推table scan到存储节点的方式,来高效处理分析任务。这样做可以减少database节点和storage节点之间的网络消耗,但是会增加storage节点数据处理的负载。然而由于storage节点都是以行式...

Read More

设计模式与延伸

2022-01-04

在当前的互联网环境下,很少有人去追求高的代码质量,毕竟写好了也对晋升没啥帮助,所以很多人代码写的就比较随意。但是其实写好代码是非常有意义的,比如之前Pegasus的load balance模块,那块真的是太乱了,如果不重构后面完全无法添加新的负载均衡策略。

过去几年在公司实践的过程中,积攒了不少写代码相关的方法论,包括设计模式的使用及如何写出一些易维护的代码。碍于时间关...

Read More

用户自定义compaction策略

2021-12-06

用户自定义compaction策略,顾名思义,就是用户可以按照自己的逻辑,定义特定的compaction策略,用于更新或者删除部分数据。

开发这个功能的初衷是因为,我们在线上运维的过程中发现很多用户对数据没有设置合理的ttl,导致很多不需要的数据仍然持续存在。这会加大磁盘空间的占用,导致表越来越大、难以维护。

当前实现

...
Read More

Pegasus rpc调研

2021-12-06

最近pegasus考虑做rpc替换,因此对业内上一些rpc进行调研。我认为rpc选型需要满足以下几点:

  1. 应用广泛。我们不希望选取了一个比较小众的rpc,过了一段时间之后,由于种种原因其不再维护,这样再切换的成本比较高。

  2. 性能高。Pegasus作为一款KV存储,在公司内部定位就是快,即低延...

Read More

Alibaba HotRing

从阿里巴巴内部观察来看,50%~90%的请求只访问1%的数据。热点现象越来越严重,有如下几个原因:

  1. 线上活跃用户数越来越多。一个实时事件(例如降价促销、爆炸性新闻)会在短时间内对少量数据带来大量的访问。

  2. 应用所依赖的底层架构越来越复杂,一个小的bug有可能导致重复访问同一个数据。

    ...
Read More

弱一致性存储

2021-11-18

之前专门花时间调研过各种强一致性的分布式协议,却并未对弱一致性进行过深入研究,然而前段时间学习论文时候发现,其实很多存储系统还是采用的弱一致性,以获取较高的性能或者可用性。所以这里决定研究一下弱一致性。

Read More

  参数 说明 默认值 建议 原因