`
geeksun
  • 浏览: 965172 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

NoSql 数据库的特性比较

 
阅读更多

Redis 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。目前由VMware主持开发工作。

 

1. 数据模型

作为Key-value型数据库,Redis也提供了键(Key)和值(Value)的映射关系。除了常规的数值或字符串,Redis的键值还可以是以下形式之一:

Lists (列表)

Sets (集合)

Sorted sets (有序集合)

Hashes (哈希表)

键值的数据类型决定了该键值支持的操作。Redis支持诸如列表、集合或有序集合的交集、并集、差集等高级原子操作;同时,如果键值的类型是普通数字,Redis则提供自增等原子操作。

 

2. 持久化

Redis通常将数据存储于内存中,或被配置为使用虚拟内存。

通过两种方式可以实现数据持久化:使用快照的方式,将内存中的数据不断写入磁盘;或使用类似MySQL的日志方式,记录每次更新的日志。前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。

 

3. 性能同步

Redis支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。相比需要依赖磁盘记录每个更新的数据库,基于内存的特性无疑给Redis带来了非常优秀的性能,读写操作之间有显著的性能差异。

 

4. 适用场景

适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序。

例如:股票价格、数据分析、实时数据搜集、实时通信。

 

-------------------------------------------------------

 

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

 

1. 事件处理

memcached使用libevent库,能在Linux、BSD、Solaris等操作系统上发挥其高性能。libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。

 

2. 数据存储

为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used,最近最少使用)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。

 

3. 适用场景

  KV数据库

  数据库辅助缓存

分享到:
评论

相关推荐

    NoSQL数据库技术与应用.pptx

    ”这句话总结了NoSQL数据库的核心优势,即灵活性和分布式特性。 此外,本书还讨论了分布式系统中的核心问题,即如何在保证一致性、可用性和分区容错性这三个要素之间找到平衡点。这也是NoSQL数据库设计的重要考虑...

    NoSQL数据库入门思维导图

    通过“基础知识.mmap”可以深入学习NoSQL的原理和操作,而“常见的NoSQL数据库.mmap”则可能涵盖了各种NoSQL数据库的特性、应用场景和使用案例。对于想要踏入NoSQL领域的学习者来说,这些资源无疑是非常宝贵的。

    NoSQL数据库PPT

    6. **BASE而非ACID**:NoSQL数据库倾向于提供BASE(基本可用、软状态、最终一致性)保证,而不是传统的ACID(原子性、一致性、隔离性、持久性)特性。 #### 四、NoSQL数据库的发展现状 NoSQL数据库已经成为现代...

    NoSQL数据库学习教程.pdf

    NoSQL数据库学习教程 CAP定律是NoSQL数据库存在的三大基石之一,CAP定律是指在分布式系统中,无法同时满足一致性、可用性和分区容忍性这三个属性。其中,一致性是指所有节点在同一时间看到相同的数据;可用性是指...

    NoSQL数据库总结.pdf

    NoSQL数据库总结 NoSQL数据库是一种非关系型的数据库,旨在解决传统关系数据库在应付Web 2.0网站,特别是超大规模和高并发的SNS类型的Web 2.0网站中的问题。NoSQL数据库的优点是可以处理超大量的数据,可以运行在...

    大数据技术原理与应用之NoSQL数据库.pptx

    NoSQL数据库与关系数据库的比较可以从多个方面进行,如数据库原理、数据规模、数据库模式、查询效率、事务一致性、数据完整性、扩展性、可用性、标准化、技术支持和可维护性等方面。NoSQL数据库具有灵活的数据模型、...

    大数据挑战与NoSQL数据库技术PDF

    大数据挑战与NoSQL数据库技术是当今信息技术领域中的热门话题,特别是在数据量呈指数级增长的背景下,传统的数据库管理系统已经无法满足高效存储和处理大规模数据的需求。NoSQL(Not Only SQL)数据库应运而生,成为...

    NoSQL数据库的特点与应用场景.docx

    NoSQL 数据库的特点与应用场景 NoSQL 数据库是当前数据库领域的热门话题,无论是在大数据时代还是在面对快速增长的数据规模和日渐复杂的数据模型中,NoSQL 数据库都扮演着越来越重要的角色。本文将从 NoSQL 数据库...

    NoSQL数据库学习教程 (1)

    NoSQL数据库的应用案例包括eBay、淘宝、Flickr和Twitter等大型网站,它们在应对海量用户和数据时,都利用了NoSQL数据库的特性来构建其架构。 在实际运维中,NoSQL数据库需要考虑的因素有: - 可扩展性:通过水平...

    最新统计排名前十的SQL和NoSQL数据库排行榜

    【SQL和NoSQL数据库概述】 SQL(Structured Query Language)数据库是一种关系型数据库,它遵循ACID(原子性、一致性、隔离性和持久性)原则,确保数据的可靠性和一致性。SQL数据库通常使用表格形式来存储数据,...

    8种Nosql数据库系统对比

    MongoDB是另一种流行的NoSQL数据库,采用C++编写,它保留了一些SQL的友好特性,如查询和索引。MongoDB使用自定义的二进制协议(BSON),支持主从复制和自动错误恢复,以及内建的分片机制,适用于大型数据库的分布式...

    nosql数据库简介.pptx

    NoSQL数据库并不保证关系数据的ACID(原子性、一致性、隔离性和持久性)特性,而是注重分布式计算、高可扩展性和低成本。它们通常采用水平扩展方式,即通过添加更多廉价硬件来处理更多数据和请求,而不是像关系型...

    Chapter5-厦门大学-林子雨-大数据技术原理与应用-第五章-NoSQL数据库31.pptx

    NoSQL 数据库可以实现高效的简单查询,但是不具备高度结构化查询等特性,复杂查询的性能不尽人意,而关系数据库借助于索引机制可以实现快速查询。 5.4 NoSQL 的四大类型 ------------------- NoSQL 数据库可以分为...

    电子书如何选择NoSQL数据库

    1. **数据一致性**:相比于SQL数据库的ACID特性,NoSQL数据库在数据一致性方面通常采取BASE原则,这可能导致数据不一致的问题。 2. **查询复杂性**:NoSQL数据库通常缺乏强大的SQL查询功能,这可能会影响数据分析的...

    NoSQL数据库技术实战

    本书既对NoSQL系统的理论进行了深入浅出的分析,又介绍了每一种NoSQL数据库在业界广泛应用的一个具体系统,理论与实战并重。 本书共分5篇,12章。涵盖的内容有:NoSQL与大数据简介、NoSQL的数据一致性、NoSQL的水平...

    关系型数据库和NOSQL数据库的应用设计差异

    关系型数据库和NOSQL数据库在应用设计上存在显著差异,这些差异主要来源于它们各自的设计理念、存储方式、数据模型和优化策略等方面。为了深入理解这些差异,我们可以从HBase的应用实践入手,进行分析和对比。 ...

    NoSQL数据库中的空间大数据分布式存储实现研究.pdf

    NoSQL数据库中的空间大数据分布式存储实现研究涉及了多个核心知识点,包括NoSQL数据库的概念、特性、存储类型、空间大数据的特点以及分布式存储策略。 首先,NoSQL数据库是非关系型数据库的简称,它是为了满足当前...

Global site tag (gtag.js) - Google Analytics