自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

微軟進(jìn)軍NoSQL 發(fā)布Trinity數(shù)據(jù)庫(kù)

原創(chuàng)
數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
筆者在很多文章中看見(jiàn)微軟發(fā)布了其圖數(shù)據(jù)庫(kù)系統(tǒng)Trinity的消息,但是Trinity具體是什么樣子的數(shù)據(jù)庫(kù),有什么功能只有短短幾句介紹,于是筆者查看了該項(xiàng)目的原文地址,并加以翻譯。水平有限,請(qǐng)大家多多指教。

【51CTO綜合報(bào)道】正當(dāng)我們感慨各類(lèi)NoSQL數(shù)據(jù)庫(kù)遍地開(kāi)花的時(shí)候,老大哥微軟也加入了這一陣營(yíng),最近微軟發(fā)布了其圖數(shù)據(jù)庫(kù)系統(tǒng)Trinity。

筆者在很多文章中看見(jiàn)微軟發(fā)布了其圖數(shù)據(jù)庫(kù)系統(tǒng)Trinity的消息,但是Trinity具體是什么樣子的數(shù)據(jù)庫(kù),有什么功能只有短短幾句介紹,于是筆者查看了該項(xiàng)目的原文地址,并加以翻譯。水平有限,請(qǐng)大家多多指教。

[[20659]]

Trinity是一個(gè)圖數(shù)據(jù)庫(kù),也是建立在分布存儲(chǔ)云上的計(jì)算平臺(tái)。作為一個(gè)數(shù)據(jù)庫(kù),它提供如高度并行查詢(xún)處理、事務(wù)記錄、一致性控制等功能。作為一個(gè)計(jì)算平臺(tái),它為大型圖形提供了同步或不同步的批處理計(jì)算。Trinity可以配置在一臺(tái)計(jì)算機(jī)或數(shù)百臺(tái)計(jì)算機(jī)上。

圖是一種具有較高表達(dá)能力的抽象數(shù)據(jù)結(jié)構(gòu)。許多現(xiàn)實(shí)生活中的應(yīng)用都可以通過(guò)圖模擬,包括生物網(wǎng)絡(luò),語(yǔ)義網(wǎng)絡(luò)和社會(huì)網(wǎng)絡(luò)。因此,圖形引擎對(duì)多種應(yīng)用都是非常重要的。目前,在這個(gè)領(lǐng)域有:Neo4j, HyperGraphDB,InfiniteGraph等等。

  1. Neo4j是一個(gè)基于磁盤(pán)的事務(wù)性圖數(shù)據(jù)庫(kù)。
  2. HyperGraphDB是基于鍵/值對(duì)存儲(chǔ)的Berkeley DB。
  3. InfiniteGraph是對(duì)大型圖數(shù)據(jù)分析的分布式系統(tǒng)。  

2009年,google 發(fā)布了Pregel,作為其大型圖處理平臺(tái)。Pregel 是一個(gè)批處理系統(tǒng),同時(shí)它不支持在線查詢(xún)處理或圖服務(wù)。對(duì)比來(lái)看,Trinity不僅支持在線查詢(xún)也支持離線批處理。進(jìn)一步,Pregel中的批處理是嚴(yán)格同步的,但是Trinity 支持了不同步計(jì)算,有更好得性能。

#p#

Trinity 的特點(diǎn)

  1. 數(shù)據(jù)模型:超圖
  2. 分布式: Trinity 可以配置在一臺(tái)或上百臺(tái)計(jì)算機(jī)上
  3. 圖數(shù)據(jù)庫(kù): Trinity是一個(gè)基于內(nèi)存的圖倉(cāng)庫(kù),它有豐富的數(shù)據(jù)庫(kù)特點(diǎn),如:在線高度并行查詢(xún)處理,ACI交易支持,等等。目前Trinity對(duì)圖處理為用戶(hù)提供C# APIs 。
  4. 并行圖處理系統(tǒng):Trinity 支持大型,離線批處理。支持同步和不同步批計(jì)算。

圖模型

Trinity采用超圖模型。簡(jiǎn)單圖模型和超圖模型之間的一個(gè)區(qū)別就是:超圖中的邊(稱(chēng)為超邊)連接任意數(shù)量的節(jié)點(diǎn),而在一個(gè)簡(jiǎn)單的圖中邊只能連接兩個(gè)節(jié)點(diǎn)。

超圖是比簡(jiǎn)單圖更一般:

  1. 超圖模型對(duì)許多應(yīng)用程序來(lái)說(shuō)更直接,因?yàn)楹芏嚓P(guān)系都不是一對(duì)一的關(guān)系。
  2. 一些多邊關(guān)系不能輕易通過(guò)簡(jiǎn)單圖模擬出來(lái)。直接用簡(jiǎn)單圖建模往往導(dǎo)致信息丟失。

Trinity是一個(gè)分布式圖數(shù)據(jù)庫(kù)

一個(gè)圖形數(shù)據(jù)庫(kù)應(yīng)該支持一些基本的數(shù)據(jù)庫(kù)功能,如查詢(xún),事務(wù)記錄,并行控制和一致性維護(hù)。

Trinity支持內(nèi)容豐富的圖表。每個(gè)節(jié)點(diǎn)(或邊緣)與一組數(shù)據(jù),或者一個(gè)鍵/值對(duì)相關(guān)聯(lián)。換句話說(shuō),在Trinity中節(jié)點(diǎn)和邊是異構(gòu)類(lèi)型。

Trinity優(yōu)化并發(fā)聯(lián)機(jī)查詢(xún)處理。當(dāng)在一臺(tái)機(jī)器上部署,Trinity可以在一秒鐘內(nèi)訪問(wèn)1,000,000節(jié)點(diǎn)(例如,當(dāng)執(zhí)行BFS時(shí))。當(dāng)通過(guò)網(wǎng)絡(luò)部署時(shí),速度是受網(wǎng)絡(luò)延遲。Trinity提供了一個(gè)圖形分割機(jī)制,以盡量減少延遲。我們?cè)贗nfiniBand網(wǎng)絡(luò)上部署了Trinity,我們將盡快報(bào)告結(jié)果。

為支持高效的網(wǎng)上查詢(xún)處理,Trinity配置了各種索引。目前,我們提供單詞查找樹(shù)、訪問(wèn)節(jié)點(diǎn)/邊緣名稱(chēng)和與節(jié)點(diǎn)/邊緣關(guān)聯(lián)的鍵/值對(duì)散列。我們正在實(shí)現(xiàn)與子圖匹配的結(jié)構(gòu)索引。

Trinity還支持對(duì)圖的時(shí)時(shí)更新。它是事務(wù)記錄,并發(fā)控制和一致性都生效。

目前,Trinity沒(méi)有圖形查詢(xún)語(yǔ)言。圖的訪問(wèn)都是通過(guò)C#的API進(jìn)行。我們正在為T(mén)rinity設(shè)計(jì)一種高級(jí)的查詢(xún)語(yǔ)言。

Trinity是一個(gè)基于圖數(shù)據(jù)的分布式并行平臺(tái)

很多圖上操作都是以批處理模式執(zhí)行的,例如: PageRank,最短路徑查詢(xún),頻繁子圖挖掘,隨機(jī)游走,圖形分割等。

和谷歌的Pregel一樣,Trinity支持以節(jié)點(diǎn)為基礎(chǔ)的圖形并行處理。通過(guò)門(mén)戶(hù)網(wǎng)站,用戶(hù)提供一個(gè)腳本(目前C#代碼或DLL)來(lái)對(duì)一個(gè)節(jié)點(diǎn)指定計(jì)算方法,包括它把什么信息傳遞給相鄰節(jié)點(diǎn)。該系統(tǒng)將對(duì)這些進(jìn)行并行計(jì)算。

與谷歌的Pregel不一樣的是,在節(jié)點(diǎn)上的操作沒(méi)有嚴(yán)格要求以同步的方式進(jìn)行。某些操作(例如,最短路徑查詢(xún))在非同步模式下會(huì)更好的被執(zhí)行。

舉個(gè)例子,這是同步的最短路徑搜索(偽代碼,C#代碼)的代碼,這是不同步最短路徑搜索(偽代碼,C#代碼)的代碼。

我們還設(shè)計(jì)一種高級(jí)語(yǔ)言,使用戶(hù)可以輕松編寫(xiě)自己的腳本。

#p#

Trinity架構(gòu)

Trinity是基于云存儲(chǔ)的。它主要使用內(nèi)存存儲(chǔ),磁盤(pán)僅作為備份存儲(chǔ)。

系統(tǒng)架構(gòu)

#p#

Trinity應(yīng)用

隨著越來(lái)越多的應(yīng)用程序涉及圖形數(shù)據(jù),我們預(yù)計(jì)Trinity將有許多應(yīng)用。目前,Trinity支持以下兩個(gè)應(yīng)用程序:Probase(一個(gè)研究原型)和AEther(生產(chǎn)系統(tǒng))。

 

Trinity是Probase的基礎(chǔ)架構(gòu),它可以自動(dòng)從網(wǎng)上獲得大規(guī)模知識(shí)庫(kù)。 Probase有上百萬(wàn)的節(jié)點(diǎn)(表示概念)和邊(表示關(guān)系)。超圖比簡(jiǎn)單圖更合適對(duì)認(rèn)知建模。Trinity用于:1)分類(lèi)建設(shè); 2)數(shù)據(jù)集成(如添加Freebase data到Probase),3)查詢(xún)Probase.

  

Microsoft Bing的AEther項(xiàng)目現(xiàn)在使用Trinity管理AEther的實(shí)驗(yàn)數(shù)據(jù),其中包括大量的工作流和工作流中的演化。Trinity是Aether工作流程管理系統(tǒng)的后端圖存儲(chǔ)引擎。我們正在增加更多功能,特別是子圖匹配和頻繁子圖挖掘,從而支持該項(xiàng)目。

 原文鏈接:http://research.microsoft.com/en-us/projects/trinity/

 

【責(zé)任編輯:艾婧 TEL:(010)68476606】

 

責(zé)任編輯:艾婧 來(lái)源: 51CTO
相關(guān)推薦

2011-03-24 17:09:08

TrinityNoSQL

2011-10-09 09:38:03

OracleNoSQL

2012-03-08 09:17:45

圖形數(shù)據(jù)庫(kù)Trinity

2010-08-13 16:40:27

CouchDBAndroid SDKAndroid

2024-02-02 10:51:53

2019-03-27 14:54:05

NoSQL數(shù)據(jù)庫(kù)Forreste

2010-03-30 10:07:37

NoSQL數(shù)據(jù)庫(kù)

2021-09-28 09:25:05

NoSQL數(shù)據(jù)庫(kù)列式數(shù)據(jù)庫(kù)

2010-08-17 08:57:36

NoSQL微軟

2019-01-21 09:26:51

數(shù)據(jù)庫(kù)NoSQL Oracle

2024-03-28 09:00:00

NoSQL數(shù)據(jù)庫(kù)

2019-07-08 10:36:34

數(shù)據(jù)庫(kù)WebNoSQL

2019-03-20 15:59:11

NoSQLRedis數(shù)據(jù)庫(kù)

2011-07-19 09:08:50

JavaNoSQL

2010-04-01 09:45:38

NoSQL

2023-03-05 16:25:38

NoSQL數(shù)據(jù)庫(kù)

2020-10-31 22:01:40

NoSQL數(shù)據(jù)庫(kù)

2017-05-25 10:11:46

數(shù)據(jù)庫(kù)令牌節(jié)點(diǎn)

2017-11-08 09:22:36

數(shù)據(jù)庫(kù)NoSQLArangoDB

2025-01-10 09:25:10

NOSQL數(shù)據(jù)庫(kù)ACID
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)