4

如何优化分布式数据库中的数据分配?

有没有解决这个问题的软件产品?

例如:

分布式数据库有一些连接的服务器。每个服务器同时是这个数据库的一个客户端。

数据库有很多表。

我们统计了从每个客户端到特定表的查询。

每台服务器的数据存储都有一定的价格。对于每对服务器和客户端,都有一些传输价格。

目标:以最佳方式分配服务器上的所有表(或部分表)。

为了解决这个问题,我们可以应用多种启发式算法:遗传算法、进化策略、蚂蚁算法等。

但是我找不到任何可以实现这些算法的现成软件工具。

是否有任何工具可以解决分布式数据库(Oracle 或其他)的这个问题?

有人关心它吗?

也许有人有分布式数据库的查询统计系统示例,这些系统已经以这种方式优化?

谢谢!

4

3 回答 3

0

我一直在寻找类似的东西,但可悲的事实是,没有现成的工具可以对数据库进行这种分析。但是,您可以找到很多信息,包括各种研究项目、大学论文等。

作为替代方案,可以使用现成的数学工具对其进行建模,以优化与特定客户的数据本地化/相关性。

于 2011-01-17T22:02:01.187 回答
0

解决此问题的分布式数据库的一个示例是 Clustrix,它是唯一具有独立索引分布的数据库。Clustrix 是一个从头开始构建的数据库,旨在替代分布式 MySQL。

有关Clustrix 如何进行数据分发分布式评估模型的更多信息

于 2013-05-07T23:18:12.300 回答
0

我认为将数据存储在集中式数据库中并为各个位置配置缓存要容易得多。因为不同的位置不可能在同一个网格中,所以缓存配置应该是同步缓存,因为在异步缓存解决方案中,数据库中的更新顺序可能不是应用更新的顺序。与应该直接访问数据库的情况相比,缓存将减少大量查询网络流量并提高远程位置的性能。Oracle In-Memory Cache Database Option 值得研究。适用于 10.2.0.4 及更高版本的数据库,使用以前称为 TimesTen 的 11.2.1.8 版本。一个很好的选择。您要求的算法是有效的缓存算法。确保经常使用的数据以最优惠的价格靠近消费者。如果您可以在内存上花费更多,则可以容纳更多数据。LRU 将负责从缓存中清除不常用的数据。

于 2011-04-12T19:52:35.120 回答