每周五 Nebula 为你播报每周看点,每周看点由本周大事件、用户问答、Nebula 产品动态和推荐阅读构成。
今天是 2019 年第 50 个工作周的周五,距离 2020 年还有 3 周不到的时间 🌚 来和 Nebula 看下本周图数据库和 Nebula 有什么新看点~~
呼声极高的索引( index )功能将在本月底与大家见面,Meta 层已支持索引功能,接来下会是 Storage 和 Graph 层,让我们拭目以待。下面请品赏关键代码 👏👏
// Operations for index
folly::Future<StatusOr<TagIndexID>>
createTagIndex(GraphSpaceID spaceID,
std::string name,
std::map<std::string, std::vector<std::string>>&& fields);
// Remove the define of tag index
folly::Future<StatusOr<bool>>
dropTagIndex(GraphSpaceID spaceID, std::string name);
folly::Future<StatusOr<cpp2::TagIndexItem>>
getTagIndex(GraphSpaceID spaceID std::string name);
folly::Future<StatusOr<std::vector<cpp2::TagIndexItem>>>
listTagIndexes(GraphSpaceID spaceID);
folly::Future<StatusOr<EdgeIndexID>>
createEdgeIndex(GraphSpaceID spaceID,
std::string name,
std::map<std::string, std::vector<std::string>>&& fields);
// Remove the define of edge index
folly::Future<StatusOr<bool>>
dropEdgeIndex(GraphSpaceID spaceID, std::string name);
folly::Future<StatusOr<cpp2::EdgeIndexItem>>
getEdgeIndex(GraphSpaceID spaceID, std::string name);
folly::Future<StatusOr<std::vector<cpp2::EdgeIndexItem>>>
listEdgeIndexes(GraphSpaceID spaceID);
根据 Gartner 研究报告,2019~2022 年,图数据库市场将会以每年 100% 的增长率增长;而在过去的 2018 年,图数据库市场大概是 5 亿美元,到 2022 年保守估计至少 80 亿美元。
Pick of the Week 每周会从 GitHub issue 及 pr 中选取重要的产品动态和大家分享,欢迎阅读本文的你关注我们的 GitHub:https://github.com/vesoft-inc/nebula 及时了解产品新动态~
Tools
,示例如下,pr 参见链接: https://github.com/vesoft-inc/nebula/pull/1422、https://github.com/vesoft-inc/nebula/pull/1431fuzz testing
,标签: 测试
,pr 参见链接: https://github.com/vesoft-inc/nebula/pull/1011Index
,pr 参见链接: https://github.com/vesoft-inc/nebula/pull/472优化
,示例如下,pr 参见链接: https://github.com/vesoft-inc/nebula/pull/1378Clients
,示例如下,pr 参见链接: https://github.com/vesoft-inc/nebula/pull/1399Pick of the Week 每周会从微博、知乎、微信群、微信公众号及 CSDN 等技术社区选取 3 - 5 个用户问题同你分享,欢迎阅读本文的你通过知乎、微信公众号后台或者添加 Nebula 小助手微信号:NebulaGraphbot 进群交流。
麻烦问一下,整个存储层中,边是不是存了两份呢?(不算副本),Partition 之间的交互会涉及到网络开销么?
Nebula:一条图中的逻辑意义上的边,对应内部两个物理上的 key-value,分别叫 out-edge 和 in-edge,所以 key 是存储了两份,但 value 储存了一份。out-edge 存储 property values,in-edge 不存储 property,是一种是用空间来换时间的方式。如果用了索引,那索引是另外的一些存储空间了。
Partition 之间的交互主要是看 partition 的分布,如果不在一台机器上一定会有网络开销的,主要原因是 Partition 分为 leader 角色和 follower 角色,并通过 raft 协议保证其一致性,为了提高数据的安全性,leader 和 follower 往往会被分配到不同的 host 上,所以会涉及到网络开销。
什么时候支持 GraphQL ?
Nebula:如果是指 FaceBook 的 GraphQL 的话?目前没有计划
Nebula 目前查询还是单点响应,不是 MPP 架构是吧
Nebula:对于 OLTP 场景,是的。今后对于 OLAP 场景,会考虑 MPP 架构。
六度图网络什么时候实现?
Nebula:是指的子图功能吗?我们计划提供一个专门的语句来读取子图,暂定 12 月发布的 RC3 中有该功能。
本期 Pick of the Week 就此完毕,如果你对本周看点有任何建议,欢迎在本文或者公众号后台及添加 Nebula 小助手微信号加群:NebulaGraphbot
为什么给图数据库取名 Nebula ? Nebula 是星云的意思,很大嘛,也是漫威宇宙里面漂亮的星云小姐姐。对了,Nebula 的发音是:[ˈnɛbjələ]
本文星云图讲解--《 M43:猎户座瀑布》
猎户座有瀑布吗? 没有,但是 M43 中的一些灰尘看起来就像地球上的瀑布。M43 是猎户座分子云复合体的一部分,它也是名声在外的 M42 的邻居,经常被拍到,但很少被提及。M42,包括许多来自梯形星系团的明亮恒星,位于该场景的上方。
资料来源 | Robert Nemiroff (MTU) & Jerry Bonnell (UMCP), Phillip Newman (NASA);
图片来源 | Astronomy Picture of the Day | 2018 December 12
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.