数据库: 模式与数据源模糊

        基于数据库的模式和数据源是本次讨论的话题。这里的模式是启发于Oracle的Schema概念,数据源启发于Oracle的synonymHaproxy,以及Mysql的federated table/view。

        数据库对客户来说,存在多用户模式,比如免费用户,普通收费用户,VIP用户。对开发人员来说,存在测试/开发(环境),生产(环境)模式。从其他视角,还会找到其他的模式。。。

        对于多用户模式,规划策略可选下面之一:

  • 单独为每类用户创建一个对应的数据库账户,该类账户赋予对应的Objects访问权限,程序使用该账户对应url链接去得到连接进而访问对应数据
  • 各类用户对应使用自己的数据库
  • 其他权限控制路由

        对于测试/开发(环境)与生产(环境)模式,一般的数据库(如MySQL)可单独建议一个测试测试数据库,如xxx_testdb,然后正式的时候搬迁到xxx.对于Oracle,可测试的时候在一个schema下进行,生产环境在一个synonym下。。。

        上述模式分类各有自己的优点和缺点,这里不列举了。

       

         基于Oracle的synonym和基于Haproxy,从一定程度上模糊了数据从哪里来(对于终端用户),当然带来的额外好处还有很多。。。比如: 数据安全,分布式。

        

猜你喜欢

转载自ucstudio.iteye.com/blog/1856988