28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
|
---
|
|||
|
title: Non-Relational-Databases
|
|||
|
localeTitle: 非关系型的数据库
|
|||
|
---
|
|||
|
## 何时使用
|
|||
|
|
|||
|
如果您正在处理非常大量的数据,则可能过于繁琐,并且错误的概率(以ORM阻抗不匹配问题的形式)会增加。在这种情况下,您可能需要考虑使用非关系数据库。非关系数据库仅存储数据而没有显式和结构化机制来将来自不同表(或桶)的数据链接到彼此。如果您的数据模型非常复杂,或者您发现自己不得不对数据库模式进行反规范化,那么非关系数据库可能是最佳方法。
|
|||
|
|
|||
|
选择非关系数据库的其他原因包括:
|
|||
|
|
|||
|
* 需要在JSON对象中存储序列化数组
|
|||
|
* 将记录存储在具有不同字段或属性的同一集合中
|
|||
|
* 发现自己对数据库模式进行了规范化,或者围绕性能和水平可伸缩性问题进行编码
|
|||
|
* 由于数据模型的性质,很容易预先定义架构
|
|||
|
|
|||
|
## 缺点
|
|||
|
|
|||
|
在非关系数据库中,没有像关系数据库那样的连接。这意味着您需要执行多个查询并在代码中手动加入数据 - 这可能会非常难看,非常快。
|
|||
|
|
|||
|
## 示例数据库
|
|||
|
|
|||
|
* MongoDB的
|
|||
|
* NoSQL的
|
|||
|
|
|||
|
## 参考
|
|||
|
|
|||
|
* (https://www.pluralsight.com/blog/software-development/relational-non-relational-databases)
|
|||
|
* (https://en.wikipedia.org/wiki/NoSQL)
|