簡體   English   中英

NoSql和按列表查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM