我们的商店为十几个客户端安装开发了一些WEB/SMS/DB解决方案。这些应用程序具有一些实时性能要求,并且足以正常运行。问题在于客户端(生产服务器的所有者)正在使用相同的服务器/数据库进行自定义,这会导致我们创建和部署的应用程序的性能出现问题。如何限制客户端修改对生产系统的影响
客户定制的几个例子:
- 添加大表与许多文本数据类型为的列,得到转换为其他数据类型的查询
- 没有主键,索引,或FK约束
- 在脚本循环中使用使用
count(*) from table where id = x
的外部脚本来确定如何在以后的同一脚本中构建更多查询。 (无批量操作的计划者可以优化或只是做一切在一个单一的通)的服务器上 - 所有的新代码文件被创建/ root所有,与0777权限
客户端不走建议/批评很好。如果我们继续尝试自己移植/更改脚本,那么旧代码可能会回来,从而破坏我们所做的任何更改!或者对其用例有限的了解,我们会在尝试优化其变更时破坏功能。
我的问题是:我们如何限制资源查询/应用程序,而不是我们创建和部署的内容?这样的场景中是否有任何实用的选择?我们为拥有开放源码软件解决方案感到自豪,但似乎它变成了一项责任。
我们使用PG 8.3在Linux Distos的一个范围上运行。客户端更喜欢使用php,但shell脚本,perl,python和plpgsql都以某种形式在系统上使用。