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