2
0
Fork 0
mirror of https://github.com/Vonng/ddia.git synced 2026-06-25 10:56:50 +08:00
Signed-off-by: Lihe Chen <lihe.chen@gmail.com>
This commit is contained in:
Lihe Chen 2020-11-28 21:35:41 -06:00
parent 01fa1fe6bb
commit 9239dc2715

5
ch2.md
View file

@ -230,7 +230,7 @@ CODASYL中的查询是通过利用遍历记录列和跟随访问路径表在数
文档模型有一定的局限性例如不能直接引用文档中的嵌套的项目而是需要说“用户251的位置列表中的第二项”很像分层模型中的访问路径。但是只要文件嵌套不太深这通常不是问题。 文档模型有一定的局限性例如不能直接引用文档中的嵌套的项目而是需要说“用户251的位置列表中的第二项”很像分层模型中的访问路径。但是只要文件嵌套不太深这通常不是问题。
文档数据库对连接的糟糕支持也许或也许不是一个问题这取决于应用程序。例如分析应用程可能永远不需要多对多的关系如果它使用文档数据库来记录何事发生于何时【19】。 文档数据库对连接的糟糕支持可能是个问题,也可能不是问题,这取决于应用程序。例如,分析应用程可能永远不需要多对多的关系如果它使用文档数据库来记录何事发生于何时【19】。
但是如果你的应用程序确实使用多对多关系那么文档模型就没有那么吸引人了。通过反规范化可以减少对连接的需求但是应用程序代码需要做额外的工作来保持数据的一致性。通过向数据库发出多个请求可以在应用程序代码中模拟连接但是这也将复杂性转移到应用程序中并且通常比由数据库内的专用代码执行的连接慢。在这种情况下使用文档模型会导致更复杂的应用程序代码和更差的性能【15】。 但是如果你的应用程序确实使用多对多关系那么文档模型就没有那么吸引人了。通过反规范化可以减少对连接的需求但是应用程序代码需要做额外的工作来保持数据的一致性。通过向数据库发出多个请求可以在应用程序代码中模拟连接但是这也将复杂性转移到应用程序中并且通常比由数据库内的专用代码执行的连接慢。在这种情况下使用文档模型会导致更复杂的应用程序代码和更差的性能【15】。
@ -413,7 +413,7 @@ for (var i = 0; i < liElements.length; i++) {
在Web浏览器中使用声明式CSS样式比使用JavaScript命令式地操作样式要好得多。类似地在数据库中使用像SQL这样的声明式查询语言比使用命令式查询API要好得多[^vi]。 在Web浏览器中使用声明式CSS样式比使用JavaScript命令式地操作样式要好得多。类似地在数据库中使用像SQL这样的声明式查询语言比使用命令式查询API要好得多[^vi]。
[^vi]: vi IMS和CODASYL都使用命令式API。应用程序通常使用COBOL代码遍历数据库中的记录一次一条记录【2,16】。 [^vi]: vi IMS和CODASYL都使用命令式API。应用程序通常使用COBOL代码遍历数据库中的记录一次一条记录【2,16】。
### MapReduce查询 ### MapReduce查询
@ -1043,4 +1043,3 @@ Cypher和SPARQL使用SELECT立即跳转但是Datalog一次只进行一小步
| 上一章 | 目录 | 下一章 | | 上一章 | 目录 | 下一章 |
| -------------------------------------------- | ------------------------------- | ---------------------------- | | -------------------------------------------- | ------------------------------- | ---------------------------- |
| [第一章:可靠性、可伸缩性、可维护性](ch1.md) | [设计数据密集型应用](README.md) | [第三章:存储与检索](ch3.md) | | [第一章:可靠性、可伸缩性、可维护性](ch1.md) | [设计数据密集型应用](README.md) | [第三章:存储与检索](ch3.md) |