暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
行存
编辑
简介:行存指数据是按照行数据为基础逻辑存储单元进行存储,一行中的数据在存储介质中以连续存储形式存在。
简介:行存指数据是按照行数据为基础逻辑存储单元进行存储,一行中的数据在存储介质中以连续存储形式存在。
产品概览 用户评价

技术名称:行存

Row-based storage即行存,指数据是按照行数据为基础逻辑存储单元进行存储,一行中的数据在存储介质中以连续存储形式存在。

作用或背景:

行存简单概括就是以行存储的,由于数据是被保存在一起的,insert、update操作容易,非常适合于经常做增删改查的OLTP系统。

技术源头:

随着20世纪60年代末期,进入以数据库管理系统为基础手段的数据管理新阶段,数据以文件系统形式存储,在文件系统中,数据的最小存取单位是记录,也就是按行存储,行存随之出现,随后孕育而生的各种传统关系型数据库中的表也是基于行进行存储。

国外技术现状:

在国外使用行存典型的商业数据库有Oracle、DB2、MySQL、SQL SERVER等,而在开源数据库方面有Postgres,MySQL等都是采用基于行存方式存储数据,这些类型的数据库大部分都是用于OLTP的系统,而行存的特点就是写入更容易,且更适合频繁读写的OLTP系统。另外部分数据库也在尝试行列混存技术,主要是为了完成目前海量数据的分析查询的需求,根据具体的场景,灵活选择更适合的存储方式,提升了资源的利用率。

国内技术现状:

在国内国产数据主要分两个分支,一种是购买部分源代码,在MySQL或Postgres基础上发展而来,另外一种是通过自主研发代码的方式。比如openGauss、OceanBase、PolarDB等这些国产数据库都是比较典型也是应用相对广泛的数据库,这些关系型数据库也都是默认采用基于行存方式存储数据,当然像openGauss这类数据库具有行列混存的功能,提供行存和列存两种方式,以便根据实际需求灵活选择。

国外代表产品:

图片1.png
通过db-engines网站的排名能看出最受欢迎的数据库是Oracle数据库,Oracle最小的物理存储单位是数据块,一般一个标准块大小是8K,数据库以行的方式纪录在数据块中,Oracle数据库的表默认都是以行的方式存储在数据库中。然而,由于行存本身存在的一定缺陷,在12C Oracle引入在in memory 里可选用列存,开始做行列混合的尝试,也使得能适应更多场景,提高资源的利用率。

国内代表产品:

图片2.png
国内最受欢迎的数据库是openGauss,openGauss是支持行列混合存储的,通常openGauss用于OLTP场景的数据库,默认使用行存储,当对执行复杂查询且数据量大的OLAP场景时,才会使用列存储。行存储是指将表按行存储到硬盘分区上,默认情况下,创建的表为行存储。然而,国产数据库和国外数据库相比最大的缺陷在于没有一个相对完善的生态圈,没有形成一个完善的知识库,相比国外其他的数据库产品传播度低,网上可以查阅的资料很少,如果一旦出现复杂的问题,就需要原厂工程师的支持,甚至是原厂研发的支持才能定位分析,分析周期长且大多历史问题很难复现和查询。

详细描述:

行存是指将表中的各行放入连续的物理位置,类似于传统的记录和文件系统。由于数据是按行存储的。插入一行数据,一次性就可以完成写入,插入性能高,而且一行中的数据都存储在一起,所以对于更新某行的某个字段也更容易。因而,行存更适合OLTP应用,比如传统的基于增删改查操作的应用。当然,行存既然对于insert和update有优势,也势必会有一些劣势,比如对于要查询某个表的某个字段,在没有索引的情况下,就需要把涉及这个字段的每行数据都要读取出来,这样会产生大量I/O,对于这种场景行存就有一定的缺陷,所以基于行存的数据库不适合OLAP的应用,会消耗很多额外的资源。

参考文献:

http://www.360doc.com/content/21/0911/07/69798403_995008907.shtml
《数据库原理及应用教程(第4版)》 陈志泊著
https://dataschool.com/data-modeling-101/row-vs-column-oriented-databases/
https://medium.com/bluecore-engineering/deciding-between-row-and-columnar-stores-why-we-chose-both-3a675dab4087
https://www.sentinelone.com/blog/column-store-vs-row-store/
https://db-engines.com/en/ranking
http://www.cs.umd.edu/~abadi/papers/abadi-sigmod08.pdf
https://www.youtube.com/watch?v=RkmpHTCemmA

用户评价

0
0
词条统计
创建者:越努力越幸运
编辑次数:2
浏览次数:1075
API调用次数:0
贡献者