`
xmong
  • 浏览: 261705 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
Mongodb


目录
1 MONGODB简介 1
1.1 NOSQL简介 1
1.2 MONGODB简介 2
1.3 MONGODB特性 2
1.4 MONGODB使用场景 2
2 MONGODB安装 2
2.1 WINDOWS平台安装 2
2.2 LINUX平台安装 3



1 Mongodb简介
1.1 NoSQL简介
NoSQL(Not Only Sql)指的是非关系型数据库。这类数据库主要有这些特点非关系型的,分布式的,开源的,水平扩展的,为大规模数据扩展应用而生。
当今传统的数据库在应对大型web的大数据规模和高并发动态数据已经显得力不从心,为此客服以下困难诞生了NoSQL数据库。
1, High performance 对数据库高并发读写的需求
Web2.0网站要根据用户个性化信息来实现生成动态页面和提供动态信息,所以无法使用动态页面静态化技术,因此数据并发负载非常高,往往达到没秒上万次读写,关系型数据库应对上次万次查询还能勉强顶住,但是应对上万次sql写数据库请求,就磁盘IO已经无法承受了,其实面对一些BBS网站,往往也存在对高并发写的需要。
2, Hug Storage 对海量数据库的高效率存储和访问的需求
对于大型web网站,每天会产生海量的用户动态信息,如微博,Friend feed等。一个月就能达到上亿条用户动态信息,对关系数据库来说在上亿条数据表中sql查询,效率是极其低下至不可忍受的。
3, High Scalability && High Avaliability 对数据的高扩展性和高可用性的需求
在web架构中,数据库最难的是进行横向扩展,当一个应用系统的用户量和访问量与日俱增的时候,数据库没发想web server和app server那样简单的添加更多的硬件和服务节点来扩展性能和负载能力。特别是对大型的数据库网站来说,数据结构经常发生改变,对书库系统进行升级和扩展非常痛苦,往往需要停机维护和数据迁移,可是对于24小时服务的应用系统,停机随之带来的就是公司收入的减少。
从上面的三高可以看到关系型数据库对应用系统面对难以克服的困难,同时关系型数据库很多主要的特性往往也是无用武之地的,如:
1, 数据库事务一致性需求
很多web系统并不要严格的数据库事务,对读一致性的要求很低,有些场合对写一致性的要求也不高,因此数据库事务管理成了数据库高负载的一个负担。
2, 数据库写实时和读实时性需求
对于关系数据库来说,插入一条数据之后立刻查询,是肯定可以读出这条数据的,但是对于很多web应用来说,并不是要求这么高的实时性。
3, 对复杂的sql查询和多表关联查询的需求
任何大数据web系统,都非常忌讳多个大表关联查询,要避免这些问题,可从产品设计角度来避免这种情况的产生,所以往往很多系统功能都是单表的主键查询,sql的功能被极大的弱化了。
NoSQL数据库打破了长久以来关系型数据库与ACID理论大统一的局面,NoSQL数据库不需要固定的表结构,通常也不操作连接操作,在大数据存取上具备关系型数库无法比拟的性能优势。

1.2 Mongodb简介
MongoDB是一种强大,灵活,可扩展的基于分布式文件存储的NoSQL数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案,官网地址:http://www.mongodb.org。
MongoDB是一中介于关系数据库和非关系数据库之间的产品,它扩展了关系型数据库的众多有用功能,如索引,范围查询,排序等功能,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。它便于使用,对于开发者来说是非常友好的。它是一个面向集合,模式自由的文档型数据库。

1.3 Mongodb特性
(1) 文档是Mongodb中数据的基本单元,类似关系型数据库中的行。每个文档都有一个特殊的键“_id”,它在文档所处的集合中是唯一的。
(2) 集合是一组文档的集合,类似关系型数据库中的表,但集合是无模式的,这就意味着一个集合里面的文档可以使格式各样的。
(3) Mongodb的单个实例可以有多个独立的数据库,每个数据库都有自己的集合和权限。
(4) Mongodb自带非常简洁但功能强大的JavaScript shell,可以通过这个shell工具对mongodb数据库进行管理和操作数据库。
1.4 Mongodb使用场景

2 Mongodb安装
MongoDB的官网下载Mongodb安装包(http://www.mongodb.org/downloads),mongodb对各种操作系统支持很全面,如windows、linux、OS X、Solaris都支持,而且都有各自的32位和64位版本。目前比较新版本是2.0版本。可以根据不同操作系统下载不同版本的mongodb安装包。
版本选择:偶数的版本号是稳定版,奇数是开发版。

2.1 Windows平台安装
(1)下载mongodb安装包:选择windows版本的mongodb-win32-i386-2.0.6.zip下载。
(2)解压安装:将安装包mongodb-win32-i386-2.0.6.zip拷贝到c:\目录下解压可得mongodb文件包。
(3)设置数据目录:Mongodb默认使用c:\data\db作为数据目录(用于存放数据文件)。当然我们也可以自己创建一个自己定义的数据目录。如果用的不是默认数据目录,则启动时需要指定数据库目录。
(4)启动mongodb数据库:打开命令提示cmd,进入mongodb解压目录中,执行:
$ bin\mongod

如果数据目录用的不是c:\data\db,那么启动时需要指出--dbpath参数值为数据目录。
$ bin\mongod –-dbpath=c:\db

更多启动先参数可以用mongod  --help查看所有选项。
(5)客户端连接:新打开一个命令提示cmd,进入到mongodb安装目录c:\mongodb,执行:
$ bin\mongo
		MongoDB shell version2.0.6
		Connecting to: test
		>

Mongodb默认连接数据库为test。默认服务端口为27017。

2.2 Linux平台安装
(1)下载mongodb安装包:选择linux版本的mongodb-linux-i686-2.0.6.tgz下载。
(2)解压安装:将安装包mongodb-linux-i686-2.0.6.tgz拷贝到/apps目录下解压可得mongodb文件包。
(3)设置数据目录:Mongodb默认使用/data/db作为数据目录(用于存放数据文件)。当然我们也可以自己创建一个自己定义的数据目录。如果用的不是默认数据目录,则启动时需要指定数据库目录。
(4)启动mongodb数据库:进入mongodb解压安装目录中,执行:
$ bin/mongod

如果数据目录用的不是/data/db,那么启动时需要指出--dbpath参数值为数据目录。
$ bin/mongod –-dbpath=/db

更多启动先参数可以用mongod  --help查看所有选项。
(5)客户端连接:新打开一个会话,进入到mongodb安装目录c:\mongodb,执行:
$ bin/mongo
		MongoDB shell version2.0.6
		Connecting to: test
		>




**********************

未完待续

参考:
mongodb权威指南
mongodb实战




分享到:
评论

相关推荐

    Linux安装mongodb客户端

    sudo vim /etc/yum.repos.d/mongodb-org-4.2.repo 写入: [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpg...

    mongodb-测试数据

    MongoDB是一种流行的开源、分布式文档数据库,常被用于构建高性能、可扩展的应用程序。这个“mongodb-测试数据”压缩包显然包含了一些用于测试MongoDB功能的样例数据集,特别是针对增、删、改、查(CRUD)操作的学习...

    linux安装mongodb教程

    /usr/local/mongodb/mongodb-linux-2.0.7/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/mongodb-linux-2.0.7/logs/mongodb.log --logappend --port=27017 --fork 知识点 6:配置...

    spring-data使用mongodbTemplate对MongoDB进行读写操作

    Spring Data MongoDB是一个强大的Java库,它为开发人员提供了一种简单的方式来访问和操作MongoDB数据库。这个库是Spring Data框架的一部分,旨在简化数据访问层的实现,尤其在使用NoSQL数据库如MongoDB时。MongoDB...

    MongoDB实验 - .docx

    MongoDB 实验报告 本实验报告旨在详细介绍 MongoDB 的安装、配置和基本操作步骤,本报告基于 CentOS 7 系统,通过一步一步的截图和文字说明,帮助读者快速掌握 MongoDB 的使用。 一、安装 MongoDB 首先,我们需要...

    mongodb c#驱动最新驱动mongodb.driver.dll 版本2.12.0-beta1

    MongoDB 是一个流行的开源、基于分布式文件存储的数据库系统,主要设计用于处理大量数据的分布式环境。C# 驱动是 MongoDB 提供的一种客户端库,允许 .NET 开发者与 MongoDB 数据库进行交互。标题提到的是 MongoDB 的...

    MongoDB之conf配置文件详解

    MongoDB之conf配置文件详解 MongoDB的配置文件是服务器的核心组件之一,它控制着MongoDB服务器的各种设置和行为。在本文中,我们将详细介绍MongoDB的配置文件的各个部分,并解释每个设置的作用和意义。 一、数据库...

    geoserver发布mongodb矢量数据地图服务.docx

    Geoserver发布MongoDB矢量数据地图服务 Geoserver是一款功能强大且开源的地理信息系统(GIS)服务器,能够实现空间数据的存储、处理和发布。MongoDB是一款NoSQL数据库,能够存储大量的矢量数据。本文将介绍如何使用...

    mongodb.dll 下载.zip

    MongoDB是一个开源、分布式、高性能的NoSQL数据库,以其灵活性、可扩展性和高可用性而闻名。`mongodb.dll`是MongoDB数据库系统在Windows平台上运行所必需的一个动态链接库(DLL)文件,它包含了MongoDB客户端和...

    MongoDB应用设计模式

    资源名称:MongoDB应用设计模式内容简介:无论是在构建社交媒体网站,还是在开发一个仅在内部使用的企业应用程序,《MongoDB应用设计模式》展示了MongoDB需要解决的商业问题之间的连接。你将学到如何把MongoDB设计...

    MongoDB(mongodb-org-server_5.0.4_amd64.deb)

    MongoDB Community Server(mongodb-org-server_5.0.4_amd64.deb)适用于适用于Debian10 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是...

    MongoDB4.2.21 Linux版本安装包

    MongoDB是一款高性能、无模式的分布式文档型数据库,被广泛应用于大数据分析、内容管理系统、物联网(IoT)、实时应用程序和地理位置数据存储等场景。在Linux环境下安装MongoDB 4.2.21版本,是许多系统管理员和开发者...

    MongoDB Community(mongodb-linux-aarch64-ubuntu1804-5.0.8.tgz)

    MongoDB Community Server(mongodb-linux-aarch64-ubuntu1804-5.0.8.tgz)适用于Ubuntu 18.04 Arm芯片, MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决...

    mongodb数据库jar包

    MongoDB是一个流行的开源、分布式文档型数据库,设计用于处理大量数据并提供高可用性和高性能。在Java应用程序中,为了与MongoDB进行交互,我们需要使用Java MongoDB驱动程序。这个压缩包包含的就是Java连接MongoDB...

    Mongodb for Ubuntu 18.04 ARM 64

    MongoDB 是一个流行的开源文档型数据库,被广泛用于存储、管理和检索非结构化或半结构化数据。在本文中,我们将深入探讨如何在基于ARM架构的Ubuntu 18.04系统上安装和使用MongoDB。 一、ARM架构与Ubuntu 18.04 ARM...

    windows mongodb 32位

    MongoDB是一款开源、高性能、无模式的文档型数据库,广泛应用于大数据存储、实时分析和现代应用程序开发。在Windows操作系统上,特别是32位系统中,MongoDB提供了支持,以满足那些仍在使用32位系统的用户需求。...

    MongoDB Days 2015 深圳 PPT 共享

    MongoDB是一种分布式文档数据库,以其灵活性、高性能和可伸缩性而闻名,尤其适用于处理大量半结构化和非结构化数据。MongoDB Day 2015 深圳活动显然是一个专门针对MongoDB技术的研讨会或会议,旨在深入探讨和分享...

    mongodb Windows7 64位

    MongoDB是一款开源、高性能、无模式的文档型数据库,它在现代应用程序开发中扮演着重要的角色,特别是在处理大量非结构化数据时。针对"mongodb Windows7 64位"这个主题,我们将深入探讨MongoDB在Windows 7 64位操作...

    Windows-MongoDB-4.4.1-x64.zip

    MongoDB是一款开源、分布式文档数据库系统,以其高性能、高可用性、易扩展性和丰富的功能而备受开发者喜爱。在Windows平台上,MongoDB提供了针对64位操作系统的版本,以充分利用硬件资源,提供更好的性能表现。本篇...

Global site tag (gtag.js) - Google Analytics