我开发了一个网络应用程序,对每个客户(一个小型组织)来说,他们无法(也不应该)查询其他客户的记录。
在单一数据库中保存数据是容易的,使更新和维护变得简单(直到我陷入可衡量的问题)。 但是,我现在想听从未来。 如果每个客户的数据都包含在单独的数据库中,每个客户都会有更好的业绩,并且应当更好地加以推广。 我不敢肯定,它是否等同于数据库“硬化”,因为I m没有在多个数据库中分割单一图象。 我基本上每个数据库都有一个单一的图象(如在你将软件上载到一个CD的当天——每个有自己的数据库)。
我已读到这里,因此我对一般概念有看法。 但是,我头上有许多问题。 我不确切地说,这一进程是多么透明。 或者,如果我想要进行变革的话,我将着手修缮数以百计的chem。
其实,我只是寻找一个简单的“完整”例子(全心全意使用泉/j)。
我想,我可以有一个单一的应用服务器,从单一数据来源开始,我要说的是一张单张图表,显示一个数据库的使用。
- userid
- database/shard-id
每一项要求(顺序)都无视数据库的ach,是否必须寻找用户的硬id? 或者,在每届会议开始时,它能做一次直接谈论目标数据库? (由于你可能无法用服务器的侧面 st来显示Im。)
一个人能否高度概述在春天可能如何做到这一点? 目前,我的架构非常简单。 我的春天组成部分是DAO,使用破碎的模版。 投放了DAO的数据来源(数据来源按应用目录配置)。 DAO的电线进入我的服务班级。 标准 st。
我要说的是,我前面的一步是行之有效的,现在我不得不改变这个表象。 在那里是否有管理工具,我可以一劳永逸地应用图象变化,并传播到100个其他数据库?
I m using MySQL. I believe "MySQL Proxy" might be able to solve problems 1 and 2. Does anyone have any experience with this? I suppose it cannot handle managing schema updates so I may have to roll my own solution.
感谢!