写点什么

图数据库认证考试 NGCP 错题解析 vol.02:这 10 道题竟无一人全部答对

作者:NebulaGraph
  • 2023-03-03
    浙江
  • 本文字数:3017 字

    阅读完需:约 10 分钟


如果你读过「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

发布于: 刚刚阅读数: 3
用户头像

NebulaGraph

关注

一款开源的分布式图数据库 2020-04-28 加入

Follow me, here is my GitHub profile: https://github.com/vesoft-inc/nebula

评论

发布
暂无评论
图数据库认证考试 NGCP 错题解析 vol.02:这 10 道题竟无一人全部答对_图数据库_NebulaGraph_InfoQ写作社区