Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 接受数据库写入的速度比数据库实际写入的速度快_Performance_Architecture_Sybase_Database_Oracle Coherence - Fatal编程技术网

Performance 接受数据库写入的速度比数据库实际写入的速度快

Performance 接受数据库写入的速度比数据库实际写入的速度快,performance,architecture,sybase,database,oracle-coherence,Performance,Architecture,Sybase,Database,Oracle Coherence,我们有一个解决方案,它在全球范围内分布在几个Sybase DB服务器上,并由Oracle一致性缓存提供支持 现在,我们需要支持“缓存速度写入”,但由于我们数据库的国际复制性质,我们需要接受数据库的数据持久化速度快于数据库实际写入数据的速度,您可能都同意这是一个相当大的问题 因此,我想知道解决这种情况的建议方法是什么 注意事项: 没有限制 根据使用统计信息,有多个碎片被拆分 需要考虑的一种方法: 如果要写入读优化的数据库或表,DB可能会比您需要的写入速度慢。可能会涉及到很多约束和索引,检查和重新

我们有一个解决方案,它在全球范围内分布在几个Sybase DB服务器上,并由Oracle一致性缓存提供支持

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

因此,我想知道解决这种情况的建议方法是什么

注意事项:

  • 没有限制
  • 根据使用统计信息,有多个碎片被拆分

需要考虑的一种方法:

如果要写入读优化的数据库或表,DB可能会比您需要的写入速度慢。可能会涉及到很多约束和索引,检查和重新计算这些约束和索引会浪费很多时间

<>您可能想考虑一个单独的模式或一组表,其中有一个适当的写优化存储引擎,没有索引。这可能会带来巨大的性能提升

然后将有另一个进程将数据从写优化模式传输到读优化(永久)模式


本质上,如果一个同步进程运行受到限制,人们会将其拆分为多个异步进程,并引入节流和/或队列机制。

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

感谢您的反馈。。。数据库实际上更像是一个“bucket”,如中所示,这个数据库几乎没有约束和索引(主键除外),而且它也已经被拆分到多个数据库中。我们考虑过的一种方法是向存储在高速raid上的临时队列(如您所说)写入数据,但我觉得这种方法并不优雅,我想知道还有哪些替代方法。