图数据库neo4j存储设计和免索引邻接
简介本文主要介绍neo4j是如何将图数据保存在磁盘上的,采用的是什么存储方式。分析这种存储方式对进行图查询/遍历的影响。图数据库简介生产环境中使用的图数据库主要有2种,分别是带标签的属性图(Labeled Property Graph)和资源描述框架RDF(Resource Des…
MySQL/InnoDB数据克隆插件(clone plugin)实现剖析
MySQL 8.0.17版本简介2019-7-22号,Oracle发布了MySQL 8.0.17、5.7.27和5.6.45三个版本,后两个版本是维护版本,改动很小,主要进行几个bugfix。本次发布的重头是8.0.17版本。该版本进行了一系列的重大更新,我们可以从release notes中获取较全面的了解,更…
图数据库neo4j集群中的读写及其一致性行为
背景知识为了更好说明neo4j集群中的读写及其一致性行为,有必要先对neo4j的部署模式,驱动,会话,事务等概念做下基本介绍。neo4j部署模式neo4j有3种部署模式,分别叫stand-alone instance(单机模式),HA cluster(高可用模式)和causal cluster(因果集…
使用cypher和gremlin进行图随机游走
随机游走简介随机游走,又称随机漫步,英文为‘random walk’。 在wiki上的解释是这样的:A random walk is a mathematical object, known as a stochastic or random process, that describes a path that consists of a succession of random steps on so…
MyRocks在XA事务场景的使用和优化-3
所属系列:上:https://zhuanlan.zhihu.com/p/70594302中:https://zhuanlan.zhihu.com/p/70594699下:
MyRocks在XA事务场景的使用和优化-2
所属系列:上:https://zhuanlan.zhihu.com/p/70594302中:https://zhuanlan.zhihu.com/p/70594699下:
MyRocks在XA事务场景的使用和优化-1
本文介绍MyRocks在网易互联网核心业务上的实践,在推进MyRocks落地过程中,遇到了很多问题,主要集中在xa事务上,所以本文讨论的重点是MyRocks在xa事务上的实践。MyRocks 在某业务上线后遇到了下面与xa有关的问题:Slave无法回放xa事务session 退出后 xa pr…
[IMG嘉年华讲稿]MGR在网易使用和优化实践
MGR是MySQL官方推出的领先的服务高可用和数据高可靠方案,网易从2017年下半年开始对MGR进行了全面的性能和稳定性测试,发现并解决了数个问题,同时对MGR核心功能进行了优化增强,目前基于MGR的网易RDS金融版服务已经上线,为网易电商业务提供了跨机房的高可…
MySQL Group Replication Paxos层不足和优化
本文是MySQL Group Replication(MGR)不足和优化系列文章的延续。在之前的文章中讲了事务认证机制/冲突检测数据库不足和优化。其中的优化点在我们的InnoSQL 5.7.20-v3b版本上实现,其优化效果也得到了初步验证。本篇文章主要分析作为MGR最底层的节点间网络…
[DTCC讲稿]网易MyRocks使用和优化实践
本文是在DTCC2019第十届中国数据库大会上所做的“网易MyRocks使用和优化实践”PPT讲稿。由于不少同学看过PPT后,又线下联系希望获取更多的信息。于是将讲稿放出来。可评论进一步交流。如有疑问或错误之处,敬请指正。MyRocks 是 Facebook 引入 RocksDB 后的…
MongoDB分布式事务之时间戳与混合逻辑时钟
本篇由华为云MongoDB技术专家孔德雨原发表于MongoDB中文社区,标题为事务,时间戳与混合逻辑时钟,经作者同意转载。前言这篇文章接上文mongodb4.0事务实现浅析。 mongo从3.6之后,开始进行
InnoSQL/MySQL DML Flashback功能简介
上篇介绍了DDL闪回温正湖:InnoSQL/MySQL DDL Flashback功能简介本篇继续介绍DML闪回,相信大家已经比较熟悉。为了使用起来更加方便,我们结合RDS使用需求进一步更加了一些参数。DML fashback原理目前DML flashback功能集成于官方mysqlbinlog命令,通过参数…
InnoSQL/MySQL DDL Flashback功能简介
在文章温正湖:浅谈数据库误删除恢复中,曾提到处理数据库误删除的几种方法,其中一种是数据闪回(flashback),目前我们在开源实现的基础上,对ddl flashback方案进行了优化,解决了其存在的兼容性等问题。现对其进行简单介绍。该文由组内小伙伴原创,略做…
MySQL Group Replication内存使用分析和优化-1
本文主要分析MySQL Group Replication(MGR)相比传统MySQL复制模式,mysqld新增的几个内存缓存模块。举例说明由此可能引发的问题,并介绍潜在的优化方案。与传统的MySQL主从复制不同,MySQL Group Replication模式下,mysqld会占据更多的内存空间。如果大…
MySQL Group Replication冲突检测机制再剖析
在本专栏之前的文章中,对MySQL Group Replication(MGR)的事务认证/冲突检测机制实现进行了介绍,并分析了其潜在的问题。温正湖:MySQL MGR事务认证机制优化本文将从certification_info对象,即冲突检测数据库实现作为切入点,来重点分析certification_in…
MyRocks TTL使用姿势及Bugfix
一些业务场景是经过一段时间后删除过期的数据,MyRocks提供了TTL可以满足该场景。MyRocks 通过Compaction回收过期的数据。本文介绍MyRocks TTL使用姿势以及Bugfix。TTL 通过 table comment 定义,有两种形式:CREATE TABLE t1 (a INT, b INT, c INT, PRIMAR…
MySQL RC级别下并发insert锁超时问题 - 案例验证
本系列打算用三篇文章来聊聊这个事情。这是第三篇,用实际案例来证明假设。第二篇链接:温正湖:MySQL RC级别下并发insert锁超时问题 - 源码分析我们举update为例,因为update可以转化为delete+insert,所以也就包含了insert的场景。仍然采用前述的表dt和其…
MySQL RC级别下并发insert锁超时问题 - 源码分析
本系列打算用三篇文章来聊聊这个事情。这是第二篇,从源码层面来论证所做的假设。第一篇链接:温正湖:MySQL RC级别下并发insert锁超时问题 - 现象分析和解释基于第一篇的假设对于主键索引,最多存在一条主键相同的记录,该记录或者是delete-marked状态,或…
MySQL RC级别下并发insert锁超时问题 - 现象分析和解释
问题描述表dt包含了一个主键,一个复合唯一索引和一个普通索引,存在9条记录。表结构和记录如下:CREATE TABLE `dt` ( `ID` int(10) NOT NULL, `COUPON_ID` varchar(60) NOT NULL, `OPERATION_TYPE` decimal(2,0) NOT NULL, `REMAIN_AMOUNT` decimal(8,…
LevelDB设计与实现 - MVCC等
以RocksDB为存储引擎的MyRocks是近几年流行起来的MySQL分支,在Facebook等公司广泛使用,网易杭研的数据库内核团队从2018年初开始系统研究MyRocks,目前已在内部进行小范围推广使用,效果比较理想。在调研、测试和试用期间,积累了一些经验,包括技术实现等…