Nosql and Mongodb 介绍

前端之家收集整理的这篇文章主要介绍了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存储大数据和元数据

原文链接:https://www.f2er.com/nosql/203947.html

猜你在找的NoSQL相关文章