【数据库篇】NoSQL数据库

在这里插入图片描述

Cassandra

高可用性和可扩展的分布式数据库, 它提供了跨云服务提供商、数据中心和地理位置的操作简便性和轻松的复制,并且可以在混合云环境中每秒处理PB级信息和数千个并发操作。

高可用性和高可伸缩性是Cassandra最闪亮的特点。没有单点故障

(2)数据模型

Key Space(对应 SQL 数据库中的 database)

一个Key Space中可包含若干个CF,如同SQL数据库中一个database可包含多个table。

Key(对应 SQL 数据库中的主键)

在Cassandra中,每一行数据记录是以key/value的形式存储的,其中key是唯一标识。

column(对应 SQL 数据库中的列)

Cassandra中每个key/value对中的value又称为column,它是一个三元组,即:name, value和timestamp,其中 name需要是唯一的。

super column(SQL 数据库不支持)

cassandra允许key/value中的value是一个map(key/value_list),即某个column有多个子列。

Standard Column Family(相对应 SQL 数据库中的 table)

每个CF由一系列row组成,每个row包含一个key以及其对应的若干column。

Super Column Family(SQL 数据库不支持)

每个SCF由一系列row组成,每个row包含一个key以及其对应的若干super column。

hbase

HBase 简介
HBase(Hadoop database)是一个分布式、可扩展、面向列的 NoSQL 数据库,本质上是一个 Key-Value 系统,底层存储基于 HDFS,原生支持 MapReduce 计算框架,具有高吞吐、低延时的读写特点。

什么时候使用 HBase

HBase作为一款NoSQL数据库,并不能解决所有问题。关于我们在实际生产过程中满足哪些条件的时候可以选择HBase作为底层存储,这里给出几点建议:

1、数据量规模非常庞大

一般而言,单表数据量如果只有百万级或者更少,不是非常建议使用HBase而应该考虑关系型数据库是否能够满足需求;单表数据量超过千万或者十亿百亿的时候,并且伴有较高并发,可以考虑使用HBase。这主要是充分利用分布式存储系统的优势,如果数据量比较小,单个节点就能有效存储的话则其他节点的资源就会存在浪费。

2、要求是实时的点查询

HBase是一个Key-Value数据库,默认对Rowkey即行键做了索引优化,所以即使数据量非常庞大,根据行键的查询效率依然会很高,这使得HBase非常适合根据行键做单条记录的查询。值得说明的是,允许根据行键的一部分做范围查询,这里涉及到Rowkey的设计问题,不再赘言。

3、能够容忍NoSQL短板

前面提及了NoSQL并不能解决所有问题,HBase也是一样,如果业务场景是需要事务支持、复杂的关联查询等,不建议使用HBase。HBase有它适合的业务场景,我们不能苛求它能够帮我们解决所有问题。

4、数据分析需求并不多

虽然说HBase是一个面向列的数据库,但它有别于真正的列式存储系统比如Parquet、Kudu等,再加上自身存储架构的设计,使得HBase并不擅长做数据分析,或者说数据分析是HBase的弱项,所以如果主要的业务需求就是为了做数据分析,比如做报表,那么不建议直接使用HBase。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值