圖資料庫認證考試 NGCP 錯題解析 vol.02:這 10 道題竟無一人全部答對

語言: CN / TW / HK

如果你讀過「NebulaGraph 錯題解析第一期」,大概知道在錯題解析未出來之前,NebulaGraph 專業技能認證 NGCP(全稱 NebulaGraph Certified Professional)的通過率僅有 16.7%。但是,經過上一輪 NebulaGraph 認證考試出題人錯題解析的努力下,這次 NGCP 的通過率上升 0.1%,現在變成了 16.8%。出題人痛定思痛,決定再開一期錯題解析,如果你兩期都看了,運氣足夠好,現在去考 NGCP 閉眼就是 19 分起步了,你導再也不擔心你從零考起了。

下面,來看一眼這期錯題解析有哪些難題呢?

題 1:「判斷題」目前 NebulaGraph Studio、Explorer、Dashboard 社群版、Dashboard 企業版登入時的身份驗證是基於 NebulaGraph 本身的身份認證邏輯。

正確答案:錯誤

解析:

NebulaGraph Studio、Explorer 和 Dashboard 社群版登入時需要輸入 NebulaGraph 本身的賬密,但是 Dashboard 企業版因為需要管理所有 NebulaGraph 叢集,所以有自己的單獨一套許可權管理系統,登入時可以使用多種賬戶型別。參考文件:https://docs.nebula-graph.com.cn/3.3.0/nebula-dashboard-ent/5.account-management/

題 2:「單選題」NebulaGraph 的第一個開源版本是

A. v0.1.0

B. v0.0.1

C. v1.0.0

D. v0.0.1

正確答案:A

解析:

2019.5 釋出了 v0.1.0 alpha 版本並開源。參考文件:https://docs.nebula-graph.com.cn/3.3.0/20.appendix/history/

題 3:「單選題」下列關於大小寫的說法,錯誤的是

A. 識別符號區分大小寫

B. 保留關鍵字不區分大小寫

C. 函式不區分大小寫

D. 非保留關鍵字區分大小寫

正確答案:D

解析:

識別符號會區分大小寫,例如 my_space 和 MY_SPACE 是兩個不同的圖空間。關鍵字,包括保留關鍵字和非保留關鍵字,都是不區分大小寫的,例如我們平常寫 nGQL 命令 show spaces 或者 SHOW SPACES,都是可以正常執行的。函式也是不區分大小寫的,例如count() 和 COUNT()。參考文件:https://docs.nebula-graph.com.cn/3.3.0/3.ngql-guide/1.nGQL-overview/identifier-case-sensitivity/

題 4:「單選題」以下關於 Storage 服務中資料分片說法錯誤的是

A. NebulaGraph 的分片策略採用動態 Hash 的方式

B. 建立圖空間時需指定分片數量,分片數量設定後無法修改

C. 同一個點的所有標籤、出邊和入邊資訊都會儲存到同一個分片

D. Meta 服務負責儲存和管理分片的位置資訊

正確答案:A

解析:

NebulaGraph 的分片策略是靜態 Hash。建立圖空間時需要設定分片和副本數量,然後均衡分配到所有 Storage 節點上以保證資料安全,修改分片數量涉及到資料遷移,因此暫時不支援直接修改分片數量。NebulaGraph 採用切邊方式將圖切割,例如一個點儲存在分片 x 中,kv 中會包含 VID 和 Tag 資訊,然後挨著這條 kv,繼續按順序儲存它的出邊和入邊,所以都在同一個分片。也因此,邊會重複儲存,因為點 a 的出邊可能是點 b 的入邊。Meta 服務負責儲存和管理分片的位置資訊,並且保證分片的負載均衡。參考文件:https://docs.nebula-graph.com.cn/3.3.0/1.introduction/3.nebula-graph-architecture/4.storage-service/#_5

題 5:「多選題」下列語句正確的是

A. RETURN timestamp("2021-07-05T06:18:43.984000");

B. MATCH (v:date1) RETURN v.date1.month;

C. WITH date({year: 1984, month: 10, day: 11}) AS x RETURN day + 1;

D. WITH time({hour: 12, minute: 31, second: 14}) AS d RETURN d;

正確答案:BD

解析:

選項 A 錯誤是因為不支援微秒,可以改成 RETURN timestamp("2021-07-05T06:18:43");RETURN timestamp("2021-07-05T06:18:43.000000");。選項 C 錯誤是因為語法錯誤,RETURN 的應該是 x+1,而不是 day+1。參考文件:https://docs.nebula-graph.com.cn/3.3.0/3.ngql-guide/3.data-types/4.date-and-time/#timestamp

題 6:「多選題」以下關於使用者角色與許可權的說法錯誤的是

A. 如需建立自定義角色,要同時在配置檔案中修改 custom_role 和 role_privilege 引數

B. 一個使用者在一個圖空間內只能擁有一個角色許可權

C. SHOW SPACES 只會返回當前使用者有許可權的空間

D. 只有 God 角色可以執行 SHOW USERS 和 SHOW SNAPSHOTS 語句

正確答案:A

解析:

NebulaGraph 暫時還不支援建立自定義角色,這兩個引數也是完全的欺騙內容。一個使用者在一個圖空間內只能擁有一個角色許可權,可以用 SHOW ROLES IN <space_name>; 檢視具體許可權。為了資料安全,SHOW SPACES 只會返回當前使用者有許可權的空間,也就是至少要對圖空間有 GUEST 許可權,才能看到該圖空間。同樣也是為了資料安全,只有最高許可權的 God 角色賬號才能執行 SHOW USERS 檢視所有使用者,以及 SHOW SNAPSHOTS 檢視快照情況。參考文件:https://docs.nebula-graph.com.cn/3.3.0/7.data-security/1.authentication/3.role-list/

題 7:「單選題」以下哪項關於 BR 限制說法錯誤的是

A. Nebula Graph 版本需要為 v3.3.0

B. Nebula Listener 暫時不支援備份,且全文索引也不支援備份

C. 資料備份過程中,指定圖空間中的 DDL、DML、DCL 和 TCL 語句都會阻塞

D. 資料恢復僅支援在相同拓撲的叢集上進行

正確答案:C

解析:

資料備份過程中,指定圖空間中的 DDL 和 DML 語句將會阻塞,其他語句不會阻塞。另外 D 選項所說的相同拓撲叢集,是指叢集的 Storage 主機數量及 IP 需一致。參考文件:https://docs.nebula-graph.com.cn/3.3.0/backup-and-restore/nebula-br/1.what-is-br/

題 8:「單選題」以下關於 NebulaGraph Exchange 說法錯誤的是

A. Writer 會將待匯入的資料一次性寫入到 NebulaGraph 中

B. Reader 讀取不同來源的資料返回 DataFrame

C. Exchange 由 Reader、Processor 和 Writer 三部分組成

D. Processor 遍歷 DataFrame 獲取對應的值

正確答案:A

解析:

Writer 在遍歷指定批處理的行數(batch 引數)後,會將獲取的資料一次性寫入到 NebulaGraph 中,而不是將待匯入的資料一次性寫入,那樣做資料量太大會導致 OOM。參考文件:https://docs.nebula-graph.com.cn/3.3.0/nebula-exchange/about-exchange/ex-ug-what-is-exchange/

題 9:「單選題」以下關於執行日誌錯誤的是

A. Meta 服務、Graph 服務和 Storage 服務的日誌級別可以在各自的配置檔案中檢視,預設路徑為 /usr/local/nebula/etc/

B. 日誌詳細級別值越大,日誌記錄越詳細

C. 不能在 NebulaGraph 執行過程中刪除日誌目錄,如果刪除目錄則日誌不再列印且影響業務

D. 可以手動修改日誌的級別

正確答案:C

解析:

在 NebulaGraph 執行過程中刪除執行日誌目錄,日誌不會繼續列印,但是不會影響業務。重啟服務可以恢復正常。參考文件:https://docs.nebula-graph.com.cn/3.3.0/5.configurations-and-logs/2.log-management/logs/#_2

題 10:「單選題」執行日誌檔案佔用空間過大如何處理?以下選項中最合理的是

A. 執行用於刪除日誌的 nGQL 命令

B. 使用 crontab 設定定期任務回收日誌檔案

C. 使用 logrotate 回收日誌

D. 肉眼識別刪除日誌

正確答案:C

解析:

nGQL 命令暫無刪除日誌的命令,因此 A 選項錯誤。選項 D 可以直接排除。對於 B 和 C 選項,crontab 雖然可以,但是 logrotate 可以更好地轉儲壓縮日誌檔案,還可以結合 crontab 做更完善的自動任務,所以綜合來看還是 logrotate 更合理。參考文件:https://docs.nebula-graph.com.cn/3.3.0/20.appendix/0.FAQ/#_11

--

謝謝你讀完本文 (///▽///)

看完錯題解析的小夥伴,可以來 NebulaGraph Academy 考一把 NGCP 或者 NGCI 認證考試喲~點選這裡,開啟你的鴻圖之旅吧:NebulaGraph 認證考試,考試說明:https://discuss.nebula-graph.com.cn/t/topic/8728