NoSQL代表: Mongo DB(芒果数据库)

分类:Mongo DB 2012-02-28 20:46 2768人阅读 评论(0) 收藏 举报

  一、MongoDB简介

MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理。(humongous:堆积如山)2011年将被记住,因为这一年SQL将死;这一年,关系数据库从一线退下;这一年开发人员发现他们没必要为了持久化数据,而将每个对象转化为表格结构。

2011年是文档数据库的一年,尽管一直在稳步发展势头,通过过去八年多的发展,现在有各种稳定的文档数据库从基于亚马逊和谷歌的云,到各种开放源码工具,尤其是MongoDB。

  那么,MongoDB是什么?这里的五件事是每个开发人员应该知道的:

  •   MongoDB是一个独立的服务器;
  •   它是基于文档的,而不是基于表格的;
  •   它是非结构化的;
  •   不必去学习另一种查询语言;
  •   它具有强大的主流开发语言支持,如 C#、C++、Java、PHP、Perl、Python、Ruby。

1、MongoDB 是一个独立的服务器

  如MySQL或PostgreSQL一样,MongoDB提供侦听端口以便接入。它提供了用于查询,创建,更新和删除的工具。从理论上讲,你使用它的工作方式与你使用MySQL或PostgreSQL的工作方式相同:连接,执行任务,并关闭连接。

  2、MongoDB是非结构化的

  MongoDB 没有结构化语言。如果你想创建一个新的文档类型,你不用做任何事来告诉数据库关于这些数据的结构,而仅仅是存到数据库中即可。

  简单的说,MongoDB使用类似JavaScript或PHP的类型处理方式。也就是说,数据库是灵活的弱类型。

  虽然有一些数据是有限制条件的(大块的数据可能需要一些明确的处理),但在大多数情况下,你可以像写PHP代码一样编写你的MongoDB代码。

  3、不必去学习另一种查询语言

  还记得这些你写的数据库抽象层吗?还记得那些你处理过的ORM层吗?现在,你可以将它们全部丢弃。在MongoDB中你不需要他们。MongoDB没有很多查询语句。在大多数情况下,只需给它一个数组指定你想要的信息,然后它会给你返回文档的数组。如果你想运行一些非常复杂的查询(如Map-Reduce操作),可以向MongoDB传递JavaScript,其内部的JavaScript引擎可以解析这个脚本。

  4、MongoDB是神速的

  开发时间也短,因为没有结构需要管理和很少(如果有的话)的数据映射。

  学习曲线很平滑,因为没有新的查询语言学习。代码是简洁的。毕竟,无须任何其他ORM,封装可以非常简单。你的代码是未来的保证。向你的对象增加更多的字段是很轻松的。因此,需求变化了,你可以很快修改代码以便适应。

  MongoDB足以让我意识到它有改变游戏规则的潜力。这也是让大家主张使用新一代的文档数据库代替基于SQL的关系数据库的原因。将关系数据库留在尘土里,更可能的是让它们做它们能做好的事情:存储属于行和表的数据。

  二、MongoDB服务器安装

  MongoDB的官方下载站是http://www.mongodb.org/downloads,可以去上面下载最新的程序下来。在下载页面可以看到,对操作系统支持很全面,OS X、Linux、Windows、Solaris都支持,而且都有各自的32位和64位版本。目前的稳定版本是1.8.1版本。

注意:

  1. MongoDB 1.8.1 Linux版要求glibc必须是2.5以上,所以需要先确认操作系统的glibc的版本,笔者最初用Linux AS 4安装不上,最后用的是RHEL5来安装才成功的;

  2. 在32位平台MongoDB不允许数据库文件(累计总和)超过2G,而64位平台没有这个限制。

  一、MongoDB简介

MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理。(humongous:堆积如山)2011年将被记住,因为这一年SQL将死;这一年,关系数据库从一线退下;这一年开发人员发现他们没必要为了持久化数据,而将每个对象转化为表格结构。

2011年是文档数据库的一年,尽管一直在稳步发展势头,通过过去八年多的发展,现在有各种稳定的文档数据库从基于亚马逊和谷歌的云,到各种开放源码工具,尤其是MongoDB。

  那么,MongoDB是什么?这里的五件事是每个开发人员应该知道的:

  •   MongoDB是一个独立的服务器;
  •   它是基于文档的,而不是基于表格的;
  •   它是非结构化的;
  •   不必去学习另一种查询语言;
  •   它具有强大的主流开发语言支持,如 C#、C++、Java、PHP、Perl、Python、Ruby。

1、MongoDB 是一个独立的服务器

  如MySQL或PostgreSQL一样,MongoDB提供侦听端口以便接入。它提供了用于查询,创建,更新和删除的工具。从理论上讲,你使用它的工作方式与你使用MySQL或PostgreSQL的工作方式相同:连接,执行任务,并关闭连接。

  2、MongoDB是非结构化的

  MongoDB 没有结构化语言。如果你想创建一个新的文档类型,你不用做任何事来告诉数据库关于这些数据的结构,而仅仅是存到数据库中即可。

  简单的说,MongoDB使用类似JavaScript或PHP的类型处理方式。也就是说,数据库是灵活的弱类型。

  虽然有一些数据是有限制条件的(大块的数据可能需要一些明确的处理),但在大多数情况下,你可以像写PHP代码一样编写你的MongoDB代码。

  3、不必去学习另一种查询语言

  还记得这些你写的数据库抽象层吗?还记得那些你处理过的ORM层吗?现在,你可以将它们全部丢弃。在MongoDB中你不需要他们。MongoDB没有很多查询语句。在大多数情况下,只需给它一个数组指定你想要的信息,然后它会给你返回文档的数组。如果你想运行一些非常复杂的查询(如Map-Reduce操作),可以向MongoDB传递JavaScript,其内部的JavaScript引擎可以解析这个脚本。

  4、MongoDB是神速的

  开发时间也短,因为没有结构需要管理和很少(如果有的话)的数据映射。

  学习曲线很平滑,因为没有新的查询语言学习。代码是简洁的。毕竟,无须任何其他ORM,封装可以非常简单。你的代码是未来的保证。向你的对象增加更多的字段是很轻松的。因此,需求变化了,你可以很快修改代码以便适应。

  MongoDB足以让我意识到它有改变游戏规则的潜力。这也是让大家主张使用新一代的文档数据库代替基于SQL的关系数据库的原因。将关系数据库留在尘土里,更可能的是让它们做它们能做好的事情:存储属于行和表的数据。

  二、MongoDB服务器安装

  MongoDB的官方下载站是http://www.mongodb.org/downloads,可以去上面下载最新的程序下来。在下载页面可以看到,对操作系统支持很全面,OS X、Linux、Windows、Solaris都支持,而且都有各自的32位和64位版本。目前的稳定版本是1.8.1版本。

注意:

  1. MongoDB 1.8.1 Linux版要求glibc必须是2.5以上,所以需要先确认操作系统的glibc的版本,笔者最初用Linux AS 4安装不上,最后用的是RHEL5来安装才成功的;

  2. 在32位平台MongoDB不允许数据库文件(累计总和)超过2G,而64位平台没有这个限制。

NoSQL代表: Mongo DB(芒果数据库) NoSQL代表: Mongo DB(芒果数据库)相关推荐

  1. Nosql复习笔记,教材《NoSQL数据库入门与实践》

    Nosql复习笔记 目录 一.NoSQL数据库的主要技术特点有以下几种. 二.单机的局限性 三.服务器的纵横扩充 四.帽子定理CAP 五.BASE:基本可用(BA). 软状态(S).最终一致性(E) ...

  2. NoSQL概述-从Mongo和Cassandra谈谈NoSQL

    分两部分介绍NoSQL - NoSQL 概览 1. RDBMS VS NoSQL 2. NoSQL 种类 3. NoSQL 的一些名词 - 结合Mongo,Cassandra谈谈NoSQL的设计和应用 ...

  3. Java面试题 非关系型数据库nosql

    四:非关系型数据库(nosql) 1:Redis (1)Redis介绍 是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持内存的NoSql数据库之一,数据结构服务器. (2)特点 ...

  4. 非关系型数据库-NoSQL(Redis)

    文章目录 一.什么是 NoSQL? 二.NoSQL 的特性? 三.什么是 Redis? 四.Redis 安装部署 4.1 下载安装包 4.2 编译安装 4.3 修改配置文件 4.4 启动服务 4.5 ...

  5. 常见的几个非关系型数据库(NoSQL)、非关系型和关系型的区别

    目录  非关系型数据库的特点 -------------------------------. 1.关系型数据库 ------------------------------------ 2. 关系型 ...

  6. 关系型数据库MySql与非关系型数据库NoSql

    云计算背后的秘密:NoSQL诞生的原因和优缺点 我本来一直觉得NoSQL其实很容易理解的,我本身也已经对NoSQL有了非常深入的研究,但是在最近准备YunTable的Chart的时候,发现NoSQL不 ...

  7. 非关系型数据库NoSQL的崛起

    非关系型数据库NoSQL的崛起 <连线>杂志网络版近日刊载文章,对NoSQL(非关系型数据库)的来源与历史进行了追溯.文章主要介绍了最古老的NoSQL数据库之一CouchDB,这种数据库的 ...

  8. 分布式数据库NoSQL(十)——初识Redis

    目录 Redis下载 第1关:6-1-1Redis中的数据结构 Redis与其他数据库的对比 Redis的特性 快速安装 Redis 与 Python(可跳过) Redis数据结构简介 启动方式 Re ...

  9. 【云计算与大数据技术】分布式数据库NoSQL中KV、列式、图、文档数据库的讲解(图文解释 超详细)

    一.NoSQL数据库概述 NoSQL泛指非关系型数据库,相对于传统关系型数据库,NoSQL有着更复杂的分类,包括KV数据库,文档数据库,列式数据库以及图数据库等等,这些类型的数据库能够更好的适应复杂类 ...

  10. 分布式数据库NoSQL(二)——MongoDB 数据库基本操作

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

最新文章

  1. tensorflow全联接层fully_connected参数解释正确的
  2. php reactphp wss_workerman的基本用法(示例详解)
  3. yum的方式安装mysql_Linux安装mysql之yum安装方式
  4. VMware迁移到OpenStack私有云要了解的那些事
  5. [Java] Overrid 方法重写
  6. python连接服务器代码_python服务器端收发请求的实现代码
  7. python列表中字典排序_python中字典排序,列表中的字典排序
  8. servlet 中 out.println(中文) 乱码 问题
  9. mysql双主数据一致性_MySQL双主一致性架构优化 | 架构师之路-阿里云开发者社区...
  10. php ip2long bug,PHP代码ip2long 循环有关问题
  11. [区块链] 拜占庭将军问题 [BFT]
  12. JAVA如何实现视频在线播放(MP4文件在线播放)
  13. 计算机 海底世界 教案,海底世界教学反思?海底世界儿童画?鱼鱼桌面海底世界...
  14. 【开源】Java身份证号码识别系统
  15. 有关NodeBB从低版本1.7.x升级到最新的1.16.x版本
  16. 3G终端变局:安卓崛起 联通高调摆脱苹果
  17. 我的梦想就是不工作,有什么错?
  18. 反向代理为何叫反向代理?
  19. 吴恩达机器学习6:模型描述
  20. BZOJ4605:崂山白花蛇草水

热门文章

  1. 金融银行软件测试超大型攻略,最受欢迎的金融银行大揭 秘附面试题
  2. ​ 每周一书《数学之美 第二版》分享!
  3. matlab牛顿法求区间根程序,MATLAB用二分法、不动点迭代法及Newton迭代(切线)法求非线性方程的根...
  4. 《数据库系统》(四) 概念数据库设计
  5. 【转帖】年轻人不讲武德=白piao接口测试知识还白piao接口测试工具会员
  6. 移动支付模式再添新军:指纹支付
  7. javaBean,pojo与EJB的区别
  8. 端智能助力西瓜视频业务实践
  9. Linux CentOS集群搭建(三台)(一)
  10. 深入拆解类加载器,这样的姿势你还不懂吗?