day12总结 今日内容 l 事务 l 连接池 事务 事务概述 为了方便演示事务,我们需要创建一个account表: CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(30), balance NUMERIC( ...
分类:
其他好文 时间:
2018-06-24 00:54:41
阅读次数:
197
一、 基本的离线数据处理架构: 数据采集 Flume:Web日志写入到HDFS 数据清洗 脏数据 Spark、Hive、MR等计算框架来完成。 清洗完之后再放回HDFS 数据处理 按照需要,进行业务的统计和分析。 也通过计算框架完成 处理结果入库 存放到RDBMS、NoSQL中 数据可视化 通过图形 ...
分类:
数据库 时间:
2018-06-15 00:02:22
阅读次数:
386
事务是逻辑处理原子性的保证手段,通过使用事务控制,可以极大的避免出现逻辑处理失败导致的脏数据等问题。事务最重要的两个特性,是事务的传播级别和数据隔离级别。传播级别定义的是事务的控制范围,事务隔离级别定义的是事务在数据库读写方面的控制范围。以下是事务的7种传播级别:1) PROPAGATION_REQ... ...
分类:
编程语言 时间:
2018-06-14 20:54:44
阅读次数:
146
一、数据仓库构建思想 构造数据仓库有两种方式:一是自上而下,一是自下而上。 Bill Inmon先生推崇“自上而下”的方式,即一个企业建立唯一的数据中心,就像一个数据的仓库,其中数据是经过整合、经过清洗、去掉脏数据的、标准的,能够提供统一的视图。要建立这样的数据仓库,并不从它需要支持哪些应用入手,而 ...
分类:
其他好文 时间:
2018-06-14 01:17:59
阅读次数:
191
内存屏障有两个能力:1. 阻止屏障两边的指令重排序。2. 强制把写缓冲区/高速缓存中的脏数据等写回主内存,让缓存中相应的数据失效。 对Load Barrier来说,在读指令前插入读屏障,可以让高速缓存中的数据失效,重新从主内存加载数据。对Store Barrier来说,在写指令之后插入写屏障,能让写 ...
分类:
其他好文 时间:
2018-06-13 12:02:54
阅读次数:
216
一、隔离级别与现象 数据库隔离有4个级别 read uncomitted ,未授权读取 read committed ,授权读取 repeatable read , 可重复读 serializable ,串行化 可能产生的不一致的现象有3种 脏读 不可重复读 幻读 二、3种现象 脏读,就是读了脏数据 ...
分类:
数据库 时间:
2018-06-11 12:00:27
阅读次数:
210
sync.Map源码分析背景众所周知,go普通的map是不支持并发的,换而言之,不是线程(goroutine)安全的。博主是从golang1.4开始使用的,那时候map的并发读是没有支持,但是并发写会出现脏数据。golang1.6之后,并发地读写会直接panic:fatalerror:concurrentmapreadandmapwritepackagemainfuncmain(){m:=make
分类:
其他好文 时间:
2018-06-08 20:39:33
阅读次数:
169
#创建集群目录 mkdir /opt/cluster/zk cd /opt/cluster/zk #清理脏数据 docker stop zk-2191 docker stop zk-2192 docker stop zk-2193 docker rm zk-2191 docker rm zk-219... ...
分类:
其他好文 时间:
2018-06-02 21:27:10
阅读次数:
150
引言 在引入缓存系统的项目中,我们需要旧数据进行更新操作时,我们是先淘汰缓存,再更新数据库。还是先更新数据库,再淘汰缓存。亦或是更新数据库,再更新缓存呢?下面,将会讲讲小编对这三种方案的优缺点的一些想法。 目的 缓存更新策略 先更新数据库,再更新缓存 这套方案,小编认为大多数场景不合适。为什么呢?主 ...
分类:
数据库 时间:
2018-06-01 21:08:50
阅读次数:
178
缓存更新策略 缓存更新实现 1 上述操作系列会导致缓存脏数据。 但是这个不更新 缓存再读都是错的。只有等到下次更新才行。 但是更新操作总是比读操作少 2 这个出现的情况概率小点。同时更新可以加乐观锁 再加上缓存过期失效策略,只会有部分时间不一致 一句话,无论谁先谁后,只要更新缓存和更新DB不是原子的 ...
分类:
其他好文 时间:
2018-06-01 19:16:16
阅读次数:
201