簡體   English   中英

合並-Google Cloud Datastore中的upsert / delete

[英]merge - upsert/delete in google cloud datastore

我正在研究POC(將部分功能從關系數據庫遷移到雲數據存儲)。 我有幾個問題:

  1. 由於數據來自不同的數據源(通過平面文件),我每晚都需要刷新一些“種類”。 我讀了一下,並了解到數據存儲中沒有TRUNCATE類型的功能。 我相信,唯一的選擇是在循環中從“種類”中檢索鍵並逐個刪除實體。 並使用導入功能加載新的數據集。 有沒有更好的選擇?
    1. 假設我有一個叫做部門的部門,還有一個叫做商店的部門。 現在,我需要一種叫做dept-store的類型。 因此,對於此父節點,是部門和存儲。 有沒有辦法加強這種關系? 從文檔中,我看到只能有一個父母。
    2. 如果我在kind1中有一個子實體,其父級在kind2中存在,並且它們鏈接在一起,是否可以同時查詢在kind1和kind2中存在的所有屬性? 從關系數據庫的角度來看,它與“ SELECT *”等效連接。 我正在尋找數據存儲中的等效功能。

為了回答您的問題:

  1. 有兩種刪除多個實體的方法。 首先,您可以使用Cloud Dataflow刪除Bulk [ 1 ]中的實體。 其次,一旦檢索到密鑰,就可以通過將密鑰傳遞給數據存儲刪除功能來進行批量刪除操作,這里有使用示例[ 2 ]。 為了檢索密鑰,您可以運行僅密鑰查詢[ 3 ]。

  2. 在數據存儲區中,一個實體只能有一個父級,但可以有多個子級。 但是對於您的用例,您可以嘗試擁有第三種類型的百貨商店,並將其屬性分配為部門和商店類型中實體的鍵。 該解決方案可能需要對實現的需求有充分的了解,因為數據存儲本質上是非關系數據庫。

  3. 您可以查找多個實體,並通過批處理操作[ 2 ]提供從kind1和kind2檢索到的密鑰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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