MongoDB
来源:互联网 发布:如何看待微商 知乎 编辑:程序博客网 时间:2024/05/19 17:51
背景
开始时只有很少的数据,一台服务器就可以了。然后就得建立备份,以便应对大量的读取和不时的宕机。用不了多长时间,就得加一个缓存层,调整所有的查询,投入更多的硬件。
最后,你会发现自己需要将数据切分到多个集群中,并重新构建大量的应用逻辑以适应这种切分。之后不久,你又会发现被自己数月前设计的数据库结构限制住了。
这是应为集群中大量的数据需要更改模式,会花费很长时间,也需要DBA投入相当多的宝贵时间。在代码中处理要简单一些,但也需要小型开发团队数月的努力。
为了应对现在Web应用的数据膨胀,开源社区像以往一样提供了太多的“好方法”。从内存中的键值型存储到可以使用SQL的MySQL/InnoDB变种等复杂方法。
MongoDB在功能和复杂性之间取得了很好的平衡,并且将原先十分复杂的任务大大简化。也就是说,它具备支撑今天主流Web应用的关键功能:索引、复制、分片、丰富的查询语法,特别灵活的数据模型。与此同时还不牺牲速度。
下载
mongodb:https://www.mongodb.org/
配置&启动
systemLog: destination: file path: "D:/MongoDB/log/mongodb.log" logAppend: truenet: bindIp: 127.0.0.1 port: 27017storage: dbPath: "D:/MongoDB/data"
/bin/mongod.exe --config mongodb.conf
停止
最基本的方法就是向MongoDB服务器发送一个SIGINT或者SIGTERM信号。如果服务器是作为前台进程运行在终端的,就直接按Ctrl-C。否则,就用kill这种命令发出型号。如果mongod的PID是10014,就可以kill -2 10014 (SIGINT)或者kill 10014 (SIGTERM)。
千万不要向运行中的MongoDB发送SIGKIILL(kill -9)。这样会导致数据库直接关闭,上面讲到的步骤都将被忽略,这会使数据文件损毁。要是真的发生了不幸,一定要在启动备份之前修复数据库。
当mongod收到时,会稳妥退出。也就是说会等到当前运行的操作或者文件预分配完成,关闭所有打开的连接,将缓存的数据刷新的磁盘,最后停止。
另一种稳妥的方式就是使用shutdown命令,{“shutdown”:1}。这是管理命令,要在admin数据库下使用。
GridFS
GridFS是一种在MongoDB中存储大二进制文件的机制。使用GridFS存文件有如下几个原因。
- 利用GridFS可以简化需求。要是已经用了MongoDB, GridFS就可以不需要使用独立文件存储架构。
- GridFS会直接利用已建立的复制或分片机制,所以对于文件存储来说故障恢复和扩展很容易。
- GridFS可以避免用于存储用户上传内容的文件系统出现的某些问题。例如,GridFS在同一目录下放置大量的文件是没有任何问题的。
- GridFS不产生磁盘碎片,因为MongoDB分配数据文件空间时以2GB为一块。
- Mongodb
- MongoDB
- mongodb
- mongodb
- mongodb
- MongoDB
- mongodb
- MongoDB
- MongoDb
- mongodb
- MongoDB
- mongodb
- mongodb
- MongoDB
- MongoDB
- mongoDB
- MongoDB
- MongoDB
- 几何画板中该怎样添加链接
- 欢迎使用CSDN-markdown编辑器
- 使用AWS TCO Calculator 比较运维费用
- 什么是顶尖的互联网产品经理
- JNI DETECTED ERROR IN APPLICATION解决记录
- MongoDB
- 拒绝游戏!发愤图强!
- HDU 3117 Fibonacci Numbers(斐波那契数列通项+矩阵快速幂)
- 关于iOS中的懒加载
- 读书人生
- Mac环境下svn的使用
- android ndk 入门学习2
- 解决在Cygwin中使用Repo报 decode UTF-8的问题
- 数据库中第一范式,第二范式,第三范式