国内最专业的IT技术学习网

UI设计

当前位置:主页 > UI设计 >

一条数据的漫游奇遇记

发布时间:2019/06/25标签:   数据    点击量:

原标题:一条数据的漫游奇遇记
数据库存储引擎是一个有汗青的技巧,经由数十年的进展,曾经呈现许多优良成熟的产物。阿里巴巴 X-Engine 团队撰写的论文 "X-Engine: An Optimized Storage Engine for Large-scale E-Commerce Transaction Processing",具体报告了团队在数据库存储引擎上所做的原创性任务,往年早些时间曾经被 SIGMOD'19 Industrial Track 接受(SIGMOD 是数据库范畴最主要也是最有影响力的集会之一)。本文将对这篇论文做一个前导性剖析。配景X-Engine 是阿里数据库产物奇迹部自研的 OLTP 数据库存储引擎,作为自研数据库POLARDB X 的存储引擎,曾经普遍利用在阿里团体外部诸多营业体系中,此中包含买卖汗青库,钉钉汗青库等中心利用,为营业大幅缩减了本钱,同时也作为双十一大促的要害数据库技巧,挺过了数百倍平常流量的打击。数据库存储引擎是一个有汗青的技巧,经由数十年的进展,曾经呈现许多优良成熟的产物。各式存储引擎曾经在索引构造,缓存治理,事件处置,查问优化方方面面都做细致致的研讨。即使如斯,这个范畴的演进仍在连续,每年都市出现许多的新技巧。比年来,LSM (Log-Structured Merge-Tree)构造遭到越来越多的存眷,固然这个技巧自身呈现许多年了,不算甚么新事物,不外新近在 KV 存储体系中被利用的更多一些,比年开端在数据库存储引擎范畴崭露头角,RocksDB 等于典范代表。LSM 之以是变得风行,一是由于其简略,二是特色鲜亮。写入模子是简略的追加,不会更新既有的数据,数据构造为简略的逻辑排序,由此带来的特色是写强而读弱,长久化数据只读的特色便于紧缩。然而大少数数据库的利用场景实在都是读多写少的,间接应用 LSM 构造一定适合,想要另辟门路,须得扬长辟短。架构X-Engine 应用了 LSM 作为基本架构,目的是作为一个通用的高机能低本钱存储引擎,寻求读写机能更加平衡,因而在其上做了大批的改良,重要缭绕几个偏向停止:1. 应用后天上风,连续优化写机能。2. 优化 compaction 下降对体系机能的打击,使得体系机能表示趋于安稳。3. 应用长久化数据层只读特色,施展紧缩上风下降本钱。4. 应用自然分层构造,联合硬件才能应用冷热分层构造,下降综分解本。5. 应用精致化拜访机制弛缓存技巧,补充读机能短板。X-Engine 的团体架构以下图,依据数据冷热停止分层取代 LSM 自身的长久化数据分层,热数据层和数据更新应用内存存储,应用了大批内存数据库的技巧(Lock-Free index structure/append only)进步事件处置的机能,计划了一套事件处置流水线处置机制,把事件处置的几个阶段并行起来,晋升吞吐。而拜访频度低的冷(温)数据逐步镌汰或是兼并到长久化的存储档次中,联合以后丰盛的存储装备档次系统(NVM/SSD/HDD)停止存储。咱们对机能影响比拟大的 compaction 进程做了大批优化,重要是拆分数据存储粒度,应用数据更新热门较为会合的特点,尽能够的在兼并进程中复用数据,精致化操纵 LSM 的外形,增加 I/O 和盘算价值,并同时极大的增加了兼并进程中的空间缩小。同时应用更细粒度的拜访操纵弛缓存机制,优化读的机能。

版权信息Copyright ? IT技术教程 版权所有??? ICP备案编号:鲁ICP备09013610号