一、事务的4个基本特征
原子性 (Atomicity )
要么全执行,要么都不执行。
一致性( Consistency )
事务在系统完整性中实施一致性,这通过保证系统的任何事务最后都处于有效状态来实现。
隔离性 ( Isolation)
在隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。
持久性 (Durabilily)
持久性意味着一旦事务执行成功,在系统中产生的所有变化将是永久的。
二、为什么需要对事务并发控制
如果不对事务进行并发控制,我们看看数据库并发操作是会有那些异常情形
继续阅读 »
Table of Contents
{:toc}
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
首先看两个例子:
bash
mysql -uroot -p
``` bash
mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.5.41 |
+-----------+
1 row in set (0.00 se
继续阅读 »
微服务(分布式)架构下,关于事务补偿机制
整个17年整理过不少遇到的case,在笔记内太凌乱,太懒没做整理,瞬间已经12月,17年算是结束了。整理一个笔记,给2017留下点回忆哈哈 :)
概述
微服务,或是非集中式应用,也就是系统架构做拆分后,会涉及一个非常典型的问题,就是事务的问题。不管是特别在意一致性的金钱相关的,还是其他业务场景,都不同程度存在一个操作流转与多个服务之间的问题。
这其中涉及的分布式事务问题,随便搜一把,够看一礼拜了,不过多数都是重复的,TCC, 二阶段,三阶段,最重要还是在业务中挖掘发现自己试用的场景。 这里总结表述的是事务性数据补偿的方案。
继续阅读 »
Lucene 事务
有过数据库经验的人都知道ACID特性,原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。由于隔离性的存在,对于新的变更包括添加、修改、删除,如果不进行 commit 的话,那么在读端是无法看到数据的变化的,在这里简单的介绍下 Lucene 中的事务,即ACID。
原子性
当你在一次 IndexWriter 的 session 中做操作(增加,删除文档),然后 commit,要么你的所有的操作修改都是可见的(commit 成功),要么所有的操作修改都不可见(commit 失败),绝不会处于某种中间状态。有些
继续阅读 »
MyISAM 是MySQL中默认的存储引擎,一般来说不是有太多人关心这个东西。决定使用什么样的存储引擎是一个很tricky的事情,但是还是值我们去研究一下,这里的文章只考虑 MyISAM 和InnoDB这两个,因为这两个是最常见的。
下面先让我们回答一些问题:
你的数据库有外键吗?
你需要事务支持吗?
你需要全文索引吗?
你经常使用什么样的查询模式?
你的数据有多大?
思考上面这些问题可以让你找到合适的方向,但那并不是绝对的。如果你需要事务处理或是外键,那么InnoDB 可能是比较好的方式。如果你需要全文索引,那么通常来说 MyISAM是好的选择,因为这是系统内建的,然而,我们其实并不会经常地去测试两百万行记录。所以,就算是慢
继续阅读 »
Mysql数据库中最常使用的两种表类型为 InnoDB和MyISAM。这两种类型各有优缺点,视具体应用而定。
InnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。
InnoDB 提供了行锁(locking on row level),提供与 Oracle 类型一致的不加锁读取(non-locking read in SELECTs)。这些特性均提高了多用户并发操作的性能表现。
在InnoDB表中不需要扩大锁定(lock esca
继续阅读 »
知道可能面对的困难和痛苦,在死亡的恐惧中不断挣扎,而仍然能战胜自己,选择这条道路,才是真正的勇气。
—— 《明朝那些事》
作者简介:涂子沛,知名信息管理专家,曾居美国硅谷,现任阿里巴巴副总裁。毕业于华中科技大学、中山大学和卡内基梅隆大学。赴美留学之前,曾在省、市、县几级政府的不同部门磨砺10年,做过职业程序员,担任过公安边防巡逻艇的指挥官,也从事过政府统计工作。在美期间,先后担任软件公司的数据仓库程序员、数据部门经理、数据中心主任、亚太事务总监、首席研究员等职务。除了工作、写作,还热心公益,曾任中国旅美科技协会匹兹堡分会主席,现任中国旅美科技协会副主席,上海真爱梦想公益基金会理事。著有《大数据》、《数据之巅》。
凡是属于最多数
继续阅读 »
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
Oracle性能调整在工作中经常遇到,比如TopSQL的出现导致系统资源浪费严重、物理读过多导致IO出现瓶颈、独占锁导致事务不能提交、索引建立不合理导致查询速度极慢、PGA或者SGA设置不合理导致内存不足、PCTFREE值设置不合理导致的行链接、热点块等等。作为一个DBA应该实时的监控系统,然后找出问题,再分析问题,最后解决。真正有难度的是找出问题所在,对于大多数
继续阅读 »
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
2013年9月22日Oracle官方发布MySQL5.7.2,功能增加了很多,也有很多优化,该版本提供了更快的连接速度,更高的事务吞吐量,提升了复制速度,带来了内存仪表和其他增强功能,从而实现更高的性能和增强的可管理性。
但另外一条新闻是“MySQL再度失势:继维基百科之后,Google也迁移到了MariaDB”,不知此时Oracle怎么想。早在今年4月份就有报
继续阅读 »
目录
Table of Contents
{:toc}
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
一 引子
MySQL 5.5 中,information_schema 库中新增了三个关于锁的表,亦即 innodb_trx、innodb_locks 和 innodb_lock_waits。
其中 innodb_trx 表记录当前运行的所有事务,innodb_locks 表记录当前出现的锁,inno
继续阅读 »