mirror of
https://github.com/DistSysCorp/ddia.git
synced 2024-12-25 20:30:39 +08:00
Update ch11.md
This commit is contained in:
parent
8859c04986
commit
fa9988ef0d
2
ch11.md
2
ch11.md
@ -130,7 +130,7 @@
|
|||||||
|
|
||||||
与之相对,数据库和文件系统是另外一种思想:一旦数据被写入数据库或者文件中,就会被认为是**持久数据**,直到其他人将其**显式地**删除。
|
与之相对,数据库和文件系统是另外一种思想:一旦数据被写入数据库或者文件中,就会被认为是**持久数据**,直到其他人将其**显式地**删除。
|
||||||
|
|
||||||
这两种不同的思路,对我们如何生成衍生数据有很大的影响。我们在第十章中讨论过,批处理的一个核心特点是,你可以针对同一个输入,做不同实验、跑多次处理,而不用担心输入会发生变化(因为输入是只读的)。但在 AMQP/JMS 协议下,事件或者说消息,并不具有此类特性。因为一旦消息被确认消费后,就会被删除。因此,你不能针再将消费者重新跑一遍,并期望相同结果。
|
这两种不同的思路,对我们如何生成衍生数据有很大的影响。我们在第十章中讨论过,批处理的一个核心特点是,你可以针对同一个输入,做不同实验、跑多次处理,而不用担心输入会发生变化(因为输入是只读的)。但在 AMQP/JMS 协议下,事件或者说消息,并不具有此类特性。因为一旦消息被确认消费后,就会被删除。因此,你不能再将消费者重新跑一遍,并期望相同结果。
|
||||||
|
|
||||||
**时间回溯**。在某个时刻 t,如果你往消息系统中新加入一个消费者,则该消费者只能消费时刻 t 以后新到来的消息;所有之前的消息都已经不在了,且不能恢复。与之相对,对于文件系统和数据库,当你新加入一个客户端时,它可以读取之前任意时刻写入的数据(只要该数据没有被显式删除)。
|
**时间回溯**。在某个时刻 t,如果你往消息系统中新加入一个消费者,则该消费者只能消费时刻 t 以后新到来的消息;所有之前的消息都已经不在了,且不能恢复。与之相对,对于文件系统和数据库,当你新加入一个客户端时,它可以读取之前任意时刻写入的数据(只要该数据没有被显式删除)。
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user