首頁>Club>
3
回覆列表
  • 1 # IT168企業級

    資料之間的自然關係是一個大金礦,能為企業使用者提供洞察力。 不幸的是,傳統資料庫儲存資料的方式打破了資料之間的關係,隱藏了有價值的洞察,所以儘管專注於資料分析方面的資料庫很多,但真正有價值的洞察卻很少被發現。

      在保留資料關係這方面,圖資料庫可謂是天賦異稟,它從頭開始設計資料,幫助使用者從大型,複雜的相互關聯的資料網路中理解和推斷細微的洞察。圖資料庫由一系列結點和邊界組成;每一個結點代表了一個實體,每一個邊界代表了兩個結點之間的一種連線或者關係,為了更詳細的描述資料間的關係,結點和邊界的屬性也會儲存在內。

      為了更好地解釋圖形資料庫的工作原理,下面我們使用IBM Graph來演示一下。

      IBM Graph是什麼

      IBM Graph基於構建高效能圖形應用程式的Apache TinkerPop框架,旨在透過完全託管的圖形資料庫服務啟用強大的應用程式。 反過來,也為使用者提供了簡化的HTTP API,Apache TinkerPop v3相容的API和完整的Apache TinkerPop v3查詢語言。 這種型別的資料庫更易於利用結點,邊和屬性發現圖中的無索引鄰接關係。換句話說,圖中的每個元素都直接連線到相鄰的元素,從而不需要索引查詢來遍歷圖。

      透過基於圖的NoSQL儲存,IBM Graph可以更輕鬆地建立豐富的資料表示,無論是開發人員還是業務分析師,所以的團隊成員都可以建立和繪製。

      圖形資料庫(如IBM Graph)的靈活性和易用性意味著分析複雜關係不再是一項艱鉅的任務。 圖形資料庫在新應用和服務中可以以指數級的高速率生成資料,可用來產生推薦結果、社交網路,位置或專案之間的有效路由、欺詐檢測等。 它允許使用者執行以下操作:

      1.分析事物之間的相互關係

      2.分析資料以跟蹤人,產品等之間的關係

      3.處理大量原始資料並將結果生成為圖形

      4.處理複雜關係和動態模式的資料

      5.在迭代開發週期中適應不斷變化的業務需求

      圖資料庫是如何工作的

      索引模式:IBM Graph可以使用模式來建立用於查詢資料的索引。模式定義將要使用的屬性的資料型別,併為屬性建立索引。 在IBM Graph中查詢訪問的第一個屬性需要索引,該模式最好事先完成(儘管後面可以附加),這樣能夠確保沿途引入的結點和邊界可以按預期工作。

      模式應定義圖的屬性,標籤和索引。例如,如果分析Twitter資料,則資料將被劃分為人,標籤和Tweet,並且要確認它們之間的關係是entions, hashes, tweets,還是favorites。 此外,為了方便查詢還要建立索引。

      載入資料:雖然批次上傳是可用的,但Gremlin可以上傳任意多的資料,無疑是將資料上傳到伺服器的最佳選擇。此外,使用批次上傳時,伺服器會自動為圖元素分配ID,從而防止單獨批次上傳的結點和邊之間建立連線。另外,上傳之後系統會做出相應的響應,告知使用者Gremlin指令碼中是否有錯誤,並返回指令碼上的最後一個表示式。如若匯入成功應該如圖所示:

      查詢資料:IBM Graph提供了用於查詢資料的各種API端點。 例#FormatImgID_2#如,/ vertices和/ edge端點可以透過屬性或標籤查詢圖形元素。/ Gremlin端點可以執行更復雜的查詢,甚至可以在單個請求中執行多個查詢。 下圖是一個查示例,用於返回Twitter使用者Kamal最喜歡的tweets:

      為了提高查詢效能,避免Gremlin查詢程式碼每次都被編譯,可以採用繫結的方式。繫結允許使用者保持指令碼相同(快取),每次改變呼叫的資料。例如,如果有查詢,檢索特定的一組離散資料點可以在繫結中分配名稱。因為程式碼只需編譯一次,所以繫結可以減少執行類似查詢所需的時間。

      值得注意的是這裡沒有直接訪問Gremlin二進位制協議。而是在與HTTP API進行互動。使用者在進行Curl請求或HTTP請求,仍然可以操作圖形或向端點發出請求。

      為IBM Graph配置應用程式

      在建立IBM圖形服務的例項時,應用程式與服務互動的必要詳細資訊要以JSON格式。

      服務例項通常可以由一個或多個應用程式使用,並且可以透過IBM Bluemix或其外部訪問。如果是Bluemix應用程式,則該服務可與用於建立它的憑據繫結,可以在VCAP_SERVICES環境變數中找到它。

      為了確保應用程式可用,要進行以下配置:

      IBM圖形端點,由apiURL值標識

      服務例項使用者名稱由使用者名稱值標識

      服務例項密碼由密碼值標識

      在文件中,Curl示例使用$username,$password和$apiURLw引用服務憑據中的欄位。

      Bluemix 和 IBM Graph

      IBM Graph是透過IBM Bluemix提供服務。IBM Bluemix是一種服務平臺,支援多種程式語言和服務,構建,執行,部署和管理基於雲的應用程式整合DevOps。 IBM Graph使用Bluemix服務有三個步驟:

      透過請求新的服務例項在Bluemix中建立服務例項,或者在命令列介面,使用IBM Graph作為服務名稱,使用Standard作為服務計劃。

      (可選)標識將使用服務的應用程式。如果是Bluemix應用程式,則可以在建立服務例項時標識,如果是外部的,可以不繫結該服務。

      在應用程式中編寫與服務互動的程式碼。

      學習像IBM Graph這樣的新工具的最好方法是構建一個解決現實問題的應用程式。想構建一個圖形資料庫例項,其實有很多方向,它可用於社交圖,欺詐檢測和推薦引擎,並且這些應用程式的簡化版本也可以基於現已存在的資料集進行構建。

  • 中秋節和大豐收的關聯?
  • 90平不規則房型,怎樣改造?