REDIS 二月 22, 2020

Redis内置数据结构之链表

文章字数 4k 阅读约需 4 mins. 阅读次数 1000000

编写Redis的C语言没有内置链表数据结构,因此Redis构建了自己的链表实现。

应用

  1. 列表键、发布、订阅、慢查询、监视器等功能
  2. 保存多个客户端的状态信息
  3. 构建客户端输出缓冲区(output buffer...
查看全文

REDIS 二月 21, 2020

Redis内置数据结构之简单动态字符串

文章字数 3.4k 阅读约需 3 mins. 阅读次数 1000000

简单动态字符串(simple dynamic string,以下简称SDS)是Redis的一个内置数据结构。Redis默认字符串并不是C字符串,而是SDS,Redis只会使用C字符串作为字面量用在一些无需更改字符串值的地方。

作用

  1. 是Redis的默认字符串表示
  2. 保存数据库中的字符串值
  3. 用作AOF缓冲区以及客户端状态中的输入缓冲区

定义

SDS定义在sds.h中,以结构体的形式定义,每个sdshdr结构体表示一个SDS值:

1
2
3
4
5
6
7
8
struct sdshdr{
// 记录buf数...
查看全文

HBASE 二月 13, 2020

HBase基本操作

文章字数 8.5k 阅读约需 8 mins. 阅读次数 1000000

HBase shell的使用

HBase自带的shell是用JRuby(Java写的Ruby解释器)写的命令行的工具,是用ruby语言实现的,其shell脚本也是ruby实现的。
执行以下命令进入HBase的shell:

1
$HBASE_HOME/bin/hbase shell

用create命令建表c

1
create '表名', '列族名'

输出结果

1
0 row(s) in 操作时间
  • HBase的表都是由列族(Column Family)组成的
  • 没有列族的表是没有意义的
  • 列并不是依附于表上,而是...
查看全文

HBASE 二月 08, 2020

HBase Meta表与Root表

文章字数 1.1k 阅读约需 1 mins. 阅读次数 1000000

Meta表的作用

记录的信息:

  1. 数据的Rowkey在哪个Region的范围
  2. Region在哪个RegionServer上

(Region是HBase中分布式存储和负载均衡的最小单元)

Meta表的Rowkey

region所在的表名+region的StartKey+时间戳

这三者的MD5值也是HBase在HDFS上存储的region名字

Meta表的列族和列

表中最主要的Family:info

info里包含三个Column:regioninfo,server,serverstartcode...

查看全文

数据库 十月 28, 2019

小谈NoSQL

文章字数 5.7k 阅读约需 5 mins. 阅读次数 1000000

提纲

  • NoSQL简介
  • NoSQL兴起的原因
  • NoSQL与关系数据库的比较
  • NoSQL的四大类型
  • NoSQL的三大基石
  • 从NoSQL到NewSQL数据库
  • 文档数据库MongoDB

NoSQL简介

从最初表示的“反SQL”运动,用新型的非关系型数据库取代关系型数据库,发展为现在表示关系和非关系型数据库各有优缺点彼此都无法互相取代,即“Not only SQL”。

通常,NoSQL数据库具有以下特点:

  • 灵活的可扩展性
  • 灵活的数据模型
  • 与云计算紧密融合

NoSQL兴起的原因

  • 关系数据库已经无法满...
查看全文
0%