这些工具旨在使 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数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号