NoSQL 是什么?
NoSQL 数据库(意即"不仅仅是SQL")并非表格格式,其存储数据的方式与关系表不同。NoSQL 数据库的类型因数据模型而异。主要类型包括文档、键值、宽列和图形。它们提供了灵活的模式,可以随大量数据和高用户负载而轻松扩展。
NoSQL 是什么?
人们使用“ NoSQL 数据库”一词时,通常会使用它来指代任何非关系型数据库。有人说“ NoSQL”代表“非 SQL”,而另一些人则说“不仅仅是SQL”。无论哪种方式,大多数人都认为 NoSQL 数据库是以关系表以外的格式存储数据的数据库。
一个常见的误解是 NoSQL 数据库或非关系型数据库不能很好地存储关系型数据。NoSQL 数据库可以存储关系型数据—它们与关系型数据库的存储方式不同。
实际上,[与SQL数据库相比](NoSQL Vs SQL Databases | MongoDB)许多人发现在NoSQL 数据库中对关系型数据建模比在SQL 数据库中更容易,因为不必在表之间拆分相关数据。
此外,敏捷宣言(Agile Manifesto)越来越受欢迎,软件工程师正在重新考虑他们开发软件的方式。他们认识到需要快速适应不断变化的需求。他们需要能够快速迭代并在整个软件堆栈中(一直到数据库模型)进行更改。NoSQL 数据库为他们提供了这种灵活性。
云计算也越来越流行,开发者开始使用公有云来托管其应用程序和数据。他们希望能够在多个服务器和区域之间分布数据,以使其应用程序具有弹性,可以横向扩展而不是纵向扩展以及对数据进行智能地理定位。一些 NoSQL 数据库(如 MongoDB)提供了这些功能。
NoSQL的优点/缺点
优点:
- 高可扩展性
- 分布式计算
- 低成本
- 架构的灵活性,半结构化数据
- 没有复杂的关系
缺点:
- 没有标准化
- 有限的查询功能(到目前为止)
- 最终一致是不直观的程序