开发者社区> 问答> 正文

要为不同用户挂载相同库结构的多个sql数据库,最优的方案是什么样的呢?

我们是一家软件公司,开发了一个小行业的CS架构的软件,为了节省用户服务器投入和维护成本,目前我们采用租用一个阿里云ECS的服务器,然后挂载20个用户的20个数据到同一台ECS服务器上的同一个SQL实例下。由于这20个数据库结构完全一样但又需要互相隔离,所以我们为每个数据分配一个用户,数据库直接对公网开放由用户的客户端程序直接连接到他对应的数据库上进行访问。

以上是我们目前的应用方式,这里存在不少安全问题和效率问题。但是如果为每个用户租用RDS则成本又太高。

请教各位前辈,我这种需求有更好的应用模式可以实现吗?或者有什么好的建议请各位不吝指教啊。听说oracle12支持多租户模式,正是为这种相同库结构不同用户又要实现数据隔离和统一管理而构架的,这好像是一种思路。

展开
收起
大风起兮 2017-06-29 17:50:01 4229 0
1 条回答
写回答
取消 提交回答
  • 比较合适的做法是把所有用户的数据放一个表里面,通过用户id做区分,但是对编码纪律有要求,所有的db访问必须都带上用户id。同时db的维护也需要通过自己的工具来完成,不能开放给用户。

    2019-07-17 21:20:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载