写给MongoDB开发者的50条建议Tip2

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

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

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

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

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

 

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

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

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

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

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

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




本文转自 virusswb 51CTO博客,原文链接:http://blog.51cto.com/virusswb/793473,如需转载请自行联系原作者

目录
相关文章
|
Rust 物联网 人机交互
一文看懂蓝牙在物联网中的应用场景
蓝牙作为一项发明于上世纪的近距离无线通信技术,在手机,电脑领域已经有了充分地基础,那么这项技术在物联网领域又会有哪些应用场景呢?
一文看懂蓝牙在物联网中的应用场景
|
Linux Windows
jupyter notebook | 远程访问服务器及更换主题
jupyter notebook | 远程访问服务器及更换主题
481 0
jupyter notebook | 远程访问服务器及更换主题
|
SQL 分布式计算 Oracle
5.DataWorks 批量生成同步任务|学习笔记
快速学习5.DataWorks 批量生成同步任务
5.DataWorks 批量生成同步任务|学习笔记
|
缓存 网络协议 关系型数据库
Linux系统安装常见报错整理大全
常见错误及解决方案,有其它的欢迎留言补充
911 0
|
网络安全 数据安全/隐私保护
|
存储 弹性计算 固态存储
给大家算一下阿里云500G服务器多少钱?
租用一个500G存储大小的云服务器一个月多少钱?只计算500G系统盘价格,如果仅仅是为了存储,对象存储OSS会更划算
1350 0
给大家算一下阿里云500G服务器多少钱?
|
SQL 弹性计算 人工智能
阿里云云防火墙评测
对阿里云云防火墙进行全面评测
2049 1
阿里云云防火墙评测
|
开发工具
如何实现app支付验签
由于同步通知和异步通知都可以作为支付完成的凭证,且异步通知支付宝一定会确保发送给商户服务端。为了简化集成流程,商户可以将同步结果仅仅作为一个支付结束的通知(忽略执行校验),实际支付是否成功,完全依赖服务端异步通知。
1298 12