SIGMOD是数据库方向排名前三的会议之一(另外两个是VLDB和ICDE),2019 SIGMOD于6月30日至7月5日在荷兰阿姆斯特丹举行。阿姆斯特丹是一座非常美丽的城市,以郁金香、运河、风车和梵高而闻名。今年的SIGMOD在欧洲举办,参加总人数比往年少,而欧洲参加人数比往年多。海洋基地团队的核心成员也有幸亲自参加了这个数据库的盛大活动。
来自世界各地的与会者聚集在海洋基地展台前讨论技术
随着SIGMOD每年在全球的举办,我们可以感受到OceanBase在中国学者和工程师中的知名度越来越高。很多同学都了解到,OceanBase在很多金融机构都有很多申请案例,甚至欧洲的同学都希望到千里之外的中国来做OceanBase的实习生。我们也越来越感觉到,中国人正在逐渐形成一股在数据库领域不容忽视的力量。
西格蒙德分为研究会议和工业会议。其中,Research Session共投稿430篇,录用88篇,录用率22%;工业会议提交了53篇论文,雇用了16篇论文。总的来说,今年的SIGMOD是很小的一年,很难看到让人眼前一亮的论文。
最重磅 | 两大议题:机器学习&区块链今年的两个主题演讲是丽莎·格图尔的“负责任的数据科学”和C·莫汉的“公共和私人区块链的现状:神话和现实”。
这两篇论文与传统数据库关系不大。第一个与机器学习有关,一直是SIGMOD近年来的热点。第二个是区块链。今年的西格蒙德还专门参加了一个关于区块链的特别会议。
C.莫汉认为联盟链大有可为,但观众中有人提出了反对的问题,说不要因为公链难就回避问题,要潜心研究。
最权威 | 最佳论文/奖项花落谁家SIGMOD 2019的10年最佳论文(测试时间奖)被授予文章隐私综合查询:数据管理中隐私处理的隐私保护数据分析的可扩展平台。这也符合近两年互联网大数据时代全社会对于隐私保护的关注。谷歌和Facebook等互联网巨头受到了美国和欧洲相关监管机构的挑战。
SIGMOD还有一个奖项叫做系统奖。2015-2018年的赢家分别是Postgres(2015)、monetab(2016)、SQLite(2017)、Hive和Pig(2018),今年的赢家是Aurora(2019)。可见这些制度在世界范围内都有影响,我们也期待中国的制度在未来能拿这个奖。
最独家 | Anastasia荣获终身成就奖今年的E.F. Codd创新奖颁给了Anastasia Ailamaki,类似于数据库研究领域的终身成就奖,表彰为数据库研究事业做出重要贡献的人。
安娜斯塔西娅·艾拉马基(Anastasia Ailamaki),EPFL大学教授,威斯康星大学哲学博士,是大卫·德威特和马克·希尔(Mark Hill)的弟子,他们是数据库和计算机体系结构领域的两只大牛。她提出了一个非常有趣的话题——架构意识数据管理。
她认为除了可扩展性之外,单线程的极限性能是数据库实现的一个关键点。为此,数据库的系统架构和编码设计需要充分考虑计算机架构的特点。1998年,提出了这些方向的课题和研究。但是20年过去了,这方面的工作并没有改善,相关研究方向的学生越来越少,工程产品的性能也不尽如人意。
每个人对计算机编程的理解是上升而不是下降的,很少有人能够用该架构实现更好的性能设计和实现。其实这也是我们日常工作中经常思考的问题。实事求是地说,我们今天的系统软件开发人员在理解底层架构方面可能缺乏理论知识和实践经验,这体现在上层编码的实现上。
最全面 | 四大研究领域论文全解读从广义上看,高校的学术研究方向,以欧洲(TUM,CWI等)为代表。主要在新硬件、存储、内存、矢量引擎编译和执行以及数据库优化的传统方向上做一些工作。开源社区正在更积极地接受SQL,传统的商业数据库公司正忙于数据库云化。在这次会议上,微软提出了三篇关于数据库云的相关论文。根据Oracle 19c的新功能开发点,它们都围绕着云的部署、自动化操作和维护以及数据库管理而工作。总体来说,确实符合当前数据库研究的趋势和行业的发展现状。
然而,传统关系数据库内核的突破性工作越来越少,许多研究工作是多个领域结合的结果。云数据库、新硬件、自治数据库、AI+数据库、地图数据库、今年的新区块链成为SIGMOD 2019的讨论热点。接下来,从与会者的关注度来看,我们列出了一些会议论文,供读者参考。
研究领域1:学术数据库
1.高速缓存无关的高性能相似连接
本文中,Anastasia所描述的面向计算机体系结构的数据库设计方向,是为了解决在传统IO界限不再是当前内存数据库瓶颈的情况下,如何使算法更好地适应L3缓存、CPU寄存器和TLB表的问题。所以相似性连接的问题可以通过缓存不经意的方式解决,比如带连接(也是实现的带连接(Oracle 12c)和N路连接等。此外,与大多数仅实现缓存感知的实现相比,该算法被修改以适应已知的缓存大小,从而实现更好的性能。在系统硬件发生变化或有多个用户竞争确定可用缓存大小的前提下,该算法也可以在缓存明显的情况下高效执行。
主要贡献是提出了f(ast)g(energic)f(ORM)希尔伯特曲线连接的方法,充分利用了SIMD和MIMD的能力,实现了高效执行。实验表明,运行时间和缓存缺失都比现有算法好得多。在下一步中,他们计划在更多的数据库操作符上使用类似的算法,如k-近邻和nway-join,以便高效地使用CPU缓存和寄存器,实现最终的算法性能。实际上,本文对于行业内的数据库实现是一个很好的工程实践的例子,相关算法的实现具有很好的参考价值。
2.亥伯龙:构建最大的内存搜索树
这是继去年SIGMOD Best Paper之后的又一篇论文,讨论了如何通过Trie实现数据库的索引结构。众所周知,一般来说,最常见的数据库索引有B+树、hash、位图等。近年来,人们对用Trie实现数据库索引进行了大量的研究,主要目的是实现效率和内存使用之间的平衡。从效率上来说,既要支持范围查询,又要支持点查询。本文的主要贡献是通过降低开销、减少内部碎片和优化内存管理的实现,实现了优异的点查询性能和良好的范围查询性能,同时与其他类似的实现相比,内存使用量大大减少。这是实现索引结构的又一次有意义的尝试。
3.为快速RDMA网络设计分布式基于树的索引结构
本文介绍了在大集群、大内存的条件下,如何更好地利用这一硬件特性,建立分布式索引,利用RDMA技术来提高分布式场景下的性能。在目前的网络附加内存(NAM)架构下,集群的总内存非常大,因此在处理如此海量数据的情况下,构建的大量索引需要分布存储在多台机器的内存中,因此在传统的操作方法下,索引的查询和更新必然会产生额外的网络开销。RDMA技术提出已有多年,本文最大的贡献是针对索引场景,详细讨论了粗粒度、细粒度和混合策略三种索引内部结构设计方法,并利用RDMA方法对各种索引的性能进行了评估。这是一个非常实用的方向,可以在我们分布式数据库的工程产品实践中借鉴。新的硬件,尤其是基于高速网络的远程高效访问机制,是对无共享系统架构的一大奖励。
4.BriskStream:在共享内存多核架构上扩展数据流处理
本文是新加坡国立大学的学生在如何处理大规模系统中的多核NUMA(非统一内存访问)体系结构,以便更好地处理流程计算方面所做的一些工作。以甲骨文为代表的传统数据库领域是上规模的重要实践者,NUMA是上规模硬件设计的重要设计点。Oracle做了大量的优化,保证了多Socket上OLAP查询的负载均衡,保证了内存的本地访问,提高了系统的整体性能。在流计算领域,目前这方面的工作不多。
作者提出了一种称为相对位置感知调度(RLAS)的执行优化策略,该策略可以真正提升NUMA架构下数百个内核的计算性能,其性能比开源DSPS高出一个数量级。从分布式数据库系统的角度来看,NUMA也将是未来的一个方向。随着计算机体系结构的进一步发展和单机纵向扩展设计的不断发展,引入NUMA体系结构可能会变得更加普遍。当时没有必要用特别高端的硬件CPU架构来设计NUMA感知,很有可能普通PC服务器使用的CPU也会有这样的架构。如何使代码在这种架构下表现得更好也是架构感知设计中的一个重要考虑因素。
5.一个可嵌入的分析数据库
本文是一篇来自CWI数据库实验室的演示短文,创意来自SQLite。因为对分析查询的支持效率不高,所以他们做了一个完整的数据库系统,没有特别的创新思路,就是根据各方面现有的成熟理论,搭建了一个有自己的解析器和优化器的系统。查询引擎等。,采用了矢量处理引擎,并进行了一些工程优化。同时,他们意识到了Hyper的MVCC思想,并提供了更好的OLTP支持。之所以提到这篇论文,是因为欧洲学术界的学生不应该为了追求创新而创新,而应该构建一个解决实际问题的体系,这是非常值得称道的。目前,DuckDB可以运行全部22个TPC-H查询和99个TPC-DS查询中的97个,项目的学生还在不断开发这个系统。
研究领域2:开源数据库/大数据产品
6.阿帕奇蜂巢:从MapReduce到企业级大数据仓库
Apache Hive在项目开始时是一个用于大数据分析的系统。在本文中,Hive转向了拥抱传统关系数据库的思想,这充分证明了技术是为业务服务的。既然企业客户是这个市场的大款,那么企业客户需要解决的所有问题和喜欢的解决方案,都是技术解决方案需要考虑的方向。在本文中,Hive进行了以下增强,以更好地满足企业数据库市场的需求,并与传统数据库供应商竞争:
1.在1的支持下。SQL和ACID,基于Hive的Metastore做了事务管理器,实现了读提交隔离;
2.优化器技术,不采用自己的实现方案,集成方解石,也是开源生态的自然选择。从开发周期、工作量、生态维护来看,自行开发的针对自身系统的优化器投入了不少;
3.执行引擎优化,从MapReduce到Tez的转换,加入LLAP的支持,可以缓存数据;
4.多数据源支持。我们可以看到Hive想要在企业市场分一杯羹的野心,但是企业市场对开源服务的支持和企业自身技术能力的门槛是非常重要的考虑因素,这个开源产品还有很长的路要走。
7.一个SQL来统治他们所有人——一个有效的和语法上惯用的方法来管理流和表
本文是美国能源部Beam/Flink/方解石和橡树岭国家实验室的贡献者Apache的几个顶级开源项目的联合项目。从标题中可以看出,主要的建议和工作是使用统一的SQL语言来同时支持当前的时间点关系查询和流处理查询。他们建议扩展现有的SQL标准。主要思想是将现有的关系扩展为可以随时间维度变化的关系,然后引入事件时间处理的语义和流数据时间维度的物化控制。事实上,数据库领域一直都有关于流关系数据处理的研究,比如OpenCQ、clause、NiagaraCQ系统,这些都获得了SIGMOD十年奖。现在做流处理的社区希望在不改变现有SQL操作符的情况下,通过扩展SQL标准来实现统一处理。这应该是一种有益的尝试。如果关系数据库社区能够接受这个观点,我相信未来的关系数据库产品能够给客户带来更大的价值。
8.基础数据库记录层:多租户结构化数据存储
FoundationDB是底层支持事务的分布式键值存储,2015年被苹果收购用于iCloud存储服务。收购之前,FoundationDB有一些公开的设计文档,我借用了这个系统的表组设计。在分布式系统中,经常会发生同一事务同时操作多个表的情况。例如,一个事务需要同时修改事务基本表和事务扩展信息表。基础数据库会将这些表放在一个表组中,以避免分布式事务。Google扳手中的表组和实体组解决了类似的问题,但是语法有些不同。本文的记录层是一个建立在基础数据库上的开源库,它封装了数据类型、模式、索引、多租户等功能。
研究领域3:资深商业数据库供应商
对于传统的数据库厂商来说,近几年的关键词其实是一片云化。在传统数据库市场格局已经基本定型的情况下,数据库云化是一个重新洗牌市场、重塑新的市场领导者的契机。在过去的6月份,高德纳发表了一份题为“DBMS市场的未来是云”的报告,其中明确断言未来的数据库市场将是云的世界。根据Gartner的统计,过去两年数据库市场的增长率分别为13%和18.4%(这是过去十年来最快的增长率),其中68%来自云数据库市场,其余32%来自用户本地数据库服务的增长,更多是由于数据库价格的上涨和现有系统的升级——换句话说,本地数据库服务的新增长非常小。
在云数据库的战场上,我们既看到了微软SQL Server这样的传统数据库厂商,也看到了以提供数据库云服务起家的新市场新贵——亚马逊AWS。在过去的两年里,他们两个在云数据库市场上表现最引人注目,他们共同贡献了云数据库增长份额的75%。与过去相比,数据库的老霸主甲骨文在向云化转型的道路上并不那么平坦。虽然其市场份额不断被分割,但云服务主管托马斯·库里安(Thomas Kurian)和其他几位管理骨干的离开给整个云化进程蒙上了阴影。
这些市场的变化也可以在今年的SIGMOD中看到。比如微软今年一口气提交了三篇论文,都是关于云在数据库上的部署、运维;AWS的极光数据库因“重新定义云服务环境下关系数据库的存储系统”获得2019年ACM SIGMOD系统奖。相比之下,甲骨文去年只在SIGMOD上发表了一篇来自甲骨文实验室的研究论文,云数据库的产出并不多(虽然据了解相关研究和工程实施在不断推进)。
9.苏格拉底:云中的新服务器
近两年来,在云数据库的架构上选择单机模式+存储-计算分离是大势所趋,亚马逊的Aurora就是一个典型的例子。介绍了存储计算分离的数据库服务:苏格拉底。苏格拉底是SQL Server的存储计算分离架构。与本地存储架构相比,苏格拉底具有增加存储容量(4tb = >: 100TB)、提高可用性(99.99% = >: 99.999%)的优势,存储容量更加灵活。
Aurora是公共云上第一个存储和计算分离系统,论文发表在SIGMOD 2017上,名为《亚马逊aurora:高吞吐量云原生关系数据库的设计考虑》。极光提出了“日志即数据库”的设计理念,其中数据库实例只将重做日志写到底层存储,日志回放等操作分散到底层存储,大大降低了网络开销。苏格拉底在这方面与奥罗拉在原则上是相似的。XLog服务用于存储日志,页面服务器用于存储物理页面,数据库计算层将重做日志写入XLog服务,页面服务器从XLog服务读取日志并回放。苏格拉底的特点是将XLog Service与Page Server分离,整体架构清晰。
值得一提的是,以前版本的SQL Server是一个基于HADR系统的逻辑复制独立技术库。显然,作为一个高度可用的逻辑复制解决方案,HADR无法解决SQL Server作为独立云数据库的可扩展性挑战,这也是苏格拉底系统的设计目的。与此架构的前身——极光相比,苏格拉底在概念上似乎鲜有创新,但作为Azure云数据库产品的重要补充,具有明确的市场价值。
10.微软Azure数据库中百万数据库的自动索引
索引是关系数据库最重要的优化方法之一,尤其是OLTP场景,因为当涉及到数据库操作和调优时,索引的创建是最重要的问题。关于指数建议的论文有很长的研究历史。与那些研究论文相比,本文在理论上没有太大的创新,但作为工程实践的总结,值得一读。
作者提出了云数据库时代自动索引创建面临的四大挑战:索引创建服务的可扩展性,如何为索引建议生成输入(如何识别有价值的工作负载),如何避免优化器估计错误时的性能回滚,如何尽可能避免影响系统的正常运行。在系统架构上,作者引入了控制平面模块,在全局层面上对整个索引创建的所有环节进行控制、调度、监控和管理,我认为这是必要的。随着云数据库的应用场景越来越广泛,用户也越来越多。如何大规模地同时管理多个数据库实例是一个重要的研究方向。我们还会看到,越来越多的数据库单实例(如index advisor)的功能被抽象到整个云数据库运行环境中,数据库管理平台和数据库内核之间的能力边界需要重新定义。
同时论文还提到了一个重要的经验,那就是自动创建索引的功能不影响用户的正常应用是非常重要的。只有不作恶,才能让更多的用户放心使用“自动创建索引”的功能,整个功能才能真正大面积推广,这也是这个项目成功落地的关键。
11.人工智能遇到人工智能:利用查询执行来改进索引推荐
和前一篇论文一样,这篇文章是微软研究院的,解决了SQL Server的索引推荐问题,但是方法有些不同,感觉有点“一鱼多食”。这篇论文可以看作是对前一篇论文的扩展阅读。正如上一篇文章中提到的,优化器在估计成本模型时实际上会犯各种错误,这也导致索引的创建可能适得其反,并引入性能回归。那么有没有不依赖优化器的索引推荐方法呢?本文尝试用机器学习的方法来判断“好”指标和“坏”指标。由于测试场景有限,我们不确定这种依赖机器学习算法的推荐方法的通用性。然而,机器学习算法作为优化器的补充或替代仍然值得继续关注。
12.利用列相关性设计简洁的二级索引机制
当我们谈到甲骨文和微软时,我们总是提到IBM。相比较而言,IBM似乎并不太关注DB2,C·莫汉把主要精力放在了对区块链的研究上。而本文来自现代关系数据库鼻祖System-R的发源地IBM Almaden实验室,仍然是传统数据库领域的纯研究性文章,研究的核心问题也是数据库用户关心的问题——索引在空之间的占用率。索引构建是传统数据库优化的重要手段。随着数据库负载的复杂化,创建的索引越来越多,使用的system 空也越来越多,这对用户来说是一笔不小的开销。为了解决这个问题,学术界过去提出了几种不同的优化思路。一个方向是选择和优化哪些索引符合用户'空或存储预算的约束;还有一种思路是从数据结构上压缩、剪切索引,使单个索引的空利用率更高。本文作者在这里提供了一个新的思路,就是利用数据库中经常存在的数据键的相关性,即本文中数据之间的“软依赖”,来集成多个索引的数据存储。本文的思路是通过一种称为“TRS树”的数据结构,建立一定范围内相关数据的映射,从而减少冗余数据的存储。由于数据相关性往往是近似的或模糊的,这样的索引查询数据往往会有假阳性。因此,最终结果需要在原始表中再次验证,然后才能返回给用户。数据库中的数据关联也是一个经常被研究的特性,比如数据关联对优化器的影响等。本文也为数据关联的应用提供了新的思路。
研究领域4:数据库与其他技术的结合与应用
13.匹配树:一种数据感知索引结构
Learned Index是AI+System的一个热门方向,利用AI对实际数据的规律进行统计,设计出更高效的索引结构。两年前,Google Jeff Dean团队提出了一个Learned BTree Index,但是这个结构有一个明显的缺陷:插入和更新都不友好。试衣树的想法似乎更有根据。也是一个BTree结构。中间节点与传统的BTree相同,但叶节点不存储全部数量,只存储数据段的范围。如何划分数据段是通过机器学习统计实现的。
14.具有不透明性的快速通用分布式事务
本文是关于如何通过RDMA新硬件优化分布式事务,以实现透明性和可扩展性。在2015年,有一篇相关的论文叫做“不妥协:具有一致性、可用性和性能的分布式事务”,它走得更远。其中,本文提到了一种利用Marzullo算法实现全局时钟同步的方法,不依赖原子钟等硬件,服务器之间的时钟误差在6毫秒左右。它与Google扳手系统中的TrueTime有一定的共同点,可以用来实现分布式系统的租用机制。
15.通过分片扩展区块链系统
区块链的一个大问题在于可扩展性。无论是公链还是联盟链,区块链的每个节点都必须存储满满的数据,每笔交易都需要大部分节点提交。本文试图解决可伸缩性问题,但解决方案并不通用。它做了一个基本假设:在区块链有不超过一定比例的说谎节点。接下来,如何硬化区块链,使每个碎片中的躺着的节点不超过一定的比例,并基于此假设优化PBFT算法。
总结不仅传统的数据库厂商选择了数据库云化的战场,一些中小型的数据库服务商也开始在云服务市场上发力,比如历史悠久的列存储数据库MonetDB。在过去的两年里,研究的重点一直放在云服务的发展上。版本;但一些新兴的数据库引擎,如近年来备受关注的分析型数据库厂商雪花,单纯基于云服务的运行环境开发,直接跳过了内部部署的产品形式,也得到了市场的高度认可,这是数据库市场正在进行重组的显著信号。
值得一提的是,虽然高德纳的报告明确指出“云”是数据库市场的未来,但也明确提到了一种被称为“数据库斯德哥尔摩综合症”的现象,即建立在传统本地数据库服务架构上的企业,即使看到了云服务的优势和趋势,也可能为了规避风险而继续使用本地数据库服务。整个企业会有很长一段时间向云转型——他们就像被绑架的人质,小心翼翼的维护着传统数据库解决方案的“链条”(绑匪)。因此,尽管云数据库市场发展迅速,但为了赢得传统企业用户,云数据库服务提供商需要做好长期战斗的准备。从这个角度来说,大家还是有机会的。
1.《embeddable SIGMOD 2019 现场直击!带给你最独家的 15 篇论文全解读》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《embeddable SIGMOD 2019 现场直击!带给你最独家的 15 篇论文全解读》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/1075870.html