2012-02-15 42 views
0

我们有一个解决方案,它跨越几个Sybase DB服务器在全局范围内传播,并由Oracle Coherence缓存驱动。接受数据库写入速度比数据库实际写入更快

现在,我们需要支持“缓存速度写入”,但由于我们的数据库具有国际复制的性质,因此我们需要接受比数据库实际写入数据更快的DB持久数据,您可能大家都同意是一个相当大的问题

因此,我想知道应对这种情况的建议方法是什么。

点注意事项:

  • 没有限制
  • 有根据使用情况统计拆分多个碎片

回答

0

我决定在一些较大和更频繁访问的表上使用水平分区,这是Sybase ASE 15+本机支持的功能,对客户端应用程序是透明的。

0

一种方法来考虑:

DB可能会潜在地写慢如果您正在写入一个读取优化的数据库或表格,则需要比您需要的更多。可能会涉及到很多约束和索引,并且很多时候“浪费”了让他们检查和重新计算。

您可能想要考虑使用适当的写入优化存储引擎并且没有索引的单独模式或一组表。这里可能会有很大的性能提升。

然后会有另一个进程将数据从写入优化转换为读取优化(永久)模式。从本质上讲,如果一个同步进程遇到限制,可以通过引入节流和/或队列机制将其分成多个异步进程。

+0

感谢您的反馈......数据库实际上更像是一个'桶',因为在这个数据库(主键除外)上几乎没有约束和索引,并且它也已经分割到多个数据库中。我们考虑的一种方法是写一个临时队列(如你所说)存储在一个高速RAID,但我不觉得这个优雅,并想知道替代品是什么。 – 2012-02-15 20:54:42