- 论坛徽章:
- 0
|
[quote]回复 jarjar
当snapshot针对的存储在上层是数据库时,我来给你举个例子:
1、一条数据库的update语句修改了10条记录,数据库提交该事务,在这个时间点上,数据库认为数据修改成功。假设时间为t0。
这时候快照已经生成了,针对的时间就是T0,在T0的时间点上,对应了你这10条记录!
----为什么快照已经产生?做快照是有时间间隔的。
2、这条修改语句对应到存储上可能需要修改5个block,这个修改可能还在存储的cache上,尚未真正的写到磁盘。
为什么还在存储的CACHE上?是因为磁盘读写能力还是网络吞吐量的问题?如果再CACHE上,能产生快照吗?快照的基础就是在完整写入磁盘的时间点
----我是说可能在cache上,数据由主机传送到阵列,在write back模式下都是先保存在存储的cache中,然后再由存储写到磁盘上。
3、在t1时间点做snapshot,这5个block也许未写到磁盘,也许写了,天知道。
既然你做了T1的快照点,那么数据一定会写入磁盘,若未写入,快照就不会产生,更不用说数据的存在!
----我想表达的是t0时间并未做快照,是在t1实践做快照的。难道数据一有变化就会有快照产生?
4、那么请问,t1时间点的snapshot数据对上层数据库而言是怎样一种状态?
不知道你的快照是指什么概念,大多的快照点,都是对数据的写入而产生的一个时间点,没有写入的过程,怎么会有快照产生?数据库只是数据的一种方式,快照来讲,不管你是什么数据,都要有一个写入的过程就可以了。
----我所说的是存储上的sanpshot,这种snapshot是有时间间隔的。
你想拿这个来想宣扬一个什么概念!
----我为什么要宣扬什么概念?我还没这么高的水准,我提不出什么概念出来。 |
|