当前位置:首页 » 操作系统 » 数据库ops

数据库ops

发布时间: 2023-01-24 20:55:03

⑴ 五大数据库理念,读懂亚马逊云科技的数据库布局


1970 年,关系型数据库之父 E.F.Codd 发表《用于大型共享数据库的关系数据模型》论文,正式拉开数据库技术发展序幕。以 Oracle、DB2、SQL Server 为代表的三大商业数据库产品独占鳌头,随后涌现出 MySQL、PostgreSQL 等为代表的开源数据库 ,和以 Amazon RDS 等为代表的云数据库,拉开百花齐放的数据库新序幕。

我们知道,云计算十年为产业转型升级提供了 历史 性契机,但变革仍在进行,随着云计算的普及,数据库市场发生根本性改变,云厂商打破传统商业数据库的堡垒,成为数据库领域全新力量。其中以连续六年入选 Gartner 领导者象限的亚马逊云 科技 为代表,我们一起探讨:为什么亚马逊云 科技 能始终保持其创新性?纵观云原生时代下,亚马逊云 科技 数据库未来还有哪些更多的可能性?

01 面对四大数据库发展趋势,亚马逊云 科技 打造五大数据库理念

后疫情时代下,加速了不少行业的业务在线化和数字化运营,企业对数据价值挖掘的需求越发强烈,亚马逊云 科技 大中华区产品部总经理顾凡详细介绍其中四大趋势:

一是伴随互联网、移动互联网的发展,电商、视频、社交、出行等新应用场景的兴起,不仅数据量大,对数据实时性要求极高,传统关系型数据库无法满足需求,因此驱动云原生数据库的出现。

二是开源数据库的广泛应用。

三是应用程序现代化对数据库提出更高要求,期待数据库拥有更高的性能、可扩展性、可用性以及降低成本,让开发人员专注于核心业务的应用开发,不用关注和核心业务无关的代码。

四是软件架构历经 PC、互联网、移动互联网,再到如今的万物互联时代,其中的迭代和转型正在驱动数据库选型的变化。

在此四大趋势下,伴随企业的业务量越来越大、越来越复杂,对数据库的要求越来越高。亚马逊云 科技 洞察客户需求,在打造云上数据库产品时提出五大理念:

一是专库专用,极致性能;二是无服务器,敏捷创新;第三是全球架构,一键部署;第四是平滑迁移,加速上云;第五是 AI 赋能,深度集成。

02 历经真实锤炼,五大数据库理念,持续赋能企业数智转型

顾凡表示,随着数据爆炸式增长,微服务架构与 DevOps 愈发流行的今天,一个数据库打天下的时代已然过去。我们需要在不同的应用场景下,针对不同的数据类型和不同的数据访问特点,为开发者和企业提供专门构建的工具。

所以亚马逊云 科技 提出 第一个核心数据库理念:专库专用 。在此理念下,推出针对关系数据、键值数据、文档数据、内存数据、图数据、时许数据、分类账数据、宽列等专门构建数据库的产品家族。

这些数据库产品均经历过亚马逊内部核心业务的真实锤炼,成绩斐然:

亚马逊电商当年是 Oracle 的客户之一,随着亚马逊电商的应用重构和业务体量发展,亚马逊电商决定将业务迁移到亚马逊云 科技 里。100 多个团队参与这庞大的迁移工作中,将亚马逊电商采购、目录管理、订单执行、广告、财务系统、钱包、视频流等关键系统全部从 Oracle 迁出来。2019 年,亚马逊将存储近 7500 个Oracle 数据库中的 75 PB 内部数据迁移到多项亚马逊云 科技 的数据库服务中,包括 Amazon DynamoDB、Amazon Aurora、Amazon ElastiCache,于是亚马逊电商成为亚马逊云 科技 在全球的“第一大客户”。

从 Oracle 切换到亚马逊云 科技 后,亚马逊电商节省了 60% 成本,面向消费者端的应用程序延迟降低 40%,数据库管理支出减少 70%。

以被誉为“亚马逊云 科技 历史 上用户数量增速最快的云服务”Amazon Aurora 为例,其拥有科媲美高端商业数据库的速度和可用性,还拥有开源数据库的简单性与成本效益,Amazon Aurora 让客户满足“鱼和熊掌兼得”需求。

据顾凡介绍,Amazon Aurora 可提供 5 倍于标准 MySQL 性能,3 倍于 PostgreSQL 吞吐量。同时提供高可用,可用区(AZ)+1的高可用,Global Databases 可完成跨区域灾备。可扩展到 15 个只读副本,成本只有商业数据库的 1/10。

医药企业九州通为药厂、供应商,搭建药厂、供应商、消费者提供供应链链条。其 B2B 系统的业务特点是读多写少,受促销活动、工作时间等影响,经常会出现波峰波谷落差较大的情况,读写比例在 7:2 或者 8:3。九州通采用 Amazon Aurora 后实现读写分离和按需扩展,整体数据库性能提升 5 倍,TCO 降低 50%。实现了跨可用区部署、负载均衡、自动故障转移、精细监控、按需自动伸缩等。

据权威机构预测,到 2022 年,75% 数据库将被部署或迁移至云平台。在这个过程中,亚马逊云 科技 是如何通过技术来帮助客户加速应用上云的?这离不开除了上述的“专库专用”外,以下四大理念:

第二个理念是无服务器、敏捷创新。 亚马逊云 科技 大中华区产品部数据类产品高级经理王晓野表示,企业业务总有波峰波谷之时,如何按照企业 80-90% 的业务峰值来规划数据库的存储容量和计算资源的话,将给应用带来一定的业务连续性的妥协和挑战。因此大多数企业都是按照峰值留有余地来选择数据库的计算资源,这将造成成本上的浪费。而 Serverless 数据库服务可完成无差别的繁复工作和自动化扩展。

Amazon DynamoDB 是亚马逊云 科技 自研 Serverless 数据库,其诞生最早可追溯到 2004 年,当时亚马逊电商作为 Oracle 的客户,尽管对于关系型数据库在零售场景的需求并不频繁,70% 均是键值类操作,此时倒逼亚马逊电商思考:为什么要把关系型数据库这么重得使用?我们可以设计一款支持读写、可横向扩展的分布式数据库吗?后来的故事大家都知道了,这款数据库就是 Amazon DynamoDB,并在 2007 年发表论文,掀起业界 NoSQL 分布式数据库技术创新大潮。

Amazon DynamoDB 可为大规模应用提供支持,支撑亚马逊自身多个高流量网站和系统,如亚马逊电商网站、亚马逊全球 442 个物流中心等。在亚马逊电商一年一度 Prime Day,光是针对DynamoDB API 的调用达到数万亿次,最高峰值请求达到每秒 8920 万次。由此可见,DynamoDB 拥有高吞吐、扩展性、一致性、可预测响应延迟、高可用等优势。

智能可穿戴设备厂商华米 科技 ,在全球 70 多个国家拥有近 1 亿用户。仅 2020 年上半年,其手表出货量超 174 万台,截止到 2021 年 2 月,华米 科技 的可穿戴设备累计记录步数是 151 万步,累计记录的睡眠时间是 128 亿个夜晚,记录心率总时长达 1208 亿个小时。如此庞大的数据同时必须保证极高的安全性和低延迟相应,如何保证稳定性是巨大的挑战。

DynamoDB 帮助华米 科技 在任何规模下都能提供延迟不超过 10 毫秒的一致响应时间。华米 科技 健康 云的 P0 和 P1 级别故障减少了约 30%,总体服务可用性提升了 0.25%,系统可用性指标达到 99.99%,为华为 科技 全球化扩展提供了有力的支撑。

最新无服务数据库产品是 Amazon Aurora Serverless V2 提供瞬间扩展能力,真正把扩展能力发挥到极致,在不到一秒的时间内,将几百个事务扩展到数十万的级别。同时在扩展时每一次调整的增量都是非常精细化的去管理,如果按照峰值来规划数据库资源,可实现大概90%的成本节省。目前 Amazon Aurora Serverless V2 在全球实现预览。

第三个理念是全球架构、一键部署。 在全球化的今天,如何支撑全球客户的业务扩展连续性、一致性、以最低延迟带给到终端客户上,对数据库提出新的挑战。

亚马逊云 科技 提供 Amazon Aurora 关系型数据库Global Database、Amazon DynamoDB、Amazon ElastiCache 内存数据库、Amazon DocumentDB 文档数据库都能利用亚马逊云 科技 的骨干网络提供比互联网更稳定的网络支撑,以一键部署的方式,帮助客户实现几千公里跨区域数据库灾备,故障恢复大概能在一分钟之内完成,同时跨区域的数据复制延迟通常小于一秒。

第四个理念是平滑迁移、加速上云。 目前,450000+ 数据库通过亚马逊云 科技 数据库迁移服务迁移到亚马逊云 科技 中,这个数字每年都在不断增长。亚马逊云 科技 提供 Amazon DMS、Amazon Database Migration Service 等工具让开发者和企业进行自助式云迁移。另外,对于迁移过程中可能会需要的支持,可通过专业服务团队和合作伙伴网络成员,为客户提供专业支持,还通过 Database Freedom 项目帮助客户降低他们的顾虑。

今年 11 月,最新产品 Babelfish for Amazon Aurora PostgreSQL 在全球和中国两个区域正式可用,可加速企业上云的迁移,实现让企业可以利用原有的技术栈、原有的 SQL Server T-SQL的人员可以利用到云数据库进行创新。

第五个理念是 AI赋能,深度集成。 我们观察到,ML 技术赋能数据库开发者,开发者无需具备机器学习专业知识,就可进行机器学习操作。在此潮流下,亚马逊云 科技 推出 Amazon Neptune,借由 Deep Graph Library 和 Amazon SageMaker 驱动图神经网络。

今年 8 月,Neptune ML 在中国正式可用,允许数据工程师不需要掌握机器学习的技能直接从图数据库里导出数据、转换格式、训练模型并发布,用 gremlin 语句调用训练成的模型在数据库里实现推理,进行欺诈检测,推荐物品。

目前,亚马逊云 科技 加速在中国区域服务落地,2021年至今新发布 60 多个数据库服务与功能。亚马逊云 科技 正是通过上述五大数据库理念,打造丰富的数据库产品家族,在全球智能化发展趋势下,为企业提供更快更好的数智服务,释放数据价值,并连续六年入选 Gartner 领导者象限,得到业界和客户的深度认可。

⑵ Oracle数据库无响应故障处理方式

Oracle数据库无响应故障处理方式

Oracle数据库无响应故障,简单地讲就是数据库实例不能响应客户端发起的请求,客户端提交一个SQL后,就一直处于等待数据库实例返回结果的状态。更严重的现象是客户端根本不能连接到数据库,发起一个连接请求后,一直处于等待状态。Oracle数据库无响应故障怎么处理呢?下面跟我一起来学习Oracle数据库无响应故障的处理方法吧!

无响应的故障现象一般有以下几种:

1.Oracle的进程在等待某个资源或事件

这种现象一般可以从V$SESSION_WAT、V$LATCH、V$LATCHHOLDER等动态视图中检查进程正在等待的资源或事件,而被等待的资源或事件,一直都不能被获取,甚至是很长时间都不可获得。如果这个正在等待的进程持有了其他的资源,则会引起其他的进程等待,这样就很可能引起实例中大范围的会话发生等待。由于进程在等待资源或事件时,通常都处于SLEEP状态,消耗的CPU资源非常少(在等待latch时要稍微多消耗一些CPU资源),所以从OS来看,CPU的消耗并不高,甚至是非常低。

这种因为等待而引起的个别进程Hang,相对比较容易处理。

2. OracleProcess Spins

所谓Spin,就是指Oracle进程中的代码在执行某个过程时,陷入了循环。在V$SESSION视图中,往往可以看到Hang住的会话,一直处于“ACTIVE”状态。对于这样的会话,用“alter system kill session ‘sid,serial#’”命令也不能完全断开会话,会话只能被标记为“killed”,会话会继续消耗大量的CPU。进程Spins由于是在做循环,CPU的消耗非常大,从OS上明显可以看到这样的进程,通常会消耗整个CPU的资源。

而对于这样的Hang住的会话,处理起来相对比较复杂,并且为了从根本上解决问题,需要超过DBA日常维护所需要的技能。

从故障范围来看,无响应故障可以分为以下几种情况:

1. 单个或部分会话(进程)Hang住

这种情况属于小范围的故障,业务影响相对较小,一般来说只会影响业务系统的个别模块。在一个多应用系统的数据库上面,如果Hang住的会话比较多,则影响的可能是其中的一个应用系统。这里有一个例外,如果Hang住的进程是系统后台进程,如pmon、smon等,则影响的范围就非常大了,最终甚至会影响整个数据库及所有应用系统。还有值得注意的是,即使是少部分会话Hang住,也要及时处理,否则极有可能会扩散到整个系统。

2. 单个数据库实例Hang住

这种情况造成的影响非常大。在这个实例上的所有应用系统均受到严重影响,并且在找到根源并最终解决问题之前,数据库实例往往须要重启。

3. OPS或RAC中的多个实例或所有实例都Hang住

在这种情况下,即使是OPS或RAC,都已经没办法提供高可用特性了。使用这个数据库的所有应用系统将不能继续提供服务,这种情况往往须要重启。

无响应故障成因分析

Oracle数据库无响应,一般主要由以下几种原因引起:

1. 数据库主机负载过高,严重超过主机承受能力

比如应用设计不当,数据库性能低下,活动会话数的大量增加,导致数据库主机的负载迅速增加,数据库不能正常操作,并最终Hang住;主机物理内存严重不足,引起大量的换页,特别是在SGA中的内存被大量换出到虚拟内存时,数据库实例往往就会Hang住。

2. 日常维护不当、不正确的操作引起数据库Hang住

比如归档日志的存储空间满,导致数据库不能归档,引起数据库Hang住;在一个大并发的繁忙的系

统上,对DML操作比较多的大表进行move、增加外键约束等操作也可能使系统在短时间内负载大幅升高,并引起数据库系统Hang住;不正确的资源计划(Resource Plan)配置,使进程得不到足够的CPU等。

3. Oracle数据库的Bug

几乎每个版本都存在着会导致数据库系统Hang住的Bug,这些Bug会在一些特定的条件下触发,特别是在RAC数据库中,引起数据库Hang住的Bug比较多。

4. 其他方面的一些原因

比如在RAC数据库中,如果一个节点退出或加入到RAC的过程中,当进行Resource Reconfiguration时,会使系统冻结一段时间,也有可能使系统Hang住。

以上所描述的几种常见的会导致Oracle数据库实例Hang住的原因中,大部分的情况是可以避免的,只要维护得当,一般不会出现这种故障。对于Oracle数据库Bug所导致的数据库无响应故障,由于是在特定的情况下才会触发,所以如果能够尽量对数据库打上最新版本的补丁,并且熟悉当前版本中会导致系统Hang住的Bug以及触发条件,就能够最大限度地避免这种故障的发生,提高系统的可用性。

那么,在数据库Hang住的情况下,如何去分析并发现导致问题的根源?一方面,由于系统Hang住会导致业务系统不可用,为了能够尽快地恢复业务,须快速地判断问题所在,然后Kill掉引起故障的会话和进程,或者数据库实例不得不重启以迅速恢复业务;但另一方面,如果只是重启数据库或Kill会话和进程来解决问题,在很多情况下是治标不治本的办法,在以后故障随时可能会出现。如何在二者之间进行抉择呢?对于数据库Hang故障的处理,首先是尽可能地收集到系统Hang住时的状态数据,然后尽快地恢复业务,恢复业务后分析收集到的数据,找到数据库系统Hang住的真正原因,然后再进行相应的处理。下一节将详细描述数据库系统Hang住后的处理流程。

无响应故障处理流程

对于Oracle无响应故障的处理,我们可以按下图所示的流程进行。

值得注意的是,上图并不是一个完整的Oracle数据库故障处理流程图,只是处理Oralce数据库无响应这一类特定的故障的流程,只列出了针对这一特定类型故障处理时的关键处理点。不过既然是故障,所以这类故障的处理流程与其他故障的处理流程,有着非常相似的地方。

下面是整个流程的详细说明:

1. 在出现数据库无响应故障后,首先确认系统的影响范围,如上节所描述的',是部分业务系统或模块还是所有的业务系统都受影响,是不是整个实例或多个实例都无响应。同时应询问系统维护和开发人员,受影响的系统在出现故障前是否有过变动,包括主机硬件、操作系统、网络、数据库以及应用等。有时一个细小的变动就可能导致出现数据库Hang住这样严重的故障。曾经遇到一个库,应用只是修改了一个SELECT语句就导致了数据库Hang住。

2. 为了避免由于网络、数据库监听或客户端因素影响分析,建议都登录到主机上进行操作。

3. 如果主机不能登录(为了避免干扰流程主线,这里不讨论如网络问题这样也会导致不能连接的故障),尝试关闭出现问题的业务系统,甚至是所有的业务系统。如果关闭了所有的业务系统之后,仍然不能连接,则只有考虑重新启动数据库主机。在数据库主机重新启动后,使用操作系统工具或OSW等长期监控操作系统的资源使用,同时监控Oracle数据库的性能和等待等。

4. 登录上主机后,先用top、topas等命令简单观察一下系统。看看系统的CPU使用、物理内存和虚拟内存的使用、IO使用等情况。

5. 使用SQLPLUS连接数据库,如果不能连接,则只能从操作系统上观察系统中是否有异常的现象,比如占用CPU过高的进程。使用gdb、dbx等debugger工具对数据库进行system state mp;使用strace、truss等工具检查异常进程的系统调用;使用pstack、procstack等工具察看异常进程的call stack等。

6. 使用SQLPLUS连接上数据库后,进行hanganalyze、system state mp等操作;或检查等待事件、异常会话等正在执行的SQL等待。

7. 找到故障产生的原因,如果暂时找不到原因,尽量收集数据。

8.确良如果应用急须恢复,可通过Kill会话、重启数据库实例等方式,先恢复应用。

9. 根据最终诊断结果,对数据库升级打补丁,或者修改应用等方式从根本上解决问题。

怎样避免数据库出现无响应故障

作为Oracle数据库DBA,除了处理故障之外,更重要的是如何预防故障的发生。根据前面对数据库无响应故障的成因分析,在日常的维护工作中,须做到以下几点:

1. 进行正确的维护操作

很多的数据库无响应故障都是由于不正确的维护操作引起的。应避免在业务高峰期做大的维护操作,比如像move、加主外键约束等会长时间锁表的操作。如果的确需要,尽量使用正确的操作方法。比如用ONLINE方式重建索引;建主键、唯一键约束时先建索引,然后在建约束时指定新建的索引,等等。也就是保证系统的并发性、可伸缩性,避免系统串行操作的出现。

2. 优化应用设计,优化数据库性能

为避免性能问题导致在业务高峰期数据库不能及时有效处理来自业务的请求,甚至于完全Hang住。对于数据库中存在串行访问的部分进行优化,比如latch、enqueue,还包括不合理的sequence设计等。特别是在RAC数据库中,严重串行访问等待往往更容易引起严重的性能问题。优化应用设计,使数据库具有更好的可伸缩性和并行处理能力,能够有效地避免性能问题引起的数据库Hang住。

3. 利用监控系统随时监控系统负载

遇到系统负载过高,内存不足,OS中虚拟内存换页很频繁等情况时,及时采取措施;监控Oracle数据库的核心进程,如pmon、smon等,看是否有异常,如过高的CPU消耗。出现异常应立即处理;监控归档空间和日志切换;监控数据库中的等待事件,比如是否有大量的enqueue、log file switch (archiving needed)、resmgr:become active等待事件等。

4. 为数据库打上补丁

很多的无响应故障是由于Oracle的Bug引起的,数据库DBA应关注当前版本中有哪些Bug会导致数据库Hang住,尽量为数据库打上解决这些Bug的补丁。

;

⑶ ops在聊天中什么意思

ops的英文全称是:oopsoopsint,表示惊讶, 狼狈时所发的喊声。

ops在聊天中使用是表示惊叹,类似于“哦!天呐!”的意思,也可以用作是用作口头禅来使用。

OPS还包括其他的意思:OPS,全称为:Open Pluggable Specification,开放式可插拔规范。是Intel与显示器厂商共同制定的标准化数字标牌接口规范。

OPS内部组成是一个X86架构的迷你PC,采用英特尔酷睿处理器,配有内存、硬盘、多种输入输出接口以及Windows操作界面,尺寸为200mm x 119mm x 30mm 。

(3)数据库ops扩展阅读:

英文聊天中常见的感叹词还包括:

1、ah /ɑː/(注意h不发音)

①可以用在惊讶的时候 :

Ah, here is the thing I am after. 哎呀,我找的东西在这儿呢。

②想要抒情感叹的时候 :

Ah, the miracle of life. 啊,这是生命的奇迹。

③有点失望可惜的时候 :

Ah! This is a waste of time! 啊,真是浪费时间!

2、Oh, boy!

①兴奋的时候经常用:

Boy, oh, boy! Our team's going to win! 哇!我们队要赢了!

②发生了糟糕的事情,想要抱怨:

"Oh, boy !” moaned Fred, as his old car stalled out. “唉”, 弗莱德抱怨道,这时他的车抛锚了。

3、 there

there 做语气词时含义也非常丰富:

①安慰或者哄别人的时候:

There! There!Never mind, you'll soon feel better. 好啦,好啦,不要紧,你马上会好的。

②表示得意满足——There, I've filled it up again. 瞧,我又把它灌满了。

热点内容
苹果手机备忘录怎么加密 发布:2024-05-19 18:57:57 浏览:15
光荣脚本 发布:2024-05-19 18:57:48 浏览:997
pythonjson字符串 发布:2024-05-19 18:51:43 浏览:253
什么是服务器厂商介绍 发布:2024-05-19 18:50:09 浏览:370
服务器网卡硬件型号怎么看 发布:2024-05-19 18:36:41 浏览:665
修改pve服务器ip 发布:2024-05-19 18:31:52 浏览:468
微信密码忘记了如何取出里面的钱 发布:2024-05-19 18:27:35 浏览:329
vs2005反编译 发布:2024-05-19 18:26:34 浏览:364
ug启动语言脚本 发布:2024-05-19 18:25:57 浏览:874
缓存服务器技术 发布:2024-05-19 18:25:56 浏览:885