2019独角兽企业重金招聘Python工程师标准>>>

转自:http://blog.dufei.cc/index.php/archives/25/

NOSQL最近成为了一个炙手可热的话题(作者发表在2012年,话说对于现在来说,NOSQL已经如火如荼了)。大规模架构的web服务开发中对于高扩展性和半结构化数据的要求推动着数据库往NOSQL方向转变。最近几年已经有了不少NOSQL数据库解决方案。我在过去的blog中(不是我的blog,作者blog挺卡的)已经介绍过基于分布式系统理论的NOSQL,同时也介绍了一些挺好的产品,比如CouchDB和CassanDra/HBase。

上周五,我非常幸运的在一个技术会议上见到了10gen的Jared Rosoff。我们俩对于MongoDB的技术架构做了一些探讨,我觉得我们聊得东西挺有价值的,所以在这里贴出来分享给大家。

首先MongoDb的易用性和底层架构的易懂性让我非常吃惊。下面是一些简单的管理命令--开启和关闭MongoDb server。

  1. #安装MongoDB
  2. mkdir /data/lib
  3. #开启 server
  4. .../bin/mongod #这个时候数据就存储在了/data/db那
  5. #开启命令行shell
  6. ..../bin/mongo
  7. >show dbs
  8. >show collections
  9. #删除collection(删除表)
  10. >db.person.drop()
  11. #通过命令行shell关闭mongod server
  12. >use admin
  13. >db.shutdownServer()

译者注:其实启动mongod可以用 -f conf.txt这种模式启动,启动的参数放到conf.txt中比如

#配置启动参数conf.txt dbpath=....my_work_space/mongodb01/dbs logpath=...my_work_space/mongodb01/logs/mongod.log bind_ip=127.0.0.1 directoryperdb=true port=10001 mongodb01/bin/mongod -f conf.txt

相对于关系型数据库的主要不同点

mongodb相对于关系型数据库的主要不同点如下:

  • 不同与关系型数据库的数据扁平化数据格式(2维的数据格式),mongodb的表(collection)是可以嵌套的,是多维的。也就是说mongodb的表里面可以嵌套子表、数组、哈希表等。
  • 不同于关系型数据库中存储在表中的数据必须是全部格式统一,mongodb的collection可以插入任意格式的数据。
  • mongodb查询没有join操作。鼓励不墨守成规的组织数据,保持数据一致性的重任交给了程序员。
  • mongodb没有事物(transaction)这一说。原子性只保持在了document(可以理解为一行)级别。也就是说不可能出现更新一行的时候更新不完整的情况。
  • mongodb没有隔离(isolation),client端读取的任何数据都有可能已经被并行的client修改过了。

通过去除掉这些传统关系型数据库支持的特性后,mongodb可以更轻量级、更灵活的完成大数据处理。

查询处理

mongodb属于一种面向文档的数据库。在查询处理模块中,数据被组织成了JSON文档,nd()

转载于:https://my.oschina.net/fffddgx/blog/395378

[翻译]MongoDb 架构(MongoDb Architecture)相关推荐

  1. 原文翻译 - 设计MongoDB架构的6条经验法则 - 6 Rules of Thumb for MongoDB Schema Design: Part 1

    原文作者: William Zola, Lead Technical Support Engineer at MongoDB 原文链接 "虽然我有很多SQL的经验,但是对于MongoDB,我 ...

  2. MongoDB架构图解

    MongoDB架构图解 本文图片来自Ricky Ho的博文MongoDB构架(MongoDB Architecture),这是个一听就感觉很宽泛的话题,但是作者在文章中确实对MongoDB由内至外的架 ...

  3. 编译器架构Compiler Architecture(上)

    编译器架构Compiler Architecture(上) 编译器是程序,通常是非常大的程序.它们几乎都有一个基于翻译分析综合模型的结构. CONTENTS Overview • Compiler C ...

  4. 安装MongoDB Install MongoDB on Ubuntu

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和 非关系数据库之间的产品,是非关系数据库当中 ...

  5. 【翻译论文】An Architecture Combining Convolutional Neural Network (CNN) and Support Vector Machine (SVM)

    [翻译论文]An Architecture Combining Convolutional Neural Network (CNN) and Support Vector Machine (SVM) ...

  6. 已解决(MongoDB安装报错)Service ‘MongoDB Server (MongoDB)’ (MongoDB) failed tostart. Verify that you have su

    成功解决(MongoDB安装报错):Service 'MongoDB Server (MongoDB)' (MongoDB) failed tostart. Verify that you have ...

  7. mongodb 服务器性能监控,mongodb监控 | mongodb数据库监控 - ManageEngine Applications Manager...

    MongoDB监控 MongoDB是否一个非关系型数据库,用来快速开发并支持大量数据处理和存储.非关系型数据库,例如MongoDB和Cassandra,可以让应用没有限制的使用,极大地扩展了业务架构的 ...

  8. MongoDB和MongoDB云数据库浅谈

    MongoDB的特点和适用场景 实用性 MongoDB是一个面向文档的数据库,它并不是关系型数据库,直接存取BSON,这意味着MongoDB更加灵活,因为可以在文档中直接插入数组之类的复杂数据类型,并 ...

  9. 【MongoDB】MongoDB备份恢复与集群搭建方案

    MongoDB持久化与集群搭建实例 一.mongoDB备份与恢复 1.1 mongodump命令来备份数据 1.2 MongoDB数据恢复 二.集群搭建 2.1 机制 2.2 架构 2.3 搭建步骤 ...

  10. 编译器架构Compiler Architecture(下)

    编译器架构Compiler Architecture(下) Combining Scanning and Parsing 实际上没有必要将扫描(词法分析/标记化)与解析(语法分析/树生成)分开.基于P ...

最新文章

  1. MATLAB 2014a (8.3) Compiler Runtime (MCR)
  2. 精通python爬虫框架-精通Python爬虫框架Scrapy.pdf
  3. 操作系统 综合应用题知识点更新【章节考试重点(进程同步、处理机调度与死锁、存储管理、设备管理、文件管理)】
  4. hbase 学习(十三)集群间备份原理
  5. 关于在node.js 中使用formData 发送axios上传文件失败解决方案
  6. 创业者眼中的小程序:某个岗位工资会翻番
  7. HDOJ 1753 明朝A+B
  8. 9月安卓机性能榜单公布:华为未进前十,第一名有点意外
  9. 命令行打印二维码-pyqrcode
  10. mysql如果中途报错则_Mysql的下载安装全过程(包括中途遇到的问题)
  11. Hdoj 1065题解
  12. word交叉引用自动编排word参考文献
  13. 日常塑料用品有哪些种类?
  14. c语言中文件指针概念,C语言文件的概念和文件指针
  15. 在Blender中使用代码控制人物模型的头部姿态 - 代码实践Dlib版本
  16. 读《软件测试经典教程》有感
  17. 嵌入式软件工程师笔试面试指南-网络编程
  18. NISP一级学习笔记(1~9章知识点集合大全)
  19. magento 404
  20. 电路板损坏导致电脑识别不到硬盘怎么恢复

热门文章

  1. angular的路由
  2. 温泉关一役历史资料(电影:斯巴达300勇士)
  3. 元组tuple类型内置方法
  4. Ubuntu14.04 + Text-Detection-with-FRCN(CPU)
  5. ID3 Algorithm for Decision Trees
  6. PCM数据格式(转)
  7. C++学习点滴(多次调用同一个类)
  8. python多久能上手_小白学习Python,怎样能够快速入门上手
  9. ubuntu系统写路由指令_ubuntu/linux下设置永久路由
  10. linux内核模块签名,如何签名内核模块Ubuntu 18.04