Pick of the Week'22 |第 2 周看点:酷炫可视化工具在线等你试用

每周看点

每周五 Nebula 为你播报每周看点,每周看点由固定模块:产品动态、社区问答、推荐阅读,和随机模块:本周大事件构成。

新的一年,我们重新开启之前的每周看点模块,同以往一样和大家一起回顾下本周有什么实用 pr 以及大事件需要关注。不知道元旦放假回来的第一周,你的工作状态如何呢?:full_moon_with_face: Nebula 的研发同学状态杠杠的~~

本周看点

DB-Engine 一月排名上线

DB-Engine 一月图数据库排名

许久不见的 DB-Engines 排名 Nebula 位列第 15 名,希望下个月我们一起加油 :facepunch:

Nebula 可视化工具企业版现可申请 15 天免费试用

作为 Nebula 可视化工具“新生” Nebula Dashboard 和 Nebula Explorer 现面向 Nebula 社区开放为期 15 天的免费申请试用。下图分别为 Nebula Dashboard 和 Nebula Explorer 的酷炫截图:

  • Nebula Dashboard:Nebula 集群全生命周期管理,多维度指标监控大盘,线上稳定性心中有数;
  • Nebula Explorer:酷炫的图探索工具,新增 3D 视图、Snapshot 快照、Console 控制台等功能;

Nebula Dashboard 在线“巡逻”中

Nebula Dashboard 在线“巡逻”中

2D 版 Nebula Explorer 深藏不漏

2D 版 Nebula Explorer 深藏不漏

3D 版 Nebula Explorer

3D 版 Nebula Explorer(贼酷炫 :sunglasses:

点击链接:

填写申请,试用可视化产品

产品动态

本周 Nebula 主要有这些产品动态:

社区问答

Pick of the Week 每周会从官方论坛、知乎、微信群、微信公众号及开源中国等渠道精选问题同你分享。

主题分享

本周分享的主题是【Python 多线程查询】,由社区用户 Chuaco 提出,Nebula 研发解答。

“Chuaco 提问:我需要使用 Python 对 Nebula 进行多次的查询,由于单次查询速度较慢,这里准备使用多线程进行查询,不过当前所使用 threadpool 方式并没有比单纯的循环方法快出多少,请问有没有正确使用 Nebula 进行多线程查询的方法?代码如下:

def nebula_lookup_func(self, attribute):
    nebula = NebulaGraph.graph
    nebula_session = nebula.start_session()
    nebula_session.execute("USE graph_space_name")

    res = nebula_session.execute("LOOKUP ON {}".format(attribute))
    nebula_session.release()
    return res

def nebula_multithread_func(self):
    res_store = []
    attri_list = ["tag1", "tag2"]
    with ThreadPoolExecutor(200) as executor:
        jobs = []
        results = []
        for attribute in attri_list:
            jobs.append(executor.submit(self.nebula_lookup_func, testclass, attribute))
        for job in futures.as_completed(jobs):
            result_done = job.result()
            results.append(result_done)
        for result in results:
            res_store.append(result)
    return res_store

Nebula:Python 客户端从网络中解码是比较耗 CPU 的,如果你 LOOKUP 的数据比较大,加上 Python 里的 GIL,即便是多线程,其实也没有快很多。
你可以看一下运行过程中,是不是单核已经跑满了。

另外就是网络传输是共用的,看一下是不是因为数据量大,瓶颈在网络上。

改善的话:

  1. 看一下是什么业务,是不是可以放 nGQL 里,比如 count 或者其他。只看语句的话,这个是扫全表了。
  2. 语句上加 LIMITWHERE
  3. 多进程。(如果瓶颈在网络上,提升不明显)

Nebula 进阶技能

本周的 Nebula 进阶技能分享一个 Exchange Debug 小技巧——在生成 SST 时程序报错,提示 org.rocksdb.RocksDBException: While open a file for appending: /path/sst/1-xxx.sst: No such file or directory,该怎么办?

试试下面两个方式 debug:

  1. 检查 /path 是否存在
  2. 检查 Spark 每台机器的当前用户对 /path 是否有操作权限

推荐阅读

  • 《中科大脑知识图谱平台建设及业务实践》
    • 推荐理由:为了支持城市复杂场景下各类需求,中科大脑知识图谱团队设计开发了一套包含本体可视化设计、数据映射、数据抽取、数据写入、图数据探索的一体化平台,而本文则详细介绍了他们的业务背景、技术选型、平台建设等内容。

星云·小剧场

为什么给图数据库取名 Nebula

Nebula 是星云的意思,很大嘛,也是漫威宇宙里面漂亮的星云小姐姐。对了,Nebula 的发音是:[ˈnɛbjələ]

本文星云图讲解–《M31 特写》

M31

作为最邻近我们的大螺旋星系,处女座云气 M31 的黝黑尘埃带、明亮泛黄的核心和散布着明亮泛蓝星团的螺旋臂,都是我们很熟悉的景观。

影像提供与版权 : Daniel López / IAC

作者与编辑:Robert Nemiroff (MTU) & Jerry Bonnell (UMCP)


交流图数据库技术?加入 Nebula 交流群请先填写下你的 Nebula 名片,Nebula 小助手会拉你进群~~

关注公众号


这是一个从 https://nebula-graph.com.cn/posts/nebula-graph-weekly-pickup-2022-01-07/ 下的原始话题分离的讨论话题