Current time: 04-23-2014, 11:04 PM Hello There, Guest! (LoginRegister)

Post Reply 
MySQL reliability
07-31-2002, 07:58 PM
Post: #1
MySQL reliability
Hi all!

I'm a potential new DreamHost customer, I must say I'm really impressed with the hosting plans and prices for the most part. Not to mention the amount of favourable things existing members have to say about the level of customer service they've received.

My Concern:
------------
I'm re-vamping my existing website which employs mostly PHP and Perl scripts, with a non-transactional MySQL database. One of the requirements of my new design is transactional database support (preferrably either MySQL or PostgreSQL). Unfortunately, DreamHost does not currently support either for their shared hosting plans. I realize that this is not unique to DreamHost, most hosting companies are the same when it comes to this issue.

My question is therefore intended for veteran MySQL users at DreamHost: have any of you experienced lost connections when using MySQL with any of your pages/scripts? Those of you who are familiar with ACID will know why this is a concern for me. Basically, I don't want to risk placing my database's data in a "bad" state if a connection is lost for some reason. I know that MySQL in particular can be nasty when the server is under extrreme loads - previously opened connections can be "lost".

All of my re-designed scripts (both PHP and Perl) use custom classes to re-use a single database connection for the entirety of the script, and close it when finished.

I'm not exactly sure how many queries or connections the old version of my website received, but I can tell you that at peak times I was receiving an average of 1700 page views per day according to Webalizer stats.

If enough (unbiased) people convince me that there should be no risk, then I may very well signup soon!

--Brad Barkhouse
Be a Contender!
http://www.beacontender.com
brad.barkhouse@beacontender.com
Visit this user's website Find all posts by this user
Quote this message in a reply
08-01-2002, 07:24 AM
Post: #2
MySQL reliability
I just had another thought. Is it possible that I could be setup with a separate mysqld instance which had the transaction-safe tables enabled? I would certainly be willing to pay extra for it, and it would prevent my site from affecting others. I can easily change my scripts to enable them to access the separate mysqld instance on any machine or port.

--Brad Barkhouse
Be a Contender!
http://www.beacontender.com
brad.barkhouse@beacontender.com
Visit this user's website Find all posts by this user
Quote this message in a reply
08-01-2002, 09:11 AM
Post: #3
MySQL reliability
First off triple posting your questions reduces the odds you'll get an answer not increases them...

I can't give you an answer on your main question because my site is database generated rather than database driven...

And the question you posted after the first post is best sent directly to sales -- Sales@DreamHost.com
Visit this user's website Find all posts by this user
Quote this message in a reply
08-01-2002, 09:19 AM
Post: #4
MySQL reliability
Sorry about the triple post thing, I was anxious. Sad I won't be doing it again.

You've perked my curiousity, what's the difference between database-generated and database-driven?
Quote this message in a reply
08-01-2002, 09:46 AM
Post: #5
MySQL reliability
Database-generated means that data came from a database, perhaps like a web page where the data is stored in a table. Database-driven means that it goes back to the database to decide what action to take.

- wil
Find all posts by this user
Quote this message in a reply
08-01-2002, 02:00 PM
Post: #6
MySQL reliability
In that case, my site is both database-generated AND driven.

--Brad Barkhouse
Be a Contender!
http://www.beacontender.com
brad.barkhouse@beacontender.com
Visit this user's website Find all posts by this user
Quote this message in a reply
08-02-2002, 09:40 AM
Post: #7
MySQL reliability
Actually Database Generated means the files are generated each time the site is rebuilt rather than drawing the freshest data out of the database each time someone views the page -- wastes drives space saves processer time...
Visit this user's website Find all posts by this user
Quote this message in a reply
08-05-2002, 04:53 PM
Post: #8
MySQL reliability
We're currently investigating the possible use of MySQL's InnoDB functionality to provide a transactional database to our customers. This isn't currently incredibly high on the priority list simply because not too many people have requested this functionality (you can change that by telling your friends to ask for it!)

How to provide InnoDB is another question too, as it is run in a different manner. Indeed, setting it up on a dedicate mysqld instance might be a good approach for testing purposes. For large scale offerings however, it would make more sense from a resources perspective to have multiple customers databases on a single mysqld instances (up to a limit of course).

We're also unsure about the impact it would have on stability and performance for the rest of the machine (we still have to provide a quality non-transactional MySQL service to most of our customers on the same machine). And of course, we have to figure out a fair price to charge for this service that won't leave us losing (too much) money.

For the time being unfortunately, other priorities are taking precedent. Though I can't promise that we'll ever offer it, I can give you the beginnings of a tentative time scale by telling you that we're considering utilizing InnoDB on a limited basis for some of our backend services. Utilizing it ourselves will greatly assist us in the decision-making/implementation process.

Jason
Find all posts by this user
Quote this message in a reply
08-05-2002, 05:23 PM
Post: #9
MySQL reliability
Quote:My question is therefore intended for veteran MySQL
users at DreamHost: have any of you experienced lost
connections when using MySQL with any of your pages/scripts?

Yes, that is certainly a concern.
The databases we use internally to run our centralized services (such as the Webpanel: https://panel.dreamhost.com) host only our databases and only our code interacts with them. In that sense, it's a very closed environment, easy to control. We rarely (never?) lose those connections, because we are in control.

However, in a more open environment (like the machine that hosts your database along with hundreds of other customer databases), one bad user can potentially bring the machine to a halt. This rarely happens as well. We've put safeguards in place recently (such as limiting the number of connections a single user can consume). However, such calamities do happen. The only way to avoid it currently is to purchase a dreamserver (http://www.dreamservers.com).

Having said that, many users utilize our non-transactional MySQL service to store sensitive information that need be in a consistent state (for example, financial information). While a non-transactional db is not ideal for such functions, I think it is fine for the vast majority of our users.

Quote:Those of you who are familiar with ACID will know why
this is a concern for me.

Are you referring to Atomicity Consistency Isolation Durability?
http://openacs.org/philosophy/why-not-mysql.html

Or are you referring to some other program/utility named ACID?

Yes, I'm familiar with the former. I understand your concerns (we've had them too!). Maybe you could elaborate on the type of application you plan on using. One can often write code to more safely handle sensitive data that needs to be in a consistent state, and many applications already have that intelligence written in.

You might also want to read the following:
http://www.mysql.com/doc/en/ANSI_diff_Transactions.html

Quote:All of my re-designed scripts (both PHP and Perl)
use custom classes to re-use a single database
connection for the entirety of the script, and close
it when finished.

That's perfect! So long as they test each connection occassionally (or each time) before performing a query, you should be safe and fast.

Quote:I'm not exactly sure how many queries or connections
the old version of my website received, but I can
tell you that at peak times I was receiving an average
of 1700 page views per day according to Webalizer stats.

Volume of queries shouldn't matter that much (until you get to hundreds or thousands of queries per second).

Quote:If enough (unbiased) people convince me that there
should be no risk, then I may very well signup soon!

I think you'll be fine with a non-transactional DB, but then again, you should never trust your hosting company! =)

Jason
Find all posts by this user
Quote this message in a reply
08-05-2002, 06:14 PM
Post: #10
MySQL reliability
[ A bit of context here - Jason is a senior member of the admin staff, an all around Swell Guy, and a very crazy man. He's also the main person who deals with MySQL. While I realize the OP was mainly looking for input from customers, I asked Jason to stop by and address the bit about support for transaction safe tables etc. ]
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: