DynamoDB和Cassandra、MongoDB的比较

这篇具有很好参考价值的文章主要介绍了DynamoDB和Cassandra、MongoDB的比较。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DynamoDB和Cassandra、MongoDB的比较
前面说过Cassandra受2007年Amazon发表的Dynamo论文影响非常深,在DynamoDB发布的第一天,提供Cassandra商业化支持的DataStax公司的Jonathan Ellis就写了一篇文章,分析了Cassandra和DynamoDB的差异。
虽然Jonathan Ellis认为DynamoDB不支持Secondary Key Indexes是在开历史的倒车,但如果DynamoDB支持了Secondary Key Indexes,那么它是无法保证每个请求性能的高效性的。这和DynamoDB的设计理念相冲突,于是舍弃了这部分的功能。
其实从开发的易用角度来讲,DynamoDB没有Cassandra和MongoDB强大,Cassandra有CQL可以做非常丰富的查询,MongoDB的查询功能也非常强大,而且后两者都提供Shell客户端,并有不少第三方开发的工具可以进行管理与使用。在条件更新上,DynamoDB也没有MongoDB使用起来那么方便,并且MongoDB提供了更多的原子性操作。在对value类型的支持上,另两者都不如MongoDB,毕竟MongoDB是文档型的数据库,可以理解为底层存储的是JSON。毕竟,JSON支持的类型以及在JSON上可以做的操作是很丰富的。我一直觉得DynamoDB没有支持类JSON格式是个遗憾。也许可能是DynamoDB团队觉得如果支持类JSON格式的话,在API的设计上会显得更加臃肿和让用户更难理解API如何使用。但个人认为,DynamoDB如果提供相应的SDK其实是可以解决这个问题的,就算MongoDB的开放接口相对DynamoDB更加复杂,开发者都是直接使用驱动(相当于SDK)进行开发,于是在开发应用上MongoDB远胜于DynamoDB。
但从运维的角度来讲,DynamoDB省去开发者部署/监控/维护数据库环节,给开发者节约了大量时间,强大的扩展能力又减轻了后续运维的压力,这正是DynamoDB最大的价值所在。

参考:

https://baike.baidu.com/item/dynamodb/8109040?fr=ge_ala文章来源地址https://www.toymoban.com/news/detail-792657.html

到了这里,关于DynamoDB和Cassandra、MongoDB的比较的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Cassandra 表设计与关系型数据库有何区别?

    Cassandra是一种分布式、高可扩展性的NoSQL数据库,而关系型数据库是传统的表格形式的数据库。下面是Cassandra表设计和关系型数据库之间的一些主要区别,并附带示例说明: 1、数据模型: Cassandra:采用列族模型,将数据组织为行和列的集合。每个行由主键标识,列由列名和

    2024年02月11日
    浏览(11)
  • 完全兼容DynamoDB协议!GaussDB(for Cassandra)为NoSQL注入新活力

    摘要: DynamoDB是一款托管式的NoSQL数据库服务,支持多种数据模型,广泛应用于电商、社交媒体、游戏、IoT等场景。 本文分享自华为云社区《完全兼容DynamoDB协议!GaussDB(for Cassandra)为NoSQL注入新活力》,作者:GaussDB 数据库 。 DynamoDB是一款托管式的NoSQL数据库服务,支持多种数

    2024年02月11日
    浏览(6)
  • <DB2>《DB2数据库健康检查》第3部分

    <DB2>《DB2数据库健康检查》第3部分

    检查点: 检查是否需要对表和所有进行runstats 检查方法: 示例: 检查点: 检查是否需要重组reorg 检查方法: ü 示例: 检查点: 查看表是否正常 检查方法: 示例 输出信息说明: □ 输出显示了模式名、表名、状态和表类型。 □ 在 SYSCAT.TABLES 中有项的所有用户定义的表的名

    2024年02月08日
    浏览(30)
  • DB2 数据库监控用户赋权手册

    DB2 数据库监控用户赋权手册

    皮皮运维平台数据统一采集用户(DBAA)需要被监控数据库赋予对应下查询表、表函数以 及获取数据库监控数据的权限,具体授权操作有以下三部分。 实例用户 执行命令,并将结果重定向到 grant_select_to_dbaa.sql 文件中 实例用户 执行 db2 -tvf grant_select_to_dbaa.sql 进行赋权。 实例

    2024年02月07日
    浏览(13)
  • DB(一):数据库概述、SQL概述、Oracle数据类型

    包括Oracle、DB2、SQL Server、MySQL数据库概述;数据定义语言DDL、数据操作语言DML、事务控制语言TCL、数据查询语言DQL、数据控制语言DCL语言介绍;NUMBER 、CHAR、VARCHAR2、DATE数据库类型;CHAR和VARCHAR2的存储编码、CHAR和VARCHAR2的最大长度、LONG和CLOB类型。 1、DB和DBMS (1)、数据库(

    2024年02月09日
    浏览(52)
  • LINUX下使用SQLite查看.db数据库文件

    本文章用于记录自己所遇到问题,如有不正确的地方,欢迎指正 要在Linux设备上查看.db文件,可以使用SQLite数据库引擎工具。SQLite是一个轻量级的数据库管理系统,可以直接在命令行中操作数据库文件。 以下是在Linux上查看.db文件的步骤: 1. 确保已安装SQLite:在终端中运行以

    2024年02月07日
    浏览(17)
  • Linux系统安装DB2数据库的详细步骤

    Linux系统安装DB2数据库的详细步骤

    1、DB2数据库的安装 一、将DB2的安装介质上传至/home目录,并解压:    tar –zxvf v9.5fp3_linuxx64_server.tar.gz 二、执行LANG=C 三、进入解压后的server目录(cd server/),执行./db2setup,步骤如下: # cd /home # tar -zxvf v9.7_linuxx64_server.tar.gz # cd server/ # ./db2setup     请额外注意:这里选择 Do

    2024年02月08日
    浏览(13)
  • python使用odbc连接db2、sqlserver数据库

    先介绍安装odbc驱动,如果已安装跳过次环节 参考链接:linux环境odbc驱动安装 - 哔哩哔哩 也可参考微软官网(Windows驱动也有介绍):安装 Microsoft ODBC Driver for SQL Server (Linux) - ODBC Driver for SQL Server | Microsoft Learn ODBC Driver是一种动态链接库 (DLL),支持 ODBC 的应用程序(如 Excel)可

    2024年02月10日
    浏览(14)
  • 构建搜索引擎,而非向量数据库(Vector DB) [译]

    构建搜索引擎,而非向量数据库(Vector DB) [译]

    作者: Panda Smith 在过去 12 个月中,我们见证了向量数据库(Vector DB)创业公司的迅猛增长。我此刻并不打算深入探讨它们各自的设计取舍。相反,我更想探讨和解释一些关于向量数据库的常见理解——它是什么、它的功能用途,以及在解决问题时,我们应如何恰当地利用向

    2024年02月04日
    浏览(14)
  • Oracle 数据库全表扫描的4种优化方法(DB)

    Oracle 数据库全表扫描的4种优化方法(DB)

    全表扫描的工作是扫描高水位一下所有的数据块。 这里就有一个问题,什么是高水位线。高水位的标志存在表头。 该数据块以后都是崭新未格式化的数据块,高水位的目的有二。它是全表扫描的 终点,并行插入的起点! 优化全表扫描的办法有四,核心就是降低高水位! 一

    2024年04月18日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包