前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式数据库-课程总结

分布式数据库-课程总结

作者头像
用户2225445
发布2023-12-18 11:27:12
1990
发布2023-12-18 11:27:12
举报
文章被收录于专栏:IT从业者张某某
文章目录

  • 参考资源
  • HBase列族数据库
    • 简介
    • 与关系数据库的对比
      • 存储对比
      • 操作语句
        • 表级别语句
        • 表数据语句
    • 数据库的原理
    • 存储结构
    • 架构
  • MongoDB文档数据库
    • 简介
    • 与关系数据库的对比
      • 存储对比
      • 操作语句 见PPT
    • 命名规范
    • 数据库的原理
  • Redis键值内存数据库
  • Neo4j图数据库

参考资源

http://172.16.16.164:8000/courses/81 最新的实验 前5章 理解下,能完成对数据库的操作。

HBase http://172.16.16.164:8000/courses/81/assignments/709?module_item_id=3779

MongoDB参考: http://172.16.16.164:8000/courses/81/assignments/711?module_item_id=3781 http://172.16.16.164:8000/courses/81/assignments/712?module_item_id=3782

数据库的模型特点:列族 文档 键值对 图 数据库的特点:官网的首页 与关系数据库对比: 逻辑结构(数据库 表 行 单元格) 操作语句对比(内容可以基本对比) 数据库场景: 数据库语句操作:数据库操作 数据表操作 表中数据操作(CRUD 索引 高级的查询) 数据库的原理:hbase的原理 mongodb存储引擎B+树 数据库的编程:java 和 python操作数据库 能连接,能完成CRUD 能完成适当的高级查询就可 综合案例:大家去完成下

HBase列族数据库

简介

Hbase-Hadoop Database是一个高可用、高性能、面向列、可伸缩、实时读写的分布式数据库 。 :一个表可以有上亿行,上百万列。 可伸缩:可根据负载增减节点。 面向列:相对于行式数据库,空间利用率高。 稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。 高可用:基于HDFS的多副本机制,WAL(Write-Ahead-Log)预写机制,Replication 机制

与关系数据库的对比

存储对比

MySQL

HBase

数据库db

namespace

表table

table

列字段

列族+列标识

rowkey行间

单元格cell

rowkey+列族+列标识+版本

操作语句
表级别语句

建表 mysql

代码语言:javascript
复制
CREATE TABLE exam_result (
 id INT,
 name VARCHAR(20),
 chinese DECIMAL(3,1),
 math DECIMAL(3,1),
 english DECIMAL(3,1)
);

hbase

代码语言:javascript
复制
#创建一张名为Student的表,包含基本信息(baseinfo)、学校信息(schoolinfo)两个列簇
create 'student','haseinfo','schoolinfo'

删除表 mysql

代码语言:javascript
复制
drop table user;

hbase

代码语言:javascript
复制
#删除表前需要先禁用表
disable 'student'
#删除表
drop 'student'
表数据语句

增加

代码语言:javascript
复制
put 'student', '1','baseinfo:name','tom'
put 'student', '1','baseinfo:birthday','1990-01-09'
put 'student', '1','baseinfo:age','29'
put 'student', '1','schoolinfo:name','Havard'
put 'student', '1','schoolinfo:localtion','Boston'

put 'student', '2','baseinfo:name','jack'
put 'student', '2','baseinfo:birthday','1998-08-22'
put 'student', '2','baseinfo:age','21'
put 'student', '2','schoolinfo:name','yale'
put 'student', '2','schoolinfo:localtion','New Haven'

put 'student', '3','baseinfo:name','maike'
put 'student', '3','baseinfo:birthday','1995-01-22'
put 'student', '3','baseinfo:age','24'
put 'student', '3','schoolinfo:name','yale'
put 'student', '3','schoolinfo:localtion','New Haven'

put 'student', '4','baseinfo:name','maike-jack'

获取指定行、指定行中的列族、列的信息

代码语言:javascript
复制
# 获取指定行中所有列的数据信息
get 'student','3'
代码语言:javascript
复制
# 获取指定行中指定列族下所有列的数据信息
get 'student','3','baseInfo'
代码语言:javascript
复制
# 获取指定行中指定列的数据信息
get 'student','3','baseinfo:name'

删除指定行、指定行中的列

代码语言:javascript
复制
# 删除指定行
delete 'student','3'
代码语言:javascript
复制
# 删除指定行中指定列的数据
delete 'student','3','baseinfo:name'

get查询

代码语言:javascript
复制
# 获取指定行中所有列的数据信息
get 'student','3'
# 获取指定行中指定列族下所有列的数据信息
get 'student','3','baseinfo'
# 获取指定行中指定列的数据信息
get 'student','3','baseinfo:name'

scan查询

代码语言:javascript
复制
#查询整表数据
scan 'student'
#查询指定列簇的数据
scan 'student', {COLUMN=>'baseinfo'}
# 查询指定列的数据
scan 'student', {COLUMNS=> 'baseinfo:birthday'}
# 查看指定列两个版本的数据(3.3中我们设置了3个版本)
scan 'student', {COLUMNS=> 'baseinfo:birthday',VERSIONS=>2}
# 查看前3条数据
scan 'student',{LIMIT=>3}

数据库的原理

数据库的架构

在这里插入图片描述
在这里插入图片描述

region定位 数据写入 数据读取 WAL机制 minor合并-store major合并-store region拆分 region合并 Region负载均衡

存储结构

在这里插入图片描述
在这里插入图片描述

架构

MongoDB文档数据库

简介

MongoDB是文档型的NoSQL数据库,数据以文档(对应关系型数据库的记录)的形式在MongoDB中保存,文档实际上就是一个个JSON字符串,使用JSON的好处是非常直观,通过一系列的Key-Value键值对来表示数据,符合我们的阅读习惯。

在Java、Python中对JSON都有很好的支持,数据从MongoDB中读取出来后,可无需转换直接使用;支持丰富的数据结构,Value可以是普通的整型、字符串、数组、嵌套的子文档,使用嵌套的好处是在MongoDB中仅需一次简单的查询就能够获取到你所需的数据。

在这里插入图片描述
在这里插入图片描述

与关系数据库的对比

存储对比

MySQL

MongoDB

数据库db

db

表table

集合collection

列字段

document文档

单元格cell

键值对k:v

操作语句 见PPT
在这里插入图片描述
在这里插入图片描述

命名规范

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据库的原理

副本集的架构

在这里插入图片描述
在这里插入图片描述

分片集的架构

在这里插入图片描述
在这里插入图片描述

Redis键值内存数据库

Neo4j图数据库

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 参考资源
  • HBase列族数据库
    • 简介
      • 与关系数据库的对比
        • 存储对比
        • 操作语句
      • 数据库的原理
        • 存储结构
          • 架构
          • MongoDB文档数据库
            • 简介
              • 与关系数据库的对比
                • 存储对比
                • 操作语句 见PPT
              • 命名规范
                • 数据库的原理
                • Redis键值内存数据库
                • Neo4j图数据库
                相关产品与服务
                对象存储
                对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档