4 个解决方案
#1
Redis 是Key/Value 类数据库,追求的是速度,优点就是快。缺点是...除了快其他基本上都是短处。
Mongo 是文档类数据库,追求的是通用,优点是万金油,各种支持也比较好,缺点是,大部分性能指标在NoSQL中比较差。
还有宽表类的Cassandra也比较主流,比较适合超大规模的数据的场景。
Mongo 是文档类数据库,追求的是通用,优点是万金油,各种支持也比较好,缺点是,大部分性能指标在NoSQL中比较差。
还有宽表类的Cassandra也比较主流,比较适合超大规模的数据的场景。
#2
各个数据库本质的区别还是在于他本身所属的数据库类型。
Redis是一个key/value内存式数据库,它的用途主要就是在高性能访问的时候。但是一般来说key/value 数据库因为数据模型简单,所以更多时候被看做是一个键值存储引擎,而不是拥有强大计算能力的数据库引擎。因此key/value数据库在简单的高性能数据 模型的场景下很实用,但是当业务逻辑越来越复杂的时候就会凸显其劣势了。 所以Redis的优点是速度快,简单,容易维护,支持多种数据结构。缺点是不提供数据可靠性保障,支持的功能也比较少。扩容,负载均衡,高可用方便也有明显的不足
文档类数据库一般讲算是最接近关系型数据库的NoSQL。他的优点是功能丰富,数据类型灵活,各个性能特性都比较平衡。代表就是 mongoDB, Mongo的优势就功能和驱动类型丰富,使用起来比较简便,但缺点是性能在同类中比价低。像国产的 Sequoiadb也是文档类的Nosql数据库,相比较虽然Sequoiadb在社区活跃度和驱动类型中稍逊与Mongo,但是 性能指标上就完爆Mongo了,也完全继承了文档类数据库的各种优势。最近听说要开源,可能以后社区活跃度和也就上去了。
宽表类里比较有代表性的有 HBase,就像楼上说的,宽表类的应用场景就是超大规模数据。所以 HBase就和Hadoop结合紧密,支持HDFS储存,性能也不错,缺点就是比较复杂,不管是维护还是开发都比较困难,很多操作都需要手工鞋MapReduce。如果没有超大数据规模,使用HBase的代价就太高了。
其实还有个图形类,应用场景比较特殊,比较适合社交网络之类的应用,不适合其他场景。
Redis是一个key/value内存式数据库,它的用途主要就是在高性能访问的时候。但是一般来说key/value 数据库因为数据模型简单,所以更多时候被看做是一个键值存储引擎,而不是拥有强大计算能力的数据库引擎。因此key/value数据库在简单的高性能数据 模型的场景下很实用,但是当业务逻辑越来越复杂的时候就会凸显其劣势了。 所以Redis的优点是速度快,简单,容易维护,支持多种数据结构。缺点是不提供数据可靠性保障,支持的功能也比较少。扩容,负载均衡,高可用方便也有明显的不足
文档类数据库一般讲算是最接近关系型数据库的NoSQL。他的优点是功能丰富,数据类型灵活,各个性能特性都比较平衡。代表就是 mongoDB, Mongo的优势就功能和驱动类型丰富,使用起来比较简便,但缺点是性能在同类中比价低。像国产的 Sequoiadb也是文档类的Nosql数据库,相比较虽然Sequoiadb在社区活跃度和驱动类型中稍逊与Mongo,但是 性能指标上就完爆Mongo了,也完全继承了文档类数据库的各种优势。最近听说要开源,可能以后社区活跃度和也就上去了。
宽表类里比较有代表性的有 HBase,就像楼上说的,宽表类的应用场景就是超大规模数据。所以 HBase就和Hadoop结合紧密,支持HDFS储存,性能也不错,缺点就是比较复杂,不管是维护还是开发都比较困难,很多操作都需要手工鞋MapReduce。如果没有超大数据规模,使用HBase的代价就太高了。
其实还有个图形类,应用场景比较特殊,比较适合社交网络之类的应用,不适合其他场景。
#3
这里面说的比较清楚有条理
http://www.csdn.net/article/2011-06-10/299526
http://www.csdn.net/article/2011-06-10/299526
#1
Redis 是Key/Value 类数据库,追求的是速度,优点就是快。缺点是...除了快其他基本上都是短处。
Mongo 是文档类数据库,追求的是通用,优点是万金油,各种支持也比较好,缺点是,大部分性能指标在NoSQL中比较差。
还有宽表类的Cassandra也比较主流,比较适合超大规模的数据的场景。
Mongo 是文档类数据库,追求的是通用,优点是万金油,各种支持也比较好,缺点是,大部分性能指标在NoSQL中比较差。
还有宽表类的Cassandra也比较主流,比较适合超大规模的数据的场景。
#2
各个数据库本质的区别还是在于他本身所属的数据库类型。
Redis是一个key/value内存式数据库,它的用途主要就是在高性能访问的时候。但是一般来说key/value 数据库因为数据模型简单,所以更多时候被看做是一个键值存储引擎,而不是拥有强大计算能力的数据库引擎。因此key/value数据库在简单的高性能数据 模型的场景下很实用,但是当业务逻辑越来越复杂的时候就会凸显其劣势了。 所以Redis的优点是速度快,简单,容易维护,支持多种数据结构。缺点是不提供数据可靠性保障,支持的功能也比较少。扩容,负载均衡,高可用方便也有明显的不足
文档类数据库一般讲算是最接近关系型数据库的NoSQL。他的优点是功能丰富,数据类型灵活,各个性能特性都比较平衡。代表就是 mongoDB, Mongo的优势就功能和驱动类型丰富,使用起来比较简便,但缺点是性能在同类中比价低。像国产的 Sequoiadb也是文档类的Nosql数据库,相比较虽然Sequoiadb在社区活跃度和驱动类型中稍逊与Mongo,但是 性能指标上就完爆Mongo了,也完全继承了文档类数据库的各种优势。最近听说要开源,可能以后社区活跃度和也就上去了。
宽表类里比较有代表性的有 HBase,就像楼上说的,宽表类的应用场景就是超大规模数据。所以 HBase就和Hadoop结合紧密,支持HDFS储存,性能也不错,缺点就是比较复杂,不管是维护还是开发都比较困难,很多操作都需要手工鞋MapReduce。如果没有超大数据规模,使用HBase的代价就太高了。
其实还有个图形类,应用场景比较特殊,比较适合社交网络之类的应用,不适合其他场景。
Redis是一个key/value内存式数据库,它的用途主要就是在高性能访问的时候。但是一般来说key/value 数据库因为数据模型简单,所以更多时候被看做是一个键值存储引擎,而不是拥有强大计算能力的数据库引擎。因此key/value数据库在简单的高性能数据 模型的场景下很实用,但是当业务逻辑越来越复杂的时候就会凸显其劣势了。 所以Redis的优点是速度快,简单,容易维护,支持多种数据结构。缺点是不提供数据可靠性保障,支持的功能也比较少。扩容,负载均衡,高可用方便也有明显的不足
文档类数据库一般讲算是最接近关系型数据库的NoSQL。他的优点是功能丰富,数据类型灵活,各个性能特性都比较平衡。代表就是 mongoDB, Mongo的优势就功能和驱动类型丰富,使用起来比较简便,但缺点是性能在同类中比价低。像国产的 Sequoiadb也是文档类的Nosql数据库,相比较虽然Sequoiadb在社区活跃度和驱动类型中稍逊与Mongo,但是 性能指标上就完爆Mongo了,也完全继承了文档类数据库的各种优势。最近听说要开源,可能以后社区活跃度和也就上去了。
宽表类里比较有代表性的有 HBase,就像楼上说的,宽表类的应用场景就是超大规模数据。所以 HBase就和Hadoop结合紧密,支持HDFS储存,性能也不错,缺点就是比较复杂,不管是维护还是开发都比较困难,很多操作都需要手工鞋MapReduce。如果没有超大数据规模,使用HBase的代价就太高了。
其实还有个图形类,应用场景比较特殊,比较适合社交网络之类的应用,不适合其他场景。
#3
这里面说的比较清楚有条理
http://www.csdn.net/article/2011-06-10/299526
http://www.csdn.net/article/2011-06-10/299526