2017-03-02 27 views
0

我是一位MSSQL開發人員,他最近負責使用AWS構建使用DynamoDB的新應用程序,因爲我們使用AWS,並且希望獲得高度可伸縮的數據庫服務。有沒有在AWS DynamoDB表上強制執行模式約束的方法?

我最關心的是數據完整性。例如,我爲我的所有用戶都有一張表,其中每行都需要用戶名,電子郵件地址和姓名字段,所有字符串都帶有經過驗證的字段,它們是int。無論如何要求該表中的所有條目都具有這些字段並且具有該特定類型?

由於應用程序是在PHP中,我使用Kettle作爲我的ORM,它應該可以防止我搞亂數據完整性,但另一位開發人員擔心我們是否添加了另一個應用程序,或者是否有人通過安慰。 https://github.com/inouet/kettle

回答

1

當前,不,您有責任維護項目的完整性,以保證基表上不存在屬性的屬性。但是,您可以使用LSI和GSI來強制實施屬性的數據類型(儘管我認爲這不是推薦模式,因爲它可能會導致分區熱量,尤其是對於值範圍較小的屬性)。例如,驗證似乎可能只需要0或1作爲值,所以如果您創建一個PK =經過驗證的GSI,其中驗證是一個數字,寫入基表的操作可能會被驗證的GSI限制。

相關問題