我在一家正在使用不同数据库的初创公司工作,其中包括MySQL (v4/5)和MSSQL (2014年及更高版本)。不同的客户,我们迎合经营不同的星展。目前,我们有一个Java程序,它连接到db,然后将数据推送到API --我们点击数据库。我们希望对系统进行升级,以便对API进行实时更新,然后在使用MySQL或MSSQL数据库设计实时更新时陷入停顿。
其中一个开发人员正在推动在任何一个db中都有一个触发器来运行外部命令(可能是我们的java程序),该命令将启动对API的推送。有点类似于某些NoSQL dbs,比如Rethink。另一个开发工具反对触发器,并建议对db进行更频繁的轮询,这将不会提供实时,但将非常接近实时。
我搜索了一段时间的SQL实时解决方案,但没有找到任何支持这两种方法的用例和示例的可靠读取。所以我的问题是:
我还不是一个DBA或一个有经验的开发人员。刚从CS大学毕业,有一定的经验。我们所有人都是这样的,所以我担心这种知识的缺乏可能会在后来的客户中适得其反。
发布于 2016-11-24 19:03:43
我的观点是,在您的情况下(10秒对我来说还可以)轮询比触发器解决方案更好。触发器与您的事务紧密相连,可能会导致许多难以解决的意外问题。就我个人而言,我从未使用触发器来调用外部应用程序(如果应用程序失败、启动时间长、卡住了怎么办?)
一个更好的(但更困难的解决方案)是使用service来使用外部应用程序。
https://dba.stackexchange.com/questions/156302
复制相似问题