有些人告诉我,由于并发问题,我们应该避免多个应用程序读/写同一数据库。他们一直坚持让我相信,可靠的体系结构只允许单个应用程序访问数据库。我不知道这样的问题是由读操作并发引起的,还是只与写操作相关的。
我担心的是,对于某些系统来说,DB是一种出色的通信总线,比如我正在开发的系统。关于如何在避免并发问题的同时做到这一点,有什么指导原则吗?
发布于 2011-12-09 19:58:16
(1)除非万不得已,否则不要使用数据库作为通信总线。鉴于现有的开放源码消息队列系统,我怀疑您是否需要这样做。
(2)如果您有一个事务性数据库,那么并发读写访问应该是可以的,只要您的数据库有必要的约束和触发器来加强数据完整性(并且所有应用程序都经过了适当的测试,以确保它们不会插入垃圾)。
(3)如果您不了解(1)或(2),则您还没有准备好将数据库用作通信总线。阅读有关数据库、并发和事务的内容。
https://stackoverflow.com/questions/8445003
复制相似问题