答對這 9 題你就超越了 83.3% 的圖資料庫 NebulaGraph 使用者

NebulaGraph發表於2022-12-15

熟悉 NebulaGraph 社群的小夥伴可能都知道一個技能認證叫做:NGCP,全稱 NebulaGraph Certified Professional。使用者在考試認證期間在 1 個小時內回答 100 道題目,並獲得 60+ 分,便是 NebulaGraph 認證過的 NGCP 使用者。NGCP 使用者除了會有實體證書之外,擁有與企業認證使用者相同的技術支援服務。

看樣子,只要回答 100 道問題,NGCP 證書、認證獎勵就到手!但,你知道 NGCP 透過率是多少嗎

答案是:16.7%

在 NebulaGraph 認證考試出題人檢視 NGCP 考試成績時,發現有部分試題的正確率特別低,針對這些難題這次我們來一把解析,給考過沒考過的小夥伴遞個“小紙條”。

下面,請聽題:

題 1. 要檢視 TAG player 上的 TTL 選項值,錯誤的命令有

A. SHOW TAGS

B. DESCRIBE TAG player

C. SHOW CREATE TAG player

D. SHOW TTL ON player

解析:

SHOW TAGS 顯示當前圖空間內的 Tag 名稱;DESCRIBE TAG 顯示 Tag 的欄位名稱、資料型別、是否支援為 NULL、預設值和描述;SHOW TTL ON player 是錯誤命令。只有 SHOW CREATE TAG player 命令能看到完整的 Tag 建立語句,包含 TTL 選項值。所以,正確答案為 ABD

題 2. ACID 意義上,在不同的客戶端程式看來,NebulaGraph 的隔離性是

A. 序列化讀

B. 可重複讀

C. 提交讀

D. 未提交讀

解析:

因為當前沒有隔離性,所以是未提交讀。例如,前一個子句完成而後一個子句沒有完成,此時併發地另一個會話執行查詢,可能會查詢到不完整的資料。所以,正確答案為 D

題 3. 在建立全文索引時,索引名稱可以為下面哪些

A. nebula-index

B. index_1

C. nebula_index

D. _index_1

解析:

NebulaGraph 的全文索引名稱必須以 nebula 開頭。所以,正確答案為 AC

題 4. 設定 timezone_name 修改時區後,返回結果為所設定時區的是

A. TIMESTAMP 型別資料

B. DATETIME 型別資料

C. TIME 型別資料

D. 查詢執行時間

解析:

TIMESTAMP 型別資料與時區無關;DATETIME 和 TIME 型別資料的時區由配置檔案的 timezone_name 決定;查詢執行時間的時區由服務所在機器的系統時區決定。所以,正確答案為 BC

題 5. NebulaGraph 核心部分預設使用的埠有

A. 9559

B. 19669

C. 9780

D. 19560

解析:

9559 為 Meta 服務的對外埠;19669 為 Graph 服務的 HTTP 埠,可以用來查詢 Graph 服務的監控指標;9780 為 Storage 服務的對內埠之一,還有 9777 和 9778;19560 是已經棄用的 HTTPS 埠。所以,正確答案為 ABC

題 6. 以下返回不為 NULL 的有

A. hash( NULL )

B. 2 >= "2"

C. NULL == null

D. null IS NULL

解析:

對 NULL 進行雜湊操作,結果不為 NULL;數字 2 和字串 2 無法對比,所以結果為 NULL;NULL 表示沒有值,進行對比沒有意義,結果為 NULL;null IS NULL 為正常的判斷語句,結果不為 NULL。所以,正確答案為 AD

題 7. 關於 NebulaGraph 執行計劃的說法中,錯誤的有

A. 實現了基於代價的最佳化

B. 實現了基於規則的最佳化

C. 可以透過建立索引來加速查詢

D. 可以進行計劃快取

解析:

NebulaGraph 只支援基於規則的最佳化;NebulaGraph 中的索引沒有加速查詢的功能,只是用於定位到資料的必要前置條件;NebulaGraph 無法進行查詢的預編譯(包括相應的計劃快取)。所以,正確答案為 B

題 8. 已知 Tag player 有屬性 name 和 age,Tag player 本身和屬性 name 上有索引,在執行 LOOKUP ON player WHERE player.age == 36 YIELD player.name 時,Nebula Graph 會優先查詢 age 屬性上的索引,當發現 age 屬性沒有索引,NebulaGraph 可能會

A. 使用 name 屬性的索引繼續查詢

B. 使用 Tag player 本身的索引繼續查詢

C. 使用 VID 繼續查詢

D. 報錯,提示找不到索引

解析:

索引之間有可替代關係。在 LOOKUP 語句中 player 本身的索引和 name 屬性的索引可能替代 age 屬性索引用於屬性查詢。所以,正確答案為 AB

題 9. 以下 nGQL 語句錯誤的是

A. $var = GO FROM "player100" OVER follow YIELD dst(edge) AS id GO FROM $var.id OVER serve YIELD properties($$).name AS Team, properties($^).name AS Player;

B. $var = GO FROM "player100" OVER follow YIELD dst(edge) AS id | GO FROM $var.id OVER serve YIELD properties($$).name AS Team, properties($^).name AS Player;

C. $var = GO FROM "player100" OVER follow YIELD dst(edge) AS id; GO FROM $var.id OVER serve YIELD properties($$).name AS Team, properties($^).name AS Player;

D. $var = GO FROM "player100" OVER follow YIELD dst(edge) AS id;| GO FROM $var.id OVER serve YIELD properties($$).name AS Team, properties($^).name AS Player;

解析:

只有選項 C 的語句是正確的。選項 A 的 2 個語句沒有分隔;選項 B 使用管道符時,後一個語句中的 $var.id 需要改成引用符 $-.id;選項 D 同時使用了分號和管道符。所以,正確答案為 ABD

不知道看完本文的是,在解析問題之前答對多少道呢?來挑戰下 NGCP 題庫,拿個認證考試證書吧!掃描下方二維碼即可開啟 NGCP 認證之旅,點選連結是一樣效果喲 https://academic.nebula-graph.io/?lang=ZH_CN

相關文章