我即将扩大我们的sql2008数据库。 简单。 但我可能需要缩小我们的SQL数据库。
对于简单的扩展情况(即分配处理负载),是否有一些良好的初始最佳实践? 我知道有这么多的解决scheme,这将是产品特定的 – >许多写&不多的读取,许多读&不写多less,两者等等等等。
但是对于一个阅读起来很重(而不是沉重)的网站,是否有一个共同的起点? 例如。 抓住第二个SQL框,添加一些同步thingy和关你走。
其他框上的数据如何保持最新?
MSSQL有一个很好的单向同步关系设置。 您必须获得相应版本的SQL Server的许可(我认为它不包含在最基本的版本中),但是它非常容易设置。
唯一的问题是您只能写入一个位置,所有其他位置只需要读取。 对于双向同步(如果你要写的话),这是更复杂的。
所以简而言之,是的,一个同步的东西的第二个盒子将工作得很好,但你也需要做自己的负载平衡(即有一个Web服务器读取一个SQL服务器,另一个Web服务器读取另一个SQL服务器),因为它们仍然performance为单独的情况。 否则,你就会成为另一个鱼群的集群。
所以,这个同步的东西 – 它是什么,你如何设置它? 那么,在您的SQL Management Studio(SSMS)中,您将在导航窗格中看到一个用于“复制”的文件夹,其中包含发布和订阅。
简而言之,您将:
有很多文章,所以只是谷歌的SQL Server复制。
就硬件而言,我们的主数据库服务器是一个4MB内存的双核四核。 我们的奴隶是四核RAM的双核心。 您可以在该级别购买大量服务器。 当然,这一切都取决于你期望的负载。
这个问题比较复杂,有些post可以回答。 如何扩展服务器的选项太多了,仅举几例:故障转移群集,日志传送,复制,数据库镜像。
我会推荐你一个很好的书,可以在这里下载: 专业SQL Server 2005高可用性
希望你会在那里find你的问题的答案
现在硬件非常强大而且价格便宜,所以只要使用体面的服务器就可以走很长的路。 如果您的数据库主要是用于读取数据,那么支持16GB RAM和6个15K磁盘RAID5(或6)的Poweredge 2950是一个非常强大的SQL Server基础; 添加尽可能多的内核,但是即使是双核四核也不是那么昂贵。 我认为2950将占用64GB的RAM,虽然这将是昂贵的 !
您的硬件可能已经是如此强大。 如果是这样,你正在寻找在权力和成本步骤的变化,如果是这样,我认为你需要更好的build议,而不只是在ServerFault的几个职位:-)
JR
那么这个问题很难回答这个问题,你(devs)在devise数据库时不得不考虑这个问题。 但看看共享数据库的高读/写比这可能是最容易实现的。 其他解决scheme可能是复制。
享受