由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Apple 电面设计题- consistent between key-value store and database
相关主题
ebay二轮电面面经y的电面面经
问个近期亚麻高频题目报一个电面题目
sumo logic的开放型设计题,设计一个cache systemQualtrics 电面
问几个google电面的问题问个amazon的题目
Amazon电面面经大家看看阿三在onsite的时候怎么黑我的 (转载)
yelp电面面经非面试题, 这个系统该怎么设计?
Zenefits 现在真是跩啊,中途把我面试取消了Simple Database设计问题,附code
回报本版,前段时间骑驴找马FGU等公司offer面经总结【已更新FGU】service crash后,怎么解决database和cache数据不一致?
相关话题的讨论汇总
话题: db话题: apple话题: value话题: cache话题: store
进入JobHunting版参与讨论
1 (共1页)
f******n
发帖数: 208
1
假设
key-value store 是在内存里用作cache; database 是读写disk.
比方说现在有一个写操作:
如果先写memory成功了,然后写db的时候挂了。这样两者会不一致。
如果先写db成功了,然后写memory 挂了,这样两者又会不一致。
说白了,就是使用什么机制才能让这两个操作能一致,就是类似transaction那种效果
,要么都发生,要么都不发生。
-----
没答出来。请高人解惑。
l***i
发帖数: 1309
2
timestamp on value, write to DB first, then memory keep reading from DB
until timestamp matched.
f******n
发帖数: 208
3
但是在memory 读到正确的version以前岂不是还是一个inconsistent的状态吗?
大牛能否展开解释一下啊

【在 l***i 的大作中提到】
: timestamp on value, write to DB first, then memory keep reading from DB
: until timestamp matched.

s******c
发帖数: 1920
4
inmemory store 作为write through cache来使用:
所有的写只有当disk的db里写了log之后才修改mem store然后再返回。 memory store
crash了的话,从db里读数据重建

【在 f******n 的大作中提到】
: 假设
: key-value store 是在内存里用作cache; database 是读写disk.
: 比方说现在有一个写操作:
: 如果先写memory成功了,然后写db的时候挂了。这样两者会不一致。
: 如果先写db成功了,然后写memory 挂了,这样两者又会不一致。
: 说白了,就是使用什么机制才能让这两个操作能一致,就是类似transaction那种效果
: ,要么都发生,要么都不发生。
: -----
: 没答出来。请高人解惑。

i******s
发帖数: 301
5
这个难道不是考MVCC ? 给每个写操作,kv都有一个唯一的id,id大小表示操作先后。
读操作的id是当前已完成的最大写操作id,然后读的时候忽略所有id比它大的kv。等到
db真正写完后,更新当前已完成的最大写操作。这样读操作不用加锁,写操作当然要加
a********e
发帖数: 53
6
请问这个是什么职位
j**********3
发帖数: 3211
7
这是什么职位
f******n
发帖数: 208
8
software engineer
s**x
发帖数: 7506
9
这个太简单了吧?always invalidate memory cache before any write, and the
write to db, you can update cache after db write or populate cache after
next read.
The key is it is always okay if the value is not available in the cache. Db
is the source of truth.

★ 发自iPhone App: ChineseWeb 8.7

【在 f******n 的大作中提到】
: 假设
: key-value store 是在内存里用作cache; database 是读写disk.
: 比方说现在有一个写操作:
: 如果先写memory成功了,然后写db的时候挂了。这样两者会不一致。
: 如果先写db成功了,然后写memory 挂了,这样两者又会不一致。
: 说白了,就是使用什么机制才能让这两个操作能一致,就是类似transaction那种效果
: ,要么都发生,要么都不发生。
: -----
: 没答出来。请高人解惑。

1 (共1页)
进入JobHunting版参与讨论
相关主题
service crash后,怎么解决database和cache数据不一致?Amazon电面面经
MS intern 电面被拒,附上面试过程yelp电面面经
攒人品之Amazon电面题目Zenefits 现在真是跩啊,中途把我面试取消了
分享G的电面回报本版,前段时间骑驴找马FGU等公司offer面经总结【已更新FGU】
ebay二轮电面面经y的电面面经
问个近期亚麻高频题目报一个电面题目
sumo logic的开放型设计题,设计一个cache systemQualtrics 电面
问几个google电面的问题问个amazon的题目
相关话题的讨论汇总
话题: db话题: apple话题: value话题: cache话题: store