MongoDB 概述

1 数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

1.1 分类

  • 关系型数据库 (SQL 结构化查询语言)
  • 非关系型数据库(noSQL)

1.2 常见数据库

  • MySQL (开源免费)
  • SQLServer (微软公司)
  • Oracle (甲骨文公司)
  • DB2 (IBM公司)
  • PostgreSQL (开源 免费)
  • SQLite(开源 免费)(小巧、快速、潜入)
  • MongoDB (NoSQL)
  • Redis (NoSQL)
  • Memcache (NoSQL)

1.3 数据库相关该概念

  • DB 数据库
  • DBA 数据库管理员
  • DBMS 数据库管理系统
  • DBS 数据库系统

2 NoSQL 数据库

NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

2.1 优缺点:

优点:

  • 高可扩展性
  • 分布式计算
  • 低成本
  • 架构的灵活性,半结构化数据
  • 没有复杂的关系

缺点

  • 没有标准化
  • 有限的查询功能(到目前为止)
  • 最终一致是不直观的程序

2.3 NoSQL 数据库分类

类型 代表 特点
列存储 Hbase、Cassandra、Hypertable 顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。
文档存储 MongoDB、CouchDB 文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。
key-value存储 Tokyo Cabinet / Tyrant、Berkeley DB、MemcacheDB、Redis 可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)
图存储 Neo4J、FlockDB 图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。
对象存储 db4o、Versant 通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。
xml数据库 Berkeley DB XML、BaseX 高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。

3 MongoDB 简介

MongoDB是开源,高性能的NoSQL数据库;支持索引、集群、复制和故障转移、各种语言的驱动程序丰富;高伸缩性;

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

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

shell 命令操作语法和 JavaScript 很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的。

相关网址

官网地址:http://www.mongodb.org/ github: https://github.com/mongodb/ API Docs:http://docs.mongodb.org/manual/ nodejs驱动:https://github.com/mongodb/node-mongodb-native

results matching ""

    No results matching ""