Nosql数据库

2020/11/10

NOSQL数据库

NoSQL最常见的解释是“non-relational”, “Not Only SQL”也被很多人接受。NoSQL仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性。

特点

  • 易扩展 由于不保证关系型特征,数据之间无关系,容易扩展
  • 大数据量,高性能 NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单
  • 灵活的数据模型 NoSQL无须事先为要存储的数据建立字段,随时可以存储自定义的数据格式。
  • 高可用 复制模型

分类

分类 Examples举例 典型应用场景 数据模型 优点 缺点
键值(key-value) Redis 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 Key 指向 Value 的键值对,通常用hash table来实现 查找速度快 数据无结构化,通常只被当作字符串或者二进制数据
列存储数据库 HBase 分布式的文件系统 以列簇式存储,将同一列数据存在一起 查找速度快,可扩展性强,更容易进行分布式扩展 功能相对局限
文档型数据库 MongoDb Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容) Key-Value对应的键值对,Value为结构化数据 数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构 查询性能不高,而且缺乏统一的查询语法。
图形(Graph)数据库 Neo4J, InfoGrid, Infinite Graph 社交网络,推荐系统等。专注于构建关系图谱 图结构 利用图结构相关算法。比如最短路径寻址,N度关系查找等 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。

适用场景

NoSQL数据库在以下的这几种情况下比较适用

1、需要灵活性的数据模型;

2、对数据库性能要求较高;

3、不需要高度的数据一致性;

4、对于给定key,比较容易映射复杂值的环境。

Redis Memcached 的区别

Redis 和 Memcached 的区别在哪里?

参考

https://baike.baidu.com/item/NoSQL/8828247?fr=aladdin

出口电商+跨境物流技术挑战:MongoDB应用实例

mongoDB在互联网金融的应用

Post Directory