查看: 1223| 回复: 1
跳转到指定楼层
上一主题 下一主题
收起左侧

[BigData] Data sharding/partition in distributed node fail then recover

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
假设NoSql,或者Distributed Database有1,2...k,...n个节点,节点K fail的时候,新的数据写入会rebalance 到k-1,或者k+1节点上。


经过一段时间(假设很长)后K又恢复了,但是如果Sharding strategy设计的时候就是要把针对某个字段的全部数据
写入特定的node上,比如所有userid=10的数据全部写入K,经过这个过程后,k-1和k+1上都有了Userid=10的数据

我想问一下在实际工作中,这种sharding没有严格执行的情况,是怎么处理的

多谢!!!



上一篇:332. Reconstruct Itinerary 的假设讨论
下一篇:今天leetcode不能访问么?从国内?
全局:
K-1的shard不会再被访问,最终被删掉。我见过的p2p环境,每个node都有自己的membership table 记录了哪个shard属于哪个node。所以request过来都会去该去的那个node。

具体来说新的write都是记录在wal上的,这样shard恢复在新node上时候,只需要先从snapshot中恢复,再replay wal 就可以了。默认zk 做完heartbeat后先知道哪个node 加入 哪个node down了。然后更新membership table 发送到所有node上。然后触发shard恢复。

当然更复杂的分布式环境问题会有,network partition发生了,两个node都往同一个wal写。或者都不想放弃shard   但这是另外的话题

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表