views:

238

answers:

8

Currently I have an Asp.net website. Basically it was a prototype that showed to my school who are interested in my product. I decided to use this as my industry project that I must complete to graduate.

That way if my school decides not to go with it I still can host it myself and target individuals and I complete my requirement for my school. It's win-win for me!

So I started to think about it already and some things concern me. One thing is hosting. If they do adopt the site my shared hosting will most likely be not enough to handle the load.

So I am going to redesign my site in .Net MVC and do everything from the ground up since I have to prove to my teachers I will have enough work to do for the course. Plus my prototype was not made to be scaled and is very messy and needs to be rewritten.

So if they adopt it I was thinking of going with a Semi-Dedicated server over a Dedicated server since I don't want to have to admin my own database and IIS server. I don't know how to do that and that just adds more work.

Now we come to the database. Currently my database is SQL Server 2005 that I get free from my hosting company.

Now I am not sure if I should use MySql instead. I am scared that for some reason my hosting company will not be able to provided me with enough space or that it will not be fast enough or that they will charge some super high amount.

So I am scared I would have to find a new company and I would have to pay an arm in the leg(like $500 or more a month) just on database hosting.

Yet at the same time I never used SQL Server and I am going to be using heavily the asp.net membership that seems to work only for SQL Server.

Otherwise then that my knowledge in SQL is very limited so I don't think either way I would go I would use a fraction of the power of them.

If I go with SQL Server it would be most likely 2005 since I get that free from my hosting and I would have to pay a bit extra for 2008 that at this time I see no advantage of what I am using it to make it worth the extra money.

If I go with a semi dedicated server from my hosting company will give me 10 SQL Server 2005 database(a gig each), 10 SQL Server 2008 databases(a gig each) and 10 mysql databases(unknown size).

So I just don't know. I have to find out how much it costs if I go over a gig(they say it depends on server load that your site causes).

Yet I am not sure what kind of questions I should be asking?

I just don't want to go with one solution and find out that for one reason another I will have to convert my site to the other database.

Right now I am on shared hosting place windows 2003 and I pay like $4.50/month(with free SQL Server database-1 gig). I find that my pages can load up slowly but at the same time people I know host on there site with windows 2008 and they really load up fast. So maybe because I was one of the first and got the super cheaper price I am on the bottom end ones.

I don't think it is my programming to since I tested it using my homepage with like nothing on it and sometime it goes really fast.

That's fine with me since I use it more for prototyping testing and would go for a higher solution when I would really launch my site.

I would go for semi dedicated server (cluster hosting).

You can check out there site here.

Reliable

A: 

I could advise you to use Derby databases. If you switch to a semi dedicated server it should be possible to easy install it. It's a database with a very small footprint and it's fast and very stable. It's a project from apache. It's free and it's open source. Maybe you can give it a try?

Regards,

Matthias

DERBY by APACHE

shevron
+8  A: 

This is a common choice: basically SQL Server is better. Here is one example. But you can't argue with the price of MySQL.

This is also a consideration with ASP.NET because PHP hosting, as just one example, is much cheaper (or you get much more for the same money) in part because PHP is free.

You may also want to consider VPS options for hosting. Again that's much cheaper for Linux than Windows (but you can get both).

So if cost is going to be a major consideration (and it will be for schools I would imagine) then you should seriously think about doing what you can do reduce the cost of delivering the service.

In the very least I would try to minimize the impact of any future change by making your application as database-agnostic as possible. Thing is, if you do that your database becomes a fairly dumb data store at which point you may as well just use MySQL.

cletus
+1. nice answer
Mitch Wheat
Whats the difference between VPS, Semi-Dedicated and Dedicated?Ya I want to try to minimize costs as much as possible but I don't want to cut myself while at it. I think what makes it hard for me is that I don't know how much space stuff takes, how much loads it takes. So it is hard for me to tell what the best way is and try to predict server costs. On one side I rather stick with a technology and try to learn it then keep switching each project and in the end don't know more then the basics in each.How would I minimize the impact?
chobo2
Then I'd suggest VPS. Linux VPS starts at about $20/month and is easily upgradeable. It's more much more flexible than any kind of dedicated solution.
cletus
I am using Aps.net MVC I don't think I can run on a linux server.
chobo2
VPS is a server split into multiple OS installs, Dedicated is a whole server just for your self. and a Semi-Dedicated server is basically a regular shared hosting usually reseller plan on a server with very few people on it. If you look around you can get a windows 2008 vps cheap. I got one that has 960gb ram and 10gb space for $35/month(OS install does not take away from free space so you get the full 10gb)
Superdumbell
960gb of ram for 35$ per month? Where do I sign up?!?!
Karl
and how about mssql server?
chobo2
+5  A: 

They will likely both work fine. Modern databases can handle significant load, so if your concern is speed, I sincerely doubt you will be pushing the boundaries of MySQL or MSSQL.

As for hosting, that's really a personal decision and the best is to choose your development language instead of your hosting. You will find hosting for whichever you choose.

ie: focus on your work, not the details of hosting and costs. Both will work fine, do a bit of reading or choose the one that is most comfortable and just keep moving foward.

Best of Luck

Paulo
Agreed. 99% of applications will never approach the limits of either one.
Travis
Oh I know both will work find I don't doubt that. I know my development language will be .net but its hard not to think of costs since I don't want to make it and in the end find out I will make little to no money. The one that would be the most comfortable is mssql the little bit of databasing I have done has all be in mmsql.
chobo2
If you aren't sure it's going to make money then why don't you stick with your shared hosting until you know it will be adopted. A 1GB database can hold a lot and if it's in testing, you don't necessarily need a faster server. On a side note, this sounds less like a programming problem so I've tagged it as non-programming.
Paulo
Well that is my plan. My plan is to go with the shared hosting I have it currently on. It's just you know might as well figure out now what database I should use so I don't have to switch later on when I find out that I will be paying to much to make it worth it or whatever happens.I am just playing around with numbers. This is the first thing that has potential to do something so its hard to figure out how much resources stuff uses since I have no experience wit it.
chobo2
+1  A: 

As far as database platform, my first thought is about LINQ to SQL. There is native support for MSSQL, but I am not sure how well it will work with MySQL or how good the support is or how difficult to setup/maintain.

Brettski
Linq to SQL will only work with SQL Server. Linq to Entities (the Entity Framework) works with MySql, but is (not quite ready for prime time, wait for the next version) immature.
Robert Harvey
Hmm I might have to start a new post on that one. I use typed datasets currently so I have not clue really what Linq to SQl is. I see that in the MVC books they love to use it alot. There seems to be so many different ways to do it now I am confused what the advantages of each one is.
chobo2
+1  A: 

If you are going to use a Microsoft Language, then I strongly suggest that you also use a Microsoft Database. That way you have zero interoperability problems.

However, If re-writing the project, you could consider basing it on an open source stack (say, Apache + PHP + CakePHP + jQuery + MySQL) as an example.

You could host it in any number of places including a virtual server by Rackspace which would start at < $20 / month, but allow you to really scale up.

Great software can be written on many different platforms. Stack Overflow is based on Microsoft technologies. WIkipedia is based on PHP+Open Source technologies. The "goodness" of a web app will come from the developer, not the platform.

(Although the platform can really help get you there)

gahooa
Hi no I don't want to use PHP. I know any peice of software can be great no matter what it is written in. For me though I want to stick with .net I want to master it and if I keep switching back and forth I will never know any language very well.So for me it is .net. I spent the most time with it and don't want to switch anymore.
chobo2
A: 

I think some thought has to be given to the nature of the application and knowledge of the developer in terms of coding and survival of the product with or without the school support. MySQL and MSSQL might meet the load/standards.

Pradeep
I pretty much what I am going to do if the school does not come on board. I have plans meant for individual and if I was just making it for individuals then I would use mssql without a thought since it comes free with my hosting and I don't see load and space would come to be a concern for a very long time down the road.
chobo2
A: 

Your usage of ASP.NET's Membership API looks like reason enough to stick with MSSQL. You can write your own membership provider that uses MySQL, but that will consume more of your time.

Jacob
A: 

If you stay with .NET, you should use MSSQL, as most ASP.NET providers also provide access to a SQL Server Express edition.

If you really exceed the limits of the SQL Server Express edition, I suppose you'll also need your dedicated own hardware, with its own Windows Server License and SQL Server license, which will become expensive quite easily, but is the cost if you stick with the .NET framework.

If future costs and/or scaling to new hardware really is an issue to you, you'll need to look into Open-Source stacks. Maybe Mono is for you, but I wouldn't use it at the moment.

I personally believe, that anything exceeding the limits of the freely available tools by Microsoft (e.g. Express Editions of Visual Studio, SQL Server Express) is a project of a scale where the licensing costs shouldn't matter that much.

Martin C.
I totally agree with you. First I will be using Express since it will meet all my needs. I will also be using Express on my home computer. My hosting company uses probably full server and gives me a free one. If I would go my own dedicated server I would stick express onto it till I could not use it anymore. I hear that the limit is 4gigs? Is that true.That is plenty but I just want to check. The only problem I see with that is I don't want to administer my own stuff since I don't know how.I think that probably will drive up the costs the most.
chobo2