Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 High Availability (2005)
 Question about considering scaling while designing

Author  Topic 

kensai
Posting Yak Master

172 Posts

Posted - 2008-05-14 : 07:52:39
I'm currently developing an ASP.NET site with SQL Server 2005 Standard and I'd like to ask a question about the future of the database. It needs to have continuity and performance. I'm thinking about doing replication or mirroring for continuity and table partitioning for performance. I admit I've never done any of those before and I'll learn about them but they're not needed at this time. The question is, I'm currently designing the database and do I have to anything for consideration for those things I'm thinking of implementing later? For example, I'm using Identity in my tables but I've heard about identity crisis using replication with identity columns, therefore I'm thinking of using Guid's but now I fear the Guid column index itself will be the slowdown factor in the first place.

Any suggestions to consider? I'd appreciate any opinions.

sodeep
Master Smack Fu Yak Hacker

7174 Posts

Posted - 2008-05-14 : 09:33:51
1)Database mirroring is High availability option and Replication is warm-standy option (There is no automatic failover).
2)Table partition is actually good for huge tables but if you think you have, you can increase performance with Table part. It is supported only in enterprise edition.
3)If only you are doing two-way replication like (merge),then you will have issue with identity and it's not a good idea to have Guid's in index.
4)For performance, understand normalization in full details while designing tables
5)Make sure you take full use of performance monitoring,SQL profiler,Database tuning advisor and Execution plan analysis before deploying to production.
Go to Top of Page

rmiao
Master Smack Fu Yak Hacker

7266 Posts

Posted - 2008-05-14 : 23:19:35
There are several ways to address identity issue in two-way replication, like use odd numbers (or positive numbers, lower range numbers) in publisher and even numbers (or negative numbers, higher range numbers) in subscriber.
Go to Top of Page

kensai
Posting Yak Master

172 Posts

Posted - 2008-05-15 : 03:51:46
After your comments I'm thinking of doing mirroring and horizontal table partitioning. As for the mirroring, my main goal would be continue to make the site work if the main database fails. So if I do one-way async mirroring with high performance option, and the main database fails, will the mirror continue to work same as the main? If it does, can I sync it when the main database comes online? Does partitioning the table add any complexity to this process? As for the last, how much of this can be automated by SQL Server?

Thanks for the all help, I appreciate it.
Go to Top of Page

sodeep
Master Smack Fu Yak Hacker

7174 Posts

Posted - 2008-05-15 : 08:55:05
"So if I do one-way async mirroring with high performance option, and the main database fails, will the mirror continue to work same as the main?"

Yes ,but you have to manually failover to secondary server.There is a possibility of data loss.

" Does partitioning the table add any complexity to this process? "

You will gain performance with table partition if you tables are huge.It doesn't add complexity.
Go to Top of Page

rmiao
Master Smack Fu Yak Hacker

7266 Posts

Posted - 2008-05-15 : 22:07:44
>> can I sync it when the main database comes online?

Db mirroring handles that.
Go to Top of Page
   

- Advertisement -