从 Sybase ASE 将数据归档到 Sybase IQ 中
解决以下问题的最佳方法是什么:
我有一个 Sybase ASE 数据库,用作 OLTP 服务器。每天都会向数据库中插入大量数据,因此“实时”表仅保存最后 n 天的数据(n 因表而异)。
我想介绍 Sybase IQ 服务器作为决策支持服务器,保存前几天的所有数据以用于报告目的。
我想要一个夜间作业,它将 Sybase IQ 表与 ASE 中的表“同步”,即插入所有新行,更新所有更改的行,但不删除活动表代表的 n 天之外的任何行。
欢迎所有想法!
What is the best means of solving the following problem:
I have a Sybase ASE database which is used as an OLTP server. There is a lot of data inserted into the database each day and as a result the 'live' tables hold only the last n days of data (n can vary from table to table).
I would like to introduce a Sybase IQ server as a Decision Support Server holding all of the previous days data for reporting purposes.
I would like a nightly job which would "sync" the Sybase IQ tables with those in ASE i.e. insert all new rows, update all changed rows but NOT delete any of the rows outside of the n days that the live table represents.
All ideas welcome!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须开发 ETL(提取转换加载)流程。
有很多商业和免费的 ETL 产品。但我认为在这种情况下最好的方法是
Create RS ASE -> ASE复制(直接ASE -> IQ性能会很差)
修改删除函数字符串以单独删除操作
定期截断第二个 ASE 数据库中的插入 IQ 表(IQ 更新非常差)通过链接服务器连接
You have to develop an ETL (Extract Transform Load) process.
There are a lot commercial and free ETL products. But I think that the best way in this case
Create RS ASE -> ASE replication (direct ASE -> IQ would have bad performance)
Modify delete function string to separate delete operations
Periodically truncate insert IQ tables from the second ASE db (update is very poor in IQ) via linked server connection