Nosql and Mongodb 介绍
Nosql兴起的背景: 1)web2.0兴起(高交互性),传统的关系型数据库为了保证“通用性”的设计而带来 了功能复杂,性能开销大,和价格昂贵的问题。 2)避免不必要的复杂性 3)更高的吞吐量和高并发 4)在商用硬件上的水平扩展能力 5)Nosql实现大表自动切割,更有利于支持分布式处理 6)在性能和安全方面做了折中(有时不需要sql的很高的安全性) 7)云计算的需求(从中心模式转到分布模式) 各种主流Nosql数据库: 1)memcached数据库:memcached数据库的成功,带动了Nosql运动的热潮 特点: 1)它是一个存储键值对儿的hashmap 2)高性能的分布式内存缓存服务器,常驻内存,用于动态web应用,以减轻 数据库负载 3)客户端通过memcached协议与守护进程(daemon)通信 4)缺乏认证与安全控制(所以应该部署于防火墙的内部) 5 )基于libevent的事件处理机制(http://baike.haosou.com/doc/1037929- 1097798.html) 6 )不互相通信的分布式(服务器之间不互相通信) 2)redis数据库:是一个key-value存储系统,和memcached类似 1 )运行速度异常快 2)数据都缓存在内存中,它是有硬盘支持的内存数据库 3)支持Master-slave复制(主从复制) 4)支持多种数据类型 如string(字符串),list(链表),set(集合),zset(有序 集合) 5)支持pop/push机制,允许用户实现消息机制 3)neo4j数据库:它是基于关系的图型数据库 1)访问协议:http/rest 2)可独立使用,或嵌入到java程序中使用 3)图型的节点和边都可以带有元数据 4)使用多种方法支持路径搜索 5)使用键值和关系进行索引 6)为读操作进行优化 7)支持事务,企业版还支持在线备份和安全性及监控 4)Cassandra数据库:非关系型的混合型的数据库,类似于google的 bigtable( 基于列的)数据库 1)由java语言开发 2 )写操作比读操作更快 3)分布式,基于column的结构 4)用户:facebook 5)Hbase数据库:Hadoop database 是google的bigtable数据库的开源实现 1)是分布式的,列式的数据库 2)Hbase利用Hadoop的HDFS作为文件系统,利用Hadoop Mapreduce 来处理Hbase中的海量数据 3)采用分布式架构Map/reduce 4)协议:http/rest,同时支持thirft 5)适用于大数据 6)Mongodb数据库: 1)社区非常活跃,文档丰富,由10gen公司商业支持,持续性有保障 2)所用语言:c++ 3)保存了sql的某些优良特性(索引,查寻……) 4)协议:Custom,binary(Bson) 5)支持Master/slave复制(支持自动错误回复,使用sets复制) 7)内建分片机制 8)支持javascript表达式查询,在服务器端可以执行任意js函数 9)数据存储采用内存到文件的映射 10)在32位操作系统上,数据库大小限制在2.5G以内,64位系统无限制 11)空数据库大约占192M 12) 采用GridFS存储大数据和元数据 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- [Red5]Red5之Flash流媒体服务器的安装与使用教程完整版(组图
- 我可以在Heroku上的5 MB PostgreSQL中存储多少条记录?
- TI之TMS320F28XX DSP介绍[PCB布线EMI/EMC注意点
- Ajax请求Session超时的解决办法:拦截器 + 封装jquery的pos
- AS3文本输入框限制输入:12个字符或6个中文(中英文夹杂)
- 正则表达式同时匹配中英文_,还控制长度
- c# – 绘制位图的最快方法?
- iphone – 从钥匙串访问导出公共密钥
- swift – Firestore:如何在集合中获取随机文档
- c# – 即使使用ConfigureAwait,也会在WebAPI死锁中同步调用