Why NoSQL?
NoSQL 是为了解决RDBMS的3大问题:
1、可扩展性:比如跨不同机器对数据进行分区的能力。
2、提高性能:在某些情况下,RDBMS的性能比较低。
3、固定的Schema:RDBMS有很多好处(参照完整性,关系,触发器等等),但是强迫你把所有数据存储在一个固定的模式下(Schema)。
基本来说有几种不同类型的NoSQL数据库:
1、Key-Value:如Scalaris, Tokio Cabinet, Voldemort;
store data in key/value pairs: very efficient for performance and higly scalable, but difficult to query and to implement real world problems
2、Tabular:如Cassandra, Hbase, Hypertable, Google Bigtable;
store data in tabular structures, but columns may vary in time and each row may have only a subset of the columns
3、Document-Oriented:如CouchDb, MongoDb, Riak, Amazon SimpleDb;
like Key/Value but they let you nest more values for a key. This is a nice paradigm for programmers as it becomes easy, specially with script languages (Python, Ruby, PHP...), to implement a one to one mapping relation between the code objects and the objects (documents) in the database
4、Graph:如Neo4J, InfoGrid, AllegroGraph;
stores objects and relationships in nodes and edges of a graph. For situations that fit this model, like hierarchical data, this solution can be much much faster than the other ones.
MongoDb is a document oriented NoSQL database. With such a database it is very easy to map the programming objects (documents) we want to store to the database. JSON is a very viable standard to do this mapping, and so MongoDb does: it stores JSON documents in the database.
To makes performance better JSON is stored by MongoDb in a efficient binary format called BSON. BSON is a binary serialization of JSON-like documents and stands for Binary JSON.
http://www.rackspace.com/blog/nosql-ecosystem/
转载于:https://www.cnblogs.com/winson/p/3270104.html
Why NoSQL?相关推荐
- SQL与NoSQL的区别 以MySQL与MongoDB为例
异同对比 1.语言和结构层面 SQL数据库,是基于表的,并且用结构化语言也就是SQL来定义和操纵数据.一方面,这是非常强大的:SQL是最通用和最广泛使用的选项之一,使其成为一个安全的选择,尤其适用于复 ...
- NOSQL图形数据库 - Neo4j
Neo4j入门指南 1.简介 2.特点 3.安装 4.基础操作 5.Java集成 5.1 内嵌数据库集成方式 5.2 服务器集成方式 5.3 Spring集成方式 参考文档 1.简介 Neo4j是一个 ...
- Cassandra 1.2 发布,NoSQL 数据库
NoSQL 数据库 Cassandra 发布 1.2 正式版,该版本包含 CQL3,这是在 2012年4月发布的 1.1 版本中引入的.CQL 是一个 Cassandra 的建模和查询语言,类似关系数 ...
- MongoDB(3)--有关NoSQL及MongoDB的一些概念
学习任何东西在没有理解的前提下去背熟一些概念是没有用的,就像只背会了几个概念而没有理解的开发人员去面试是经不住面试官的追问的.前面的两篇对MongoDB做了简单的介绍,能够很快上手,对MongoDB有 ...
- java 连nosql_浅谈 Java 中 MongoDB NoSQL数据库使用指南
MongoDB是当今非常流行的一款NoSQL数据库,本文介绍如何使用MongoDB的Java驱动来操作MongoDB. 一.引入MongoDB Java Driver包 如果需要操作MongoDB的J ...
- MySQL下的NoSQL解决方案HandlerSocket
目前使用MySQL的网站,多半同时使用Memcache作为键值缓存.虽然这样的架构极其流行,有众多成功的案例,但过于依赖Memcache,无形中让Memcache成为故障的根源: Memcache数据 ...
- Redis初学:1(NoSQL的简介和Redis的安装)
什么是NoSQL NoSQL数据库意即:Not Only SQL 不仅仅是SQL,它区别于传统的关系型数据库,储存方式按照的是key-value的形式存储数据,这个我们可以联想到我们以前学过的Hash ...
- nosql mysql mongodb_关于NoSQL之MongoDB的一些总结
NoSQL已经流行了很长一段时间,那么究竟是什么场景下你才更需要用到这些"新兴事物",就比如MongoDB?下面是一些总结: 你期望一个更高的写负载 默认情况下,对比事务安全,Mo ...
- 企业级nosql数据库应用与实战-redis
企业级nosql数据库应用与实战-redis 项目场景: 随着互联网2.0时代的发展,越来越多的公司更加注重用户体验和互动,这些公司的平台上会出现越来越多方便用户操作和选择的新功能,如优惠券发放.抢红 ...
- NoSQL数据库探讨 - 为什么要用非关系数据库?
源地址:http://robbin.javaeye.com/blog/524977 随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速.而传 ...
最新文章
- OpenCV DNN支持的对象检测模型
- 怎么把series变为datamate_如何把时间序列问题转化为监督学习问题?通俗易懂的 Python 教程...
- python之常见报错整理
- 计算机错误2 找不到指定文件,无法执行目录中的文件 错误2系统找不到指定文件怎么办?...
- SpringCloud服务安全连接
- FeignClient调用服务及上传文件的注意点及问题
- IDEA 搭建 SpringBoot + Maven + Oracle + Hibernate 项目框架
- 交互式反汇编器专业版IDA Pro的一点介绍
- java编译时绑定_为什么Java在编译时绑定变量?
- 编程机器人考级证书有用吗_机器人编程有等级考试吗?
- 在BAE tomcat环境下实现讯飞TTS在线文字转语音
- 如何实现向APP推送消息
- 【前端进阶】-TypeScript类型声明文件详解及使用说明
- linux命令启动搜狗输入法,Linux下的搜狗拼音输入法
- android多渠道打包流程,Android 多渠道打包总结
- Cloudera Manager安装之利用parcels方式安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(CentOS6.5)(五)...
- android ios 微信 备份通讯录备份通讯录备份通讯录备份,微信通讯录备份在哪里?新版微信怎么备份通讯录?...
- 【星海出品】Horizon安装
- 百题突击12:1,SVM算法的优缺点 2,SVM的超参数C如何调节 3,SVM的核函数如何选择 4,简述SVM硬间隔推导过程 5,简述SVM软间隔推导过程
- 一幅漫画告诉你:NB-IoT背后,大家都在说的LoRa是啥?
热门文章
- HDU Problem - 5971 Wrestling Match(染色)
- CMake基础 第5节 安装项目
- 说说C语言运算符的“优先级”与“结合性”
- crontab定时任务运行
- [精选代码笔记]Anagram, group-anagrams, two sum
- C++ list::splice()用法
- HLS—AXI4-Lite Interface
- oracle中ocr和asm的关系,迁移OCR和VotingDisk并删除原ASM磁盘组
- 5G NR QCL准共址详解
- SpringBoot Cache操作