本系列文章翻译自《50 Tips and Tricks for MongoDB Developers》,暂时没有找到中文版,反正自己最近也在深入学习mongodb,所以正好拿来翻译一下。一方面加强自己学习的效果,另一方面让大 家也一起来体验一下需要我们这些mongodb使用者需要注意的地方。

首先声明自己的英文水平不是太高,加之有些英文翻译成中文也找不到合适的词来表达,所以在文章中可能会出现英文原词,或者说有些地方的翻译会有些生 硬,也就是说会出现直译的地方。翻译该书的主要目的是为大家学习探讨用的,如果有翻译不精准的地方,或者说有更加精准的翻译,还请大家指出,我会及时的更 正的,在此先谢过各位了。

Tip#2.Normalize if you need to future-proof data

如果你想你的数据为不会过时的技术服务的话,请使用引用式结构

 

如果你的数据为不同的应用所使用,还需要满足将来不同的查询方式,请选择引用式结构。

假设你有一些数据,一个应用接着一个应用的,都需要访问它,年复一年都会使用这些数据。肯定会有一些这样的数据,但是大多数人的数据都是不断进化的,旧的数据可能会被更新也可能会被放弃。大多数人都想自己的数据库对现在做的事情进行查询得到时候,运行的尽可能快,如果将来需要改变这些查询,他们将会因为新的查询优化数据库。

如果应用很成功,里面的数据肯定会是应用特定的。这不是说这些数据不会被其他的应用使用,通常,最少需要进行元数据的分析。

其实也很好理解,因为mongodb只是负责存储你的数据,显示这些数据肯定要用一种编程语言。

语言可能是面向对象的,可能是面向过程的,也可能是面向其他的,语言的种类比较多,而且将来会出现语言说不好。

而且有的语言可以很好的理解mongodb的潜入式结构,但有一些可能不能理解,但是只保留一个引用这种方式,几乎所有语言都可以理解,至少你可以自己写点代码来支持一下,如果你想使得语言无关,而且有可能使用各种语言编码,还需要支持将来的语言,那么你就需要选择引用式的结构。