这些工具旨在使 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许可证。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号