MongoDB入门系列之科普篇

目录
背景
最近公司扩展了很多国外客户,那么一个很严重的问题就是翻译,对于国外客户来说,肯定看不懂中文,那就要项目中提供切换各自国家语言的功能。
由于每个项目都是各自写自己的翻译,所以这块比较混乱。对于公司来说,肯定是希望能写一个中间件,提供翻译功能,以供其他项目使用。这样一来,大家都方便,而且还可以统一管理翻译模块。那么,我们组就临危受命,接下了这个任务。
每个项目中的界面上的文案或提示信息是调用翻译中心,而具体的查询信息是由各自项目自己来存储的。
第一件事情要考虑数据层面的就是,数据库应该如何选择。第一个需求是,项目中的文案或提示信息数不胜数,而且他们是通过JSON来存放的。第二个需求是数据之间没有任何关系,比如项目1存放的数据和项目2存放的数据没有关系。
基于上面两点,我们放弃了传统的关系型数据库,选择了NOSQl数据库中的文档存储——MongoDB。
对比
那我们来对比一下关系型数据库和MongoDB的差别:
| 关系型数据库 | MongoDB |
| 数据量太多,易造成性能瓶颈 | 速度超快 |
| 表之间存在关系,需要各种连接查询 | 表之间没有关系 |
| 需要定义表结构再使用 | 没有表结构 |
| 表中数据必须一致 | 随便是什么数据 |
MongoDB是什么?

MongoDB并非芒果的意思,而是源于 Humongous(巨大)一词。意为可以存储海量数据。
MongoDB的数据存储格式
MongoDB使用的是JSON文档来存储记录,filed-value的配对关系。空说没概念,咱直接上图。

MongoDB入门系列之科普篇的更多相关文章
- MongoDB入门系列(一):基础概念和安装
概述 MongoDB是目前非常流行的一种非关系型数据库,作为入门系列的第一篇本篇文章主要介绍Mongdb的基础概念知识包括命名规则.数据类型.功能以及安装等. 环境: OS:Windows Versi ...
- MongoDB入门系列(二):Insert、Update、Delete、Drop
概述 本章节介绍Insert.Update.Delete.Drop操作基本语法. 环境: Version:3.4 insert insert()基本语法如下: db.collection.insert ...
- MongoDB入门系列(三):查询(SELECT)
一.概述 mongodb是最接近关系型数据库的NOSQL数据库,它的存储方式非常的灵活:以至于你会将它看成是一个经过冗余过的关系型数据库的表,这也是Mongodb原子性的一个特征.由于没有关系型数据库 ...
- MongoDB入门系列(四):权限管理
一.概述 本篇文章主要介绍如何创建用户和角色相关概念,同时对角色的添加和删除做了相关介绍. 版本:3.6.2 二.角色相关概念 1.数据库用户角色 read:该角色拥有数据的只读权限,系统集合以及sy ...
- MongoDB入门系列:复制机制
一.复制原理 MongoDB的复制功能是使用操作日志oplog实现的,oplog包含主节点(Master)的每一次写操作,oplog是local本地数据库中的一个数据集合,其它非主节点(Seconda ...
- k8s入门系列之介绍篇
•Kubernetes介绍1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境2.什么是ku ...
- SpringBoot入门系列:第一篇 Hello World
跟随SpringBoot的文档(http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-d ...
- c#入门系列——番外篇:vs的安装与使用
vs的安装 1.安装条件 vs全称visual studio 它是一个开发平台,不仅可以用于c#开发,别的也可以.安装vs前,首先需要一个安装包.安装包可以在网上下载.没有购买版权的 ...
- k8s 入门系列之介绍篇
•Kubernetes介绍1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境2.什么是ku ...
随机推荐
- 单页面应用的History路由模式express后端中间件配合
这篇文章主要分享一下通过HTML5的history API的时候,使用NodeJS后端应该如何配置,来避免产生404的问题,这里是使用的express的框架,主要是通过connect-history- ...
- Windows Server 2008 R2
Windows Server 2008 R2 Windows Server Core 微软因为向往 Linux 的纯命令行, 提出了 Windows Server Core 只能使用命令, 但是只要配 ...
- C 扩展对闭包特性的支持
今日听说某君批评 C 语言说它[输入一个参数返回一个函数]很困难. 例如在 Python 中,你可以 def addn(n): def addx(x): return n + x return add ...
- CF #535 (Div. 3) E2 Array and Segments (Hard version) 利用线段树进行区间转移
传送门 题意: 有m个区间,n个a[ i ] , 选择若干个区间,使得整个数组中的最大值和最小值的差值最小.n<=1e5,m<=300; 思路: 可以知道每个i,如果一个区间包含这个 ...
- Treap + 无旋转Treap 学习笔记
普通的Treap模板 今天自己实现成功 /* * @Author: chenkexing * @Date: 2019-08-02 20:30:39 * @Last Modified by: chenk ...
- BZOJ2655 Calc - dp 拉格朗日插值法
BZOJ2655 Calc 参考 题意: 给定n,m,mod,问在对mod取模的背景下,从[1,m]中选出n个数相乘可以得到的总和为多少. 思路: 首先可以发现dp方程 ,假定dp[m][n]表示从[ ...
- LuoGu-P1122 最大子树和+树形dp入门
传送门 题意:在一个树上,每个加点都有一个值,求最大的子树和. 思路:据说是树形dp入门. 用dfs,跑一边,回溯的时候求和,若和为负数,则减掉,下次不记录这个节点. #include <ios ...
- CF988D Points and Powers of Two 数学结论题 规律 第十题
Points and Powers of Two time limit per test 4 seconds memory limit per test 256 megabytes input sta ...
- [HNOI2002]沙漠寻宝 题解
一道大模拟 代码 #include <cstdio> #include <iostream> #include <cstring> #include <str ...
- 201871010134-周英杰《面向对象程序设计(java)》第一周学习总结
项目 内容 java https://www.cnblogs.com/nwnu-daizh/ 任课老师博客下 https://www.cnblogs.com/nwnu-daizh/p/11435127 ...