接口层。在接口层主要兼容目前状态存储的几类接口,value、list、map 状态等。
中间层。我们构建了一个 KV 的 cache 层,主要是做数据的读和写的加速。在这层内部,又分为高速 KV 层和 Chunk 层,高速 KV 层(HashMap)有非常快的存取速度,但是空间利用率比较低。为了节省空间,我们又在整个高速 KV 层下面建了一个 Chunk层,一个 Chunk 是多个 KV 序列化组成的。通过这种序列化的组织之后,在某些场景下相比于 KV 层能够节省约60%的空间。但是在存取速度上会有一定程度的降低。实际使用的时候,可以根据实际情况灵活控制高速 KV 层与 Chunk 层的容量配比。
分布式文件系统层。缓存层被淘汰的数据将会写入到文件系统层,最终形成一个个文件。为了提高文件系统层面的读取性能,多个文件会通过 compaction 进行合并。此外,文件系统层有文件块级别的缓存,具备缓存热点数据能力。
以上内容摘自《开源大数据前瞻与应用实战》电子书,点击https://developer.aliyun.com/topic/download?id=1153可下载完成版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。