189 8069 5689

闲聊编程与Oracle一致性和“保镖”事务-创新互联

最近很火的话题,为什么学Python?

创新互联建站是专业的印台网站建设公司,印台接单;提供成都网站建设、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行印台网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

    很多人说火啊!又能人工智能,又能大数据的,当然很火喜欢学习的人很多,高薪职位更容易带动潮流。这个观点首先我不反对,我大学只学习过两门shell与java,真正学习都是自学,目的不是开发,为了锻炼自己的编程思想而学习,为了以后学习编程少走一些弯路而学习。

    自己也是选择Python,为什么,实习后发展发展方向是数据库,后期可能DBA,也可能走数据分析等业务路线,这都不要紧重要的是要为以后结合工作把自己能力提升,个人竞争力提前打好路线,无论做DBA数据库服务器运维SHELL脚本和Pyhton与perl无疑最优选择,那么如果走数据分析等Python也可以发挥自己能用处,对于自己的职业发展规划有很大帮助,很实用的意义,为了几年后更好的用于工作,我感觉这才是一个不热衷于编程,不对编程狂热的技术人员出发点!不要以这两年火,发展前景,底薪高等为学习的基础点,这样空洞无规划学习,心态首先是不端正,其次你会随时代变化而落后!

    昨天浅谈了一下数据的的完整性,那么就是数据的精确性和可靠性,我们要保证实体完整,参照完整,域完整,用户自定义完整,这时候回过头看一看约束真是重要!

    一致性都是啥意思?

  咱们从实际出发,一致性字面意思听,都知道数据是一致的,在地点一查询银行卡余额是100元,换个地方查询却不失100元,这是我们不可接受的。那么数据在数据库中会时时刻刻伴随着数据读写操作,这就对数据库的状态要求特别高,也就是说数据库每次操作改变,都可以被接受,读取也都是正常的,就是数据库的一致性体现,有些时候不是数据库真实可靠状态,那么就认为不一致。

    “保镖”出场

说起来Oracle这些完整性啊,一致性啊也都算是Oracle内置的"大老板",都配有保镖来保护,那么我们来说一说完整性的保镖事务管理。

         事务管理可不简单,保证数据库中数据一致性,在前面我们说到,当用提交和回滚操作都是一个事务的提交或者事务的回滚,我们的SQL语句是被事务语所包含。事务关键字是transaction来表示,而且有life cycle,事务开始,执行和结束,而事务的开始是隐式的,结束则用指令动作去完成。

     Oracle中控制事务常用的命令:

        1、commit

            英语字面翻译过来就是提交,这是作为事务结束的标志,使用这个命令的时候意味着什么,意味着本次事务的数据将会被存储到我们的磁盘里,改变数据库的状态可靠的可接受的状态,对于开发来说最安全有效的方式是显示数据提交,在提交前,其实数据库已经更新了但是没有得到数据库的认可,通过事务结束命令来认可操作,提交占用资源非常少,1条于1000条花费的提交数据库资源是一样的。

        2、rollback

            英语字面翻译过来回滚,我们在事务提交之前发出的撤销命名,这时候数据库更新没有得到认可,当事务结束rollback时候会回滚当前包含的数据,回到上一次的commit状态,这个过程会先读取回滚段信息,利用这些信息将数据库中已发生的修改重新恢复,如果用了delete命令删除数据,那么在rollback时候就会insert into数据,对于数据库来说每次rollback是很耗费资源的,适用于异常处理操作,所以应该在提交事务之前认真核对操作来代替回滚!

  3、savepoint 和 rollback savepoint

            在rollback的背景下,rollback回滚当前事务所有操作,那么我们通过命令savepoint在事务中建立标起点,只允许用户回滚之后的动作,rollback savepoint则是回滚标点以后的数据,两者是弥补rollback极端命令一种方式,事务回滚更灵活和可控性。

     事务的属性和隔离级别

          1、read only --将无法在事务内修改数据,而且这能在事务的开头使用,数据库状态将被冻结,数据库状态与事务开始状态一致

         2、read write --可读可写状态,数据库默认是此状态

         3、serializable --隔离级别,指定串行化事务,可以实现与只读功能相同,隔离其他数据库状态的影响,但是允许DML操作,不识别其他事务对数据库的修改,即使提交,但是不代表无视原表数据的修改,表数据其实已经修改,只是本事务不识别

         4、read commited --隔离级别的默认级别,只能读取其他事务已经提交修改的,对于未提交的数据,只有修改事务本身才可以进行读取。

     事务处理原则

         1、原子性(Atomicity)

         2、一致性(Consistency)

         3、隔离性(Lsolation)

         本帖子会后续持续更新

      

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站标题:闲聊编程与Oracle一致性和“保镖”事务-创新互联
当前网址:http://cdxtjz.cn/article/hpsgi.html

其他资讯