如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
NebulaGraph
V2EX  ›  推广

Pick of the Week'19 | Nebula 第 45 周看点--Nebula 到底是不是原生存储?

  •  
  •   NebulaGraph · Nov 8, 2019 · 1338 views
    This topic created in 2403 days ago, the information mentioned may be changed or developed.

    每周看点

    每周五 Nebula 为你播报每周看点,每周看点由本周大事件、用户问答、Nebula 产品动态和推荐阅读构成。

    今天是 2019 年第 45 个工作周的周五,来和 Nebula 看看本周有什么图数据库和 Nebula 的新看点~~

    本周大事件

    RC1 Release

    本次 RC1 主要增强了 nGQL,新增 LIMIT , ORDER BY 等语句;算法方面增加了最短路径,全路径搜索。Storage 层新增 PUT/GET 接口,支持 scale out/in,以及新增了 Golang 客户端以及多线程 Golang 数据导入工具。

    Release Note 见这里 https://github.com/vesoft-inc/nebula/releases/tag/v1.0.0-rc1

    社区问答

    Pick of the Week 每周会从微博、知乎、微信群、微信公众号及 CSDN 等技术社区选取 3 - 5 个用户问题同你分享,欢迎阅读本文的你通过知乎、微信公众号后台或者添加 Nebula 小助手微信号:NebulaGraphbot 进群交流。

    1、 @柯东 提问

    其实 Nebula 到底是不是原生存储?按介绍,你们还只是在 RocksDB 和 HBase 上搭建一层

    Nebula:Nebula 最底层使用的 kv 存储引擎是 RocksDB,上层自己实现了数据一致性协议,然后再封装成图的语义。当然图在数据结构上有多种存储方式,可是在数据 sharding 和分布式能力上,各种方式之间只能做个权衡。比如可以把图结构单独存放,这样查询图结构能非常快,但这样属性的 scalebility 会是个问题。就看使用的时候,更看重哪个方面了。另外业务需要的时候也可以支持 HBase。

    2、 @yfractal 提问

    求介绍介绍 Nebula 锁相关或者是如何保证一致性的

    Nebula:我们用的 Raft 保持副本一致的,数据写入过程中是不存在脑裂情况的,也不允许出现脑裂, 否则数据会乱套; 读取过程中可能会存在脑裂,这是一种假脑裂,在一段时间内会读取不到新数据,你可以参考之前 PingCAP 对读取脑裂处理方案(阅读传送门: https://mp.weixin.qq.com/s/ppd78-WmFVNH5tN3wTdvgA ),只不过 PingCAP 称他为 region leader,在 Nebula Graph 里是 part raft,和 region leader 的概念类似。

    3、 @cristiano ronaldo 提问

    Nebula 在 Docker 里编译是方便了, 但是 Docker 里编译的二进制还是只能在 Docker 中运行。 虚机 /物理机运行还是要安装一大堆依赖库。

    Nebula:目前 Docker 编译有四个环境:CentOS 7.5,CentOS 6.5,Ubuntu 1804,Ubuntu 1604。

    假如你使用 Docker 编译,选择了 CentOS 7.5 编译,那么编译出来的二进制文件可以在物理机也是 CentOS 7.5 上面运行,不需要安装其他依赖,同理其他三个系统也是。

    假如你需要在 CentOS 7.0~7.5 的物理机上面运行,那么用 CentOS 7.5 系统的 Docker 编译出来的可能在低版本的 CentOS 由于 glic 的版本不支持而运行不了的话,那么可以选择直接物理机编译。只需要按照文档 https://github.com/vesoft-inc/nebula/blob/master/docs/manual-CN/3.build-develop-and-administration/1.build/1.build-source-code.md 里面操作按照我们编译好的第三方依赖就能简单实现源码编译。

    再次感谢你的提问,后续我们会简化编译,做到只依赖 C++14 编译器和通过 OS 官方 repo 可直接安装的 libs。

    4、 @CreaPlus 提问

    这个和 Neo4j 的区别

    Nebula:二者的区别主要有以下几点:

    • 两者的查询语言类似但不一样;(当然 Nebula 正在开发去兼容 OpenCypher )
    • Neo4j 3.4 开源是个单机版,分布式架构也是把图结构放在单机上。Nebula 把所有的点和边都打散,做成完全的分布式。因此对于横向扩展的能力不一样,特别是当数据量单机无法存放或者处理的时候。
    • 不同的开发语言,Neo4j 是 Java,Nebula 是 C++;

    Nebula 产品动态

    Pick of the Week 每周会从 GitHub issue 及 pr 中选取重要的产品动态和大家分享,欢迎阅读本文的你关注我们的 GitHub:https://github.com/vesoft-inc/nebula 及时了解产品新动态~

    1、SHOW TAGS 和 SHOW EDGES 时显示 tag 和 edgetype 的 ID,可以方便调试。参见:https://github.com/vesoft-inc/nebula/pull/1207

    ([email protected]) [t]> show tags
    =================
    | ID | Name     |
    =================
    | 2  | course   |
    -----------------
    | 3  | building |
    -----------------
    | 4  | student  |
    -----------------
    Got 3 rows (Time spent: 1784/2755 us)
    
    ([email protected]) [t]> show edges
    ===============
    | ID | Name   |
    ===============
    | 5  | like   |
    ---------------
    | 6  | select |
    ---------------
    Got 2 rows (Time spent: 1519/2359 us)
    

    2、新增 SHOW PARTS 命令获取当前 space 的 partition 详情,参见:https://github.com/vesoft-inc/nebula/pull/1086

    选取 Leader 前,使用 SHOW PARTS 命令

    ([email protected]) [(none)]> use myspace;
    Execution succeeded (Time spent: 1463/2378 us)
    
    ([email protected]) [myspace]> show parts;
    ===========================================================================================
    | Partition ID | Leader | Peers                                                   | Losts |
    ===========================================================================================
    | 1            |        | 172.25.61.1:44700, 172.25.61.1:44500, 172.25.61.1:44600 |       |
    -------------------------------------------------------------------------------------------
    | 2            |        | 172.25.61.1:44500, 172.25.61.1:44600, 172.25.61.1:44700 |       |
    -------------------------------------------------------------------------------------------
    | 3            |        | 172.25.61.1:44600, 172.25.61.1:44700, 172.25.61.1:44500 |       |
    -------------------------------------------------------------------------------------------
    | 4            |        | 172.25.61.1:44700, 172.25.61.1:44500, 172.25.61.1:44600 |       |
    -------------------------------------------------------------------------------------------
    | 5            |        | 172.25.61.1:44500, 172.25.61.1:44600, 172.25.61.1:44700 |       |
    -------------------------------------------------------------------------------------------
    | 6            |        | 172.25.61.1:44600, 172.25.61.1:44700, 172.25.61.1:44500 |       |
    -------------------------------------------------------------------------------------------
    | 7            |        | 172.25.61.1:44700, 172.25.61.1:44500, 172.25.61.1:44600 |       |
    -------------------------------------------------------------------------------------------
    | 8            |        | 172.25.61.1:44500, 172.25.61.1:44600, 172.25.61.1:44700 |       |
    -------------------------------------------------------------------------------------------
    | 9            |        | 172.25.61.1:44600, 172.25.61.1:44700, 172.25.61.1:44500 |       |
    -------------------------------------------------------------------------------------------
    

    选取 Leader 后,使用 SHOW PARTS 命令

    ([email protected]) [myspace]> show parts;
    ======================================================================================================
    | Partition ID | Leader            | Peers                                                   | Losts |
    ======================================================================================================
    | 1            | 172.25.61.1:44500 | 172.25.61.1:44700, 172.25.61.1:44500, 172.25.61.1:44600 |       |
    ------------------------------------------------------------------------------------------------------
    | 2            | 172.25.61.1:44500 | 172.25.61.1:44500, 172.25.61.1:44600, 172.25.61.1:44700 |       |
    ------------------------------------------------------------------------------------------------------
    | 3            | 172.25.61.1:44500 | 172.25.61.1:44600, 172.25.61.1:44700, 172.25.61.1:44500 |       |
    ------------------------------------------------------------------------------------------------------
    | 4            | 172.25.61.1:44500 | 172.25.61.1:44700, 172.25.61.1:44500, 172.25.61.1:44600 |       |
    ------------------------------------------------------------------------------------------------------
    | 5            | 172.25.61.1:44500 | 172.25.61.1:44500, 172.25.61.1:44600, 172.25.61.1:44700 |       |
    ------------------------------------------------------------------------------------------------------
    | 6            | 172.25.61.1:44500 | 172.25.61.1:44600, 172.25.61.1:44700, 172.25.61.1:44500 |       |
    ------------------------------------------------------------------------------------------------------
    | 7            | 172.25.61.1:44500 | 172.25.61.1:44700, 172.25.61.1:44500, 172.25.61.1:44600 |       |
    ------------------------------------------------------------------------------------------------------
    | 8            | 172.25.61.1:44500 | 172.25.61.1:44500, 172.25.61.1:44600, 172.25.61.1:44700 |       |
    ------------------------------------------------------------------------------------------------------
    | 9            | 172.25.61.1:44500 | 172.25.61.1:44600, 172.25.61.1:44700, 172.25.61.1:44500 |       |
    ------------------------------------------------------------------------------------------------------
    

    3、完成部分升级库 folly, fbthrift,参见:https://github.com/vesoft-inc/nebula/pull/1161

    推荐阅读

    本期 Pick of the Week 就此完毕,如果你对本周看点有任何建议,欢迎在本文或者公众号后台及添加 Nebula 小助手微信号:NebulaGraphbot 和我们交流 🎊🎊也欢迎你关注 GitHub: https://github.com/vesoft-inc/nebula 掌握第一手 Nebula 产品动态~~

    关注公众号

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   832 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 21:20 · PVG 05:20 · LAX 14:20 · JFK 17:20
    ♥ Do have faith in what you're doing.