一个实例建很多库,有什么问题
有个应用,按分类和日期建库
目前一个数据库实例已经有上千个数据库,以后估计会达到接近一万
数据库多,大部分资料都是没有说的很清楚,到底影响有多大
目前知道的影响:
1、重启服务的时候,多库处于在恢复,影响一小段时间业务,这个目前可以接受。
2、同时打开的数据库多,占用内存不少。
想了解到底多大影响以及可以做的对策。
数据库有个自动关闭的选项,试了下,设置自动关闭后,数据库会自动关闭,但是程序访问时会报错,不知道有无人用过这个,是否可以有个欢醒的动作。
------解决方案--------------------一个实例建1万个数据库,机器受得了?
------解决方案--------------------
不过我觉得一般的处理方法是分多台机器,多实例来做,但是这样会导致数据不是那么方便采集,而且对网络的要求比较高,纠结
------解决方案--------------------更愚笨~~ 呵呵
不知道多服务器 分布处理行不行
在DOS下不是可以用命令行启动数据库吗 那么在程序中调用这个命令应该能启动吧
------解决方案--------------------用数据文件算了,想怎么处理怎么处理,这么多库已经很不规范了。
------解决方案--------------------
上千实例,管理起来不容易。 另外,备份维护的量也上去了。
另外,小问一下LZ,这个是虚上去的机器吗? 要是虚上去的。估计内存消耗会较大。
------解决方案--------------------你是建库还是建表。要是一些记录存于一个库中,不断的建库。不如一些记录存于表中,可以建表。还不如存于一个表中,添加出分类字段。你的实际业务中那种情况更便于管理呀?
------解决方案--------------------分表就可以了。没有必要分库的。
表可以水平分隔,可以加入文件组以分配在不同的磁盘上。可以通过逻辑文件备份来只备份指定的资料(分表并不会造成维护的问题--除非你的维护策略只是针对“库”的)
------解决方案--------------------分多台服务器~~~~~~
------解决方案--------------------
------解决方案--------------------
能不能把所有的库(或者不常用的库)都搞成离线的,即不用时该库被分离,要调用时从客户端执行附加语句将指定的库附加上,然后到库中进行操作,操作结束后再将该库分离.
不过,这样的话,如果一个库有多个用户操作的话,在附加前要判断该库是否存在于实例中,操作结束后要判断是否有其他客户端连接,如果没有,才分离.
经测试,用语句分离和附加一个不是很大的数据库并不需要很长的时间.
------解决方案--------------------至少应该设置每个库的最大最小内存占用
------解决方案--------------------建议LZ对数据库按照一定的规则 将库布署到其它服务器,但这样一来,可以需要在前台程序方面需要修改,以便对于不同类别的数据添加到不同的库中,也或者管理员可以自己将库进行迁移。
可以对于不同的库建立视图,利用一台前置机以及各下置的服务器,之前建立一定的链接(sql server好像是这样叫的吧)或者信任关系(我们用的是informix) 然后在查询过程中能过查询那台前置机即可以完成对各个库之间的数据查询,这方法也只能相当于分担"伤害"吧
------解决方案--------------------
海爷的问题只能膜拜中。过期的数据不能移交到备用存储器上么?例如:限制在主服务器上存放一个月的数据,然后不用的数据放到其他的存储设备上。