先看懂文献1和2 1. 先了解sstable.SSTable: Sorted String Table [2] [10] WiscKey:  类似myisam, key value分离, 根据ssd优化,降低io放大. 2. 再了解Compaction 三种 from 太阁技术秀:一起聊聊cassandra 1)SizeTieredCompactionStrategy (STCS):每四个数据块压一块,对于insert多的系统好. 2)LeveledCompactionStrategy(LCS)…
转自: http://www.linkedin.com/pulse/nosql-cassandra-hbase-rocksdb-siddharth-anand I've had the pleasure of working in Data Infrastructure for more than 12 years now  at companies like eBay, Etsy, Netflix, and LinkedIn. If you are unfamiliar with the te…
背景 鉴于上次一篇文章——“云HBase小组成功抢救某公司自建HBase集群,挽救30+T数据”的读者反馈,对HBase的逆向工程比较感兴趣,并咨询如何使用相应工具进行运维等等.总的来说,就是想更深层理解HBase运维原理,提高运维HBase生产环境的能力,应对各种常见异常现象.不同的读者对hbase的了解程度不同,本文不打算着重编写一个工具怎么使用,而是从HBase的运维基础知识介绍开始讲解.为了能帮助大部分读者提高HBase运维能力,后续会写个“HBase运维系列” 专题系列文章,欢迎大家关…
此笔记仅用于作者记录复习使用,如有错误地方欢迎留言指正,作者感激不尽,如有转载请指明出处 Hbase基础 Hbase基础 Hbase定义 行存储 v s 列存储 Hbase数据模型 Hbase物理模型 Hbase系统架构 Hbase的容错 Hbase特殊的表 合并 Hbase的Compaction和Split Hbase定义 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java. 是Apache软件基金会的Hadoop项目的一部…
客户端API:基础 HBase的主要客户端接口是由org.apache.hadoop.hbase.client包中的HTable类提供的,通过这个类,用户可以完成向HBase存储和检索数据,以及删除无效数据之类的操作. 通常在正常负载下和常规操作下,客户端读操作不会受到其他修改数据的客户端影响,因为它们之间的冲突可以忽略不计.但是,当允许客户端需要同时修改同一行数据时就会产生问题.所以,用户应当尽量使用批量处理(batch)更新来减少单独操作同一行数据的次数. (如果是实时系统,则需要加上syn…
HBase版本:0.97 1.Get Gets实在Scan的基础上实现的. 2.联合查询(Join) HBase是否支持联合是一个网上常问问题.简单来说 : 不支持.至少不像传统RDBMS那样支持. 但并不表示等价联合不能在应用程序中支持,只是必须自己做. 两种方法,要么指示要写到HBase的数据,要么查询表并在应用或MapReduce代码中做联合. 3.列族 一个表存在多列族,注意基数(如, 行数). 如果列族A有100万行,列族B有10亿行,列族A可能被分散到很多很多区(及区服务器).这导致…
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp68这是一篇基于亚马逊云平台上对三个主流的NoSQL数据库性能比较,在读写两个操作不同的组合情况下性能表现不同.横坐标是吞吐量,纵坐标是延迟,这是一对矛盾,吞吐量越大,延迟越低,代表越好.1. 纯粹插入,Cassandra领先,见下图:2.WorkloadA: 读修改操作各占一半情况下的修改性能:MongoDB明显延迟增加,落败:3.WorkloadB:读修改操作各占一半…
转载的文章,觉得写的比较好 讲LSM树之前,需要提下三种基本的存储引擎,这样才能清楚LSM树的由来: 哈希存储引擎  是哈希表的持久化实现,支持增.删.改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储系统.对于key-value的插入以及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)快,如果不需要有序的遍历数据,哈希表就是your Mr.Right B树存储引擎是B树(关于B树的由来,数据结构以及应用场景可以看之前一篇博文)的持久化实现,不仅支持单条记录的增…
Overview HBase中的一个big table,首先会按行划分成一些region(这些region之间是有序的,由startkey保证),每个region分配到不同的节点进行存储.因此,region是HBase分布式和负载均衡的最小单元. 对每个节点而言,它会对分配到的region是按列族进行存储的.也即,region被分为多个store(对应多个列族).而store内部,又有一个memStore和多个storeFiles组成. 数据首先更新到memStore,memStore会内排序,…
WiscKey: Separating Keys from Values in SSD-Conscious Storage WiscKey是一个基于LSM的KV存储引擎,特点是:针对SSD的顺序和随机读写都高效的特点,Key和Value分开存储以最小化IO放大效应.YCSB场景中它比LevelDB和RocksDB都快. 1 介绍 目前的KV存储引擎中,对写性能要求比较高的大多数都采用了LSM,典型的有BigTable/LevelDB/Cassandra/HBase/RocksDB/PNUTS/R…