freeCodeCamp/guide/chinese/computer-science/databases/non-relational-databases/index.md

28 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
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