云原生进阶-PaaS专栏
文章平均质量分 95
本专栏主要介绍全栈云原生平台的PaaS层常见公共组件与应用开发框架
江中散人
在移动前端、微服务后端均有五年+的研发实施与团队管理经验,秉持着“云原生体系是信息科技驱动业务与第三代企业管理变革的终极解决方案”理念,对运用云原生体系(云/容器、微服务、DevOps)推动企业数字化转型(运维、研发、研发管理三位一体)的落地推进形成了一整套成体系的方案落地与转型推进思路,当选CNCF、信通院、华为云牵头组织的全球性云原生专业交流组织创原会2022年度MVP,排名第7位(7/31/308).擅长技术积淀与培训分享,相关技术博客积累超10年,技术领域涵盖云原生(容器/计算/存储/网络/微服务/DevOps)、产品设计、IOS开发、Android开发、Hybrid混合开发等领域
展开
-
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.4-RAC技术
RAC(real application clusters):整个集群系统又分为 oracle Clusterware (集群就绪软件)和 Real Application(RA) 两大部分组成。rac 是 Oracle 数据库的高可用集群。传统数据库一个实例一个数据库, RAC 是多个实例,一个数据库,多个实例之间共享一个数据库,但不是分布式。原创 2024-06-12 08:30:00 · 2204 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.9-闪回归档FDA技术
从Oracle Database 11g开始,Oracle 提供了一个这样的功能:闪回数据归档(Flashback Data Archive)。通过这一功能Oracle数据库可以将UNDO数据进行归档,从而提供全面的历史数据查询,也因此Oracle引入一个新的概念Oracle Total Recall,也即Oracle全面回忆功能。原创 2024-06-11 15:00:00 · 619 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.8-闪回事务技术
闪回事务又名撤销事务(Backout Transaction),能够撤销一个或多个事务的修改,其功能由一个名为DBMS_FLASHBACK.TRANSACTION_BACKOUT的存储过程实现。该存储过程的工作原理是自动分析重做日志,挖掘出变更前的值用以构建撤销SQL(Undo SQL),然后执行撤销SQL最后达到撤销事务的目的。为使用该功能,至少需要事先启用主键补充日志。另外,为了能够跟踪外键依赖还需要启用外键补充日志。原创 2024-06-11 10:00:00 · 740 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.7-闪回事务查询技术
闪回事务查询是通过数据字典视图flashback_transaction_query来查询历史事务相关元数据,并且可以通过该视图的undo_sql字段会给出相应的SQL从逻辑层面撤销事务。闪回事务查询实际上是闪回版本查询的一个扩充,通过它可以审计某个事务甚至 撤销 一个已经提交的事务。flashback_transaction_query包含对数据库执行的所有更改,包括DDL操作。由于undo表空间有限,因此flashback_transaction_query中只包含一部分事物。原创 2024-06-10 15:00:00 · 138 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.6-闪回查询技术
Oracle提供了四种可供使用的闪回技术(闪回查询,闪回删除,闪回归档,闪回数据库),每种都有不同的底层体系结构支撑,但其实这四种不同的闪回技术部分功能是有重叠的,使用时也需要根据实际场景合理选择最合适的闪回功能。其中,以表为单位查询其过去的数据称为闪回查询,闪回查询能够在undo段内搜索“旧”数据,数据库能够保留多少undo数据决定了闪回查询的时间窗口的大小。原创 2024-06-10 11:15:00 · 1885 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.5-闪回表技术
闪回表就是对表的数据做回退,回退到之前的某个时间点,其利用的是undo的历史数据,与undo_retention设置有关,默认是14400分钟(1天)。同样,sys用户表空间不支持闪回表,要想表闪回,需要允许表启动行迁移(row movement)。原创 2024-06-09 15:00:00 · 94 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.4-闪回删除技术
Oracle的Flashback Drop闪回删除是用来撤销drop table语句的,其原理和windows的回收站相同。当执行drop table语句时,oracle并不会将表删除,而是将表及相关对象重命名并放入回收站。回收站中的对象可以像普通表一样查询。恢复被错误drop掉的表。当一张表被删除后,依然可以查看被drop表的内容,是通过查看回收站中的内容实现的。被删除的表将被存在一个叫recyclebin回收站的地方,当drop掉表后,实际上就是将改表改了个名字。原创 2024-06-09 10:00:00 · 775 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.3-闪回数据库技术
闪回数据库技术是一种快速的数据库恢复方案,这种恢复是基于用户的逻辑错误此时通常是将数据库恢复到之前的某一个时间点。相比于原始的恢复方式需要先备份数据文件,再使用归档日志恢复到以前的时间点。闪回日志由oracle自动创建,并保存于闪回恢复区中,由闪回恢复区管理,因为是自动管理的,所以如果闪回恢复区空间不足,闪回日志也会自动删除。所以闪回恢复区应该适当的设置的大一点。原创 2024-06-08 16:00:00 · 1002 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.2-闪回技术实现原理
Oracle闪回技术主要由3类底层技术支撑,分别是基于undo的闪回,基于回收站的闪回和基于闪回日志的闪回,下面我们将分别介绍。原创 2024-06-08 10:00:00 · 871 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.1-Flashback闪回技术总述
闪回技术(Flashback)是Oracle数据库提供的基于时间点或SCN(System Change Number)回滚数据的技术。它比常规的恢复方式(如备份、日志应用)更快、更方便,也可以回滚到秒级别。任何预防措施都无法避免人为失误的发生。Oracle 数据库闪回技术是一组独特而丰富的数据恢复解决方案,能够有选择性地高效撤销一个错误的影响,从人为错误中恢复。在采用闪回技术之前,损坏数据库只需数分钟,而要恢复它则需要数小时。有了闪回技术,纠正错误只需要数分钟的时间。原创 2024-06-07 18:00:00 · 1170 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.4.1-内存架构综述
Oracle Instance是Oracle RDBMS的核心之一,负责RDBMS的管理功能。Oracle Instance主要由内存结构和后台进程组成。数据库实例启动后,Oracle数据库会为其分配一块内存区域并启动相关后台进程。1.1 基本内存结构下图展示了以上内存结构之间的关系。图1 Oracle数据库内存结构1.2 Oracle内存管理内存管理(memory management)涉及到在对数据库的需求发生变化时,维护Oracle实例内存结构的最佳大小。原创 2024-06-05 08:30:00 · 45 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.2-Oracle集群心跳机制
Oracle集群如何维护集群的一致性,所谓的集群一致性就是指集群中每个成员能够了解其他成员的状态,而且每个成员获得的集群中其他节点的状态和集群中节点成员列表信息是一致的,这也是集群最基本的要求。原创 2024-06-07 11:15:00 · 82 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.1-Oracle长连接
在 Oracle 数据库应用中,长连接是一个重要的概念。正确使用长连接可以提高应用的性能,同时也可以提升数据库连接的可靠性和可伸缩性。在本文中,我们介绍了长连接的概念,并且讨论了如何在 Oracle 数据库中实现长连接的持久性、可靠性和可伸缩性。通过正确使用长连接,我们可以提升数据库应用程序的性能和可靠性,并且减少额外的开销。原创 2024-06-06 11:15:00 · 66 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.5-进程架构
Oracle是典型的多进程数据库。oracle实例运行起来后,会同时启动很,由不同的进程负责不同的操作。Oracle数据库的进程架构取决于操作系统和数据库配置选择。比如,为用户配置专用服务器连接或者共享服务器连接。在使用共享服务器连接时,每个服务器进程都能为多个客户端进程提供服务。原创 2024-06-06 08:30:00 · 1042 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.4.2-SGA架构
SGA是一块可读写内存区域,与Oracle后台进程(background processes)一起构成了数据库实例。所有代表用户执行的服务器进程都能读取实例SGA里的信息。有一些进程能在数据库运行时写入SGA。需要注意的是,服务器和后台进程本身并不在SGA中,而是存在于独立的内存空间中。每个数据库实例都有自己的SGA。Oracle数据库会在实例启动时自动为SGA分配内存,并在实例关闭时回收内存。正如图1,SGA由多个为了满足特定内存分配需求的内存池组成。原创 2024-06-05 11:15:00 · 1541 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.3.5-数据块(Data Blocks)结构剖析
数据块是Oracle最小的存储单位,Oracle数据存放在“块”中。一个块占用一定的磁盘空间。Oracle数据库中的数据块又被称为Oracle块(Oracle block)或者页(page)。数据块是数据块 I/O 的最小单位。特别注意的是,这里的“块”是Oracle的“数据块”,不是操作系统的“块”。Oracle每次请求数据的时候,都是以块为单位。也就是说,Oracle每次请求的数据是块的整数倍。如果Oracle请求的数据量不到一块,Oracle也会读取整个块。原创 2024-06-04 19:00:00 · 71 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.3.4-数据区(Extent)结构剖析
数据区表示一系列连续的数据块集合。当一个表、回滚段或临时段创建或需要附加空间时,系统总是为之分配一个新的数据区。一个数据区不能跨越多个文件,因为它包含连续的数据块。使用区的目的是用来保存特定数据类型的数据,也是表中数据增长的基本单位。一个Oracle对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。在进行存储数据信息的时候,Oracle将分配数据块进行存储,但是不能保证所有分配的数据块都是连续的结构。原创 2024-06-04 11:30:00 · 68 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.3.3-段(Segment)结构剖析
数据库中的表在表空间中都由一块单独的磁盘空间区域,称之为段。每一段依次在表空间中有一块初始的磁盘空间区域,成为初始盘区。当段使用完对应的空间时,磁盘空间的另一个单独区域——下一盘区将被启用。如果这一块区域也被使用完,那么还有另一盘区被启用。这个过程会跟随每一个表持续执行,直到整个表空间填充满为止。数据库中的表由一个或多个的段组成,而普通表由一个段组成,分区表则由多个段组成段是由多个数据区构成的,它是为特定的数据库对象(如表段、索引段、回滚段、临时段)分配的一系列数据区。原创 2024-06-04 08:30:00 · 1228 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.3.1-逻辑结构综述
Oracle的逻辑结构是一种层次结构。主要由:表空间、段、区和数据块等概念组成。逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构。数据库存储层次结构及其构成关系,结构对象也从数据块到表空间形成了不同层次的粒度关系。oracle数据库在逻辑上是由多个表间组成的,表空间中存储的对象叫段,比如数据段,索引段,和回退段。段由区组成,区是磁盘分配的最小单位。段的增大是通过增加区的个数来实现的。每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中最小的I/O单位.原创 2024-06-03 08:30:00 · 221 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.3.2-表空间结构剖析
表空间是数据库的逻辑划分。任何数据库对象在存储时都必须存储在某个表空间中。表空间对应于若干个磁盘文件,即表空间是由一个或多个磁盘文件构成的。表空间相当于操作系统中的文件夹,也是数据库逻辑结构与物理文件之间的一个映射。每个数据库至少有一个表空间,表空间的大小等于所有从属于它的数据文件大小的总和。在面上,表空间将数据存储在一个或多个数据文件(data files)或临时文件(temp files)中。数据库必须有 SYSTEM 和 SYSAUX 表空间。原创 2024-06-03 11:30:00 · 60 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-使用-3.2.1-Oracle ogg原理剖析
OGG(Oracle GoldenGate)属于Oracle Fusion Middleware产品线,2009年被Oracle收购,它是Oracle Stream的替代者。OGG软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库的同步。原创 2024-05-26 21:30:00 · 646 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-使用-3.2.2-Oracle ogg安装部署
在目标端,主要做了4个操作,共包括2个进程,分别是MANAGER和REPLICAT。在目标端,主要做了4个操作,共包括2个进程,分别是MANAGER和REPLICAT。原创 2024-05-27 09:00:00 · 891 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-使用-3.3.1-Oracle Data Guard综述
Oracle DG,即Oracle Data Guard,是一种数据库容灾和数据保护解决方案,旨在提供高可用性和灾难恢复能力。它通过在主数据库和备用数据库之间实时复制数据来实现这一点。Data Guard的核心功能在于它能够保持主节点和备用节点之间的数据一致性,即使发生故障也能保证业务的连续性。Oracle Data Guard是Oracle MAA(Maximum Availability Architecture)中的成员之一,也是MAA中技术要求最简单的方案之一。原创 2024-05-27 12:00:00 · 1086 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-使用-3.3.2-Oracle Data Guard原理
DG 的工作原理是通过网络将主数据库的重做数据传输到备用数据库,然后在备用数据库上应用这些重做数据,以确保数据的一致性。DataGuard数据同步过程分为三个阶段:日志传输、日志接收、日志应用。主库在运行过程中会不断地产生redo日志,这些日志需要发送到备库,这个发送动作有两种传输方式:ARCH进程(传归档日志)、LGWR进程(传重做日志)原创 2024-05-28 09:00:00 · 650 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-使用-3.4.1-Oracle Active Data Guard综述
Oracle ADG全称为Oracle Active Data Guard,它是Oracle Data Guard功能集中的一个高级选项。Active Data Guard是Oracle数据库提供的一种高级高可用性和灾难恢复解决方案,它在Oracle Data Guard的基础上进一步增强了备用数据库(Standby Database)的功能和利用率。在Oracle 11g之前,物理备库(physical Standby)在应用redo的时候,是不可以打开的,只可以mount。原创 2024-05-28 12:00:00 · 671 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-使用-3.4.2-Oracle Active Data Guard调优
Oracle Active Data Guard(ADG)调优涉及多个层面,旨在确保备用数据库在提供实时查询服务的同时,维持高效的数据同步与良好的系统性能。为了确保ADG环境的高性能和可靠性,需要进行适当的调优。以下是一些关键的调优领域和建议:调优是一项持续的过程,需要根据实际业务需求、系统负载变化以及新版本特性的引入进行适时调整。在进行任何调优操作之前,务必做好备份、制定回滚计划,并在非业务高峰期进行测试验证。原创 2024-05-29 09:00:00 · 1643 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-使用-3.5-Oracle中hint使用
Hint实际上是一种特殊的注释,它以一种固定的格式和位置出现在SQL语句的SQL文本中,可以影响优化器对于执行计划的选择,但这种影响不是强制性的,优化器在某些情况下也可能忽略目标SQL中的Hint,即使这个Hint在语法和语义上是有效的。如果目标SQL的SQL文本中出现了Hint,优化器在选择最终执行计划时会把Hint一并考虑进来,如果优化器判断这个Hint给出的建议是合适的,就会直接遵循这个Hint给出的建议,并据此选定执行计划。反之,则会忽略该Hint仍然采用原先的判断标准来选定执行计划。原创 2024-05-29 12:00:00 · 843 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.2.7-跟踪与告警文件解析
跟踪日志文件又叫做跟踪文件,每个服务器进程和后台进程都会写跟踪文件,当后台进程检测到错误时,Oracle会将错误信息写到跟踪文件中。Oracle跟踪文件中包含了大量而详细的诊断和调试信息,因此通过对跟踪文件的解读和分析,我们可以定位问题、分析问题和解决问题,可分析后台进程是否发生错误。跟踪文件又可以分为两类:一类是数据库的操作人员有意生成的;另一类则是由于出现了异常错误,由数据库自动生成的。对于后一类,只对Oracle内部的技术支持人员是有用的,但对于我们,则多半看不懂。原创 2024-06-02 11:45:00 · 71 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-原理-4.2.6-归档日志文件解析
Oracle将填满的联机日志文件复制到一个或多个路径进行存储的过程称为归档,这样生成的文件也叫做归档日志文件。存放归档文件的路径叫归档路径,只有数据库是运行在归档模式的场景下才能进行归档,归档的过程通常情况下由归档进程自动完成。一个数据库可以有一个或多个归档进程,归档进程的数量有初始化参数LOG_ARCHIVE_MAX_PROCESSES进行控制归档日志文件是历史联机重做日志文件的集合,是联机重做日志文件被覆盖之前备份的副本。原创 2024-06-02 08:45:00 · 166 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-使用-3.1-SQL操作
SQL语句可以对Oracle进行对象创建、删除,数据的插入、删除、更新,以及数据库的管理等操作,SQL是一个结构化的的查询语言(Structured Query Language),不仅仅适用于Oracle数据库,再其它的数据也适用。在Oracle开发中,客户端把SQL语句发送给服务器,服务器对SQL语句进行编译、执行,把执行的结果返回给客户端。原创 2024-05-26 17:15:15 · 73 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-2.3-数据库用户管理
用户权限管理是指通过合理的配置和管理,为每个用户分配适当的数据库权限,确保他们只能访问和操作其所需的数据对象。用户权限管理包括用户的认证、授权和审计等方面,旨在保护数据库的机密性、完整性和可用性。原创 2024-03-22 11:00:00 · 192 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-运维-2.2-数据库卸载
本文主要介绍Oracle的卸载相关操作步骤。原创 2024-03-22 09:00:00 · 58 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-运维-2.1-数据库安装
本文主要介绍Oracle数据库的安装与配置原创 2024-03-21 11:00:00 · 77 阅读 · 0 评论 -
【云原生进阶之数据库技术】第二章-Oracle-1-简介
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。原创 2024-03-21 09:00:00 · 433 阅读 · 0 评论 -
【云原生进阶之数据库技术】第三章-PostgreSQL-架构-3.3-逻辑架构
PostgreSQL的逻辑存储架构是其核心组成部分之一,负责管理和维护数据的组织和访问方式。在逻辑层面上,PostgreSQL将数据以特定的结构进行组织,以便能够高效地处理和检索数据。这种逻辑结构对于数据库的性能和可靠性至关重要。在逻辑存储架构中,所有的数据库对象都被赋予唯一的标识符,即OID(Object Identifier)。OID是一个无符号的四字节整数,用于在系统的系统目录表中唯一标识不同的数据库对象。原创 2024-03-20 09:00:00 · 73 阅读 · 0 评论 -
【云原生进阶之数据库技术】第三章-PostgreSQL-架构-3.4-物理结构
base目录存储用户创建的数据库文件,及隶属于用户数据库的所有关系,比如表、索引等存储pg_control及数据库集群维度的数据库及其关系,非客户维度的数据。(1 row)pg_wal是WAL机制中的wal日志存储目录。事务提交日志存储目录,默认256KB。原创 2024-03-20 11:00:00 · 109 阅读 · 0 评论 -
【云原生进阶之数据库技术】第三章-PostgreSQL-架构-3.2-进程结构
PostgreSQL是一个多进程架构的客户端/服务器模式的关系型数据库管理系统。PG数据库中的一系列进程组合进来就是PostgreSQL服务端。PG数据库中有一个主的postgres server进程,针对每个客户端有一个backend postgres进程,另外有一系列的background后台进程(针对不同的功能模块)。所以这些进程都对应一个共享内存shared memory。原创 2024-03-19 11:00:00 · 370 阅读 · 0 评论 -
【云原生进阶之数据库技术】第三章-PostgreSQL-架构-3.1-整体结构
PostgreSQL 是一个开源对象关系型数据库管理系统,并侧重于可扩展性和标准的符合性。PostgreSQL 面向企业复杂 SQL 处理的 OLTP 在线事务处理场景,支持 NoSQL 数据类型(JSON/XML/hstore),支持 GIS(Geographic Information System 或 Geo-Information system)地理信息处理,在可靠性、数据完整性方面有良好声誉,适用于互联网网站、位置应用系统、复杂数据对象处理等应用场景。原创 2024-03-19 09:00:00 · 266 阅读 · 0 评论 -
PostgreSQL-管理-2.3-Spring项目开发对接
在安装好了PostgreSQL之后,下面我们尝试一下在Spring Boot中使用PostgreSQL数据库。原创 2024-03-18 11:00:00 · 417 阅读 · 0 评论 -
【云原生进阶之数据库技术】第三章-PostgreSQL-管理-2.1-安装部署
本篇主要介绍PostgreSQL的安装部署原创 2024-03-17 11:00:00 · 64 阅读 · 0 评论