The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely., MSSQL and shared host. How to partition the DB?

Ok, we have a new webapp we're developing and we are planning on using the shared provider for the system for the initial launch. Our existing provider gives us 2 MS Sql databases (200mb ea.).

One of our dev's suggested splitting the tables across both database's to get extra space so we could use the shared hosting as long as we can before upgrading to a dedicated server. Anybody have any thoughts on this? Good? Bad?
Monday, January 29, 2007
I wouldn't do that myself - I would pay for extra space in one database before turning to that solution.

Your application probably still thinks that the data will come from one table in one database, so you need to write code specifically to handle the partitioning in your data access layer. Once you move to one database this partitioning logic is completely redundant. It's smelly.

If you absolutely can't get more space for your database then I guess it's an option.
Sam Piper Send private email
Tuesday, January 30, 2007
I wouldn't do it. Partitioned views are a good way to handle very large tables but IMO a poor way save a couple of bucks on hosting fees.
Mike Morris Send private email
Tuesday, January 30, 2007
Bad idea.

There's a reason that the unit of backup in SQL Server is the database.  They would probably offer more space for only one database for a nominal increase and it would be cheaper than re-plumbing your application.

Besides, after you go live, won't you need the other database  as a staging area to test changes before deployment.
Cade Roux Send private email
Tuesday, January 30, 2007
Bad idea. In addition to what others say, how will you maintain transactional integrity across two databases?
Wednesday, January 31, 2007
Here's a way to use the two databases.

Instead of writing a monolithic, tightly coupled web app, break your application up into services (as in SOA). Then allow a certain service to exclusively use certain tables, or even one whole database, if needed. Use the Service Broker in MSSQL 2005, to reliably communicate between services. As your business grows, you will be ready to scale-out as needed.

The thinking here is far different than traditional architecture of web apps. But it's worth it if you expect to become a very large business.

I agree with the others, splitting tables will be problematic. There are limits to shared hosting and you have to be creative.
Stacy Murray Send private email
Thursday, February 01, 2007
2 MSSQL dbs? 200 MB each?
How would you like 250GB on shared hosting?

Dump your 2 bit shared hosting provider and go with lunarpages.

They are my hosts and I highly recommend them.
Donald Duck
Monday, February 19, 2007
They have been my hosts since 2002.  I actually use about 2GB for storage on their server (shared hosting account) to store copies of my source code (encrypted and stored in files named by date) and 4GB for software file downloads.  And I use about 40GB of bandwidth/month for providing Software File Downloads, files ranging from 2MB size to 300MB size.

And all my problems with which are very rare are resolved within 24 hours.  I would like to post my affiliate link (to get $$ commisions) here but wish to remain anonymous.  Anyway I recommend them highly.
Donald Duck
Monday, February 19, 2007
Ah! you want Windows and MS SQL heres the plan for that
but you get only 5GB of storage because of microsoft cost.

If you want more than 5 GB you will have to use Linux/MySQL or go in for dedicated.
Donald Duck
Monday, February 19, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz