Using ASP.Internet and Home windows Stack.
Purpose: Ive got an internet site that can take in over 1GB of information about every 6 several weeks. So as you have seen my database may become huge.
Problem: Most hosting companies offer only Databases in 1GB batches. Which means that each time Time passes over another 1GB, I will have to create another Database. I've simply no experience of this kind of setup and Im searching for top tips on how to proceed?
- Will I move the membership stuff to another database? This still will not solve much due to how big another data I've.
- Will I archive data into another database? Basically do, how you can I allow customers to gain access to it?
- Basically split the information between two databases, will i title the tables exactly the same?
- I query my data with LINQ. So creating a couple of different connections would not be a terrible factor.
- It is possible to host company that anybody knows of this can scale their databases?
Among the finest to get sound advice? How do i solve this dilemma? I not have the advertising dollars arriving to invest a lot more than $50 per month to date...
While http://world wide web.ultimahosts.internet/home windows/vps/ appears to give the best answer for top cost, they still split the databases up. Where will i range from here?
Again, I'm a total amateur to multiple databases. Ive only used individually..
In my opinion solution is a lot more simpler than that: and if your provider manage database in 1 GB space it doesn't means you have N databases of just one GB each, this means that when you achieve 1 GB the database might be elevated to maneuver to two GB, 3 GB and so forth...
I'd be truly surprised when they really impose a tough 1GB per DB limit and make up a brand new one for every additional GB, but around the assumption that that really may be the situation -
- Designate a specific database as the master database. This is actually the just one your application will directly connect with.
- Produce a clone of all of the tables you will need inside your second (and third, 4th etc) databases.
- In your master database, produce a view that does a UNION around the tables like a mix-DB query - Choose * FROM Master..TableName UNION Choose * FROM DB2..TableName UNION Choose * FROM DB3..TableName
For writing, you will need to use sprocs to discover the appropriate records increase them, however, you should not have an issue there. In principle you can extend the vista above to come back which DB the record is at should you wanted.
Responding to this is extremely hard for this requires knowing a minimum of some fundamental details concerning the data model, how a information is queried, etc. Also as recommended by rexem, a much better knowledge of the utilization model may allow using normalization to limit the development (and that i had could also allow presenting compression, if relevant)
I am more puzzled in the general approach and business design (and that i are evident the necessity to keep cost lower having a startup application according to ad revenues). Wouldn't you have the ability to contract a sum which will match your demand for next 6 several weeks, then, when you begin growing out of this space, purchase additional storage (to have an extra 180 dayOr12 months, at that time you might be "wealthy") such might not even require anything in your finish (is dependent in route hosting service handles shelves etc.), or at worse, may need you to copy that old database towards the new (bigger) storage?
In this way, you would not have to split the database in a artificial fashion, and therefore concentrate on customer-oriented features, instead of optimizing queries that require to compile info from multiple servers.