mongodb 、nosql、 redis、 memcached 是什么?

mongodb 是一个基于文档的数据库,所有数据是从磁盘上进行读写的。MongoDB善长的是对无模式JSON数据的查询。
而Redis是一个基于内存的键值数据库,它由C语言实现的,与Nginx/ NodeJS工作原理近似,同样以单线程异步的方式工作,先读写内存再异步同步到磁盘,读写速度上比MongoDB有巨大的提升。因此目前很多超高并发的网站/应用都使用Redis做缓存层,普遍认为其性能明显好于MemoryCache。当并发达到一定程度时,即可考虑使用Redis来缓存数据和持久化Session。

memcached:单一键值对内存缓存的,做对象缓存无可替代的分布式缓存;

redis:是算法和数据结构的集合,快速的数据结构操作是他最大的特点,支持数据持久化;

mongodb是bson结构、介于rdb和nosql之间的,更松散更灵活的,但是不支持事务,只用作非重要数据存储。

nosql not only sql 指泛非关系型数据库

redis 和 memcache 都是好的缓存方案,各有各的优缺点
redis最强的地方是有比较丰富的数据结构,可以在缓存层玩出很多花样,比如:通过列表做消息队列,通过mget,mset可以读多个值进行操作等等,sina,instagram都是比较好的利用了它的这些优点,单点问题没有太好的解决方案,有待提高
memcache的强项是分布式比较成熟,对多核cpu的应用,yutube,大多数电子商务网站都是它的用户,比较成熟,稳定。
mongodb 为代表的nosql应该是传统数据库的有益的补充,目前看来还无法取代他们地位,当今NoSQL领域中有很多有力的竞争者通过多种方式来处理海量数据问题。其中重要的解决方案之一就是MongoDB。MongoDB是面向文档的弱结构化存储方案,使用JSON格式来展现、查询和修改数据。

时间: 2024-10-12 12:49:41

mongodb 、nosql、 redis、 memcached 是什么?的相关文章

NoSQL与Memcached、Redis、MongoDB概述

一.NoSQL介绍 非关系型数据库(而mysql.oracle.sqlserver都是关系型数据库) 1. 特点 数据之间无关系,随意扩展 数据存储简单,可以存在内存中,读写速度快 不需要建表.字段.自定义格式 2. 分类 A. 键值(Key-Value)数据库:redis.memcached.riak redis/memcached 适合存储用户信息,比如会话.配置文件.参数.购物车等,这些信息一般和ID(键)挂钩 B. 面向文档(Document-Oriented)数据库:MongoDB.C

数据库应用(Mysql、Mongodb、Redis、Memcached、CouchDB、Cassandra)

目前,主流数据库包括关系型(SQL)和非关系型(NoSQL)两种. 关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,支持复杂的事物处理和结构化查询.代表实现有MySQL.Oracle.PostGreSQL.MariaDB.SQLServer等. 非关系数据库是新兴的数据库技术,它放弃了传统关系型数据库的部分强一致性限制,带来性能上的提升,使其更适用于需要大规模并行处理的场景.非关系型数据库是关系型数据库的良好补充,代表产品有MongoDB.Memca

Linux系统安装NoSQL(MongoDB和Redis)步骤及问题解决办法

?更多技术干货请戳:听云博客 如下是我工作中的记录,介绍的是linux系统下NoSQL:MongoDB和Redis的安装过程和遇到的问题以及解决办法: 需要的朋友可以按照如下步骤进行安装,可以快速安装MongoDB和Redis,希望可以帮助大家:)! 一.MongoDB 1.MongoDB安装 (1)将安装包mongodb-linux-i686-3.0.2.tgz拷贝到要安装的服务器中 这里我用的rz命令,如果不支持需要安装yum -y install lrzsz (2)解压安装程序 tar x

九爷带你了解 带你了解 Nosql Redis ttserver Flare memcache比较

Nosql Redis ttserver Flare memcache比较 随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速.而传统的关系数据库在应付 web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如: 1.High performance - 对数据库高并发读写的需求 web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动

MongoDB和Redis区别

简介 MongoDB更类似MySQL,支持字段索引.游标操作,其优势在于查询功能比较强大,擅长查询JSON数据,能存储海量数据,但是不支持事务. mysql在大数据量时效率显著下降,mongodb更多时候作为关系数据库的一种替代. 内存管理机制 Redis数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的LRU算法删除数据. MongoDB数据存在内存,由Linux系统mmap实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘. 支持的数据结构 redis支持的数据结构丰富,包

MongoDB与Redis的比较

MongoDB和Redis都是NoSQL,采用结构型数据存储.二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的处理方法不同. MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式. 比较指标 MongoDB(v2.4.9) Redis(v2.4.17) 比较说明 实现语言 c++ c/c++ - 协议 BSON,自定义二进制 类telnet - 性能 依赖内存,TPS较高 依赖内存,TPS非常高 Red

Mongodb 和Redis 的相同点和不同点

MongoDB和Redis都是NoSQL,采用结构型数据存储.二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的处理方法不同.MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式. 指标  MongoDB(v2.4.9)  Redis(v2.4.17)  比较说明 实现语言  C++ C/C++ - 协议 BSON.自定义二进制 类Telnet - 性能 依赖内存,TPS较高 依赖内存,TPS非常高 Re

MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)

MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本章迭代更新) 一.数据库之间的区别 MySQL MySQL概述 关系型数据库.无论数据还是索引都存放在硬盘中.到要使用的时候才交换到内存中.能够处理远超过内存总量的数据. 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的 SQL 语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断

百万级运维心得一:Mongodb和Redis数据不能放在同一个服务器

百万级运维经验一:Mongodb和Redis数据不能放在同一个服务器 一开始时,为了省服务器,把Mongodb和Redis放在一个服务器上.网站每到高峰期都特别卡,还经常出现502.找了很久的原因,发现硬盘的写数据很大,IOPS也很高,排查了很多原因都没找到.然后再仔细研究监控,发现写硬盘的操作很有规律,每隔几分钟就有一次频繁的写硬盘,联想到Redis同步数据到硬盘的间隔就是几分钟,所以开始怀疑是Redis引起的.于是加了一台服务器,把Redis单独放在那里,发现网站瞬间快了,502问题也不再出

NoSQL之Memcached

一.Memcached概念 Memcached是NoSQL产品之一,是一个临时性键值存储NoSQL数据库,过去被大量使用在互联网网站中,作为应用和数据库之间的缓存层,大大提高查询和访问速度. Memcached有以下特点: 1.全内存运转:数据从来不保存在硬盘中,机器一重启,数据就全部没有了,所有又称临时性数据库: 2.哈希方式存储: 3.简单文本协议进行数据通信:不需要特定二进制代码,只需要用telnet连通memcached的监听端口,打入简单浅显的代码就能操作: 4.只操作字符型数据:无论