我将有大约4个服务器(Linux)不断地(不断地在尽可能多的多处理)发送查询(大多数查询与创建新的行,但其中一个服务器将读取数据)到数据服务器。我想最好是有单独的数据库。我认为sqlite3是我最好的选择,但我对推荐持开放态度。我想把损坏和数据丢失的风险降到最低有什么建议吗?
编辑:我还必须检查数据库中是否有重复项。
发布于 2012-07-09 22:47:54
这真的是一个很难的问题。如果你想使用不同的数据库,你必须担心手动保持它们的一致性(这是一个你真的不想解决的问题)。相反,让所有4个(或者更一般地,N个)服务器指向相同的数据库实例,并让DB为您执行集群。这样,DBMS就可以处理这些并发和恒定的东西,而您仍然可以获得所需的性能。
发布于 2012-07-09 23:13:07
将这种风险降至最低的最好方法是选择一个完全保证ACID遵从性的数据库,并认真对待这种保证。请注意,因为某些数据库系统并不总是提供ACID遵从性,这取决于您设置的选项。例如,使用PostGres或SQL Server是非常安全的。MySQL - requires a bit more thought
如果您有额外的软件保护措施、超可靠的硬件或可以容忍少量数据丢失或不一致的应用程序,您可以调整MySQL设置,以牺牲一些ACID可靠性来获得更高的性能或吞吐量。
https://stackoverflow.com/questions/11397447
复制相似问题