跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 多服务实例如何平摊巨大的数据集
未分類
23 11 月 2020

多服务实例如何平摊巨大的数据集

多服务实例如何平摊巨大的数据集

資深大佬 : JasonLaw 2

假设我有一个数据集,刚开始这个数据集可能很小,但是最终会变得很大,例如{e1, e2, e3, …, e1,000,000}。这个数据集中的元素可以被删除,新的元素也可以被加入到集合。

请问如何平摊数据集到多个服务实例呢?如何应对“元素被删除”和“添加新元素”等情况?

当然,服务实例的数量也是可变的,它会因为数据集的变化而变化。服务实例的数量变化时,应该怎么重新分布呢?

大佬有話說 (12)

  • 資深大佬 : zooo

    hadoop?

  • 資深大佬 : liprais

    看你是要 share disk 还是 share nothing 了

  • 資深大佬 : DoctorCat

    集群分区做 sharding,需要一个协调者来进行健康检查和读写请求路由;
    重新分布涉及到数据迁移了,最好还是做冗余,例如 HDFS 那样。坏了的节点摘掉替换就好,然后再复制一份数据给新节点。

  • 資深大佬 : user8341

    这题是要考察一致性哈希吧?

  • 資深大佬 : DoctorCat

    对于重新分布,可以参考一致性 hash 和 Range based 策略

  • 資深大佬 : xcstream

    这是个考试题 还是个实际项目

  • 資深大佬 : yzbythesea

    Sharding & Circular Hashing

  • 資深大佬 : xuanbg

    每个服务服务于固定大小的数据集就行了,譬如设定每个服务 10 万数据,那么数据量增加到 9 万的时候就启动第二台服务器,从第 100001 个数据开始就是第二台服务器的事情了。以此类推

  • 資深大佬 : xuanbg

    至于删除后的空余位置,不多的话就空着好了。太多的话,可以参考磁盘文件系统的做法,给数据建立索引,然后就可以用空位填充新数据了。

  • 主 資深大佬 : JasonLaw

    @zooo #1
    @liprais #2
    @DoctorCat #3
    @user8341 #4
    @yzbythesea #7
    @xuanbg #8

    谢谢大家的回复,有点思路了。

  • 主 資深大佬 : JasonLaw

    @xcstream #6 实际项目遇到的问题,但是这个不重要呀。

  • 資深大佬 : jones2000

    数据建索引, 索引数据单独存, 其他数据可以分开存到不同的服务器上,查询先查索引数据, 通过索引读取对应服务器上的数据。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具