`

(原创)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

分享到:
评论

相关推荐

    一种将oracle数据库内的数据导入到mongodb数据库的方法及系统.docx

    Oracle是关系型数据库管理系统(RDBMS),而MongoDB则是一个NoSQL数据库,常用于处理大规模数据分布式存储。这个方法和系统旨在解决在两种不同类型数据库间进行数据迁移的问题,特别是对于需要处理大量结构化数据的...

    MongoDB学习笔记(一) MongoDB介绍与安装方法

    一、前言 ...二、MongoDB简介  MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。

    MongoDB in Action, 2nd Edition

    MongoDB是目前广泛使用的NoSQL数据库之一,以高性能、高可用性和易扩展性著称,它采用文档存储,使得数据存储格式更灵活,特别适合于存储大量的分布式数据。 从文件信息的版权和出版信息部分,我们了解到这本书的...

    Projeto-DIO-.Net-API-MongoDB:NET API的整体结构和MongoDB集群集成了实时无服务云Mongo Atlas。 Vamos repassar brevemente os conceitosbásicosde前端,后端,bases de dados,NoSQL e MongoDB para fixar o entendimento e suua aplicabilidade

    Este projeto foi proposto pela数字创新之一-Link docódigo原创: : 教授:加布里埃尔·法拉第(Gabriel Faraday) 灵气: ://web.digitalinnovation.one/project/construindo-um-projeto-de-uma-apinet-...

    w3school mangodb教程 飞龙整理 20141001

    MongoDB 是一种流行的 NoSQL 数据库,用于处理大量非结构化和半结构化的数据。W3School 提供的 MongoDB 教程由飞龙在2014年整理,旨在帮助学习者理解和掌握 MongoDB 的基本概念和操作。 NoSQL 数据库的出现是因为...

    javasnmp源码-spring-data-mongodb-demo:SpringDataMongoDB4.0事务

    最近项目中用到了Nosql数据库mongodb和SpringMVC框架。随着项目的深入,遇到了一些困难,于是把这些困难的解决记录下来,希望以后能帮助到其他人。 技术介绍 Spring Data MongoDB Spring Data’s mission is to ...

    SpringBoot_v2.rar

    - 数据库:MySQL、Oracle、PostgreSQL等关系型数据库,也可选择MongoDB等NoSQL数据库。 - 缓存:Redis常用于缓存处理,提高数据读取速度。 - 模板引擎:Thymeleaf、FreeMarker等用于渲染HTML页面,简化视图层开发...

    基于Python的拉勾网网络爬虫设计与实现.docx

    此外,对于大量数据,使用NoSQL数据库如MongoDB可以更方便地存储和检索非结构化数据。 八、爬虫优化与维护 讨论了如何提高爬虫的效率,如使用多线程或多进程,以及如何定期运行爬虫以获取最新数据。同时,强调了...

    新版仿微信社交社区即时通讯聊天源码,带PC端及开发文档说明文档.zip

    3. **数据库设计**:存储用户信息、好友关系、聊天记录等,可能使用MySQL、MongoDB或其他NoSQL数据库,涉及数据库优化、事务处理、索引设计等。 4. **前端界面**:PC端界面设计,可能使用HTML、CSS、JavaScript,...

    网站大数据存储

    此时,NoSQL数据库如MongoDB、Cassandra等可以作为补充,它们能处理大规模的分布式数据,且无需预先定义数据模式,适合快速变化的数据结构。 描述中的"第二集 网站大数据存储.wmv"可能是一个视频教程,详细讲解了...

    韩顺平信息供求网素材+供求信息网源码(非韩顺平所写)

    3. **数据库管理**:如MySQL、SQLite或MongoDB,用于存储和检索供求信息,需要了解SQL查询和NoSQL数据模型。 4. **用户体验设计**:理解如何创建直观的用户界面和流程,使用户能够方便地发布和查找信息。 5. **...

    ThinkPHP3.2.3完全开发手册

    - **MongoDB支持**:对MongoDB的支持更加完善,增强了NoSQL数据库的操作能力。 - **模型类增强**:模型类进行了多项增强和改进,例如支持复合主键、多表操作等。 - **聚合模型扩展**:增加了聚合模型扩展功能,支持...

    TutorialsPoint 数据库教程 20160127 __

    6. **MongoDB**:是一款流行的NoSQL数据库,支持文档型数据模型,适合处理半结构化和非结构化数据。MongoDB以其灵活的数据模型和高性能闻名。 7. **Hive**:建立在Hadoop之上,为大数据处理提供了一个SQL-like接口...

    数据库调研报告.docx

    而近年来,随着大数据和云计算的发展,非关系型数据库(NoSQL)如Memcached、Redis和MongoDB等因其灵活性和高性能而备受青睐。 数据库优化是提升系统性能的关键,涉及SQL语句优化、索引优化、数据库结构优化、...

    社区论坛6.28.zip

    完全原创,无框架,个人毕设初稿demo分享,数据存储基于mongodb、neo4j、redis各自优势联合实现。app实现论坛基础功能,使用自编socket服务器实现数据服务,python数据监控端基于flask结合pyecharts报表实现实时可视...

    勇帅米表域名展示出售系统源码.zip

    可能使用SQL或NoSQL数据库,如MySQL、MongoDB等。 3. **前端技术**:构建用户界面,常用的技术有HTML、CSS、JavaScript,以及可能的前端框架如React、Vue或Angular,用于提高交互性和用户体验。 4. **后端开发**:...

    个人资源内部收集

    5. 数据库管理:了解SQL(结构化查询语言)以便于存储和检索大量数据,同时理解NoSQL数据库如MongoDB在非结构化数据处理中的应用。 6. 网络爬虫技术:包括HTTP协议、HTML解析(如BeautifulSoup或PyQuery)、CSS选择...

    自己写的模拟股票交易系统

    1. 数据库设计:存储股票信息、用户账户、交易记录等,可能使用SQL数据库如MySQL,或者NoSQL数据库如MongoDB。 2. API接口:系统可能需要与真实的股票市场数据API(如雅虎财经、Alpha Vantage等)进行交互,获取...

    w3school教程 离线pdf 飞龙整理 20150123

    7. **Mongodb**:作为NoSQL数据库的代表,MongoDB在非结构化数据处理上具有优势,虽未在描述中列出,但在现代Web开发中经常用到。 8. **Node.js**:`w3school_node.js教程&官方api文档_飞龙整理_20141026.pdf`介绍...

    厦门生活网

    这可能包括关系型数据库如MySQL,或者NoSQL数据库如MongoDB,用于存储和检索用户信息、文章内容等数据。 6. **服务器端编程**:网站的动态功能可能由服务器端语言如PHP、Python、Node.js等实现。这些语言可以处理...

Global site tag (gtag.js) - Google Analytics