我决定在我的ASP.NET应用程序中使用Amazon RDS MySQL。为了在将来支持大型数据库容量,我决定使用分片,但是在一个简单的实现中。我将处理单个数据库,当Id达到增量ID超过1,000,0000时,我将使用第二个数据库,依此类推。
每个数据库都具有相同的数据库架构。现在,我将创建一个变量,其中包含我正在进行并行处理的Amazon RDS服务器的数量。我将使用UNION ALL编写查询。这些查询将动态创建,并将考虑服务器的数量,以创建利用整个服务器加入数据的UNION ALL查询。然后我将再次查询该数据。
我将仅对我期望变大的表使用此技术。应用程序将知道哪个服务器根据我为每个服务器设置的最大ID(即服务器1,最多1,000,000)发送删除和更新sql查询。对于insert语句,我当然会将数据插入到最后一个服务器。我不需要担心复制,恢复和备份功能,Amazon RDS负责这一点。
我的问题是:
总的来说,我想要一个简单的解决方案,这将允许我从一台服务器开始,并在我需要时轻松扩展。今天的大多数解决方案都非常复杂,如果不是,非常昂贵。
由于