[英]What is the best way to represent data lineage in an image processing pipeline?
我正在嘗試確定表示圖像處理數據沿襲的最佳方式。 我有一個圖像存儲在 S3 中,我想處理它們,然后將它們放回 S3。 然后我希望能夠運行查詢,以便我可以查看鏈中前后的所有圖像和進程。 例如:
Image1 -ProcessA-> Image2 -ProcessB-> Image3
我希望搜索Image2的“血統”會產生上述信息。
我知道這看起來像是圖形數據庫的千篇一律的案例,但我對它們並不十分熟悉,尤其是對於生產工作流程。 我一直在努力研究如何在關系數據庫中實現這個模型,但感覺我只是想把方釘放在圓孔里。
當您說這是圖形數據庫的千篇一律的案例時,您是正確的,任何可用的圖形數據庫產品都可能能夠滿足您的要求。 您也可以使用關系數據庫解決這個問題,但正如您所指出的,這就像在圓孔中放置一個方釘。
披露:我為 InfiniteGraph 產品的制造商 Objectivity 工作。
我已經使用 InfiniteGraph 解決了類似的數據沿襲問題。 基本思想是將您的數據與元數據分開。 “血統”信息是元數據。 讓我們把它放在圖形數據庫中。 沿襲信息將包括包含圖像元數據的對象(節點)以及將圖像用作輸入並將生成的圖像或其他信息用作輸出的工作流程步驟。
我們可以在無限圖中定義一個 ImageMD 類型來包含圖像的元數據,包括定義圖像數據當前存儲位置的 URI,以及圖像的大小和格式。 我們可以定義 ProcessMD 類型來描述對圖像進行操作的應用程序。 它的屬性可能包括應用程序的名稱和版本以及它的部署時間戳和運行它的主機位置。
您最終會得到一個類似於下圖的環境。
然后,給定一個圖像,您可以向后追蹤它的譜系以查看其歷史,然后向前查看它或它的衍生組件是如何進化或使用的。
這是Objectivity, Inc. 應用程序Metadata Connect 的基礎。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.