当前课程知识点:高级大数据系统 > NoSQL > HBase > Video
我们说BigTable实际上
它是在google的
这个体系里面基于GFS和mapreduce
产生出来的这种
nosql的一个原型系统
那么在开源的社区中
基于这个BigTable的
设计思想
还开发出了一系列的
这种nosql的原型
hbase就是在
hadoop的社区里面
实际上对这种nosql的特性
进行支持的一个例子
也是今天很多大数据的这个公司
实际上会去广泛使用的一个原型
那我们来看hbase
它的一些特性是什么样的
hbase实际上它使用了
BigTable的这种
设计的思路
它的很多的这种设计的
这个决策上
它和BigTable实际上是一致的
那么它是一个
开源的这样一个项目
那么有大量的这种开源社区的
一个支持
有很多这种参与进去的
这个开发的人员
然后它的这个环境实际上
是基于hadoop和Hdfs
所以说如果各位同学使用的
是这个hadoop的环境的话
实际上当你从hadoop迁移到
从hadoop扩展到
这个hbase的时候
是一个比较容易的操作
因为它底层的数据已经原本的
在这个hdfs里面存在了
从架构上来说
这个hbase的这个架构
和BigTable的架构
也是一致的
我们刚刚提到过
那么它也是由中心
叫做hmaster
和边缘的这种server
叫做region server来组成的
那么client
是一个聪明的客户端
通过一个叫做zoo keeper的
这样一个子系统
zoo keeper和我们之前介绍的
chubby是可以对应
他们管理了名字空间
管理了这个系统的一些枷锁
和一些关键信息的保护
那么在这个region server里面
把数据抽象化成了
这个叫做region的一个结构
那么region实际上
和我们的这个tablet
是能够对应的
region是将一系列行的数据
组织到连续的行的数据
组织到一块
然后形成的这样一个概念
那么region在这里面也会被
拆成很多的这种store
那么和我们之前的SStable
又能够对应的上
那么这些store就会通过
它的store的文件
和底层的HDFS
分布式文件系统连接起来
那么能够得到存储得到读取
以及得到后面的这种删除和修改
所以两个结构能够完全对应
底层在big table
是分布式文件系统GFS
而在Hbase是HDFS
那么上层通过tablet
和这边对应的HRegion
能够对应起来
那么整体上来说
大家如果理解了big table
它的一些特性的话
那么你可以把这些特性
直接运用到分布式的
这种hbase里面
而大家如果想要去理解big table
它的一些具体的性能
和它的这种局限性的话
大家也可以直接去通过
bigtable它的论文
来找得到
所以我们基本上可以用
bigtable里面的
这些策略
我们学习到的一些经验
来对hbase进行理解
那么这边也把刚刚的
这样一个客户
和bigtable进行交互的
这样一个流程在hbase里面
进行了一个筹划
那么master server它会去
管理元数据信息
那么它涉及到是
和各个region server进行通讯
以及对于HDFS里面的数据
进行一个操作
那么zoo keeper和我们的chubby
对应管理的系统中的名字空间
和一些关键的信息
那这边我们给出了hbase
里面它的这样一个
原型的代码的一个情况
那么我们看它可以通过
这样的一些命令
往hbase里面插入数据
我们可以创建一个表格
然后我们可以把
这个表格给列出来
我们可以把往表格里的不同的行
和不同某一个行
和某一个列里面插入数据
可以反复进行
那么在这边
我们可以对这个表格进行操作
比如说我们可以将表格里的
这个数据进行一个scan
进行列出
那么我们可以将表格
进行一个删除disable之后
再进行drop
把表格进行一个删除的操作
那么大家也依然可以看到
我们不需要去写
分布式文件操作的
这样的一些代码
或者说是进行分布式文件的
这样一个具体的读和写
而是通过像使用sql一样
进行一个表格的创建
表格中数据源的一个插入
以及对表格进行其他的
额外的这种操作
那这边我们略去了对表格的
一些这种查询
大家在具体的这种使用当中
可以使用更加复杂的
这种execution的代码
来对表格的数据进行查
然后进行增
或者说进行删
那么满足大家的这种业务的需求
谢谢大家
-What is big data and what is big data system?
--Video
-Problems in big data systems?
--Video
-Overview of the course
--Video
-Principles of big data system design
--Video
-Manipulating Data on Linux
--Video
--Video
--Video
-Basics of Linux Data Processing--Manipulating Data
-Running Commands on a Single Machine
--Video
-Running Commands on a Single Machine--作业
-Using a Linux Cluster
--Video
-Using a Linux Cluster--作业
-Storage for Big Data Computing: Distributed file system
--Video
-Storage for Big Data Computing: Distributed file system--作业
-File system and GFS
--Video
-File system and GFS--作业
-Understanding HDFS using Legos
--Video
-Understanding HDFS using Legos--作业
-File System Implementation and DFS
--Video
--Video
-File System Implementation and DFS--作业
-What is MapReduce and why
--Video
-What is MapReduce and why
-Learn MapReduce by playing with cards
--Video
-Processing pattern
--Video
-Processing pattern--作业
-Hadoop
--Video
-Hadoop--作业
-Algorithms in MapReduce
--Video
-Algorithms in MapReduce--作业
-Tutorial
--Video
-Background
--Video
-Background--作业
-Spark
--Video
-Spark--作业
-Use Spark for data mining
--Video
-Use Spark for data mining--作业
-Spark data processing
--Video
-Spark data processing--作业
-Experiment in Spark
--Video
-Experiment in Spark--作业
-Introduction to streaming data processing
--Video
-Introduction to streaming data processing--作业
-Storm
--Video
--Video
--Video
-Storm--作业
-Spark streaming
--Video
--Video
-Spark streaming--作业
-NoSQL introduction
--Video
-NoSQL introduction--作业
-Common Advantages
--Video
-Common Advantages--作业
-Bigtable
--Video
-Bigtable--作业
-Master Startup
--Video
-Master Startup--作业
-HBase
--Video
-HBase--作业
-What is GraphDB and Graph data processing
--Video
-What is GraphDB and Graph data processing--作业
-Graph systems
--Video
-Graph systems
-Example of a GraphDB
--Video
-Example of a GraphDB--作业
-Mahout
--Video
-Mahout--作业
-Case Study: Recommendation
--Video
-Case Study: Recommendatio作业
-Recommendation in Mahout
--Video
-Recommendation in Mahout--作业