7 西门仙忍

尚未进行身份认证

从事数据库领域8年

等级
TA的排名 4w+

Tuning Paxos for high-throughput with batching and pipelining

http://www.doc88.com/p-9843410898350.html

2019-11-18 00:06:45

ARTree(The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases)

1. 背景:2. 架构介绍:2.1 内节点类型2.2叶子节点类型单值和多值2.3 lazy expansion and path compression路径压缩分为乐观和悲观:3. 优劣分析:3.1 优势灵活的页面大小,提高内存的数据空间比 极简的分支判断的CPU指令 SMO过程只涉及两层结构,这个由ARTree树的基本结构构成8bit最...

2019-11-17 11:28:53

hyperscale的架构分析

目录架构分析计算层:Page Server:Log Server:优劣势分析:参考链接架构分析计算层:Page Server:Log Server:push log to PageServer push log to 从计算节点 归档 Log优劣势分析:优势:引入LogServer,降低主计算节点的负载(主从计算节点的日志同步)...

2019-11-05 23:40:59

Write-Behind-Logging

论文地址:https://www.ixueshu.com/document/9cd210e04def3c2b318947a18e7f9386.html硬件背景:传统的HDD盘具有高数据密度,价格低廉,持久化稳定的优点,但也无法摆脱机械盘寻道带来的开销,而且顺序访问和随机访问的性能差异巨大。SSD相比HDD来说具备更加好的读写性能,其读写时延相比HDD来说低3个数量级。但针对DBMS系统...

2019-11-05 07:06:45

MySQL B+Tree的锁分析(含5.6、5.7和其他深度分析)

目录几点关键的背景正确的B+树并发控制机制需要满足以下几点要求:一些名词SMO过程MySQL5.6 SMO分析MySQL 5.6 SMO代码分析MySQL 5.6 SMO过程分析MySQL5.7 SMO分析MySQL 5.7SMO代码分析MySQL 5.7SMO过程分析几点关键的背景正确的B+树并发控制机制需要满足以下几点要求:正确的读操作:...

2019-10-27 23:25:29

副本数据一致性的一些分析

目录一致性模型分析线性一致性(强一致性,strict consistency)顺序一致性(Sequential Consistency)因果一致性(Casual Consistency)腾讯朋友圈的例子参考资料一致性模型分析线性一致性(强一致性,strict consistency)对一致性的要求:任何一次读都能读到某个数据的最近一次写的数据。 系统中的所...

2019-10-25 10:43:07

待整理的知识点

插入意向锁和隐式锁 hyperscale分析 ok 云数据库分析 ok ART分析 新引擎分析 OK ...

2019-10-24 16:38:07

Disk is Tape, Flash is Disk

这张图让我想到之前在使用Redis时看到Jim Gray那句被坊间流传许久的话:"Tape isDead, Disk is Tape, Flash is Disk, RAM Locality is King".(磁带已死,磁盘是新磁带,闪存是新磁盘,随机存储器局部性是为王道.) 这句话的原始出处在此:http://www.signallake.com/innovation/Flash...

2019-10-15 19:33:22

bLSM: A General Purpose Log Structured Merge Tree

bLSM 提出了一种新的合并调度器来限制写入延迟,从而保持稳定的写入吞吐量,并且还使用 bloom 过滤器来提高性能。Data management workloads are increasingly write-intensive and subject to strict latency SLAs. This presents a dilemma:Update in place syst...

2019-10-07 23:34:31

TokuDB的索引结构–分形树的实现

TokuDB和InnoDB最大的不同在于TokuDB采用了一种叫做Fractal Tree的索引结构,使其在随机写数据的处理上有很大提升。目前无论是SQL Server,还是MySQL的innodb,都是用的B+Tree(SQL Server用的是标准的B-Tree)的索引结构。InnoDB是以主键组织的B+Tree结构,数据按照主键顺序排列。对于顺序的自增主键有很好的性能,但是不适合随机写入,大...

2019-10-07 20:41:45

BwTree论文的一些整理

BwTree面向场景:主要是内存场景打击点:主要是内存场景:LOCK:引入的上下文切换开销 CPU:本地更新引入的Cache coherence 写放大问题:通过增量 + append的方式减少写入数据量,增加Flush过程中的Batch效果主要方案:索引:btree 内存和磁盘都是append写,使用mapping_table解决物理地址频繁变更的问题 lock...

2019-10-06 14:32:36

RocksDB 性能测试(全网搜集)

https://en.wikipedia.org/wiki/MyRocks#Benchmarksperconahttps://www.percona.com/blog/2018/04/30/a-look-at-myrocks-performance/http://baijiahao.baidu.com/s?id=1599227245729254474&wfr=spider&am...

2019-09-27 10:40:19

Building a Bw-Tree Takes More Than Just Buzz Words

无锁数据结构被吹捧为当今多核CPU的理想选择。 但是,由于几个原因,它们很难实现[10]。 首先,编写有效而健壮的free-free1代码需要开发人员弄清楚所有可能的竞争条件,它们之间的相互作用可能很复杂。 此外,并发线程彼此同步的观点通常在算法的串行版本中没有明确说明。程序员经常错误地实现无锁算法,并最终导致繁忙的循环。 另一个挑战是,无锁数据结构需要安全的内存回收,该回收要延迟到所有...

2019-09-24 19:52:39

MySQL Page读取和淘汰过程分析

目录Page磁盘读取过程申请空闲PAGE空间刷脏页和LRU链表Page内存读取和Page淘汰的互斥Page磁盘读取过程buf_page_get_gen| | ==> rw_lock_s_lock(hash_lock);| | ==> block = (buf_block_t*) buf_page_hash_get_low(buf_pool, s...

2019-09-23 10:10:09

Append写入方式的收益和成本分析

目录Append写入收益:Append成本分析:首先分析Append方式对数据访问的影响:Compaction的目标:Compaction的原则:RocksDB Compaction 成本分析(逐层缓存,Batch合并):写入放大:有目的的合并:BwTree(LLAMA) 合并成本分析(这个可能不准):Append写入收益:SSD友好:追加写vs随机写...

2019-09-17 15:14:45

Lock-Free?还是多入口?

最近一段时间,感觉大家对于Lock-Free的兴趣又高涨了起来,Lock-Free大有包治百病、一统江湖之势,特写下此文,希望对围观者有所帮助。让我们先从一个简单的场景开始:考虑一个需要频繁并发访问的Freelist,这应该是许多应用程序中最常见的结构了,如果我们使用基本设计,用一个简单的Mutex量来保护这个Freelist,那么在高并发环境下它很容易成为性能的瓶颈。然后该如何优...

2019-09-12 11:44:03

内存屏障

RCU(Read-Copy Update),是 Linux 中比较重要的一种同步机制。顾名思义就是“读,拷贝更新”,再直白点是“随意读,但更新数据的时候,需要先复制一份副本,在副本上完成修改,再一次性地替换旧数据”。这是 Linux 内核实现的一种针对“读多写少”的共享数据的同步机制。不同于其他的同步机制,它允许多个读者同时访问共享数据,而且读者的性能不会受影响(“随意读”),读者与写者之间也...

2019-09-10 09:54:14

Free链表的申请方式分析

MySQL理解BP是数据的管理结构,多个BP相当于把数据进行比如HASH的拆分了。原地写,每次读写,如果不在BP中,都会从对应的BP中申请一个BLOCK。RocksDBBP是数据的管理结构,同MySQL。在写场景下,多个线程并发append有序写入。貌似使用一个BLOCK不大好搞。使用内存池比较好因此从arena中申请内存到memtable。但是可以做到比如把in memt...

2019-09-05 19:26:23

LINUX共享内存使用常见陷阱与分析

所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接到”他们自己的地址空间里去。所有进程都能访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会即时被有访问同一段共享内存的其他进程看到。共享内存的使用大大降低了在大规模数...

2019-09-03 15:45:21

HBase最佳实践-用好你的操作系统

终于又切回HBase模式了,之前一段时间因为工作的原因了解接触了一段时间大数据生态的很多其他组件(诸如Parquet、Carbondata、Hive、SparkSQL、TPC-DS/TPC-H等),虽然只是走马观花,但也受益良多。对视野、思维模式都有极其重要的作用,至少,扩展了大数据领域的对话圈。这里也斗胆建议朋友能在深入研究一门学问的同时博览周边学问,相信必然会大有裨益。来说正题,操作系统这...

2019-09-03 14:38:55

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。