如何优化分布式数据库中的数据分配?
有没有解决这个问题的软件产品?
例如,:
分布式数据库有一些连接的服务器。每个服务器同时都是该数据库的客户端。
这个数据库有许多表。
我们有从每个客户机到特定表的查询的统计数据。
每个服务器的数据存储都有一定的代价。对于服务器和客户端的每一对,都有一定的传输价格。
目标:以最佳方式在服务器上分配所有表(或表的一部分)。
为了解决这一问题,我们可以应用多种启发式算法:遗传算法、进化策略、蚂蚁算法等。
但我找不到任何现成的软件工具来实现这些算法。
对于分布式数据库(Oracle或其他数据库),是否有解决此问题的工具?
有人在乎吗?
也许有人有系统的例子,其中有一个具有查询统计量的和分布式数据库,这些系统都是这样优化的?
谢谢!
发布于 2011-01-17 22:02:01
我一直在寻找类似的东西,但可悲的是,没有现成的工具来对数据库进行这种分析。不过,你可以通过各种研究项目、大学论文等找到很多信息。
作为另一种选择,可以使用现成的数学工具对此进行建模,以优化特定客户端的数据本地化/相关性。
发布于 2011-04-12 19:52:35
我认为将数据存储在集中式数据库中并为不同的位置配置缓存要容易得多。因为不同的位置不可能位于同一个网格中,所以缓存配置应该是同步缓存,因为在异步缓存解决方案中,数据库中的更新顺序可能不是应用更新的顺序。与直接访问数据库的时间相比,缓存减少了大量的查询网络流量,提高了远程位置的性能。Oracle内存中缓存数据库选项值得研究.使用以前称为TimesTen的11.2.1.8版本的10.2.0.4及更高版本的数据库。一个很好的选择。您所要求的算法是有效的缓存算法。确保经常使用的数据接近消费者,以最好的价格。如果你能在内存上花更多的钱,那么就会有更多的数据适合你。LRU将负责清理缓存中使用较少的数据。
发布于 2013-05-07 23:18:12
解决此问题的分布式数据库的一个例子是Clustrix,它是唯一具有独立索引分布的数据库。集群是一个从底层构建的数据库,可以作为分布式MySQL的替代。
关于集群如何进行数据分发和分布式评价模型的更多信息
https://stackoverflow.com/questions/4125530
复制相似问题