Hbase简介
HBase简介
一、HBase简介
1. HBase简介
(1) apache的顶级项目,hadoop的数据库,分布式、大规模的大数据存储。


HBase是Google的BigTable的开源java版本,建立在hdfs之上的,分布式、列存储、非关系(nosql、key-value)、支持实时读写的数据库
HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。
Hbase面向列存储,构建于Hadoop之上,类似于Google的BigTable,提供对10亿级别表数据的快速随机实时读写!
(2) HBase****的结构
主键(rowkey)
列簇(column family )
列(column)
时间戳(timestamp)

二、HBase的特点
l HBase仅能通过主键来查询数据
l 可存储结构化和半结构化的数据
l 所有的数据使用字节数据byte[]来存储
l 可以横向扩展,也就是说可以通过不断的增加服务器来提高存储能力实现真正的海量存储
l 一张表可以存储几百万列,几十亿行数据
l 面向列存储,k-v(散列hash y=hash(x))
l 稀疏矩阵:非零元素很少,分布没有任何的规律,三元组(行号、列号、非零元素的值)存储

l 强一致性

l 自动分区
通过region分布在集群上
l 自动故障转移
l hadoop/hdfs集成:HBase是建立在hdfs之上
l MapReduce:对mr进行了改进,数据处理的效率可以达MR的到1000倍以上
l JAVA API:通过javaapi对hbase进行编程
l 命令行:Hbase的shell命令
2. hdfs
顺序访问,存储效率很低
三、HBase的应用场景
1. 对象存储(OSS)
图片、视频、新闻、网页都可以存储在hbase中

2. 时序数据
每个数据都带有时间戳,比如传感器的数据
3. 推荐画像
用户画像的数据其实就是一个大的稀疏矩阵,比如蚂蚁金服
4. OLAP
实时的在线联机分析系统,比如天猫的双十一或者京东618的可视化大屏
注意:OLTP(在线事务分析系统)的区别,建立在关系数据库之上,支持事务回滚
5. Feeds流
典型的应用就是微信的聊天记录、朋友圈、点赞、评论
6. 爬虫数据的存储
四、HBase的发展过程
| 年代 | 事件 |
|---|---|
| 2006年11月 | Google发布了BigTable的论文 |
| 2007年10月 | 第一个可用的HBase版本,基于Hadoop |
| 2008年1月 | 成为apache的顶级项目 |
五、HBase和RDBMS的比较
1. RDBMS(关系数据库管理系统:mysql、sqlserver、oracle)
l 数据库以表的形式独立存在
l 支持FAT(dos)、NTFS(windows)、EXT(linux)等文件系统
l 主键(primary key)
l 分库分表
l 表由行、列、单元格
l 支持向上扩展
l 使用sql(增删改查)
l 面向行存储
l ACID的特性

l 结构化的数据(二维表格)
l 支持事务(transaction)
l 支持join(连接,全连接(full join笛卡尔乘积),自然连接(inner join),左连接(left join),右连接(right join))
l 中心化
2. HBse
l 以表的形式存在
l 使用行键(row key)
l 分布式存储
l 行键、列簇、列、时间戳
l 支持向外扩展
l 使用命令行、java api和Mapreduce、Spark、Flink来访问HBase表数据
l 面向列存储
l 不支持acid,但是遵循cap原则
l 结构化和半结构化的数据
l 不支持事务
l 不支持join
l 分布式
六、HBase和HDFS的比较
1. HDFS
分布式,不是一个文件系统,无法快速的查询数据
2. HBase
建立在HDFS上,为大型表提供快速查询数据
七、HBase和Hive的比较
1. Hive
l 数据仓库,它的本质就是相当于将hdfs的文件和mysql中做了一个一一对应的映射,可以通过HQL(类sql,是hive的sql,把每一条hql都转换为一个mr程序)进行数据的管理。
l hive主要用于数据分析、清洗等,适用于离线数据,延迟很高
l hive基于HDFS和MapReduce,将数据存储在hdfs的datanode上,hql转换为一个mr程序执行
2. HBase
l NoSql:面向列的非关系型数据库
l 用于存储结构化和非结构化的数据
l 基于hdfs:HBase的存储文件HFile存储在hdfs的datanode上,被regionserver以region(分区)的形式进行管理
l 延迟较低,适合olap(实时的联机分析系统,比如天猫双十一的实时成交数据可视化大屏)
八、NoSQL数据库
l SQL数据库
按行存储,主要操作增删改查,常见的数据库有mysql、sqlserver、oracle
l NoSQL
非关系数据库,或者叫不仅仅是关系数据库,key/value格式的数据库,常见的有redis(高速缓存比如秒杀抢购系统)、memcache、mongodb(文档)、hbase
l hive
并不是一个数据库,仅仅是一个数据仓库的工具
oSQL数据库**
l SQL数据库
按行存储,主要操作增删改查,常见的数据库有mysql、sqlserver、oracle
l NoSQL
非关系数据库,或者叫不仅仅是关系数据库,key/value格式的数据库,常见的有redis(高速缓存比如秒杀抢购系统)、memcache、mongodb(文档)、hbase
l hive
并不是一个数据库,仅仅是一个数据仓库的工具
相关文章:
Hbase简介
HBase简介 一、HBase简介 1. HBase简介 (1) apache的顶级项目,hadoop的数据库,分布式、大规模的大数据存储。 HBase是Google的BigTable的开源java版本,建立在hdfs之上的,分布式、列存储、非关系(nosql、key-value&a…...
科海思除COD树脂,大孔树脂,除COD专用树脂
一、产品介绍 Tulsimer A-722 MP具有控制孔径的大孔强碱性Ⅰ型阴离子交换树脂 Tulsimer A-722 MP 是一款具有便于颜色和有机物去除的控制孔径的,专门开发的大孔强碱性Ⅰ型阴离子交换树脂。 Tulsimer A-722 MP(氯型)专门应用于去除COD…...
Qt 多线程 QThread、QThreadPool使用场景
QThread 和 QRunnable 都是 Qt 框架中用于多线程编程的类,它们之间有以下不同点: 继承关系不同 QThread 继承自 QObject 类,而 QRunnable 没有父类。 实现方式不同 QThread 是一个完整的线程实现,包含了线程的创建、启动、停止、…...
如何一招搞定PCB阻焊过孔问题?
PCB阻焊油墨根据固化方式,阻焊油墨有感光显影型的油墨,有热固化的热固油墨,还有UV光固化的UV油墨。而根据板材分类,又有PCB硬板阻焊油墨,FPC软板阻焊油墨,还有铝基板阻焊油墨,铝基板油墨也可以用…...
【代码随想录】刷题Day2
1.左右指针比大小 977. 有序数组的平方 class Solution { public:vector<int> sortedSquares(vector<int>& nums) {vector<int> ret nums;int left 0;int right nums.size()-1;int end nums.size();while(left<right){if(abs(nums[left])>abs…...
Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用
Python是功能强大、免费、开源,实现面向对象的编程语言,在数据处理、科学计算、数学建模、数据挖掘和数据可视化方面具备优异的性能,这些优势使得Python在气象、海洋、地理、气候、水文和生态等地学领域的科研和工程项目中得到广泛应用。可以…...
计及调度经济性的光热电站储热容量配置方法【IEEE30节点】(Matlab代码实现)
💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …...
“不要放过这个春天”解锁品牌春日宣传新玩法
在万物复苏的春天,人们换新装、踏青等需求蓄势待发,出现了全民消费热情高涨的趋势,让品牌「贩卖春天」的宣传此起彼伏。 品牌洞察到用户的消费需求,打造具有品牌特色的浪漫宣传,如采用春日限定元素、创新春天宣传场景…...
利用GPT2 预测 福彩3d预测
使用GPT2预测福彩3D项目 个人总结彩票数据是随机的,可以预测到1-2个数字,但是有一两位总是随机的 该项目紧做模型学习用,通过该项目熟练模型训练调用生成过程. 福彩3D数据下载 https://www.17500.cn/getData/3d.TXT data数据格式 处理后数据格式 每行 2023 03 08 9 7 3 训…...
类加载过程
基本说明 反射机制是Java实现动态语言的关键,也就是通过反射实现类动态加载。 静态加载:编译时加载相关的类,如果没有则报错,依赖性太强动态加载:运行时加载需要的类,如果运行时不用该类,即使…...
【C/C++】C++11 无序关联容器的诞生背景
文章目录 背景无序关联容器适用场景有序关联容器适用场景 背景 C11 引入了无序关联容器(unordered_map、unordered_set、unordered_multimap 和 unordered_multiset)是为了提供一种高效的元素存储和查找方式。相比于有序关联容器(map、set、…...
h264编码原理
在介绍编码器原理之前首先了解三个制定编码标准的组织: 1.国际电信联盟(ITU-T),这是一个音视频领域非常强的组织,规定了很多标准如h261,h262,h263,h263。h263也就是h264的前身。 2.国际标准化组织(ISO)&…...
网络工程师经常搞混的路由策略和策略路由,两者到底有啥区别?
当涉及到网络路由时,两个术语经常被混淆:策略路由和路由策略。虽然这些术语听起来很相似,但它们实际上有着不同的含义和用途。在本文中,我们将详细介绍这两个术语的区别和应用。 一、路由策略 路由策略是指一组规则,用…...
高精度气象模拟软件WRF实践技术
【原文链接】:高精度气象模拟软件WRF(Weather Research Forecasting)实践技术及案例应用https://mp.weixin.qq.com/s?__bizMzU5NTkyMzcxNw&mid2247538149&idx3&sn3890c3b29f34bcb07678a9dd4b9947b2&chksmfe68938fc91f1a99bbced2113b09cad822711e7f…...
总结827
学习目标: 4月(复习完高数18讲内容,背诵21篇短文,熟词僻义300词基础词) 学习内容: 高等数学:刷1800,做了26道计算题,记录两道错题,搞懂了,但并不…...
还在发愁项目去哪找?软件测试企业级Web自动化测试实战项目
今天给大家分享一个简单易操作的实战项目(已开源) 项目名称 ET开源商场系统 项目描述 ETshop是一个电子商务B2C电商平台系统,功能强大,安全便捷。适合企业及个人快速构建个性化网上商城。 包含PCIOS客户端Adroid客户端微商城…...
总结下Spring boot异步执行逻辑的几种方式
文章目录 概念实现方式Thread说明 Async注解说明 线程池CompletableFuture(Future及FutureTask)创建CompletableFuture异步执行 消息队列 概念 异步执行模式:是指语句在异步执行模式下,各语句执行结束的顺序与语句执行开始的顺序…...
【开发日志】2023.04 ZENO----Composite----CompNormalMap
NormalMap-Online (cpetry.github.io)https://cpetry.github.io/NormalMap-Online/ CompNormalMap 将灰度图像转换为法线贴图 将灰度图像转换为法线贴图是一种常见的技术,用于在实时图形渲染中增加表面细节。下面是一个简单的方法来将灰度图像转换为法线贴图&…...
春秋云境:CVE-2022-28525 (文件上传漏洞)
目录 一、题目 1.登录 2.burp抓包改包 3.蚁剑获取flag 一、题目 ED01CMSv20180505存在任意文件上传漏洞 英语不够 翻译来凑: 点击其他页面会Not Found 找不到: 先登录看看吧: 试试万能密码:admin:123 发现错误…...
【软件测试二】开发模型和测试模型,BUG概念篇
目录 1.软件的生命周期 2.瀑布模型 3.螺旋模型 4.增量,迭代 5.敏捷---scrum 1. 敏捷宣言 2.角色 6. 软件测试v模型 7.软件测试w模型 8.软件测试的生命周期 9.如何描述一个BUG 10.如何定义BUG的级别 11.BUG的生命周期 12.产生争执怎么办 1.软件的生命周期…...
跨越网络鸿沟:Qt Creator配置CDB实现远程调试实战
1. 为什么需要远程调试? 在嵌入式开发或者跨平台开发中,我们经常会遇到这样的场景:开发环境在本地PC上,但目标程序需要运行在远程设备上。比如开发一个工业控制软件,本地使用Qt Creator开发,但最终程序要部…...
融合PlatformIO与CubeMX:打造跨平台STM32 HAL高效开发工作流
1. 为什么需要融合PlatformIO与CubeMX? 做STM32开发的朋友们应该都深有体会:CubeMX的图形化配置确实方便,但生成的代码往往需要手动移植到各种IDE里;PlatformIO支持跨平台开发,但直接用它配置STM32外设又不够直观。我过…...
Spectator:云原生可观测性数据采集库的设计与实战
1. 项目概述:从“观众”到“洞察者”的转变在分布式系统和微服务架构成为主流的今天,我们每天面对的不再是单一的、庞大的单体应用,而是由数十甚至上百个服务节点组成的复杂网络。每个服务都在持续地产生日志、指标和追踪数据,这些…...
多模态大模型应用开发利器:xBrain工具箱核心解析与实战
1. 项目概述:一个面向多模态大模型的开源工具箱 最近在折腾大模型应用开发,特别是涉及到图像、文本、音频等多模态任务时,常常感到工具链的割裂。文本生成有成熟的框架,视觉任务又有另一套生态,想把它们高效地整合到一…...
米尔MYS-8MMX开发板实战:从交叉编译到网络视频监控系统搭建
1. 开箱与初体验:米尔MYS-8MMX开发板印象作为一名在嵌入式领域摸爬滚打多年的开发者,拿到一块新的开发板,那种感觉就像老木匠看到一块上好的木料,总想立刻上手试试它的“成色”。米尔电子这次推出的MYS-8MMX开发板,基于…...
实测Taotoken多模型路由的稳定性与延迟体感观察
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 实测Taotoken多模型路由的稳定性与延迟体感观察 本文基于一段时间的实际调用体验,分享对Taotoken平台稳定性和延迟的直…...
Python数据容器-元组
#元组-tuple# #数据不能被修改,只能查询# #索引访问和切片与列表类似# t1 (5,3,6,98,54,125,69,5,98)定义元组,t=(数据)# print(t1)# print(t1[5])125# t2 ()#空元组# #切片# print(t1[:7:2])5,6,54,69# #常用方法# t1 (5,3,6,98,54,125,6…...
别再死记硬背了!用面包板和Arduino Nano,5分钟搞懂MOS管开关控制LED
用面包板和Arduino Nano轻松掌握MOS管控制LED的奥秘 记得第一次接触MOS管时,我被那些复杂的参数曲线和公式搞得晕头转向。直到有一天,导师扔给我一块面包板、几个元器件说:"别盯着书本看了,动手试试看!"那天…...
电商网站滑块验证码破解:OpenCV图像识别+轨迹模拟方案
一、前言当前主流电商、会员登录、抢购下单、接口风控场景中,滑块拼图验证码已是最常见的人机校验方式。传统简单爬虫直接请求接口极易被拦截,而滑块验证码核心防护逻辑分为两点:一是缺口位置图像匹配校验,二是人为滑动轨迹行为风…...
树莓派Zero无音频接口?PWM+RC滤波实现模拟音频输出全攻略
1. 项目概述与核心思路树莓派Zero以其极致的性价比和紧凑的尺寸,在创客和嵌入式开发者中备受欢迎。然而,为了将成本和体积压缩到极致,树莓派基金会做出了一个“艰难的决定”:移除了标准型号上常见的3.5mm音频接口,也没…...
