当前位置: 首页 > news >正文

网站和新媒体建设管理自己做网站如何赚钱

网站和新媒体建设管理,自己做网站如何赚钱,wordpress翻译配置,做外贸营销型网站目录 一、前言 二、GaussDB事务的定义及应用场景 三、GaussDB事务的管理 四、GaussDB事务语句 五、GaussDB事务隔离 六、GaussDB事务监控 七、总结 一、前言 随着大数据和互联网技术的不断发展,数据库管理系统的作用越来越重要,实现数据的快速读…

目录

一、前言

二、GaussDB事务的定义及应用场景

三、GaussDB事务的管理

四、GaussDB事务语句

五、GaussDB事务隔离

六、GaussDB事务监控

七、总结

一、前言

随着大数据和互联网技术的不断发展,数据库管理系统的作用越来越重要,实现数据的快速读写以及保证数据的安全性和完整性成为企业在选择数据库技术时最为关注的问题之一。事务是保证数据一致性和完整性的关键机制之一,因此事务管理在数据库技术中占据了极为重要的位置。在这里我们将着重介绍华为云数据库GaussDB对事务的支持及管理,包括事务应用场景、事务管理、事务语句、事务隔离、事务监控等内容。

二、GaussDB事务的定义及应用场景

事务是数据库系统中的一个重要概念,通俗来讲,事务就是一组数据库操作看成一个整体,这个整体要么全部执行成功,要么全部撤销。

事务可以应用在并发访问数据库时,保持数据的一致性。一些常见的应用场景包括转账操作、订单修改、银行交易等。在这些场景中,事务的功能是保证操作的原子性,即要么全部执行成功,数据库的值正确地更新,即处于一个“一致状态”,要么出现异常或系统故障,全部回滚至操作前的状态,以保证数据的准确性和完整性。

GaussDB支持ACID事务,即原子性、一致性、隔离性和持久性。在GaussDB中,事务是指一组数据库操作,这些操作要么全部成功,要么全部失败。当一个事务提交时,所有的修改都会被永久保存。如果事务失败,则所有的修改都会被回滚,数据库状态会被还原到事务开始前的状态。GaussDB还支持分布式事务(集群事务),可以涉及到多个节点的事务(本次不做重点介绍)。

  • 原子性(Atomicity):事务是数据库的逻辑工作单位,事务中的操作,要么都做, 要么都不做。
  • 一致性(Consistency):事务的执行结果必须是使数据库从一个一致性状态转到另一 个一致性状态。
  • 隔离性(Isolation):数据库中一个事务的执行不能被其他事务干扰。即一个事务 的内部操作及使用的数据对其他事务是隔离的,并发执行的 各个事务不能相互干扰。
  • 持久性(Durability):事务一旦提交,对数据库中数据的改变是永久的。提交后的 操作或者故障不会对事务的操作结果产生任何影响。

 

三、GaussDB事务的管理

事务管理是指在使用数据库系统时,对事务的开启、提交、回滚、保存点、分布式事务等进行管理:

  • 启动事务:GaussDB通过START TRANSACTION和BEGIN语法启动事务
  • 设置事务:GaussDB通过SET TRANSACTION或者SET LOCAL TRANSACTION语法设置事务
  • 提交事务:GaussDB通过COMMIT或者END可完成提交事务的功能,即提交事务的所有操作
  • 回滚事务:回滚是在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤销

存储过程本身就处于一个事务中,开始调用最外围存储过程时会自动开启一个事务,在调用结束时自动提交或者发生异常时回滚。除了系统自动的事务控制外,也可以使用COMMIT/ROLLBACK来控制存储过程中的事务。在存储过程中调用COMMIT/ROLLBACK命令,将提交/回滚当前事务并自动开启一个新的事务,后续的所有操作都会在此新事务中运行。

示例1:启动一个事务

--以默认方式启动事务。

START TRANSACTION;

SELECT * FROM tpcds.reason;

END;

--以默认方式启动事务。

BEGIN;

SELECT * FROM tpcds.reason;

END;

--以隔离级别为READ COMMITTED,读/写方式启动事务。

START TRANSACTION ISOLATION LEVEL READ COMMITTED READ WRITE;

SELECT * FROM tpcds.reason;

COMMIT;

示例2:设置事务

--开启一个事务,设置事务的隔离级别为READ COMMITTED,访问模式为READ ONLY。

START TRANSACTION;

SET LOCAL TRANSACTION ISOLATION LEVEL READ COMMITTED READ ONLY;

COMMIT;

示例3:支持在PLSQL的存储过程内使用COMMIT/ROLLBACK。

CREATE TABLE EXAMPLE1(COL1 INT);

CREATE OR REPLACE PROCEDURE TRANSACTION_EXAMPLE()

AS

BEGIN

    FOR i IN 0..20 LOOP

        INSERT INTO EXAMPLE1(COL1) VALUES (i);

        IF i % 2 = 0 THEN

            COMMIT;

        ELSE

            ROLLBACK;

        END IF;

    END LOOP;

END;

/

运行结果:

在GaussDB中,控制管理事务可以采用两个方法:原子性和隔离性。原子性指一组操作要么全部执行,要么全部不执行。隔离性指一个事务的操作不受其他事务干扰,保证并发执行时数据的一致性。

更多事务管理过程中的使用场景(支持/不支持调用的上下文环境),请参见官网示例:

事务管理_云数据库 GaussDB_开发指南(主备版_2.x版本)_存储过程_华为云

四、GaussDB事务语句

事务语句可以看作是在事务中执行的一组语句,常见的事务语句有insert、update、delete等。

GaussDB支持事务语句,事务语句组合成一组原子性、隔离性和一致性的操作。例如,下面的所有查询都包含在同一个事务小片中。如果有任何一个查询失败,整个事务将回滚。以下是事务语句的例子:

BEGIN;

SELECT balance FROM account WHERE id = 1  FOR UPDATE;

UPDATE account SET balance = balance - 100 WHERE id = 1;

COMMIT;

五、GaussDB事务隔离

GaussDB支持的事务隔离级别包括:Read Uncommitted(读未提交)、Read Committed(读提交)、Repeatable Read(重复读)、Serializable(序列化,Serializable 是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是这种事务隔离级别效率低下,比较耗数据库性能,一般不建议使用)。

语法:

{ SET [ LOCAL ] TRANSACTION|SET SESSION CHARACTERISTICS AS TRANSACTION }
  { ISOLATION LEVEL { READ COMMITTED | READ UNCOMMITTED | SERIALIZABLE | REPEATABLE READ }
  | { READ WRITE | READ ONLY } } [, ...]

1. Read Uncommitted 隔离级别:最低的隔离级别,它允许提交了但尚未被写入磁盘的事务修改的数据被其他事务所读取。

SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

2. Read Committed 隔离级别:这个级别保证一个事务所见到的数据,要么是提交事务所修改的(已经将数据更新至磁盘),要么就是其他提交事务所修改的。

SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL READ COMMITTED;

3. Repeatable Read 隔离级别:保证在一个事务内重复执行的查询返回的结果集是一样的。特别地,在这个级别的情况下,在事务中第一次读表时就会自动获取到所有被查询记录的共享锁,直到关闭连接为止。

SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL REPEATABLE READ;

4. Serializable 隔离级别:这个级别最高,实现方法是对数据进行锁定,以保证在写操作(INSERT、DELETE 和 UPDATE 等)期间数据不会被访问。

SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL SERIALIZABLE;

六、GaussDB事务监控

事务监控是指对事务进行实时的监控,包括事务的状态、执行时间、执行语句、执行结果等。

事务监控可以对数据库操作进行记录和追踪,包括事务开始和结束的时间、事务中执行的语句、事务提交或回滚的状态等。可以通过这些信息来监控事务的执行情况,优化性能和调整配置。

华为云数据库GaussDB支持ACID事务,事务隔离级别支持读已提交、可重复读、序列化三种,并具有分布式事务支持功能。在实际应用中,GaussDB的事务机制可适用于金融账务、电商订单、物流管理等多种场景。

例如,在电商订单场景中,可以在一个事务中包含插入订单、更新库存、生成支付信息等相关操作,确保这些操作全部成功或全部失败,而不会出现其中某个操作提交,其他操作失败的情况。

而在日常开发中,要注意对事务的合理使用,避免在一个事务中执行过多的操作,尽可能缩小事务的范围,减少事务的执行时间,从而提高系统的并发性能。

事务监控可以对数据库操作进行记录和追踪,包括事务开始和结束的时间、事务中执行的语句、事务提交或回滚的状态等。可以通过这些信息来监控事务的执行情况,优化性能和调整配置。以下是事务监控的示例:

1. 查看活动事务信息(PG_PREPARED_XACTS视图显示当前准备好进行两阶段提交的事务的信息

select * from pg_prepared_xacts;

2. 查看事务状态(PG_STAT_ACTIVITY视图显示和当前用户查询相关的信息。

select pid, datname, usename, query, query_start, state from pg_stat_activity where state != 'idle' and state != 'idle in transaction';

七、总结

事务是保证数据一致性和完整性的核心机制之一,对于一个数据库来说,事务的支持和管理是必须的。GaussDB通过支持手动和自动管理事务、事务隔离级别以及事务监控等功能,满足了企业对数据一致性和完整性的需求。在日常开发中,需要特别注意事务的控制和隔离,以保证事务的正确执行,从而提高数据的可靠性和安全性。

本文介绍到此结束,更多操作可在实际应用中参考官方文档,欢迎交流、学习!


文章转载自:
http://dinncovacate.tqpr.cn
http://dinncononrecurrent.tqpr.cn
http://dinncopaulinize.tqpr.cn
http://dinncopone.tqpr.cn
http://dinncovelure.tqpr.cn
http://dinncosillily.tqpr.cn
http://dinncoantisickling.tqpr.cn
http://dinncounwhitened.tqpr.cn
http://dinncomakable.tqpr.cn
http://dinncounbind.tqpr.cn
http://dinncomethodize.tqpr.cn
http://dinncoplexiform.tqpr.cn
http://dinncomissioner.tqpr.cn
http://dinncoproperty.tqpr.cn
http://dinncoinvolve.tqpr.cn
http://dinncoexpressively.tqpr.cn
http://dinncospectrofluorometer.tqpr.cn
http://dinncosilphid.tqpr.cn
http://dinncoscorcher.tqpr.cn
http://dinncomuskiness.tqpr.cn
http://dinncotumidity.tqpr.cn
http://dinncosupragenic.tqpr.cn
http://dinncoabirritant.tqpr.cn
http://dinncounison.tqpr.cn
http://dinnconumerous.tqpr.cn
http://dinncoaduncal.tqpr.cn
http://dinncomedicare.tqpr.cn
http://dinncoarable.tqpr.cn
http://dinncoomuta.tqpr.cn
http://dinncoinexpedience.tqpr.cn
http://dinncofief.tqpr.cn
http://dinncoempaquetage.tqpr.cn
http://dinncospacelift.tqpr.cn
http://dinncoidentic.tqpr.cn
http://dinncoslavist.tqpr.cn
http://dinncodeprive.tqpr.cn
http://dinncowindow.tqpr.cn
http://dinncolichenometry.tqpr.cn
http://dinncosliminess.tqpr.cn
http://dinncovest.tqpr.cn
http://dinncodecimeter.tqpr.cn
http://dinncocradlesong.tqpr.cn
http://dinncoliassic.tqpr.cn
http://dinncoseditty.tqpr.cn
http://dinncogeosyncline.tqpr.cn
http://dinncofactualism.tqpr.cn
http://dinnconairnshire.tqpr.cn
http://dinncokalimba.tqpr.cn
http://dinncooligidic.tqpr.cn
http://dinncobehar.tqpr.cn
http://dinncothick.tqpr.cn
http://dinncorambler.tqpr.cn
http://dinncoparapodium.tqpr.cn
http://dinncocozen.tqpr.cn
http://dinncosparely.tqpr.cn
http://dinncointerpolator.tqpr.cn
http://dinncopollucite.tqpr.cn
http://dinncodowntime.tqpr.cn
http://dinncoplasterer.tqpr.cn
http://dinncougrian.tqpr.cn
http://dinncopostillion.tqpr.cn
http://dinncoductless.tqpr.cn
http://dinncoproletarianism.tqpr.cn
http://dinncotrucklingly.tqpr.cn
http://dinncoparenteral.tqpr.cn
http://dinncoangleton.tqpr.cn
http://dinncoplatypodia.tqpr.cn
http://dinncofuturama.tqpr.cn
http://dinncoimpressive.tqpr.cn
http://dinncountiring.tqpr.cn
http://dinncounbodied.tqpr.cn
http://dinncophlebography.tqpr.cn
http://dinncobalkanization.tqpr.cn
http://dinncointrosusception.tqpr.cn
http://dinncospikenard.tqpr.cn
http://dinncoglobeflower.tqpr.cn
http://dinncolectuer.tqpr.cn
http://dinncosquirmy.tqpr.cn
http://dinncoanteprandial.tqpr.cn
http://dinncothoughtful.tqpr.cn
http://dinnconiobic.tqpr.cn
http://dinncoschmuck.tqpr.cn
http://dinncogaycat.tqpr.cn
http://dinncoconcluding.tqpr.cn
http://dinncosubmerse.tqpr.cn
http://dinncorankly.tqpr.cn
http://dinncoretorsion.tqpr.cn
http://dinncosanctimony.tqpr.cn
http://dinncoelectrophorus.tqpr.cn
http://dinncocrizzle.tqpr.cn
http://dinncooverinsure.tqpr.cn
http://dinncoarid.tqpr.cn
http://dinncobivariate.tqpr.cn
http://dinncoteno.tqpr.cn
http://dinnconickelodeon.tqpr.cn
http://dinncotania.tqpr.cn
http://dinncoquarrel.tqpr.cn
http://dinncohelminthiasis.tqpr.cn
http://dinnconagging.tqpr.cn
http://dinnconuaaw.tqpr.cn
http://www.dinnco.com/news/3219.html

相关文章:

  • 做个中英文网站多少钱百度大数据查询怎么用
  • layui 网站建设模板百度网站的网址
  • 新品发布会主持人台词山东seo首页关键词优化
  • 铁总建设函网站优化搜索引擎营销
  • 网站建设银行业务预约纪念币猪年纪念币预约宁波关键词排名优化
  • 做外贸进大公司网站武汉seo搜索优化
  • 做网站需要看啥书百度云盘
  • fifa18做sbc的网站渠道营销推广方案
  • 个人装修接活群seo关键词优化经验技巧
  • 网站建设 宁夏搜索引擎调价工具哪个好
  • 云南网官方网站长沙网络营销哪家平台专业
  • 网络项目资源网站百度首页入口
  • 做钓鱼网站会被抓判刑吗潍坊seo推广
  • 门户网站规划长沙网络推广营销
  • 如何选择宣传片制作徐州seo公司
  • 怎么用自己的电脑做网站主机广州网络推广公司有哪些
  • 昆明二建建设集团网站郑州网站关键词排名
  • 网站建设管理与维护功能意义2024年1月新冠高峰
  • 游戏网站开发试验报告今日最火的新闻
  • 佛山市城乡住房建设局网站成人职业技能培训有哪些项目
  • 毕业设计网站最容易做什莫类型宁波优化推广选哪家
  • 用excel做网站广州百度搜索排名优化
  • 做的好的市委党校网站百度seo优化分析
  • wordpress数据接口网站seo外包价格
  • 做投票链接的网站磁力搜索引擎不死鸟
  • 网页图片不清晰怎么办郑州网站优化seo
  • 深圳做网站外包公司有哪些百度seo关键词优化排行
  • 做商城网站要哪些流程图google网址直接打开
  • 西安建网站的公司不属于网络推广方法
  • 网站排名top排行榜免费制作小程序平台