8、基于NoSQL数据库管理系统的物理设计策略

Neo4j物理设计优化指南

基于NoSQL数据库管理系统的物理设计策略

1. Neo4j简介

Neo4j是一款开源的原生图数据库管理系统(DBMS),它提供了符合ACID(原子性、一致性、隔离性、持久性)的事务后端,其源代码使用Java和Scala编写。Neo4j有效实现了属性图模型,该模型由节点、边、属性和标签构成。属性是节点或关系的一个特性,标签则用于标记一组节点或关系,以表示它们在模型中的角色。

Neo4j能够为查询生成物理或执行计划,执行计划是一个由操作符组成的树状结构,操作符可分为以下五类:
- 扩展操作符 :用于遍历图,给定一组节点,它会遍历出边或入边关系并检索末端节点。
- 节点检索操作符 :检索图中搜索的起始点。若未指定索引,则会扫描所有节点;反之则使用索引。这些操作符是执行计划中的叶节点。
- 过滤操作符 :选择数据的一个子集,例如移除不满足特定条件的所有节点,或只保留前X个节点。这些操作符通常位于其他操作符之间。
- 连接操作符 :将两个已扩展路径的分支结果进行整合,当执行计划需要合并两个分支以产生一个结果时会执行此操作。
- 聚合操作符 :对应于常见的聚合操作,如计数、求和、求平均值等。

生成执行计划时,Neo4j需要了解一些统计信息,包括具有特定标签的节点数量、按类型划分的关系数量、每个索引的选择性、按类型划分的关系数量,以及按起始或结束节点标签分组的关系数量。这些统计信息用于估计每个操作符预期产生的记录数。一旦规划器构建出最佳计划,就会执行该计划

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值