c-store

华为云GaussDB(DWS)内存知识点,你知道吗?

不想你离开。 提交于 2020-08-16 08:15:34
前言 在日常数据库的使用中,难免会遇到一些内存问题。此次博文主要向大家分享一些华为云数仓GaussDB(DWS)内存的基本框架以及基本视图的使用,以便遇到内存问题后可以有一个基本的判断。 注意,本篇博文基于华为云数仓GaussDB(DWS) 8.0版本,其他版本细节上或许稍有不同。 内存常用视图 1. PV_TOTAL_MEMORY_DETAIL视图 该视图会展示当前数据库节点的内存使用信息,单位为MB。 视图中个字段的含义:nodename:节点名称,memorytype:内存类型,memorymbytes:对应内存类型的大小。 常用的内存类型有以下几种: max_process_memory:取自GUC参数max_process_memory的配置,表示一个数据库节点最大可使用的物理内存。 process_used_memory:取自/proc/pid/statm(第二个值) * pagesize,pid替换为当前节点所在的进程号。表示当前节点所处进程已使用的内存。 max_dynamic_memory:由下面公式计算而来,表示Gaussdb内核所能使用的最大内存。 max_dynamic_memory = max_process_memory- max_cstore_memory - udf_reserved_memory - max_shared_memory ;

哪些数据库是行存储?哪些是列存储?有什么区别?

£可爱£侵袭症+ 提交于 2020-08-06 08:37:49
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 导读: 本文带你了解面向列与面向行的数据库。 大多数数据库系统存储一组数据记录,这些记录由表中的列和行组成。字段是列和行的交集:某种类型的单个值。 属于同一列的字段通常具有相同的数据类型。例如,如果我们定义了一个包含用户数据的表,那么所有的用户名都将是相同的类型,并且属于同一列。在逻辑上属于同一数据记录(通常由键标识)的值的集合构成一行。 对数据库进行分类的方法之一是按数据在磁盘上的存储方式进行分类:按行或按列进行分类。表可以水平分区(将属于同一行的值存储在一起),也可以垂直分区(将属于同一列的值存储在一起)。图1-2描述了这种区别:a)显示了按列分区的值,b)显示了按行分区的值。 面向行的数据库的例子很多:MySQL、PostgreSQL和大多数传统的关系数据库。而两个开源的、面向列数据存储的先驱则是MonetDB和C-Store(C-Store是Vertica的开源前身)。 01 面向行的数据布局 面向行的数据库按记录或行来存储数据。它的布局非常接近表格的数据表示方法,即其中每一行都具有相同的字段集合。例如,面向行的数据库可以有效地存储用户条目,其中包含姓名、出生日期和电话号码: | ID | Name | Birth Date | Phone Number | | 10