15 数据模型特殊属性

数据模型特殊属性

Rowkey、Column(列族和列)、Version 组合在一起称为 HBase 中的一个单元格。有可能会有很多单元格的 行和列 是相同的,要区分不同的单元格可以使用版本。

    如果有多个版本的写操作同时发起,HBase 都会保存

可以发起包含版本的写操作

Delete

内部删除标记三种不同类型。

Delete                     : 删除列指定的版本。

Delete Column     :删除列的所有版本。

Delete Family        :删除特定列族所有列。

删除操作是建立一个墓碑标记。如果标记最新一个版本,那么所有版本都会被删除。

现有版本的Detele限制

删除标记将会将时间点之前所有的数据都建立墓碑,当还未发生主合并时,及时 PUT 一条时间点之前的数据  也是 GET 不到的。 只有在主合并发生后,才会恢复正常。所以正常的时间戳就不会发生该问题

一个Cell有3个版本数据 T1,T2,T3 maxVersion设置位2, 当请求获取全部版本的时候 会返回两个 t2 和 t3。  如果将 t2 和 t3 删除 那么就会返回 t1 。 但是如果在删除之前发生了 major compaction 操作, t1 的值将会从磁盘上 被彻底删除, 结果是什么值都不会返回了。

列的元数据

对于 HBase 表中的列族,除了 KeyValue 实例以外,没有别的元数据描述,KeyValue 对象表示 HBase 最小单位 Cell

HBase 连接查询

1 写入 HBase 时候就已经做好连接。

2 查询表并在应用层实现连接。

HBase 是行级锁,永远不会出现数据不一致情况  比如put 1,1,1 ,然后 put 2 2 2 就一定是 1 1 1 或者 2 2 2  绝不会出现 1 2 1等情况

HBase 自动分区

HBase 中的一个表的数据会被分成很多的 Region, Region 可以动态扩展并且 HBase 保证 Region 的负载均衡。 Region 实际上是行键排序后的按规则分割的连续的存储空间。 如果 Region 太大。会被动态拆分,相反,多个 Region 会合并成一个较大的 Region, 以减少 HDFS 上存储文件的数量。 这两个过程就是 HBase 的 split 和 compaction。

CAP 原理与最终一致性

一致性(Consistency)        :所有节点在同一时间具有相同的数据。

可用性(Availability)         : 保证每个请求不管成功或者失败都有相应。

分区容忍性(Partition tolerance):系统中任意信息的丢失或失败不影响系统继续运作。

分布式数据库系统也只能满足3项中的两项。而由于当前网络硬件问题一定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。因此只能在一致性可可用性之间进行权衡,大多数的分布式数据库系统选择牺牲一致性提升高可用性

关系型数据库 Mysql、SQL Server、Postgres A,C

非关系型数据库 Google BigTable:MongoDB、 HBase、Redis

小结:

HBase作为 NoSQL 数据库的一个代表。 更多的是为了扩展性和性能考虑,弱化了事务性。 学习的时候需要用一个全新的思维方式去认识HBase

HBase 计数器  和 计数器代码实现  很简单的小实现

God has given me a gift. Only one. I am the most complete fighter in the world. My whole life, I have trained. I must prove I am worthy of someting.                                                             rocky_24

来自为知笔记(Wiz)

时间: 2024-10-15 06:50:49

15 数据模型特殊属性的相关文章

Java重要技术(15)内省之属性改变事件和投票否决事件

1.1. 属性改变事件和投票否决事件 PropertyChangeSupport类为Java Bean支持属性改变事件提供了方便. /** * @Title: EventBean.java * @Package com.test.javatechnology.introspection * @Description: * @author http://www.cnblogs.com/coe2coe/ * @date 2017年3月25日 下午6:02:36 * @version V1.0 */

从头认识多线程-2.15 证明使用属性域作为多线程监视器是不同步的

这一章节接着上一章节最后的错误的思路,我们来证明使用整数属性域作为多线程监视器是不同步的. 1.用同一个属性域作为多线程监视器,是不同步的 package com.ray.deepintothread.ch02.topic_16; /** * * @author RayLee * */ public class DirtyReadWithSynchBlock { public static void main(String[] args) throws InterruptedException

jQuery基础(样式篇,DOM对象,选择器,属性样式)

1. $(document).ready 的作用是等页面的文档(document)中的节点都加载完毕后,再执行后续的代码,因为我们在执行代码的时候,可能会依赖页面的某一个元素,我们要确保这个元素真正的的被加载完毕后才能正确的使用. $(document).ready(function() {   内容  }); 1.jQuery对象与DOM对象   jQuery对象与DOM对象是不一样的 普通处理,通过标准JavaScript处理: var p = document.getElementById

HTML 全局属性

HTML5 除了支持原有的全局属性之外,还添加了8个新的全局属性. 1. id 属性规定元素的唯一 id id 属性规定 HTML 元素的唯一的 id.id 在 HTML 文档中必须是唯一的.id 属性可用作链接锚,通过 JavaScript(HTML DOM)或通过 CSS 可以为带有指定 id 的元素改变或添加样式.在 HTML5 中, id 属性可用于任何的 HTML 元素 ,它会验证任何HTML元素,但不一定是有用.在 HTML 4.01 中,id 属性不能用于:<base>, <

C#控件方法及属性大全,望补充

C#控件及常用设计整理 1.窗体 常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗体的窗口状态. 取值有三种: Normal (窗体正常显示). Minimized (窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示). (3)StartPosition属性:用来获取或设置运行时窗体的起始位置. (4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的

C#控件事件属性大全

C#控件及常用设计整 1.窗体... 1 2.Label 控件... 3 3.TextBox 控件... 4 4.RichTextBox控件... 5 5.NumericUpDown 控件... 7 6.Button 控件... 7 7.GroupBox 控件... 7 8.RadioButton控件... 8 9.CheckBox 控件... 8 10.ListBox 控件... 9 11.ComboBox 控件... 10 12.CheckedListBox 控件... 10 13.Pict

winform 常用窗体属性

WinForm常用窗体属性: Form常用属性 AutoSizeMode属性 :值是: GrowAndShrink不能调整窗体大小 :值是:GrowOnly 可以改变大小 (1)Name属性:用来获取或设置窗体的名称. (2)WindowState属性:用来获取或设置窗体的窗口状态. (3)StartPosition属性:用来获取或设置运行时窗体的起始位置. (4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字. (5)Width属性:用来获取或设置窗体的宽度. (

Winform 各种属性、方法、控件

窗体是程序与用户交互的可视界面,窗体也是对象,窗体类定义了生成窗体的模版,实例化一个窗体类就产生了一个窗体. .NET框架类库的System.Windows.Forms命名空间中定义的Form类是所有窗体类的基类. 1.常用属性 属性:图标.标题.位置.背景等可在窗体属性面板设置,也可以代码实现. (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体.(2)WindowState属性:用来获取或设置窗体的窗口状态.取值有三种:Normal(窗体正常显示).Min

visual studio开发工具的C#主流控件属性一览表

visual studio开发工具的C#主流控件属性一览表 详细的介绍了各控制属性的详细中文介绍 C#控件及常用设计整理 1.窗体 1.常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗体的窗口状态. 取值有三种: Normal (窗体正常显示). Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示). (3)StartPosition属性:用来获取或设置运