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

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

参与21

7同行回答

代码代码IT顾问个人
什么系统,3000多个表显示全部
什么系统,3000多个表收起
软件开发 · 2015-06-18
浏览1493
陈宇陈宇系统工程师某银行
主要思想是拆分成生产库和历史库,定期将生产库数据移动至历史库。使用sql server alwayson或者db2 hadr直接将日志复制到历史库备库。资源消耗应该会比复制分发小。显示全部

主要思想是拆分成生产库和历史库,定期将生产库数据移动至历史库。使用sql server alwayson或者db2 hadr直接将日志复制到历史库备库。资源消耗应该会比复制分发小。

收起
银行 · 2015-11-02
浏览1479
masalymasaly其它易诚
可以采用ORACLE OGG实时同步数据, IGNOREDELETES参数忽略delete操作。显示全部

可以采用ORACLE OGG实时同步数据, IGNOREDELETES参数忽略delete操作。

收起
软件开发 · 2015-10-29
浏览1440
liyyueliyyue研发工程师ibm
在db2中可以使用hadr来完成,并且在对主机表历史记录进行批量删除前,先将此表的日志给关闭,再做删除操作,删除完毕,将日志再打开即可。显示全部

在db2中可以使用hadr来完成,并且在对主机表历史记录进行批量删除前,先将此表的日志给关闭,再做删除操作,删除完毕,将日志再打开即可。

收起
软件开发 · 2015-10-29
浏览1425
mingmingokmingmingok数据库管理员北京优尼时代
要学会分库,分表....显示全部

要学会分库,分表....

收起
互联网服务 · 2015-10-29
浏览1501
royalwzyroyalwzy技术经理海通证券股份有限公司
1.这种的需求还是蛮多的,但是不同的数据库架构下的处理方式又不相同;2.在Oracle中的一般做法是一个主库带两个备库(一个物理备库用于冗灾,一个逻辑备库用于业务使用),这样就可以把归档的历史数据在主库中删除,然后保留在逻辑备库中还可以用于查询。3.因为我不了解SQL Server...显示全部

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

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

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

收起
证券 · 2015-10-29
浏览1499
冯帅冯帅数据库管理员贝壳金服
问题里并没有提到用的什么数据库。单纯的在业务需求下我们可以考虑以下几种技术方案:1.主备数据库可以通过skip一些操作来不同步delete操作。比如oracle的dg。具体可以看官方文档的http://docs.oracle.com/cd/B19306_01/server.102/b14239/toc.htm2.据我了解还有一些数据...显示全部

问题里并没有提到用的什么数据库。

单纯的在业务需求下我们可以考虑以下几种技术方案:

1.主备数据库可以通过skip一些操作来不同步delete操作。比如oracle的dg。具体可以看官方文档的http://docs.oracle.com/cd/B19306_01/server.102/b14239/toc.htm

2.据我了解还有一些数据库从来就不会因业务做删除操作 任何数据的录入都是有意义存丰的,都是用一些标识字段来做标识,用分区并且定时清洗数据来提升性能。

3.永远做好备份  哪怕真的有丢了数据需要补录也能补的回来

收起
融资租赁 · 2015-10-29
浏览1507

提问者

zhangsharp20
数据库运维工程师外管
擅长领域: 数据库服务器系统管理

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-06-18
  • 关注会员:6 人
  • 问题浏览:5991
  • 最近回答:2015-11-02
  • X社区推广