初识NoSQL

Posted 编程成长记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识NoSQL相关的知识,希望对你有一定的参考价值。

NoSQL介绍

NoSQL,即not only sql,泛指非关系型数据库

  • 关系型数据库,保证数据的完整性、关联性
    id   name   age   salary
  • 非关系型数据库,不保证数据的完整性、关联性,对数据的读写操作效率高
    保证键值存储:key=>value
    set name value
    get name

NoSQL数据库分类

键值数据库:Redis、Memcache
列表型数据库:HBase(java)
文档型数据库:MongoDB

Redis介绍

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

意大利工程师,2000年左右,开发一个项目需要做一个实时统计的功能,但是感觉mysql读写性能很差,于是决定自己写一个数据库,为了提升读写速度,在内存中开辟一块空间进行读写,从而提升了读写数据的效率,后来得到VMware赞助。

Linux系统--->内存(Redis读写)---->磁盘(文件)----->连接mysql数据库----读写表

Redis提供了持久化存储的解决方案,基于这一点从众多内存缓存数据库中脱颖而出。Memcache也是存储到内存中,但是每次重启操作系统,内存中的数据会丢失

Redis 应用场景

由于Redis是基于内存存储的,所以对读写效率要求高、并且数据量小的建议使用Redis存储
例如:

  • 缓存字符串(数据量少)
  • 任务队列(订单生成)
  • 排行榜程序(sorted set有序集合)
  • 分布式环境下session存储








以上是关于初识NoSQL的主要内容,如果未能解决你的问题,请参考以下文章

初识mongodb一二三

缓存数据库初识

初识关系型数据库(SQL)与非关系型数据库(NOSQL)

初识Redis

Redis初识Redis安装Redis 和 可视化工具

初识Hbase