#第二条 要使你的数据面向未来,那么就对数据进行规范化(Normalize if you need to future-proof data)
“面向未来的规范的数据”就是指在未来,不同的应用程序能够以各种不同的方式对规范化过的数据进行查询。
这就假定了你有一些数据集合是要被许多应用程序年复一年的使用,有些数据集合是像这样的,但大多数人的数据是不断发展变化的,一些旧的数据会被更新或是丢弃。大多数的人都希望自己现在的查询能够尽可能的快速高效,但是如果他们在将来改变这些查询,他们将要为新的查询去优化数据库。
另外,如果一个应用很成功,其数据集往往变得非常特定于应用程序。这并不是说该数据集不能被应用于多个应用程序,通常你会考虑在其上做“荟萃分析”(meta-analysis)。但是这很难等同于“面向未来”所追求的“在10年内人们可以做任何他们想要的查询”。
#我的评注:
其实这里的“规范化(Normalization)”并不是指关系型数据库中的"规范化"。这里的规范化其实指的是“reference objects in a different collection”。就是使用我们“#第一条“中的引用。
读完这条我有些云里雾里,所以查阅了一些资料,StackOverflow上有一则关于MongoDB Normalization的问答让我高清了一些问题:
http://stackoverflow.com/questions/5841681/mongodb-normalization-foreign-key-and-joining-question
分享到:
相关推荐
《MongoDB developers》 原书高清版本,希望你喜欢
在这样的背景下,提升MongoDB开发者的效率就显得尤为关键。 周李洋(E叔)作为MongoDB Master和Teambition运维总监,以及MongoDB上海用户会联合发起人,在实际工作中积累了大量的经验和最佳实践,他指出,要提升...
MongoDB.Bson.dll 文件是 Bson(Binary JSON)的实现,Bson 是一种二进制形式的 JSON,它提供了更高效的数据序列化和反序列化机制,是 MongoDB 内部数据交换的主要格式。 mongodb.driver.core.dll 是驱动的核心组件...
在《50个技巧与窍门:MongoDB开发者指南》这本书中,作者Kristina Chodorow为MongoDB开发者提供了丰富的经验和建议。MongoDB是一种非常流行的NoSQL数据库系统,以其灵活性和高性能著称。本书分为五个章节,每个章节...
2. 硬件:尽管MongoDB可以在各种硬件配置上运行,但为了获得最佳性能,建议至少有足够的内存来容纳数据库工作集,并且硬盘应具备良好的I/O性能,SSD是更好的选择。 3. 软件:对于Linux,确保系统已安装必要的库(如...
MongoDB开发者指南是一份全面的参考手册,涵盖了MongoDB的各个方面,适合所有级别的开发者阅读。 ### **32. 锁定在Mongo中的应用(Locking in Mongo)** 这部分内容进一步探讨了锁定在MongoDB中的具体实现和使用...
在4.2版本中,MongoDB引入了一些重要的改进和新特性,为开发者提供了更多功能和优化。 1. **多文档事务**:MongoDB 4.2引入了对多文档ACID(原子性、一致性、隔离性和持久性)事务的支持,这意味着用户可以在一个...
总体来说,MongoDB权威指南第二版是一本非常实用的参考书,适合数据库管理员、开发者以及对MongoDB感兴趣的任何读者。本书不仅提供了关于MongoDB的基本知识,而且对高级主题进行了深入的讲解,覆盖了从安装、配置到...
2. **运行安装向导**:双击这个`.msi`文件,按照安装向导的步骤进行操作,选择合适的安装路径,通常建议选择默认路径,即`C:\Program Files\MongoDB`。 3. **配置环境变量**:安装完成后,你需要将MongoDB的bin目录...
在Linux环境下安装MongoDB 4.2.21版本,是许多系统管理员和开发者的常见任务。本篇将详细介绍在Linux上安装MongoDB 4.2.21的步骤,以及相关的知识点。 首先,我们需要了解MongoDB的体系结构。MongoDB由以下几个核心...
MongoDB是一款开源、高性能、无模式的文档型数据库,广泛应用于大数据存储、实时分析和现代应用...然而,对于大型、内存密集型的应用,建议升级到64位系统并使用64位版本的MongoDB以获得更好的性能和更大的内存容量。
Spring Data MongoDB 是一个项目,它将 Spring 框架的核心概念应用于使用 MongoDB 文档样式数据存储的解决方案开发中。...为了进一步了解 Spring Data MongoDB,建议阅读官方文档,学习其详细的功能和最佳实践。
1. 文档型数据模型:MongoDB使用BSON(Binary JSON)格式存储数据,这是一种轻量级的二进制数据格式,包含JSON-like文档,允许嵌套结构和数组,非常适合处理复杂的数据结构。 2. 模式自由:与传统的关系型数据库...
然后,你需要将MongoDB服务器的二进制文件解压到合适的位置,并设置环境变量以指向MongoDB的可执行文件。接下来,将PHP的MongoDB扩展添加到PHP的扩展目录,并在php.ini配置文件中启用该扩展。重启你的Web服务器,就...
MongoDB是一种流行的开源、分布式文档型数据库,以其灵活性、高性能和易用性而备受开发者青睐。作为NoSQL数据库的一种,它存储数据的方式不同于传统的表结构,而是采用键值对、文档、集合的形式。MongoDB的官方中文...
- **Mongo Database Administration**:提供了关于MongoDB数据库管理的一系列建议和最佳实践。 - **Mongo Concepts and Terminology**:解释了MongoDB中的一些关键概念和术语,有助于理解其核心架构。 #### 十、...
1. **下载**: MongoDB的Linux二进制发行版可以在官方网站上找到,但由于网络原因,你可能会遇到下载速度较慢的问题。在这种情况下,你可以通过wget命令直接从提供的压缩包文件`mongodb-linux-x86_64-4.0.6`进行下载...