分布式文件存储的数据库——Mongodb

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 什么是mongodb MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。    MongoDB是一个介于关系数据库和 非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

什么是mongodb

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。   

MongoDB是一个介于关系数据库和 非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

mongodb的几大优势

MongoDB是面向文档的数据库,不是关系型数据库。

1、MongoDB有丰富的数据模型,基本的思路就是将原来“行”的概念换成更加灵活的“文档”模型。一条记录可以表示非常复杂的层次关系。

2、非常容易扩展。面对数据量的不断上涨,通常有两种方案,一种是购买更好的硬件,别一种是分散数据,进行分布式的扩展,前者有着非常大的缺点,因为硬件通常是有物理极限的,当达到极限以后,处理能力就不可能再进行扩展了。所以建议的方式是使用集群进行扩展。MongoDB所采用的面向文档的数据模型使其可以自动在多台服务器之间分割数据。它还可以平衡集群的数据和负载,自动重排文档。

3、丰富的功能。包括索引、存储JavaScript、聚合、固定集合、文件存储等。

4、卓越的性能。

5、方便的管理,除了启动数据库服务器之外,几乎没有什么必要的管理操作。管理集群只需要知道有新增加的节点,就会自动集成和配置新节点。

mongodb的几个基本概念

文档

文档是MongoDB中数据的基本单元,非常类似于关系数据库管理系统中的行。

文档是MongoDB的核心概念。多个键及其关联的值有序地放置在一起便是文档。

MongoDB以类JSON的格式来表示文档,例如:

{"greeting":"hello mongodb!"}

以键值形式存储,值可以是不同的类型,比如字符串,整型等。

集合

集合就是一组文档。类似于关系型数据库中的表。

我们可以使用任意的UTF-8字符串来命名集合。

为了使组织结构更好些,我们可以使用子集合。组织集合的一种惯例是使用“.”字符分开的按命名空间划分的子集合。

数据库

MongoDB中多个文档组成集合,同样多个集合可以组成数据库。一个MongoDB实例可以承载多个数据库,它们之间可视为完全独立的。

数据库名可以是任意UTF-8字符串。

除了一些规则外,有一些数据库名是保留的,不能作为数据库名,包括“admin”、“local”、"config"。

32位win7下用虚机安装64位ubuntu

如果是32位的ubuntu安装起来很顺利没什么问题,但是到了安装64位ubuntu的时候出问题了。

报错如下:

This kernel requires an x86-64 CPU, but only detected an i686 CPU.
Unable to boot - please use a kernel appropriate for your CPU.

解决办法:

先下载一个cpu-z,我下载的地址是

http://www.xiazaiba.com/html/160.html

打开并且查看一下

如果显示支持64位那么就应该是bios里边没有进行设置的原因了,重启电脑进入bios

找到 CPU ==> Intel(R) Virtualization Technology ==> 设置为 Enabled

注意:这之后要冷启动才能生效。

然后进行系统重新安装,一切正常。

启动mongodb

首先是下载和安装,下载就到mongodb的官方网站上,在baidu或者google输一下,基本上第一个就是,我的下载地址是:

http://www.mongodb.org/downloads

因为使用的是64位的ubuntu,所以下载了64-bit的mongodb,下载后解压缩。

到解压后的bin目录里执行./mongod

提示路径不存在,需要创建路径,执行mkdir -p /data/db,并授予权限。

然后重新执行./mongod,正常启动。

在浏览器中输入

http://localhost:28017

可以获得数据库的管理信息。

shell中的CRUD

当上面的启动完成之后可以就可以使用shell了,运行./mongo,出现如下界面

输入db可以看到,默认连到test库上

mongodb自带了一个JavaScript Shell,可以通过命令行与mongodb实例进行交互。

可以直接利用javascript进行交互,也可以利用javascript中的函数和标准库。

增加

假设插入一条博客的信息有标题、文章内容和日期。

也就是说插入了一个post文件到blog集合中。

查看一下是否插入成功

可以看到查询的记录,其中_id是自动加入的记录。

读取

可以使用findOne()查看其中的一个文档。
上面说到的find()是查询所有记录的意思。find和findOne都可以接受文档形式的查询条件。

更新

更新操作其实就是update函数。

新增加备注

执行更新,需要加上条件

查看结果

删除

删除就是指remove函数。

删除完文档post之后,查看blog集合已经没有相应的post文档了。

操作的明细信息

关于mongodb的明细操作在[中文版] MongoDB权威指南中都已经有了非常详细的说明,有需要的,可以到地址:

http://code.google.com/p/mycloub/downloads/list

进行下载并且深入研究。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
9天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
10天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
11天前
|
存储 NoSQL MongoDB
MongoDB 数据库引用
10月更文挑战第20天
9 1
|
19天前
|
存储 NoSQL Shell
MongoDB 创建数据库
10月更文挑战第12天
41 4
|
18天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
28天前
|
存储 开发框架 .NET
C#语言如何搭建分布式文件存储系统
C#语言如何搭建分布式文件存储系统
59 2
|
1月前
|
NoSQL MongoDB 数据库
MongoDB是一个NoSQL数据库,有着多种不同的命令和操作。以下是一些常见的MongoDB命令:
一些常用的MongoDB命令,如数据库和集合的管理、数据的插入、查询、更新、删除以及聚合操作等。
20 1
|
16天前
|
存储 NoSQL MongoDB
mongodb的数据库表怎么创建
在此过程中,理解并掌握这些基本操作,是深入探索MongoDB魅力,乃至构建高效数据解决方案的关键所在。通过实践,您将更加深刻地体会到这种随需应变的数据管理模式带来的便利与效率提升。
22 0
|
18天前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
18天前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本

热门文章

最新文章