码迷,mamicode.com
首页 > 数据库 > 详细

Nosql and Mongodb 介绍

时间:2015-04-06 18:55:59      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:mongodb nosql

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存储大数据和元数据


Nosql and Mongodb 介绍

标签:mongodb nosql

原文地址:http://hackcrack.blog.51cto.com/6169318/1629228

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!