IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 超过500万海量数据怎样处理 -> 正文阅读

[大数据]超过500万海量数据怎样处理

前言

最近笔者在工作中遇上一个测试人员通过压力测试反馈的问题。这个问题就是测试人员一下子制造了上千万的数据,造成某个mysql/oracle数据库表产生了500万以上的数据,造成分页查询offset过大的问题。即使查询条件加了索引以及采用懒加载策略,查询速率也还没提升。这里,笔者考虑了几种处理办法:oracle分区、分库分表、nosql法。下面对这几个方法进行表述。

oracle分区法

笔者在以前的公司工作时,遇上了告警数据量过多,超过1千万了,造成分页数据量过慢。当时存储告警的数据是在oracle里面,故数据库管理员采用了分区法,并且加入了定时清除1个月前数据和自动确认历史数据机制来处理。oracle分区法只是按照某个策略对库表进行分区,对于某个策略数量较小的性能是好的,一旦该分区数据量大了,也是治标不治本的。同时分区也是oracle特有的功能,不能兼容mysql。

分库分表法

分库分表与上一个方法很相似,只不过是把表名加入了策略标记,通过分库分表中间件改写对应的sql的库表。和上一个方法一样,一旦一个字表数据量大了,也还是出现慢查询的问题,治标不治本。

nosql法

前面的oracle分区和分库分表法都不能从根本上解决这个超过500万条数据,只是延缓了这个超大量数据查询慢的问题。这里笔者搜索有关淘宝等有类似问题的公司,发现他们用了nosql法来进行处理的。几种nosql能够处理这个500万以上的数据的有Hbase、ElasticSearch、MongoDB、redis这4种。下表是对他们的简单比较。
在这里插入图片描述
通过上面的比较而言:redis是不支持复杂条件查询的。es是复杂查询支持很强,但是写入性能很差,不支持事务的,还有最明显的弱点就是字段类型无法修改、高硬件资源消耗。。hbase是支持自动弹性扩容,但是查询效率也是不高的。MongoDB 不需要定义表结构这个特点给表结构的修改带来了极大的方便,但是也给多表查询、复杂事务等高级操作带来了阻碍。

以上的nosql数据库的适用场景:

如果对数据的读写要求极高,并且你的数据规模不大,也不需要长期存储,选 redis;

如果数据规模较大,对数据的读性能要求很高,数据表的结构需要经常变,有时还需要做一些聚合查询,选 MongoDB;

如果需要构造一个搜索引擎或者你想搞一个看着高大上的数据可视化平台,并且数据有一定的分析价值,选 ElasticSearch;

如果需要存储海量数据,并且不知道数据规模将来会增长多么大,那么选 HBase。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:27:40  更:2021-10-18 17:29:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:39:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码