这些工具旨在使 Amazon DynamoDB 的使用更加简单高效。以下是可用的工具:
虽然我们努力测试和验证这些工具的功能,但我们鼓励您阅读和理解代码,并自行承担使用风险。
每个工具都是独立开发的,请务必阅读每个工具的安装要求。
在创建新的 DynamoDB 表之前,您可能想要估算其核心成本,以容量单位而非美元来衡量。或者,您可能有一个按需模式的表,想知道预置容量是否更便宜。
这个工作表将帮助您估算表在给定时间段内的所有权成本。第一步是确定表的平均存储、读取和写入速度水平,然后调整 C16-C18 单元格中的绿色值,并查看 E、F 和 G 行中计算出的成本。按需和预置容量成本并排显示,同时还显示存储成本。

虽然预置容量通常更便宜,但假设您将永远 100% 有效地使用您付费的容量是不现实的。即使使用自动扩展,也需要开销来应对流量的波动和峰值。达到 50% 的效率是不错的,但非常尖峰的流量模式可能使用率低于 15%。在这些情况下,按需模式将更便宜。您可以通过 C 列中的绿色单元格调整效率水平和其他模型参数。
对于特定任务(如大规模数据导入),您可能只想知道写入成本。想象一个每秒执行 2500 次写入并持续三小时的任务。您可以调整 C9 和 C10 中的时间段以及 C17 中的每秒 WCU 速度,以显示此类特定工作负载的写入成本。
DynamoDB 中的现有表可以通过向表添加新区域来升级为全局表。对于双区域全局表,存储成本将翻倍,而写入成本大约会增加三倍。通过在 C12 单元格中选择全局表,可以模拟这些价格。
第 4-7 行显示的单位价格是 us-east-1 区域中表的当前列表价格。由于价格可能在未来发生变化,您可以根据需要或针对特定区域进行调整。
该工具帮助您模拟表的核心成本,请参阅 DynamoDB 定价页面 以获取 DynamoDB 功能、选项和价格的完整列表。
将 SQL 数据库迁移到 DynamoDB 时,您可以利用 Amazon S3 作为数据的暂存区。这个 Python 脚本连接到您的 MySQL 主机,执行 SQL SELECT,并将结果写入您的 S3 存储桶。
然后,从 S3 导入 DynamoDB 功能可以自动加载您的 DynamoDB 表。
该工具很简单,它将您的关系数据集转换为标准的 DynamoDB JSON 格式,然后写入 S3。如果一行有任何 NULL 值,该工具将完全跳过该列,只将非空列写入 JSON 文档。
没有进行额外的塑造、建模或格式化。然而,DynamoDB 解决方案可能需要特定格式的数据以优化预期的访问模式。在自定义工具运行的 SQL 语句时,利用 SQL 语言为您的 DynamoDB 表制作最佳数据集。
您的关系型应用程序可能使用许多表。NoSQL 的"单表设计"理念认为,将多个数据集合并到一个表中是有价值的。如果做得好,项目集合将从数据中浮现,优化以实现快速、高效的查询。
SQL 视图可以完成大部分将关系数据转换为这种格式的工作。视图可以使用 JOIN 或 UNION ALL 来组合表。JOIN 可用于反规范化,或复制一些数据,使每一行更加完整;而 UNION ALL 用于将表垂直堆叠成一个集合。可以利用全套 SQL 表达式,例如生成唯一 ID、重命名列、组合列、复制列、计算过期日期、用标签装饰数据等。目标是制作一个格式良好的数据集,与您的 DynamoDB 表和索引策略相匹配。
该工具是单线程的,旨在为演示目的将适量数据移动到 S3。
更新主机名、凭证、目标存储桶、路径、区域和要运行的 sql 语句。
运行 python3 mysql_s3.py
预期输出:
HTTP 200 for object s3://s3-export-demo/demo/data_upto_5.json
HTTP 200 for object s3://s3-export-demo/demo/data_upto_10.json
HTTP 200 for object s3://s3-export-demo/demo/data_upto_15.json
...
Amazon DynamoDB 支持两种表类别:
标准: 新表的默认设置,这种表类别在存储成本和预置吞吐量之间取得平衡。
标准-不频繁访问(Standard-IA): 与标准表类别相比,这种表类别提供更低的存储定价和更高的吞吐量定价。标准-IA 表类别适用于不经常查询数据的表,对于使用标准表类别且存储成本超过总吞吐量成本 50% 的表来说,可能是一个不错的选择。
表类别评估器工具评估 AWS 区域中的一个或多个表是否适合使用不频繁访问表类别。该工具通过计算两种表类别的以下成本维度来实现这一目标:
该工具将为可能从表类别更改中受益的表返回建议。
表类别评估器工具有以下限制:
表类别评估器是一个用 Python 3 编写的命令行工具,需要 AWS Python SDK (Boto3) >= 1.23.18。您可以在 https://aws.amazon.com/sdk-for-python/ 找到安装 AWS Python SDK 的说明。该工具可以直接从克隆的存储库运行,无需安装。
从命令行调用该工具,如下所示:
user@host$ python3 table_class_evaluator.py --help 用法: table_class_evaluator.py [-h] [--estimates-only] [--region REGION] [--table-name TABLE_NAME] [--profile PROFILE] 推荐 Amazon DynamoDB 表类别更改以优化成本。 可选参数: -h, --help 显示此帮助消息并退出 --estimates-only 打印表成本估算而不是更改建议 --region REGION 评估 REGION 中的表(默认: us-east-1) --table-name TABLE_NAME 评估 TABLE_NAME(默认为区域中的所有表) --profile PROFILE 设置自定义配置文件名以执行操作
如果不带参数,该工具将评估默认区域(us-east-1)中所有表的成本,并返回一个 JSON 对象列表,每个对象包含更改建议的详细信息:
user@host$ python3 table_class_evaluator.py [{ "recommendation_type": "CHANGE_TABLE_CLASS", "recommended_table_class": "STANDARD_INFREQUENT_ACCESS", "estimated_monthly_savings": "1.35", "estimate_detail": { "table_name": "test", "pricing_data": { "billing_mode": "PROVISIONED", "size_in_gb": "13.61", "provisioned_rcus": 5, "provisioned_wcus": 5, "table_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/test", "table_class": "STANDARD" }, "table_mo_costs": { "std_storage_cost": "3.40", "std_mo_rcu_cost": "0.47", "std_mo_wcu_cost": "2.37", "std_mo_total_cost": "6.25", "ia_mo_storage_cost": "1.36", "ia_mo_rcu_cost": "0.58", "ia_mo_wcu_cost": "2.96", "ia_mo_total_cost": "4.90", "total_std_mo_costs": "6.25", "total_ia_mo_costs": "4.90" } } }]
如果成本计算没有显示任何更改建议,工具将返回一个空列表:
user@host$ python3 table_class_evaluator.py []
默认情况下,AWS Cost Explorer会将一个区域内所有Amazon DynamoDB表的成本类别进行分组。为了在Cost Explorer中查看表级别的成本细分(例如,特定表的存储成本),必须对表进行标记,以便可以按该标记对成本进行分组。用表自身的名称标记每个DynamoDB表可以实现这种表级别的成本分析。此工具会自动为一个区域内的每个表添加其自身名称的标记,如果尚未添加此类标记的话。
同名表标记工具是一个用Python 3编写的命令行工具,需要AWS Python SDK(Boto3)。该工具可以直接 从克隆的仓库运行,无需安装。
可以通过以下方式从命令行调用该工具:
user@host$ python3 table_tagger.py --help usage: table_tagger.py [-h] [--dry-run] [--region REGION] [--table-name TABLE_NAME] [--tag-name TAG_NAME] [--profile PROFILE] 为一个区域内的所有DynamoDB表添加自身名称的标记。 可选参数: -h, --help 显示此帮助信息并退出 --dry-run 输出结果但不实际标记表 --region REGION 在REGION中标记表(默认:us-east-1) --table-name TABLE_NAME 仅标记TABLE_NAME(默认为该区域内的所有表) --tag-name TAG_NAME 使用TAG_NAME标记表(默认为"table_name") --profile PROFILE 设置自定义配置文件名以执行操作
如果不带参数,该工具将标记默认区域(us-east-1)中尚未正确标记的每个表,并返回一个JSON对象列表,每个对象包含应用的 标记和表详情:
user@host$ python3 table_tagger.py [ { "table_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/customers", "tag_key": "table_name", "tag_value": "customers" }, { "table_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/datasource", "tag_key": "table_name", "tag_value": "datasource" }, ]
你可以选择在不同的区域运行该工具,并使用与默认不同的标记名:
user@host$ python3 table_tagger.py --region us-east-2 --tag-name dynamodb_table [ { "table_arn": "arn:aws:dynamodb:us-east-2:123456789012:table/moviefacts", "tag_key": "dynamodb_table", "tag_value": "moviefacts" }, { "table_arn": "arn:aws:dynamodb:us-east-2:123456789012:table/topsongs", "tag_key": "dynamodb_table", "tag_value": "topsongs" }, ]
如果工具没有标记任何表(通常是因为它们已经被标记),工具将返回一个空列表:
user@host$ python3 table_tagger.py []
用于获取DynamoDB JSON项目大小信息的实用工具,以了解容量消耗并确保项目在400KB DynamoDB限制以内。
请参阅README。
请参阅单独的README
请参阅单独的README
有关更多信息,请参阅CONTRIBUTING。
本项目采用Apache-2.0许可证。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选 题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令 ,自主思考、自主完成、并且交付结果的AI智能体。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号