(原创)MongoDB之NoSQL简介

Nosql简介
1.1系统对数据的需求
        Nosql[Nosql主要用途大数据处理]的全称为”not only sql”,为非关系型数据库[非关系型数据库就是关系型数据库的所有特点都没有了,主外键,约束也没有了,sql语句也没有了。]。这类数据库的主要特点是:
非关系型、分布式、开源的、水平可扩展的。Nosql最典型的应用为key-value存储。Nosql的最主要的用途是大数据的处理,这个问题在传统的关系型数据库中有严重的系统瓶颈,而nosql的诞生很好的解决了这个问题。
传统的数据库在应付web2.0网站,特别是超大规模和高并发的网站的时候,暴漏出了很多的问题。

1、High performance (对数据库高并发读写的需求)
       因为web2.0的网站要根据用户的需求实时生成动态页面和提供动态的信息,所以基本上不能使用页面缓存的技术。因此数据库的并发负载特别高。所以要应付上万次并发的读写请求,传统数据库就有点力不从心了。
2、High Storage (对海量数据的高效存储和访问需求)
      对于一些大型的网站,每天都要产生海量的信息,以国外的fack book为例,每个月就要达到2.4亿条数据,对于关系型数据库来说,一张表存储2.5亿条数据,然后再对其查询,其效率是极其低下的。
 3、High Scalability&&High Availability (高扩展性和高可用性需求)
       在一个web结构中,数据库是很难横向扩展的。当一个系统的用户量和访 问量增长特别大的时候,你没有办法像web service那样通过简单的添加硬 件和服务节点来扩展性能和负载能力。往往要进行数据迁移,这个事情对
于很多DBA来说是比较痛苦的。
1.2关系型数据库的缺点
       1、对于海量数据,关系型数据库对于实时性这点来说是很难做到的,如果想做到,必须增加数据库服务器,而数据库服务器有很多文件,例如:控制文件、数据文件、日志文件等。特别是控制文件的结构特别复杂,增加服务器就涉及到备份数据库,这个工作将是很庞大的。而且有的时候,需要涉及到添加硬件。这就需要消耗大量的资金。
       2、关系型数据库一次读取,需要消耗很多资源。例如:先打通数据库的连接,再开启会话,然后发送请求即sql语句。数据库内部解析SQL语句也是一个比较复杂的过程。如果碰到一次性大批量的数据的读写要求,这对关系型数据库是很难做到效率比较高的。
1.3Nosql特点
      可以处理超大量的数据,可以运行在p机上,查询过程中不会产生Sql,可以减少解析sql的环节,并且NoSql开源。MongoDB都不用装,就是一个文件夹,拷贝即可。NoSQL的事物支持的很弱。
       1、可以处理超大数量的数据
       2、可以运行在便宜的PC上,成本比较低
       3、在查询的过程中,没有了sql语句,所以减少了数据库解析sql语句的环节,这个环节没有了,大大的提升了系统的性能。
       4、Nosql的产品都是开源的。我们可以清楚的了解最底层的事情。[开源东西没有商业保证,这也就是NoSQL的区别。Hadoop最大应用就是互联网市场。]

注:没有事务的回滚机制,容易丢失数据。

转载请注明:http://www.xujin.org或http://www.virgocloud.com

时间: 2024-10-10 15:45:06

(原创)MongoDB之NoSQL简介的相关文章

Nosql简介 Redis,Memchche,MongoDb的区别

本篇文章主要介绍Nosql的一些东西,以及Nosql中比较火的三个数据库Redis.Memchache.MongoDb和他们之间的区别.以下是本文章的阅读目录 一.Nosql介绍 1.Nosql简介 2.Nosql的特点和关系型数据库的区别 3.Redis,Memcache,MongoDb的特点与区别 4.参考文章 Nosql介绍 Nosql的全称是Not Only Sql,这个概念早起就有人提出,在09年的时候比较火.Nosql指的是非关系型数据库,而我们常用的都是关系型数据库.就像我们常用的

MongoDB之TextSearch简介

MongoDB之TextSearch简介  MongoDB支持对文本内容执行文本搜索操作,其提供了索引text index和查询操作$text来完成文本搜索功能.下面我们通过一个简单的例子来体验一下MongoDB提供的全文检索功能. 1.新建blogs collection,并插入如下的document. db.blogs.insert({_id:1,title:"MongoDB text search",content:"this is a simple MongoDB t

[原创]MongoDB综合实例一

CentOS-6.5单机实现mongoDB分片 环境:1)CentOS 6.5系统      2)IP:本机3)MongoDB:MongoDB-linux-x86_64-2.6.1 实现:两个副本集shard(shard-a和shard-b),每个副本集shard配置三个实例(主,从和仲裁),三个config server实例和一个mongos路由.最终通过mongos写入的数据均匀分布在两个shard中. 1.安装好CentOS 6.5并配置好IP地址,然后配置/etc/hosts文件,添加本

NoSQL简介

这里介绍一下现在常用的NoSQL以及各自的特点.NoSQL是2009年突然发展起来的,现在趋于稳定的状态,市场上也有了一些比较成熟的产品. 传统的关系型数据库为了保证通用性的设计而带来了功能复杂.性能开销大.价格昂贵等问题,在NoSQL中都或多或少的得到了解决.NoSQL避免了一些不需要的复杂性,有更高的吞吐量,具有高并发的特点,也具备在商用硬件上的水平拓展能力. 不仅如此,NoSQL也实现了大表的自动分割功能,能够更好的支持分布式处理,在性能和可靠性之间折中,这是满足现在云计算中提到的从中心模

mongodb 、nosql、 redis、 memcached 是什么?

mongodb 是一个基于文档的数据库,所有数据是从磁盘上进行读写的.MongoDB善长的是对无模式JSON数据的查询.而Redis是一个基于内存的键值数据库,它由C语言实现的,与Nginx/ NodeJS工作原理近似,同样以单线程异步的方式工作,先读写内存再异步同步到磁盘,读写速度上比MongoDB有巨大的提升.因此目前很多超高并发的网站/应用都使用Redis做缓存层,普遍认为其性能明显好于MemoryCache.当并发达到一定程度时,即可考虑使用Redis来缓存数据和持久化Session.

MongoDB安装和简介

前面我们把nodejs的web开发入门说了,现在来说说数据库,一般搭配的数据库是mysql和mongodb,今天我们来说mongodb MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个高性能,开源,无模式的文档型数据库,官方给自己的定义是Key-value存储(高性能和高扩展)和传统RDBMS(丰富的查询和功能)之间的一座桥梁. 下面说安装 下载地址:MongoDB的官网是:http://www.mong

[转载] NoSQL简介

摘自“百度百科”. NoSQL,泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展.NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题. 虽然NoSQL流行语火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动.尽管早期的堆栈代码只能算是一种实

爬虫入门【8】Python连接MongoDB的用法简介

MongoDB的连接和数据存取 MongoDB是一种跨平台,面向文档的NoSQL数据库,提供高性能,高可用性并且易于扩展. 包含数据库,集合,文档等几个重要概念. 我们在这里不介绍MongoDB的特点和用法了,感兴趣的可以查一下官方文档. 在此重点介绍如何使用python连接MongoDB,并通过PyMongo操作MongoDB数据库. 这里默认MongoDB已经安装好啦,安装教程可以参考: http://www.yiibai.com/mongodb/mongodb_environment.ht

python 基础 10.0 nosql 简介--redis 连接池及管道

一. NOSQL 数据库简介 NoSQL 泛指非关系型的数据库.非关系型数据库与关系型数据库的差别 非关系型数据库的优势: 1.性能NOSQL 是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL 层的解析,所以性能非常高. 2.可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展. 关系型数据库的优势: 1. 复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询. 2.事务支持使得对于安全性能很高的数据访问要求得以实现.对于这两类数据