当前位置:网站首页>Redis-NoSql
Redis-NoSql
2022-07-29 13:31:00 【kk_lina】
一、Nosql概述
- 单机MySQL年代

90年代访问量不大,全国的互联网并没有通,那个时候更多的使用静态网页例如hao123,这种静态页面里没有太大的压力,所以单机的Mysql足够用。
- 数据量如果太大,一台机器放不下;
- 索引不断的累加,机器内存受不了;
- 访问量(读写混合),一个服务承受不了。
只要出现以上三种情况,必须考虑晋级!
Memcached(缓存)+MySQL+垂直拆分(读写分离)
网站大多数的情况都是在读,甚至有很多是在读重复的内容, 如果每次都去读取数据库,会存在IO瓶颈,所以这个时候加一层缓存来存储每次读取一致的那些内容,当第一个人读时写入缓存,其他人再读只需要从缓存中读取数据即可。
发展过程:优化MySQL底层数据结构和索引->文件缓存(IO)->Memcached(当时最热门的技术)
分库分表+水平拆分(集群)

如今年代的结构:
现在的定位、热榜、音乐等数据多且浏览时刷新快,传统的关系型数据库已经无法满足要求,所以产生了一些专门的存储结构来存储这些数据。 例如,图形数据库、BSON、文件数据库、文本数据库等进行对应的处理,来减少MySQL的压力。
现在个人信息、日志文件、地理位置信息等相关信息爆发式增长,传统关系型数据无法满足需求,所以这个时候需要使用NoSql数据库进行大量数据的存储操作。什么是NoSql?
not only sql,不仅仅是sql,泛指非关系型数据库。NoSql可以存储一些无法通过行列的形式存储的数据,不需要多余的操作就可以横线扩展。NoSql特点:
解耦;
方便扩展(数据之间没有关系,很好扩展);
大数据量高性能(redis一秒写8万次,读11万);
数据类型多样性,无需设计数据库,随取随用;
传统的关系型数据库和NoSql的区别:
传统的sql:
- 结构化组织
- 数据和关系都存在单独的表中
- 数据定义语言
- 严格的一致性
- 基础的事务
- ......
NoSql:
- 没有固定的查询语言
- 不仅仅是数据
- 键值对存储,列存储,文档存储,图形数据库(社交关系)
- 最终一致性
- CAP定理和BASE
- 高性能,高可用,高扩展
- ......
- 大数据时代的3V+3高
3V:
- 海量
- 多样
- 实时
3高:
- 高可扩
- 高并发
- 高性能
二、阿里巴巴技术发展史



三、关于一些数据的存储
# 1、商品的基本信息
MySQL/Oracle
# 2、商品的描述、评论(文字比较多)
文档型数据库中,MongoDB
# 3、图片
分布式文件系统 FastDFS
- 淘宝自己的 TFS
- 谷歌自己的 GFS
- Hadoop HDFS
- 阿里云的 OSS
# 4、商品的关键字(搜索)
- 搜索引擎 solr elasticsearch
- ISearch: 多隆
# 5、商品的波段信息
内存数据库、redis等
# 6、商品的支付、交易
三方应用
四、NoSql的四大分类
1、KV键值对:
- 新浪:Redis
- 美团:Redis+Tair
- 阿里、百度:Redis+memache
2、文档型(bson格式):
- MongoDB:分布式文件存储的数据库,由C++编写的,主要用于存储大量文档。介于关系型和非关系型的中间产品!
- CouchDB
3、列存储:
- HBase
- 分布式文件系统
4、图关系数据库
不是存图形的,而是存放图关系的,比如社交推荐、广告推荐等。
- Neo4j、InfoGrid

边栏推荐
猜你喜欢

84.(cesium之家)cesium模型在地形上运动

关于ESI研究前沿的思考和使用方法研究

超年轻!34岁教授,任985王牌学院副院长!

新来技术总监:谁在用 isXxx 形式定义布尔类型,明天不用来了!

力扣541. 反转字符串 II ----双指针解法

How to set the explosion rate of legendary humanoid?Humanoid increase tutorial

全开放式耳机怎么样?不塞耳朵的蓝牙耳机推荐

Children's programming electronics (graphical programming Scratch secondary level exam parsing (choice) in June 2022

从KEIL仿真界面导出数据的技巧

推荐几款2022年好用的设备管理系统(软件)
随机推荐
The new technical director, who is in the form of a isXxx Boolean type definition, tomorrow need not come!
kotlin协程与线程池
How to merge the code when there is a code conflict in the collaborative development of multiple people?
还在开发短信验证码登录?试试(本机号码一键登录)
HCIP第十三天笔记(BGP的路由过滤、BGP的社团属性、MPLS)
蚂蚁三面滑铁卢!遭分布式截胡,靠这些笔记潜修30天,挺进京东
TAP 文章系列-10 | 从应用感知能力谈 TAP 的约定服务
开关电源-LLC基本原理
Leetcode67. 二进制求和
How to set the explosion rate of legendary humanoid?Humanoid increase tutorial
万字长文,揭秘华为数据治理体系!
【pytorch】1.6 tensor 基本运算
IJCAI 2022杰出论文公布,大陆作者中稿298篇拿下两项第一
国内helm快速安装和添加常用charts仓库
R Error in :missing values are not allowed in subscripted assignments of data frames
你真的会用Console.log吗?
码蹄集 tourist
The 10,000-character long article reveals the secrets of Huawei's data governance system!
IJCAI 2022 outstanding papers published, China won two draft in 298 the first author
用支持LaTex的Markdown语句编辑一个数学公式