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

时间:14-11-07 栏目:大数据 作者:爱说云网 评论:0 点击: 2,119 次

 一、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位平台没有这个限制。

相关文章

谷歌技术”三宝”之BigTable — 大数据云计算时代...
views 1871
2006年的OSDI有两篇google的论文,分别 是BigTable和Chubby。Chubby是一个分布式锁服务,基于Paxos算法;BigTable是一个用于管理结构化数据的分布式存储系统, 构建在GFS、Chubby、SSTable等google技术之上。相当多的google应用使用了Big...
国家信息化建设背景下的云计算
views 1998
今年年初,中央成立互联网安全及信息化领导小组,由习近平总书记担任组长。这表明,网络安全和信息化是事关国家安全和国家发展、事关广大人民群众工作生活的重大战略问题。在9月17日「2014全球云计算大会?中国站」召开之际,本文就信息概念的内涵、信息化的意义、网络安全的重要性还有云计算的历史机遇,来说说信息...
谁在用阿里云?云计算用户须知10个问题...
views 1938
云计算喊了好几年了,笔者很好奇,到底什么样的用户在使用,以及这些用户在采购和使用云计算时是基于一种怎样的场景、需求和心态?   根据工信部电信研究院在其《云计算白皮书》(2014)中披露的统计数据。在全球排名前50万的网站中,约有2%采用了公共云服务,其中80%的网站采用了亚马逊和Rackspace...
Docker入门教程:15个Docker进阶命令
views 2741
在之前的文章中,我们介绍了15个Docker命令,并分享了它们的使用经验。在这篇文章中,我们将学习另外的15个Docker命令。它们分别是: daemon: Docker daemon是一个用于管理容器的后台进程。一般情况下,守护进程是一个长期运行的用来处理请求的进程服务。-d参数用于运行后台进程。...
iCloud云端的图片和文档依然不安全
views 1759
在今年9月闹得沸沸扬扬的好莱坞明星不雅照片的流出让我们意识到苹果的iCloud云端服务可能并不如我们想象中的那么安全,为防止黑客窃取用户隐私,苹果宣布采用双因素验证系统进一步提升安全级别。不过俄罗斯软件公司 ElcomSoft 近日宣布升级版 Phone Breaker 软件能够绕过苹果的这层安全屏...
云计算时代需要怎样的IT运维?
views 1626
 在这个数据为王的时代里,每个人每天都会创造出大量的数据活跃在互联网上。在企业内部也是一样,当大量的生产和经营数据集中在数据中心,一旦人们与数据中心因为IT故障而失去联系,停滞的也许不是个人应用受阻这样简单的后果。 东华软件网络技术事业部技术总监 曹荣海 在云计算的大环境下,相比于之前无论是IT运维...
云计算时代 业务性能管理是关键
views 1412
随着云计算、大数据、移动和社交四大技术的发展,网络也成为人们工作和生活不可或缺的一部分,如今的网络,已经不单是一个支撑平台,而是让我们的工作和生活融为一体。而用户对运维要求的提升,带来了更加明确的网络分析需求,如何提高复杂网络系统的运行状态、行为的可视性,则是保证系统能够持续、高效、安全运行的关...
IBM搭上Docker的顺风车
views 1525
IBM希望超越云主要竞争对手亚马逊和微软,并与Docker建立了长期的合作。 IBM与Docker这两家公司将努力加快创建新一代应用程序,既可以运行在本地,也可以在混合云环境下运行。 该次合作要求IBM和Docker公司共同开发集成和分布式应用,主要针对使用新Docker Hub Enterpris...

声明: 本文由( 爱说云网 )原创编译,转载请保留链接: NoSQL代表: Mongo DB(芒果数据库)

NoSQL代表: Mongo DB(芒果数据库):等您坐沙发呢!

发表评论


读者排行