写在前面
大约从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呢?
一句话,术业有专攻,没有好与不好,只看适不适合。