数据库作为信息系统基础底座软件,在大数据背景下,数据库的数据量和节点规模日益增长,数据库使用方越来越看重系统运行是否稳定、安全和高效,这也使数据库自身的运行与维护的要求也随之增高。是否拥有成熟健全的运行维护体系,支撑团队的数据库运维管理能力是否足够专业化和标准化,这都将影响和制约着整个企业信息化发展的步伐。
全量表、增量表、拉链表、流水表以及快照表都是相对于传统数据仓库(或者数据集市)而言的, 但其一定是基于数据库产品而实现的。 不同数据库产品,其SQL的实现略有不同,但这些表的逻辑概念一定是相同的。另外, 一般企业的业务系统都会有历史数据,所以在考虑设计表时,也要考虑到历史数据的归档或初始化的问题。
数据库方向的研究和开发大致可以分为三个方向:一是数据库内核开发(自研等)、二是数据库系统管理(类似DBA的角色)、三是数据库应用开发(业务+SQL)。 内核开发可能需要有钻研创新的能力,比如一些数据库产品本身的自研工作等;DBA可能需要有系统架构、实施经验、以及整体管理的解决方案能力;应用开发则需要具有将业务快速转换成SQL的实现能力。所以说,以上三点纵贯“数据库的整个生命周期” 。
SQL 对于现在的互联网公司生产研发等岗位几乎是一个必备技能,你可以把 SQL 当做是一个工具,利用它可以帮助你完成相应的工作,创造价值。当然啦, 学习sql 也是有规可循的。 openGauss数据库是国产数据库的佼佼者之一,其支持的SQL标准默认包含SQL2、SQL3和SQL4的主要特性。如何在openGauss数据库中使用SQL语句? 接下来,我们将准备一些SQL经典练习题进行实践与测试。
结构化查询语言(SQL)是用于访问和处理关系型数据库的标准计算机语言。openGauss数据库支持的SQL标准,默认支持SQL2、SQL3和SQL4的主要特性。当然了, 一般说到数据库的SQL语句,就离不开两个方面: 一是数据类型,二是sql语句基本语法。
系统表是openGauss存放结构元数据的地方,它是openGauss数据库系统运行控制信息 的来源,是数据库系统的核心组成部分。 系统视图提供了查询系统表和访问数据库内部状态的方法。
openGauss的用户与角色
表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。
openGauss数据导入导出
openGauss引入了MOT(Memory-Optimized Table)存储引擎,它是一种事务性行存储,针对 多核和大内存服务器进行了优化。MOT是openGauss数据库最先进的生产级特性,它为事务性工 作负载提供更高的性能。企业可以在关键任务、性能敏感的在线事务处理(OLTP)中使用MOT, 以实现高性能、高吞吐、可预测低延迟以及多核服务器的高利用率。
文本检索调试函数
序列函数为用户从序列对象中获取后续的序列值提供了简单的多用户安全的方法。
窗口函数是一种分析型的OLAP函数,OLAP是online analytical processing的简称,意思是对数据库数据进行实时分析处理。
除了DML之外的所有查询都通过ProcessUtility模块来执行,包括了各类DDL语句、事务相关语句、游标相关语句等。上层调用函数为exec_simple_query函数,其中PortalStart函数和PortalDrop函数部分较为简单。核心函数是PortalRun函数下层调用的standard_ProcessUtility函数,该函数通过switch case语句处理了各种类型的查询语句,包括事务相关查询、游标相关查询、schema相关操作、表空间相关操作、表定义相关操作等。
openGauss 下标生成函数
openGauss 序列号生成函数
条件表达式函数:coalesce(expr1, expr2, …, exprn)描述:返回参数列表中第一个非NULL的参数值。COALESCE(expr1, expr2) 等价于CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END。示例:openGauss=# SELECT coalesce(NULL,'hello'); coalesce---
9月30日新发布的openGauss 3.1.0版本 ,工具的全量迁移和增量迁移的性能不但有了全面提升,而且支持数据库对象视图、触发器、自定义函数、存储过程的迁移。
openGauss创建COPY FROM容错机制所需要的错误表copy_error_log_create()
openGauss v3.1.0 Undo系统函数
每个函数执行检查数据库对象类型的可见性。对于函数和操作符,如果在前面的搜索路径中没有相同的对象名称和参数的数据类型,则此对象是可见的。对于操作符类,则要同时考虑名称和相关索引的访问方法。
数据库技术是20世纪60年代开始兴起的一门信息管理自动化的新兴学科,是计算机科 学中的一个重要分支。随着计算机应用的不断发展,在计算机应用领域中,数据处理越 来越占主导地位,数据库技术的应用也越来越广泛。数据库是数据管理的产物。数据管理是数据库的核心任务,内容包括对数据的分类、组织、编码、储存、检索和维护。本文将带领大家一起走近openGauss数据库。
SQL语言是丰富多样的,非常的灵活,不同的开发人员依据经验的不同,手写的SQL语句也是各式各样,另外还可以通过工具自动生成。SQL语言是一种描述性语言,数据库的使用者只是描述了想要的结果,而不关心数据的具体获取方式,输入数据库的SQL语言很难做到是以最优形式表示的,往往隐含了一些冗余信息,这些信息可以被挖掘用来生成更加高效的SQL语句。查询重写就是把用户输入的SQL语句转换为更高效的等价SQL。
在传统数据库中SQL引擎一般指对用户输入的SQL语句进行解析、优化的软件模块。openGauss在pg_parse_query中调用raw_parser函数对用户输入的SQL命令进行词法分析和语法分析,生成语法树添加到链表parsetree_list中。完成语法分析后,对于parsetree_list中的每一颗语法树parsetree,会调用parse_analyze函数进行语义分析,根据SQL命令的不同,执行对应的入口函数,最终生成查询树
本期主要分析简单查询语句在业务处理线程Postgres上的执行流程,并介绍如何利用gdb梳理代码逻辑。
openGauss数据库自2020年6月30日开源以来,吸引了众多内核开发者的关注。那么openGauss的多线程是如何启动的,一条SQL语句在 SQL引擎,执行引擎和存储引擎的执行过程是怎样的,酷哥做了一些总结,第一期内容主要分析openGauss 多线程架构启动过程。
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号