2

目前我正在與一個涉及傳感器的IOT項目的客戶合作。目前他們所有的數據都被放入一張表中。這些數據來自多個傳感器節點。他們希望每個傳感器節點都有一個表格。我想知道如果通過AWS Dynamo Db,可以使用現有表中的散列鍵將數據拆分爲多個單獨的表。我研究過GSI和LSI,但這仍然不是我的客戶想要的。多桌使用甚至比使用LSI和GSI更有效?我對nosql和dynamo db很陌生,所以所有的幫助都非常感謝。是否可以將Dynamo Db表分成更多表(AWS)?

回答

1

DynamoDB不支持數據分割成多個表 - 在DynamoDB操作本身,包括原子條件檢查,無法跨表邊界進行感。但這並不意味着跨表分割數據與DynamoDB不兼容 - 只是必須在應用程序中添加邏輯。

只要來自不同傳感器的數據是隔離就足夠了,你絕對可以這樣做。更常見的情況是將數據跨越時間邊界分割爲多個表,以丟棄/歸檔舊數據,因爲DynamoDB已經使用散列鍵和全局二級索引處理分區數據成爲可能和方便。

最後,我要說的是,沒有必要和它沒有任何意義的數據拆分成散列鍵多個表 - 但它可以做到的。但是,更有用的一種情況是將數據拆分爲多個不屬於散列或範圍鍵的數據屬性(如時間序列數據示例)。

+0

非常感謝您的答覆。正如我所說我是nosql的新手,是否有可能將數百萬行存儲在一個動態數據庫表中,並且如果該表在索引於散列鍵上時仍能夠快速查詢。每個索引(傳感器)最多可以存儲102,000行(這將超過2年)。將要獲取這些數據的Web應用程序將爲每個傳感器生成歷史圖。所以我基本上要求將這些數據存儲在一個索引表中,就像將它存儲在多個索引表中一樣高效。再次感謝您的第一個迴應。 – Connar

相關問題