Go教程

MongoDB分布式存储数据库系列(一)------简介

本文主要是介绍MongoDB分布式存储数据库系列(一)------简介,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

一、 MongoDB 简介

1 什么是 MongoDB

2 什么是 NoSQL

3 NoSQL 数据库的分类

3.1 键值(Key-Value) 存储数据库

3.2 列存储数据库

3.3 文档型数据库

3.4 图形(Graph)

二、 MongoDB 与关系型数据库对比

1 与关系型数据库术语对比

 2 存储数据对比

 3 RDBMS 与 MongoDB 对应的术语

 三、 MongoDB 的数据类型


一、 MongoDB 简介


1 什么是 MongoDB


       MongoDB 是一个基于分布式文件存储的数据库。由 C++语言编写。在为 WEB 应用提供可扩展的高性能数据存储解决方案。
      MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。


2 什么是 NoSQL


       NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是 SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至 2009 年趋势越发高涨。NoSQL 的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。


3 NoSQL 数据库的分类


3.1 键值(Key-Value) 存储数据库


       这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value 模型对于 IT 系统来说的优势在于简单、易部署。但是如果 DBA 只对部分值进行查询或更新的时候,Key/value 就显得效率低下了。例如: Redis


3.2 列存储数据库


       这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:HBase。


3.3 文档型数据库


       文档型数据库的灵感是来自于 Lotus Notes 办公软件的,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如 JSON。文档型数据库可 以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如:CouchDB, MongoDB. 国内也有文档型数据库 SequoiaDB,已经开源。

3.4 图形(Graph)

       图形结构的数据库同其他行列以及刚性结构的 SQL 数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。NoSQL 数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多 NoSQL 数据库都有 REST 式的数据接口或者查询 API。如:Neo4J,InfoGrid。


二、 MongoDB 与关系型数据库对比

1 与关系型数据库术语对比

 2 存储数据对比

 3 RDBMS 与 MongoDB 对应的术语

 

 三、 MongoDB 的数据类型

 

这篇关于MongoDB分布式存储数据库系列(一)------简介的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!