NoSQL 数据库简介

什么是 NoSQL 数据库

NoSQL(Not Only SQL,不仅仅是SQL)泛指非关系型的数据库。它是为了解决大规模数据集合以及多种数据类型带来的问题,尤其是大数据应用难题。NoSQL 数据库并没有一个统一的架构,各有所长。

关系型数据库 VS NoSQL 数据库

NoSQL 数据库是一类数据库的统称(如键值存储型,文档型,列存储型等等)。

关系数据库
  • 优势:以完善的关系代数理论作为基础,有严格的标准,支持事务 ACID 属性,借助索引机制可以实现高效的查询,技术成熟,有专业公司的技术支持.
  • 劣势:可扩展性较差,无法较好支持海量数据存储,无法满足数据高并发的需求
NoSQL 数据库
  • 优势:可以支持超大规模数据存储,灵活的数据模型可以很好地支持 Web2.0 应用,具有强大的横向扩展能力等.
  • 劣势:缺乏数学理论基础,复杂查询性能不高,大都不能实现事务强一致性,很难实现数据完整性,技术尚不成熟,缺乏专业团队的技术支持,维护较困难等
结论

关系数据库和 NoSQL 数据库各有优缺点,彼此无法取代

关系数据库应用场景:电信、银行等领域的关键业务系统,需要保证强事务一致性

NoSQL 数据库应用场景:互联网企业、传统企业的非关键业务(比如数据分析)

八种常见的 NoSQL 数据库
  • Redis
  • MongeDB
  • HBase
  • Membase
  • Neo4j
  • Cassandra
  • CouchDB
  • Riak
NoSQL 数据库的四大分类
  • 键值(Key-Value)存储数据库
    • 应用场景:内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。
    • 优点:查找速度快。这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。如:Redis,Oracle BDB.
  • 列存储数据库
    • 应用场景:分布式的文件系统,应对分布式存储的海量数据。
    • 优点:查找速度快,可扩展性强,更容易进行分布式扩展。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如: HBase, Riak, Cassandra,
  • 文档型数据库
    • 应用场景:Web 应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)。
    • 优点:数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构。文档型数据库可以看作是键值数据库的升级版,而且比键值数据库的查询效率更高。如:MongoDB ,CouchDB,国内也有文档型数据库 SequoiaDB,已经开源。
  • 图形(Graph)数据库
    • 应用场景:社交网络,推荐系统等。专注于构建关系图谱。
    • 优点:利用图结构相关算法。比如最短路径寻址,N度关系查找等。使用灵活的图形模型,并且能够扩展到多个服务器上。
posted @ 2021-11-08 19:09  追こするれい的人  阅读(284)  评论(0编辑  收藏  举报