[英]NoSql and query by list
我有一個DynamoDB數據庫,其中包含大約100.000個項目。這些項目大多是平面的,但它們確實包含類別列表。
{
"name": "Protine shaker",
"categories": [
"Sport",
"Kitchen"
];
}
我希望能夠找到所有示例中屬於“運動”類別的項,但由於它是一個列表,因此我無法對其進行索引。 因此,使用純DyanmoDB解決方案的唯一選擇就是掃描整個表,如果經常進行,這可能會很昂貴。
我想到的是,除了可以包含類別映射的DynamoDB之外,我還可以擁有一個SQL數據庫,或者為每個類別的對象創建另一個DynamoDB故事,其中包含該類別中的項目列表。
使用DynamoDB時,解決此問題的正常/常見解決方案是什么? 我猜想這肯定是一個普遍的問題。
您可以將DynamoDB與ElasticSearch集成在一起,后者可以提供更多選項來查詢DynamoDB不支持的數據。 只需在ElasticSearch中創建索引並在其中執行查詢即可。
從哪里開始: https : //aws.amazon.com/about-aws/whats-new/2015/08/amazon-dynamodb-elasticsearch-integration/
擁有SQL數據庫不是一個好的解決方案,因為您必須自己將信息同步在兩個不同的數據存儲中。 看起來像是維護的操作難題。
每個類別具有多個DynamoDB表是不可擴展的,即使在這里,您也可以通過“事務”來更新多個DynamoDB表,這是可能的,但是會降低性能,或者您可以讓AWS Lambda根據DynamoDB更新流寫入相關的Category表。 但是,為了可伸縮性,最好還是避免。 每次引入新類別時,您都必須創建一個新表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.