TB级数据库负载如何设计?

业务需求:  需要将生产数据实时传递到副本备库,本来考虑ALWAYS ON 功能,因业务特殊性,需要将生产库历史数据删除,但仍然需要在副本备库中保留,想来想去决定只有用复制分发中的事务发布可用,删除的数据手工再补回副本备库中,但现在数据容量非常大,1.5TB级数量。表有3千多...显示全部

业务需求:  需要将生产数据实时传递到副本备库,本来考虑ALWAYS ON 功能,因业务特殊性,需要将生产库历史数据删除,但仍然需要在副本备库中保留,想来想去决定只有用复制分发中的事务发布可用,删除的数据手工再补回副本备库中,但现在数据容量非常大,1.5TB级数量。表有3千多个。全部做复制分发会对效能产生非常大的影响。如果出问题又需要手工将数据补录回备份库,非常麻烦。请问大家有什么好的其它方案吗?

收起
参与21

查看其它 6 个回答royalwzy的回答

royalwzyroyalwzy技术经理海通证券股份有限公司

1.这种的需求还是蛮多的,但是不同的数据库架构下的处理方式又不相同;

2.在Oracle中的一般做法是一个主库带两个备库(一个物理备库用于冗灾,一个逻辑备库用于业务使用),这样就可以把归档的历史数据在主库中删除,然后保留在逻辑备库中还可以用于查询。

3.因为我不了解SQL Server中的复制分发功能的原理,1.5T的数据量的话估计总会有一两个表的数据较大,其它更多是字典表,可以针对比较大的几个表做规则。

证券 · 2015-10-29
浏览1507

回答者

royalwzy
技术经理海通证券股份有限公司
擅长领域: 数据库服务器存储

royalwzy 最近回答过的问题

回答状态

  • 发布时间:2015-10-29
  • 关注会员:6 人
  • 回答浏览:1507
  • X社区推广