来自多个模块的DB连接

时间:2012-02-08 22:32:48

标签: python sql-server architecture

我正在开发一个系统,其中一堆模块连接到MS SqlServer DB以读取/写入数据。这些模块中的每一个都用不同的语言(C#,Java,C ++)编写,因为每种语言最适合模块的目的。

然而,我的问题是关于数据库连接。截至目前,所有这些模块都使用特定于语言的Sql Connectivity API连接到数据库。这是一个很好的方式吗? 或者,让Python(或其他一些脚本lang)脚本接管连接到DB的责任是否更好?然后,模块将输入参数和存储过程的名称发送到Python脚本,脚本将在数据库上运行它并将输出发送回相应的模块。

第二种方法比第一种方法有什么优势吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果我们假设您使用的每种语言都有一组优化的类与数据库交互,那么就不需要通过集中模块传递所有数据库调用。

使用“中间件”进行数据库操作确实提供了非常显着的优势。您可以从中央和单个位置控制,监视和操作数据库调用。因此,例如,如果有一天您醒来并决定要记录数据库调用的某些元素,则需要仅在单个代码段(中间件)中应用逻辑/代码更改。您还可以使用中间件实现不同的缓存技术,因此,如果不同的系统共享某些数据,您就可以将这些数据保存在中间件中,并根据需要为不同的模块提供服务。

以上是一个非常先进的边缘案例,并不常用于小型应用程序,因此请在特定应用程序中评估上述需求,并确定这是否是最佳方法。

按现在的方式做事情很好(如果我们遵循上述假设):)