业务分表方案咨询

weixin_38055275 2017-05-23 05:39:11
大家好,目前在考虑分库分表方案: 问题场景描述: 视频(子)和专辑(父)关系,一个专辑对应多个视频,一个视频只属于一个专辑; 总数据量在千万级以上,一部分是有专辑的视频,另外一部分是无专辑的视频; 注意点:视频所属专辑会变更的 (父子关系会变化)。每个视频还会有对应的关联子表。   分表方案设计:  1)同一个专辑中的所有视频放在一个表中,便于上层应用查询。问题就是如果视频变更到新的专辑,就需要迁移原专辑视频到新专辑所在表中,这里会涉及事务操作。有的专辑下视频上千条,个别会上万条,所以同步在一个事务中执行,效率很低。      另外的一个想法就是避免上述的迁移数据问题,直接将分片后表名记录到路由中间表,然后在原专辑所在表中直接更新下所属专辑(即关联的专辑ID)。  2)没有专辑的单视频单独可以单独做分片,对外接口(有缓存,如果缓存没有回查DB)有通过批量id查询需求,涉及跨表join。   以上方案如果使用sharding-jdbc能否直接支持呢,第1)个方案是否需要自己实现分片算法呢?   以上请教大家!
...全文
8 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧