(问)内存数据库跟oracle之间的交互

我们的项目中要用到应用项目跟oracle数据库的中间层,即:不让应用系统直接跟oracle数据库进行交互(用户考虑到安全问题,一直坚持!)。
我们的很多软件项目已经成型,属于半产品类型的项目,本来也是考虑应用跟数据库中间加缓存来实现,但是我们的dao底层是jdbc封装,要那么改的话,工作量比较大!
所以就考虑到使用内存数据库作为中间层,诸位有没有这样的实践啊?!
如果各位针对这种情况有缓存方面的比较好的实践,也希望多提点建议!小弟不胜感激啊!

兄弟们没碰得到过这种需求吧?
唉。。独孤求解啦!!

内存数据库的目标并不是取代传统数据库,所以取代oracle这样想法本身可能有问题。后面可能隐藏着很多的工作。

我倒是好奇用户的所谓“安全考虑”究竟是什么?

呵呵,是的,后期工作肯定有比较大的工作量,如换oracle函数之类的,这种挑战压力很大!因为有很多oracle统计函数功能很强大,但是内存数据库相对简单!
还有就是用户的安全考虑,就是很简单的想:断开中间层,我们的应用就访问不了数据库!
较之esb的服务实现,我觉得内存数据库的工作量少点!!

呵呵,说白了就是用户在刁难你。

用户提出这样的需求也是他们的想法,我们就是针对现在的情况进行修改,对比:内存数据库,缓存,以及中间层等,我还是觉得内存数据库对我们到影响比较小!

如果使用了内存数据库,为什么变得更安全了?

如果有外部攻击行为只能攻击到内存数据库,当然这中间需要有很好的控制,这跟缓存等方式是相似的!
主要是作为中间层,能够隔离具体数据库跟应用层的交互!

如果外部攻击行为已经到达内存数据库,你后面的验证机制和安全防护机制怎么做,怎么保证应用已经失守的情况下,攻击行为不会到达数据库?

从安全设计的原则来讲,最小的服务提供最大的安全性,在系统中再增加额外的一层势必引入新的不安全性。

多一层数据库确实对安全没有什么影响,只是会提高效率。