写在前面

大约从2010年以来,nosql的发展可谓是风生水起,非关系型、分布式的数据库发展迅猛,开始我们知道甲骨文的Oracle,Mysql,微软的sqlServer,后来我们又知道了mongodb、redis、memcached等,前者是关系型数据库,后者是非关系型数据库(NoSQL)。

何为NoSQL?

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是 非关系型 数据库,是针对关系型数据库而言的。

NoSQL数据库的四大分类

  • 键值(Key-Value)存储数据库 ,最典型就是Redis。

  • 列存储数据库,例如apache的HBase,Facebook 用的就是它。

  • 文档型数据库,这个更不用说啦,大名鼎鼎的MongoDb。

  • 图形(Graph)数据库,望文生义吧,就是用图像表示实体与实体的关系

NOSQL的优势

  • 高扩展性
  • 高性能
  • 分布式
  • 灵活的数据模型
  • 低成本

适用的场景

NoSQL在我们实际项目中,哪些地方能用到呢?

比如:会话、配置文件、缓存、日志、分析、购物车、秒杀、队列、博客、用户中心等等。

最后

NoSQL一定比SQL好吗?

既然都是NoSQL,到底什么时候用Redis什么时候用MongoDb呢?

一句话,术业有专攻,没有好与不好,只看适不适合。