NoSQL数据库:从故障中恢复数据的原理

简介:

当应用程序处理由NoSQL创建的大量非结构化数据时,保持运行的稳定性与有效性是十分重要的。用户在决定持久栈(persistence stack)的主要架构时,了解每个数据库之间的特点与细微差别也非常重要。

  接下来,笔者将展示NoSQL数据库之间的一些比较,主要集中在Cassandra、HBase与MongoDB在处理故障时的差别。

  Cassandra

  Cassandra保证了“写”操作的高效性,但是它从错误中恢复数据则需要相当长的时间。因为Cassandra会识别所有需要恢复的数据,然后恢复每个数据最新的版本。并且由于它会在数据恢复过程中响应添加结点的请求,因此很有可能返回错误的结果。如果不能提高数据一致性水平,那么它将不能被用于需要“读处理”(read processing)服务。

  HBase

  由于HBase的结构问题,可能有多种因素导致它产生错误。但是与Cassandra必须从错误中恢复数据不同,HBase只有在HDFS(Hadoop Distributed File System - Hadoop分布式文件系统)中产生错误时才需要恢复,这会使HBase产生一个短暂的故障时间。在HDFS故障期间,HBase所产生的故障时间显得并不长。

  MongoDB

  MongoDB则提供一种称为“出错时自动备份(failover)”的技术,并且也会产生一个短暂的故障时间。不过它的异步复制方法可能会导致在自动备份后部分数据的丢失。
 










本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/wws5201985/753991,如需转载请自行联系原作者
相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
20天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
110 1
|
2月前
|
存储 NoSQL 关系型数据库
面试题18: NOSQL数据库
面试题18: NOSQL数据库
|
3月前
|
存储 NoSQL API
一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库
一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库
135 0
|
1月前
|
缓存 Java 数据库连接
mybatis 数据库缓存的原理
MyBatis 是一个流行的 Java 持久层框架,它封装了 JDBC,使数据库交互变得更简单、直观。MyBatis 支持两级缓存:一级缓存(Local Cache)和二级缓存(Global Cache),通过这两级缓存可以有效地减少数据库的访问次数,提高应用性能。
282 1
|
1月前
|
存储 NoSQL 关系型数据库
四种类型的nosql数据库
随着互联网的发展,传统关系型数据库已经不能满足大数据时代的需求。NoSQL数据库应运而生,它们具有高可扩展性、高性能和高可用性等优点。本文将介绍四种主要类型的NoSQL数据库,分别是键值存储数据库、文档存储数据库、列存储数据库和图形数据库。这些数据库在不同的场景下有着不同的应用,可以满足不同的需求。
|
1月前
|
存储 缓存 NoSQL
|
2月前
|
存储 关系型数据库 数据库
数据库索引的原理,为什么要用 B+树,为什么不用二叉树?
数据库索引的原理,为什么要用 B+树,为什么不用二叉树?
|
2月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
298 0
|
3月前
|
多模数据库 Cloud Native NoSQL
Nosql学习之路:云原生多模数据库Lindorm训练营第一弹来啦
Lindorm训练营系列将通过一系列由浅入深的高质量课程和丰富的动手实验,将理论与实践结合,带你从入门到成为高阶开发者。参营学习还有机会获得惊喜彩蛋~
|
3月前
|
缓存 NoSQL MongoDB
在使用NoSQL数据库时,你遇到过哪些挑战?如何解决这些挑战?
在使用NoSQL数据库时,你遇到过哪些挑战?如何解决这些挑战?
27 0