我有一个应用程序,它使用 DynamoDB 表中的所有数据。我使用单表架构,所以我的应用程序的所有部分只有一个表。我只是根据我的访问模式存储数据;
PK: COMPANY#1318723
SK: EMPLOYEE#31931823
但除了这些飞行数据,我还想在我的数据库中存储静态和只读数据,例如,存储国家和城市名称、与其他应用程序共享的常量值、在我的应用程序中不硬编码的静态字符串,以及许多其他事情。我来自 RDBS 背景,我们过去常常创 build 置表来存储这种数据。我的设置表过去看起来像这样;TABLE_COUNTRY_NAMES
Id Name Code DialCode
1 Germany de 49
2 Turkey tr 90
. . . .
. . . .
. . . .
为了使用它,我曾经在我的应用程序代码中使用枚举,例如;{
1: "GERMANY",
2: "TURKEY",
.
.
.
}
它使我的代码更加清晰和易于理解。将这些数据存储在数据库中而不是在我的应用程序中对其进行硬编码也是一种更好的做法,这样我就可以在与我的主应用程序一起工作的其他应用程序中使用它,在应用程序之间安全地共享静态值,并应用更改无需在每个应用程序的源代码中编辑数据。现在,当我想通过单表设计将该方法引入 DynamoDB 端时,我想确定什么是最佳实践。我想听听您关于在这种情况下什么是最佳实践以及您通常如何在您的应用程序中实现它的想法。
谢谢。
最佳答案
由于您将在不同的应用程序中使用这些静态数据,因此在我看来,您可以创建另一个 DynamoDB 表,同样采用单表设计,并将所有静态值存储到该表中。
您可以更轻松地维护这些静态数据并使用该 DynamoDB 单表访问这些数据。
关于database - 在 NoSQL 数据库中创 build 置表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69082110/