分布式数据库系列——(一)强一致性

​对于分布式系统而言,一致性是探讨当前系统内的一份逻辑数据存在多个物理的数据副本时,对其执行读写操作会产生什么样的结果。在数据库领域,“一致性”与事务密切相关,又进一步细化到ACID(原子性、一致性、隔离性和持久性)四个方面。 ​ 分布式存储系统为了避免设备与网络的不可靠带来额的影响,通常会存储多个数据副本。逻辑上的一份数据同时存储在多个物理副本上,当同时存在读操作和写操作时就带来了数据一致性问题,所以多个副本数据上的一组读写策略被称为“一致性模型”,本文提到了状态一致性和操作一致性两个概念。 1. 状态一致性:数据的实际状态所体现的一致性; 2. 操作一致性:外部用户通过协议约定的操作,能够读取到的数据一致性,即用户感受到一致性,实际存储并不一定具有一致性。 从状态一致性视角看,在任何情况下数据只有两种状态,所有副本一致或者不一致。在某些条件下不一致的状态是暂时的,还会转换到一致的状态,那么这种不一致称为“弱一致性”,变更操作后数据一直是一致的则称为“强一致性”。

图算法之无权最短路径 - 基于Neo4j实现

本文基于Neo4j 3.5版本,采用嵌入式的方法开发,neo4j本身其实已经实现了最短路径算法,本文虽然基于neo4j实现,但是更多的是做算法思想的记录,同时本文讲解的最短路径为无权最短路径。 - 无权最短路径与带权最短路径不同,带权最短路径可能权重最小的路径并不是路径最短的路径。而无权最短路径,仅按路径长短来衡量,所以求最短路径最合适的方法为广度遍历。 - 一般网上描述的找最短路径的方法为,从起始点开始广度遍历,找到终止点时停止,这个方法并不是性能最高的方法,本文要说明的是从起始点和终止点双向开始进行广度遍历的算法(双向广搜),可以极大提升找最短路径效率。

TigerGraph集群说明

1.使用前准备修改本地时间,关闭自动同步,因为授权码过期;准备tigerGraph企业版官方文档地址:http://docs.tigergraph.com.cn/admin/admin-guide/installation-and-configuration/installation-guide2.

neo4j集群说明以及算法包安装

1.neo4j高可用集群(HA)1.1 准备准备三台机子,ip如下:192.168.2.24(master)192.168.2.26192.168.2.271.2 安装Neo4j# 解压neo4j安装包tar xzf neo4j-enterprise-3.5.4-unix.tar.gz1.3 集群配

JanusGraph集群文档

本文用到的东西Ubuntu 16.04.1Java Jdk 1.8.0_191zookeeper 3.4.14hadoop 2.6.0hbase 2.2.4janusgraph 0.3.21.准备准备三台主机,主机信息如下:主机名IPcldev-701-37192.168.2.77cldev-701

使用LDBC SNB测试neo4j性能

图数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息,一般在使用它时数据量都非常庞大,图数据库的性能至关重要。本文描述了怎么使用LDBC SNB来对主流图数据库之一的neo4j进行性能测试。

java操作Neo4j

图数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息,在 社交网路、知识图谱等场景应用广泛。本文描述了常用图数据库Neo4j的java连接配置,和内嵌neo4j方法。