NoSQL概述
NoSQL概述 单机MySQL时代 大数据时代,一般的数据库无法进行分析处理 数据量如果太大,一个机器放不下 数据的索引(B+ Tree),一个机器内存也放不下 访问量(读写混合),一个机器承受不了 Memecache + MySQL+垂直拆分(读写分离) 减轻服务器压力,使用缓存 发展过程:优化数据结构和索引-->文件缓存(IO)-->Memcached 分库分表+水平拆分+MySQL集群 早些年MyISAM:表锁,在高并发下严重影响效率 Innodb:行锁 使用分库分表来解决写的压力! 如今年代 MySQL等关系型数据库不够用!数据量大,变化很大 MySQL有的使用它来存储一些比较大的文件,博客,图片等,数据表很大,效率就低了。 大数据的IO压力下,表几乎没法更大 目前一个基本的互联网项目 为什么要用NoSQL 用户的个人信息,社交网络,地理位置。用户自己产生的数据,日志等等爆发式增长,无法使用关系型数据库进行存储,需要使用NoSQL! 什么是NoSQL NoSQL = Not Only SQL 关系型数据库:表格,行,列 泛指非关系型数据库,随着web2.0到来,传统关系型数据库很难对付web2.0,尤其是超大规模的高并发的社区,暴露出很多难以克服的问题,Redis是当下发展最快的,必须掌握的技术 很多的数据类型个人信息,社交网络,地理位置等不需要一个固定的格式