微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NOSQL

项目发展历程

单机MysqL的年代

网站的瓶颈:

  1. 数据量太大,一个机器放不下
  2. 数据的索引(B + Tree),一个机器内存也放不下
  3. 访问量(读写混合),一个服务器承受不了

Memcached(缓存) + MysqL + 垂直拆分(读写分类)

网站80%的情况都是读的情况,为了减轻数据的压力,可以使用缓存来保证效率。

发展过程:

  1. 优化数据结构和索引
  2. 文件缓存(IO)
  3. Memcached

分库分表 + 水平拆分 + MysqL集群

本质:数据库(读,写)

数据库引擎历史:

早些年使用MyISAM:表锁,十分影响效率,高并发下就会出现严重的锁问题

转战Innodb:行锁

慢慢的开始使用分库分表来解决写的压力,MysqL的集群,很好的解决

当前基本互联网项目架构

NOsql

为什么使用NOsql

用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等信息爆发式增长,使用NOsql可以很好的解决这个问题

简介

NOsql: Not Only sql (不仅仅是sql)

  • 泛指非关系型数据库,随着Web2.0诞生。传统的关系型数据库很难对付Web2.0时代。尤其是超大规模的高并发问题。
  • 很多的数据类型,如用户的个人信息,社交网络,地址位置等。这些数据类型的存储不需要一个固定的格式。不需要多余的操作就可以横向扩展。

特点

  1. 方便扩展(数据之间没有关系,很好扩展)
  2. 大数据量性能(Redis一秒写8万次,读11万次。NOsql的缓存记录级,是一种细粒度的缓存,性能会比较高)
  3. 数据类型是多样型的(不需要事先设计数据库,随取随用)
  4. 传统RDBMS和NOsql对比
RDBMS
- 结构化组织
- SQL查询语言
- 数据和关系都存在单独的表中
- 数据操作语言,数据定义语言
- 严格的一致性
- 基础的事物
NOsql
- 不仅仅是数据
- 没有固定的查询语言
- 键值对存储,列存储,文档存储,图形数据库
- 最终一致性
- CAP定理和BASE(异地多活)
- 高性能,高可用,高可扩展性

大数据时代的特点

  • 大数据的3V:描述问题

    1. 海量Volume
    2. 多样Variety
    3. 实时VeLocity
  • 大数据的3高,对程序的要求

    1. 高并发
    2. 高可扩展性
    3. 性能

Nosql的四大分类

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐