随笔分类 -  Database

上一页 1 2 3 下一页

Processing a Trillion Cells per Mouse Click
摘要:Google的论文, Google已经有一些大数据系统,都是基于Full Scan 这里PowerDrill,核心利用了skipping技术,可以提升10到100倍的查询性能 这篇论文的题目让人有点摸不着头脑,这里给出了解释, 整体的思路, 就是先skip,然后再full scan 那么就是,他这里 阅读全文

posted @ 2020-04-26 12:16 fxjwind 阅读(376) 评论(0) 推荐(0)

Fine-grained Partitioning for Aggressive Data Skipping
摘要:AMP Lab的论文 对于数据库的核心问题,如何让查询变的更快,当需要查询的数据越来越多的时候 这段写的还是很清晰的,两个思路 读的更快,比如cache,并行化,数据压缩 读的更少, 比如列存,sampling获取近似,还有本文的主题data skipping 传统的data skipping,基于 阅读全文

posted @ 2020-04-24 17:11 fxjwind 阅读(466) 评论(0) 推荐(1)

F1 Query: Declarative Querying at Scale
摘要:F1相关的论文两篇, F1: A Distributed SQL Database That Scales F1 Query: Declarative Querying at Scale F1: A Distributed SQL Database That Scales F1是一个Globally 阅读全文

posted @ 2020-04-09 11:31 fxjwind 阅读(417) 评论(0) 推荐(0)

Data Blocks: Hybrid OLTP and OLAP on Compressed Storage using both Vectorization and Compilation
摘要:本文的主要目的是,引入DataBlocks,解决hybrid数据库的问题 Hybrid系统难点,在于AP和TP在很多方面,优化思路是矛盾的 比如compression,对于ap可以提升查询性能因为降低带宽使用,但是对于TP反而降低了查询性能,因为查询的时候需要解压,而且影响索引 所以大部分Hybri 阅读全文

posted @ 2020-03-26 18:00 fxjwind 阅读(665) 评论(0) 推荐(0)

How to Architect a Query Compiler
摘要:这个有两篇论文 How to Architect a Query Compiler How to Architect a Query Compiler, Revisited 是完全不同的两拨人写的,内容也不尽相同,我们的重点是Revisited这篇 How to Architect a Query 阅读全文

posted @ 2020-03-24 18:26 fxjwind 阅读(690) 评论(0) 推荐(0)

Evaluating EndtoEnd Optimization for Data Analytics Applications in Weld
摘要:参考,从 Weld 论文看执行器的优化技术 需要解决的问题, 当前数据分析应用,会用到很多libraries,比如Numpy,Pandas,TensorFlow,Spark等 这些libraries的接口和数据结构都是不一样的,所以如果要提升应用的性能,你只能one by one的去提升每个liba 阅读全文

posted @ 2020-03-17 15:43 fxjwind 阅读(344) 评论(0) 推荐(0)

Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask
摘要:Andy这篇论文的题目很骚,好像他之前列的题目是最好的关于。。。的论文,被评委毙了,反正意思就是特别自信,特别牛逼。 执行器优化,是AP引擎的核心问题,对当然后续AP和TP的边界会越来越模糊,总之需要大量计算的引擎,执行器就会成为瓶颈 尤其是当前硬件的进化,导致原先成为系统瓶颈的IO已经慢慢不再是瓶 阅读全文

posted @ 2020-03-16 16:39 fxjwind 阅读(890) 评论(3) 推荐(0)

HyPer: A Hybrid OLTP&OLAP Main Memory Database System Based on Virtual Memory Snapshots
摘要:HyPer也是内存数据库 传统数据库基本都是TP,后续出现BI的需求,即AP的需求,传统数据库满足不了 所以出现了数仓,但是需要ETL把TP的数据同步到数仓中,进行AP 哪怕基于列存的实时数仓,也要针对Tp和AP用不同的存储引擎 总之如果要用一套数据结构和系统同时支持TP和AP,之前是没有能做到的 阅读全文

posted @ 2020-01-17 20:10 fxjwind 阅读(773) 评论(0) 推荐(0)

Redo,Undo,Binlog
摘要:https://www.jianshu.com/p/d829df873332 https://www.jianshu.com/p/57c510f4ec28 对于面向disk的数据库, 需要把数据先写入到page中,然后成批的flush到磁盘,所以在Page没有flush前需要有log能记录下page 阅读全文

posted @ 2020-01-17 12:31 fxjwind 阅读(593) 评论(0) 推荐(0)

Hekaton: SQL Server’s Memory-Optimized OLTP Engine
摘要:Hekaton是内存数据库,以往的数据库都是基于磁盘构建的, 但是当前硬件的发展,已经可以将很多应用的数据整个放到内存中,所以需要新的架构,基于超大内存和多核CPU的数据库架构 当前目标是把Sql Server的性能提升100倍 那么提升的办法,一般有3种,提升scalability,提升CPI,或 阅读全文

posted @ 2020-01-15 18:09 fxjwind 阅读(448) 评论(0) 推荐(0)

SAP HANA Database - Data Management for Modern Business Applications
摘要:简单的看下架构, 分成几个部分, Connection And Session The Connection and Session Management component creates and manages sessions and connections for the database 阅读全文

posted @ 2020-01-06 16:45 fxjwind 阅读(458) 评论(0) 推荐(0)

论文解析 -- The Snowflake Elastic Data Warehouse
摘要:摘要 We live in the golden age of distributed computing. (背景,云平台和Saas)Public cloud platforms now offer virtually unlimited compute and storage resources 阅读全文

posted @ 2019-12-09 14:15 fxjwind 阅读(2683) 评论(0) 推荐(1)

CMU Advanced DB System - MVCC
摘要:https://zhuanlan.zhihu.com/p/40208895 Mysql的MVCC实现 https://severalnines.com/database-blog/comparing-data-stores-postgresql-mvcc-vs-innodb 第一种实现方式是将数据记 阅读全文

posted @ 2019-10-10 20:15 fxjwind 阅读(1018) 评论(0) 推荐(0)

CMU Database Systems - Distributed OLTP & OLAP
摘要:OLTP scale-up和scale-out scale-up会有上限,无法不断up,而且相对而言,up升级会比较麻烦,所以大数据,云计算需要scale-out scale-out,就是分布式数据库,刚开始肯定是Shared Nothing,但是分布式也引入了更高的架构复杂度和维护成本 所以现在的 阅读全文

posted @ 2019-08-20 19:31 fxjwind 阅读(622) 评论(0) 推荐(0)

CMU Database Systems - Database Recovery
摘要:数据库数据丢失的典型场景如下, 数据commit后,还没有来得及flush到disk,这时候crash就会丢失数据 当然这只是fail的一种情况,DataBase Recovery要讨论的是,在各种fail的情况下,如何保证, 1. 已经commit的transaction的数据不丢失;2. 没有部 阅读全文

posted @ 2019-08-06 21:19 fxjwind 阅读(516) 评论(0) 推荐(0)

CMU Database Systems - MVCC
摘要:MVCC是一种用空间来换取更高的并发度的技术 对同一个对象不去update,而且记录下每一次的不同版本的值 存在不会消失,新值并不能抹杀原先的存在 所以update操作并不是对世界的真实反映,这是一种便于应用的简化实现 MVCC的历史可以追溯到70年代,数据库的主流技术大部分都停滞在那个年代 MVC 阅读全文

posted @ 2019-07-25 20:46 fxjwind 阅读(466) 评论(0) 推荐(0)

CMU Advanced DB System - Query Optimizer
摘要:Overview Optimizer模块所处在的位置如图, 那么做optimize的目的是, 找出所有‘correct’执行计划中‘cost’最低的 那么这里首先要明确的概念,‘correct’,关系代数等价,产生相同的结果集;所以所有优化的前提是需要是等价变换 但是等价集合,即所有等价的执行计划的 阅读全文

posted @ 2019-07-22 17:29 fxjwind 阅读(604) 评论(0) 推荐(0)

笔记 - DBSherlock: A Performance Diagnostic Tool for Transactional Databases
摘要:OLTP系统的问题很难排查和定位,这就是为什么要花那么多钱去请DBA 因为TP系统的请求很多都是毫秒级别,而且同时有大量的并发,所以由于资源,或随机的原因导致的问题,很难去定位根因 哪怕数据库系统尤其是商业数据库系统,已经采集了上千维的对系统和数据库的监控指标,但是仍然很难提高有效的root cau 阅读全文

posted @ 2019-07-17 17:47 fxjwind 阅读(733) 评论(0) 推荐(0)

CMU Database Systems - Timestamp Ordering Concurrency Control
摘要:2PL是悲观锁,Pessimistic,这章讲乐观锁,Optimistic,单机的,非分布式的 Timestamp Ordering,以时间为序,这个是非常自然的想法,按每个transaction的时间来排谁先执行 这里会有几个问题,Timestamp是什么,由谁来打,什么时候打上Timestamp 阅读全文

posted @ 2019-07-01 15:03 fxjwind 阅读(836) 评论(0) 推荐(0)

CMU Database Systems - Two-phase Locking
摘要:首先锁是用来做互斥的,解决并发执行时的数据不一致问题 如图会导致,不可重复读 如果这里用lock就可以解决,数据库里面有个LockManager来作为master,负责锁的记录和授权 数据库里面的基本的锁类型, 其实就是读锁,写锁 但是如果光是有读写锁,只能解决当个操作互斥和正确,无法解决trans 阅读全文

posted @ 2019-06-25 14:35 fxjwind 阅读(670) 评论(0) 推荐(0)

上一页 1 2 3 下一页