最近的日子就像外面的阴雨绵绵的天气一样。总监让搞tair,搜索了一下,这个东西是tb 开源了小十年的一个东西,是tb早期大神写的一个KV结构的分布式存储引擎。(真想吐槽下国内开源的,文档简直。。。。)

tair的安装就自行百度吧

项目中用的是ldb这种nosql存储模式。

leveldb的基本特性:
提供key/value支持,key和value是任意的字节数组
数据按key内部排序
调用者可以提供自定义的比较函数修改排序规则
基本的接口有 Put(key,value), Get(key), Delete(key).
支持批量修改(原子操作)
用户可以创建临时snapshot来获得数据的一个视图
支持正向和反向遍历数据
使用Snappy compression library对数据进行压缩
外部操作(例如文件系统操作)通过虚接口传递使得用户可以自定义与操作系统的交互
限制:
非SQL数据库,因此不支持关系数据模型,也就不支持SQL语句查询以及索引查询
一次只能有一个进程(可能是多线程的)访问数据库
没有内置客户端-服务器的支持,有这个需求的应用程序必须自己实现封装

看到一位大神说的数据库说的:像mysql 是顺序存储在逻辑的表空间中,数据索引一般用的是b/B+树。为什么用B+进行文件存储,主要是因为磁盘是一个顺序读写快,随机读写慢的系统,磁盘的性能主要受限制与磁盘的寻道时间,为了更快的读写就要减少寻道次数,而减少寻道次数就要减少磁盘的io次数,而减少io次数依赖于磁盘的存储形式。

Leveldb的数据存储方式采用的是LSM(log-structured-merge)的实现方法,简单来说就是将原来的直接维护索引树变为增量写的方式,这样能够保证对磁盘的操作是顺序的。LSM树可以看作是一个N阶合并树。数据写操作(包括插入、修改、删除)都在内存中进行,并且都会创建一个新记录(修改会记录新的数据值,而删除会记录一个删除标志),这些数据在内存中仍然还是一棵排序树,当数据量超过设定的内存阈值后,会将这棵排序树和磁盘上最新的排序树合并。当这棵排序树的数据量也超过设定阈值后,和磁盘上下一级的排序树合并。合并过程中,会用最新更新的数据覆盖旧的数据(或者记录为不同版本)。
在需要进行读操作时,总是从内存中的排序树开始搜索,如果没有找到,就从磁盘上的排序树顺序查找。

tair中 选用 prefix key + MurmurHash2 哈希算法来进行存储数据

tair用ldb做分布式存储相关推荐

  1. 怎么让存储过程通用化_怎么做分布式存储的面试?

    @cholerae 大神已经做了详细回答,http://zenlife.tk/interview-for-distributed-storage.md 写于几年前,内容有点稚嫩,WAL辨识度很高, 其 ...

  2. 为余势负天工背,云原生内存数据库Tair助力用户体验优化

    简介:作为双11大促承载流量洪峰的利器,Tair支撑了电商交易核心体验场景.不仅在数十亿QPS的峰值下保持着亚毫秒级别的顺滑延迟,同时在电商交易核心体验场景上也做出了技术创新. 作者 | 漠冰 来源 ...

  3. 我慌了!技术经理问为什么要分布式存储......

    在这个数据爆炸的时代,产生的数据量不断增加.从GB.TB.PB和ZB中挖掘数据的价值也是企业追求的最终目标.但是,如果你想挖掘海量数据,首先要考虑的是海量数据的存储及计算,那么很多企业都是选择用分布式 ...

  4. QingStor分布式存储全线升级:自研需要勇气,成功还要看实力

    数据量的爆炸式增长和企业对数据价值挖掘的渴求,正在让存储市场迎来前所未有的发展机遇.一方面,分布式存储正在经历快速的增长时期,IDC 2019年市场预测报告显示,无论是对象存储.文件存储还是块存储,分 ...

  5. 设计一个60T数据仓库及大数据分析平台,医院数字化该怎么做?

    入行不久的程序员,最容易对自己和技术产生怀疑.整天担心学不到技术,不能在日活1亿的好项目里锻炼.其实完全没必要.项目一旦成为项目,它的新奇感也就没有了.剩下的就是苦的活儿,码字. 如何获取更多项目经验 ...

  6. 什么是分布式存储?(IPFS, FileCoin, Sia, Storj Swarm)

    在Filecoin ICO后,分布式存储让我着迷了一段时间,Filecoin在Y Combinator.Naval Ravikant.Andreessen Horowitz.Union Square ...

  7. 专访DSP协议周炎:分布式存储的发展需与5G、IoT并行演进 |链捕手

    分布式存储的赛道在区块链行业长期以来备受关注,特别是Filecoin已经成为今年最为火热的项目之一,同时更多的挑战者正在加入该赛道.由Onchain团队研发的DSP协议则是其中之一,该项目致力于成为基 ...

  8. 谁说高颜值女神做不了技术?她偏做,还是百万级主链!

    记者 | Aholiab 编者注:以下内容根据迅雷链总工程师来鑫采访整理,并获得独家授权,未经许可不得擅自转载. 还有20来天,万众期待的EOS主网就要上线了,公链的战场里又会入场一个大玩家.在中国, ...

  9. 设计一个 60T 的医院数据仓库及其 OLAP 分析平台,你怎么做?

    点击蓝色"有关SQL"关注我哟 加个"星标",天天与10000人一起快乐成长 入行不久的程序员,最容易对自己和技术产生怀疑.整天担心学不到技术,不能在日活1亿的 ...

最新文章

  1. 设置服务器系统的远程登录数量,设置服务器远程登录用户数量
  2. 将长整形的数字分位显示
  3. 浅谈dup和dup2的用法
  4. 关于头文件中的 static inline函数
  5. 第六十期:华为:希望把VR/AR打造成下个智能手机产业
  6. vue 组件不受全局样式影响_组件库引入全局样式lib/style/index.css,会污染全局基础样式...
  7. Python--详解Python中re.sub
  8. Hexo 入门指南(一) - 简介 准备
  9. 腾讯发布企鹅号“达人计划”清退公告 清退后当月结算将被取消
  10. 生成式对抗神经网络code实现
  11. Java之函数式接口
  12. Centos7之卸载oracle11G
  13. 网站设计(3常用标签)
  14. 英语口语 MP3 下载网址
  15. ES07--性能调优03(全面考量)
  16. ic 卡获取帐号apdu指令_发送获取银行卡卡号的APDU命令
  17. jq怎么获取值与下拉框怎么获取值
  18. PIPI1091 编程课奖励(滚动数组+dp)
  19. android开发隐藏图片,用美图看看安卓版教你如何隐藏私人图片(图文)
  20. P2234 [HNOI2002]营业额统计 (Java)

热门文章

  1. 开放平台中的鉴权的实现
  2. 数据科学导引上机(5)
  3. [Android 9][markw] 红米4高配版 刷入Lineage OS 16与OpenGApps
  4. c语言水仙花数算法流程图,C语言经典算法例题求100-999之间的“水仙花数
  5. python可以引流吗_你都用 Python 来做什么?
  6. [msm8953][Android9.0] Sending non-protected broadcast ....
  7. 美国80后恶搞希拉里与名人发短信场景
  8. css 有关边框的属性_边框样式(CSS属性)
  9. 优秀Android程序员必知必会的网络基础,Android开发面试题及答案
  10. 通过JavaScript中基于属性的TDD的钻石方块