janusgraph源码分析3-调用栈

我们可以在比较关键的地方大断点,然后分析整个调用栈,进行进一步分析。哪里是关键点是需要一定经验判断的。 例如我们基于 hadoop spark 等框架的时候,我们写的

janusgraph线上schema过程Debug

初步调试 回顾 首先我们通过 debug 官方的 GraphOfGod 大概进行一个简单的调试,然后我们仔细查看 janusgraph 调用栈,分析了关键类。 这次我们主要看看schema 的建立过程,我

janus源码分析5-复杂操作分析

源码分析 查询操作 之前已经遇到过很多查询操作,比如查询 schema mgmt.containsVertexLabel(vType.toString()) transaction.containsVertexLabel(name); return getSchemaVertex(JanusGraphSchemaCategory.VERTEXLABEL.getSchemaName(name))!=null; 1. JanusGraphSchemaCategory.VERTEXLABEL.getSchemaName(name) // 这一步就是在 name 前面加上标识,例如 vl rt 2. JanusGraphSchemaVertex getSchemaVertex(String schemaName) graph.getSchemaCache().getSchemaId(schemaName) 1. getSchemaCache 2. StandardSchemaCache.getSchemaId id = retriever.retrieveSchemaByName(schemaName); // 这个 retriever 是 StandardJanusGraph

neo4j企业版分析

阅读neo4j源码是为了改造,所以研究一下企业版的源码。OpenEnterpriseNeoServer 和 CommunityNeoServer 稍微对比一下。 CommunityNeoServer protected static final GraphFactory COMMUNITY_FACTORY = ( config, dependencies

neo4j存储结构分析

1.本文内容转自: https://key-value-stories.blogspot.tw/2015/02/neo4j-architecture.html?view=magazine This post compiles some information about architecture of Neo4j, the leading graph database. Research is relevant for Neo4j 2.2 version. There are three main kinds of primitives in Neo4j: nodes, relationships and properties. Nodes are connected via relationships. Properties could be attached to both nodes and relationships. All primitives are identified by identifiers, unique among primitive kind. Node and relationship

neo4j导数据

1.修改配置 dbms.security.allow_csv_import_from_file_urls=true – load csv 命令 dbms.directories.import=import restart neo4j 2.导入数据方法1 load csv with headers from “file:///path/to/file” as row create (:Employee {employeeId:toInt(row.id),first_name:row,first_name,title:row.title }); 3. 导入数据方法2 dbms.directories.import=/var/lib/neo4j/import/ 注释: dbms.security.allow_csv_import_from_file_urls=true 将文件放入 :/var/lib/neo4j/

neo4j源码分析1-编译打包启动

1.打包 1.打包community 进入community,neo4j-graphdb-api, 注释掉common的: <plugin> <groupId>org.revapi</groupId> <artifactId>revapi-maven-plugin</artifactId> </plugin> 里面好像涉及到了

neo4j源码分析3-LifeCycle查看

一、复习 上一篇我们说到,接下来我们就是一个一个分析 Lifecycle 的init和start方法,首先是 GraphDatabaseFacadeFactory.initFacade PlatformModule platform = createPlatform( storeDir, config, dependencies, graphDatabaseFacade ); EditionModule edition = editionFactory.apply( platform ); final DataSourceModule dataSource = createDataSource( platform, edition, queryEngine::get ); platform.life.start(); 这

neo4j源码分析4-读文件

一、复习 上一篇我们已经大概看了 RecordStorageEngine ,他只是 NeoStoreDataSource 的 13个梦中的一个而已,我们还要醒来继续做剩下的12个梦。 然而我们可以先看看如何读数据,写数据的。

常用maven命令

一、 1.插件 版本兼容检查 <plugin> <groupId>org.revapi</groupId> <artifactId>revapi-maven-plugin</artifactId> </plugin> 代码风格检查 maven-checkstyle-plugin 2.常见异常 cached in local repository … 这个原因可能是上一次更新失败,会有一个update文件放在本地,去rep

常用sql写法

sql语法 2)删库前,执行/sdc/node1/bin/nodetool compactionstats 看下当前有没跟要删除相关的Compaction任务,如果有就执行 /sdc/node1/bin/nodetool

常用sql写法

sql语法 每个语言的语法不一样,大致类似。 1. 调优经验 可以先explain,分析一下。然后再运行。 join可能会导致数据倾斜的情况: join的