余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

除了redis和mongoDB,还有几个值得一看

xiyangw 2023-05-13 15:51 13 浏览 0 评论

提到非关系型数据库,我想大多数人想到的是redis和mongoDB,实际还存在其他的,之前介绍了几种,现在将剩余的也介绍一下,不多啰嗦,往下看。

Azure Cosmos DB

Azure Cosmos DB是一种全局分布式,水平分区的多模型数据库服务。它提供了四种数据模型(键值,列族,文档和图形)和五种可调一致性级别(强,有界陈旧,会话,一致前缀和最终一致性)。

除了redis和mongoDB,还有几个值得一看

一致性水平下方换取较弱的一致性提供更高的性能。宇宙DB住户中,约70%的人选择会话一致性,这招只有一半%的读取成本强有力的一致性。

Cosmos DB提供五种API集:SQL(方言),MongoDB兼容,Azure表兼容,图形(Gremlin)和Apache Cassandra兼容。Cosmos DB自动索引所有数据,无需您处理模式和索引管理。

Cosmos DB的设计目标包括弹性全局可扩展性,低成本操作,低读写延迟,99.99%可用性,可预测和可调数据一致性,严格的财务支持全面SLA,自动模式/索引管理和版本控制,多个本机支持数据模型和用于访问数据的流行API。

在最低级别,Cosmos DB具有基于模式无关,基于原子记录序列(ARS)的数据库引擎,该引擎在Azure Service Fabric之上实现。四种应用数据模型都被投射到基于ARS的核心模型上。

正如所料,五个数据库API集并不都映射到每个数据模型。SQL API曾经被称为DocumentDB API; 它适用于JSON文档数据库。MongoDB API也适用于文档数据库。请注意,MongoDB API和SQL API的有线协议是不同的,因此一个帐户不能用于这两个API,即使文档数据可以在两者之间迁移。Gremlin API用于属性图数据库,Azure Table API用于键值表,Cassandra API用于宽列(列族)数据库。

一段时间以来,Microsoft已将Cosmos DB用于内部应用程序。例如,Azure Portal使用Cosmos DB作为其全局事务存储,Xbox和Skype也是如此。

Cassandra和DataStax

Apache Cassandra是一个高度可用的分布式数据存储,它通过一致性来评估可用性和分区容错。Cassandra的设计将Amazon Dynamo键值存储的分区和复制与Google Bigtable的日志结构ColumnFamily数据模型相结合。当添加节点时,Cassandra会线性扩展。

Cassandra并没有完全丧失一致性; 这是对延迟的权衡。用户可以指定每次读取和写入的一致性级别,范围从仅需要一个节点,到需要群集仲裁,到需要所有节点。另一个中间选项是需要本地仲裁,这是一种在数据中心内获得一致性而无需等待远程节点更新的方法。

DataStax为Cassandra增加了功能和性能。在其他改进中,DataStax消除了运行修复脚本的需要,并消除了手动修复失败时可能发生的集群中断; 自动保持DataStax Enterprise节点不会因客户端或副本请求而过载; 并使用每核心架构架构,可将读取和写入操作的吞吐量提高2倍。

CouchDB

Apache CouchDB是一个开源文档模型数据库,具有查询引擎,复制和冲突解决方案。它使用RESTful HTTP API进行查询和更新。CouchDB在Erlang中实现。

CouchDB文件布局和承诺系统具有所有ACID属性。在磁盘上,CouchDB永远不会覆盖已提交的数据或相关结构,从而确保数据库文件始终处于一致状态。这是一种“仅崩溃”设计,CouchDB服务器不会通过关机过程; 相反,它只是终止了。

CouchDB读取操作使用多版本并发控制(MVCC)模型,其中每个客户端从读取操作的开始到结束都看到数据库的一致快照。文档通过名称(DocID)和序列ID在B树中编制索引

CouchDB是一个基于对等的分布式数据库系统。它允许用户和服务器在断开连接时访问和更新相同的共享数据。然后可以在以后双向复制这些更改。

CouchDB允许在数据库中同时存在任意数量的冲突文档,每个数据库实例确定性地决定哪个文档是“赢家”,哪些是冲突。当发生分布式编辑冲突时,每个数据库副本都会看到相同的获胜版本,并且每个副本都有机会解决冲突。

FaunaDB

FaunaDB是一个分布式,高度一致的OLTP NoSQL数据库,符合ACID标准并提供多模型接口。它具有主动 - 主动架构,可以跨越云和大陆。

FaunaDB支持来自单个查询的文档,关系,图形和时间数据集。除了自己的FQL查询语言外,该公司现已宣布支持GraphQL,以及未来的CQL和SQL。

Google Cloud Bigtable

Cloud Bigtable是一个公共的,高度可扩展的(高达PB级),面向列的NoSQL数据库,它使用与Google内部版本相同的代码,谷歌在21世纪初发明并在2006年发表了一篇论文.Bigtable是和是许多Google服务的基础数据库,包括Google搜索,Google Analytics,Google地图和Gmail。

该Bigtable的论文的启发几个开源NoSQL数据库包括Apache HBase、Apache Cassandra和Apache Accumulo。Bigtable使用高度可伸缩,稀疏填充的表结构,其中每个表都是一个排序的键值映射。Bigtable行描述单个实体,并由单个行键索引; 列包含每行的各个值。列族将相关列组分组。每个行/列交集可以包含不同时间戳的多个单元格,没有数据的单元格不占用空间。

与其他NoSQL服务相比,Cloud Bigtable在高负载下可提供非常高的性能。其中一部分来自本质上高效的设计,其中一部分来自快速,可扩展的基础架构。除了高性能,Bigtable还具有极低的延迟。

非关系型数据库从出现发展到现在已经有很多种,具体使用哪一种看你们自己的项目需要以及对NoSQL的了解,显示还是redis和MongoDB比较多。

相关推荐

辞旧迎新,新手使用Containerd时的几点须知

相信大家在2020年岁末都被Kubernetes即将抛弃Docker的消息刷屏了。事实上作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使...

分布式日志系统ELK+skywalking分布式链路完整搭建流程

开头在分布式系统中,日志跟踪是一件很令程序员头疼的问题,在遇到生产问题时,如果是多节点需要打开多节点服务器去跟踪问题,如果下游也是多节点且调用多个服务,那就更麻烦,再者,如果没有分布式链路,在生产日志...

Linux用户和用户组管理

1、用户账户概述-AAA介绍AAA指的是Authentication、Authorization、Accounting,即认证、授权和审计。?认证:验证用户是否可以获得权限,是3A的第一步,即验证身份...

linux查看最后N条日志

其实很简单,只需要用到tail这个命令tail-100catalina.out输入以上命令,就能列出catalina.out的最后100行。...

解决linux系统日志时间错误的问题

今天发现一台虚拟机下的系统日志:/var/log/messages,文件时间戳不对,跟正常时间差了12个小时。按网上说的执行了servicersyslogrestart重启syslog服务,还是不...

全程软件测试(六十二):软件测试工作如何运用Linux—读书笔记

从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到。对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux...

Linux运维之为Nginx添加错误日志(error_log)配置

Nginx错误日志信息介绍配置记录Nginx的错误信息是调试Nginx服务的重要手段,属于核心功能模块(nginx_core_module)的参数,该参数名字为error_log,可以放在不同的虚机主...

Linux使用swatchdog实时监控日志文件的变化

1.前言本教程主要讲解在Linux系统中如何使用swatchdog实时监控日志文件的变化。swatchdog(SimpleWATCHDOG)是一个简单的Perl脚本,用于监视类Unix系统(比如...

syslog服务详解

背景:需求来自于一个客户想将服务器的日志转发到自己的日志服务器上,所以希望我们能提供这个转发的功能,同时还要满足syslog协议。1什么是syslog服务1.1syslog标准协议如下图这里的fa...

linux日志文件的管理、备份及日志服务器的搭建

日志文件存放目录:/var/log[root@xinglog]#cd/var/log[root@xinglog]#lsmessages:系统日志secure:登录日志———————————...

运维之日志管理简介

日志简介在运维过程中,日志是必不可少的东西,通过日志可以快速发现问题所在。日志分类日志分类,对不同的日志进行不同维度的分析。操作系统日志操作系统是基础,应用都是在其之上;操作系统日志的分析,可以反馈出...

Apache Log4j 爆核弹级漏洞,Spring Boot 默认日志框架就能完美躲过

这两天沸沸扬扬的Log4j2漏洞门事件炒得热火朝天:突发!ApacheLog4j2报核弹级漏洞。。赶紧修复!!|Java技术栈|Java|SpringBoot|Spring...

Linux服务器存在大量log日志,如何快速定位错误?

来源:blog.csdn.net/nan1996jiang/articlep/details/109550303针对大量log日志快速定位错误地方tail/head简单命令使用:附加针对大量log日志...

Linux中查看日志文件的正确姿势,求你别tail走天下了!

作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了。尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于我这种小菜鸡来说,第一反应就是cat,tail,vi(或...

分享几款常用的付费日志系统,献给迷茫的你!

概述在前一篇文章中,我们分享了几款免费的日志服务器。他们各有各的特点,但是大家有不同的需求,有时免费的服务器不能满足大家的需要,下面推荐几款付费的日志服务器。1.Nagios日志服务器Nagio...

取消回复欢迎 发表评论: