首页 > 编程知识 正文

数据清理流程(分布式存储系统有哪些)

时间:2023-05-03 14:48:07 阅读:78677 作者:2377

1.1 HBase

1.1.1 优点

1.大:一个表可以有几十亿行、几百万列。

2 .列群集)存储和权限控制,列群集)独立搜索。

3 .稀疏:空(null )列不占用内存空间,因此表可以设计得非常稀疏。

4 .多版本:每个单元格中的数据可以有多个版本,默认情况下会自动分配版本号,并成为插入单元格时的时间戳。

5 .数据类型单一:在HBase中,数据类型都是字符串。

6 .无模式:每行都有可排序的rowKey和任意数量的列,可以根据需要动态添加列,同一表中的不同行可以有完全不同的列。

7 .可靠性: WAL预写日志(write-ahead log )机制可以确保在写入数据时不会因群集异常而丢失写入数据,复制机制可以在群集发生严重问题时而且Hbase在基础上使用HDFS,HDFS本身也有备份。

8 .高性能:由于底层LSM数据结构和原始密钥规则数组等体系结构上的独特设计,Hbase具有非常高的写入性能。 region分割、主键索引和缓存机制使Hbase在大量数据下具有一定的随机读取性能,查询Rowkey的性能可以达到毫秒级。

1.1.2 缺点

1.HBase是非关系数据库,但不支持SQL语句。

2 .单个RowKey特定的限制决定了不能有效地支持多个条件查询

1.2 Redis

1.2.1 优点

1 .字符串、列表(双向链接表)、列表(混列表)、集)集合)、zset (排序集)、hyperloglogloogold

3 .支持持久化操作,将aof和rdb数据持久化到磁盘,进行数据备份和数据恢复等操作,防止数据丢失的手段非常好。

支持复制数据复制。 master-slave机制允许实时同步复制数据,并支持多级别复制和增量复制。 主从属机制是Redis进行HA的重要手段。

5 .单线程请求,所有命令串行执行,并发执行,无需考虑数据完整性问题。

支持pub/sub消息订阅机制,可用于消息订阅和通知。

7 .支持简单的办公需求,但行业使用场景少,不成熟。

1.2.2 缺点

1. Redis只能使用单线程,性能受CPU性能的限制,因此单实例CPU最多可以达到5-6wQPS秒。 (取决于数据结构、数据大小以及服务器硬件的性能,在日常环境中QPShhdsl约为1-2w左右。

2 .支持简单的办公需求,但行业使用场景少,不成熟,既是优点也是缺点。

3 .由于3. Redis是字符串类型,内存占用量很大,因此可以使用dict (散列表)来压缩存储并减少内存占用量。

1.3 MongoDB

1.3.1 优点

1.写入负载高,MongoDB插入速度高。

2 .处理大规模的单表,数据表过大时可以轻易拆分表。

4 .高可用性、M-S不仅方便快捷,而且MongoDB还可以快速、安全、自动地实现节点(数据中心)故障切换。

5 .快速查询,MongoDB支持管道等二维空间索引,可以快速准确地从指定位置检索数据。 MongoDB启动后将数据库中的数据作为文件映射加载到内存中。 如果内存资源相当丰富,数据库查询速度将大大提高。

6 .非结构化数据的爆炸性增长,添加列可能会锁定整个数据库,也可能会增加负载从而降低性能。 由于MongoDB的弱数据结构模型,添加新字段对旧表没有任何影响,整个过程非常快。

1.4 Memcache

1.4.1 优点

1. Memcached具有多核优势,单实例吞吐量极高,可达数十万QPS。 (取决于key、value的字节大小和服务器硬件性能,在日常环境中QPShhdsl约为4-6w左右。 适合最大限度的承载量。

支持直接配置到session handle。

1.4.2 缺点

1.仅支持简单的密钥/值数据结构,并不像Redis那样支持丰富的数据类型。

2 .无法持久化,无法备份数据,只能用于缓存,并且重新启动后所有数据都将丢失。

3 .数据无法同步,无法将MC中的数据迁移到其他MC实例。

4. Memcached内存分配采用Slab Allocation机制管理内存,value大小分布差异较大会降低内存利用率,即使在低利用率情况下也会出现踢出局等问题。 用户需要重视value设计。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。