Not wishing to instigate a DB war, but


#1

Can I get some opinions on which free DB to use with rails for a virtual
server that will eventually be doing lots of heavy database lifting?
Not a lot of heavy duty querying per se. Think multiple simultaneous
forums and blog sites and the like.

I know each of the different DB possibilities such as MySQL and
PostgreSQL has plus points and minus points. I’m particularly
interested in picking one that can take the worst beating without
requiring hardware upgrades as often once it is being used by multiple
simultaneous apps with lots of hits per day.

Where is an appropriate place to look for a complete list of supported
DB flavors?

thanks,
jp


#2

Jeff P. wrote:

Can I get some opinions on which free DB to use with rails for a virtual
server that will eventually be doing lots of heavy database lifting?
Not a lot of heavy duty querying per se. Think multiple simultaneous
forums and blog sites and the like.

I know each of the different DB possibilities such as MySQL and
PostgreSQL has plus points and minus points. I’m particularly
interested in picking one that can take the worst beating without
requiring hardware upgrades as often once it is being used by multiple
simultaneous apps with lots of hits per day.

What is “lots of”?

I recommend MySQL for one reason: the query cache. This can be a huge
advantage especially for web applications, where 99% of the queries are
usually SELECTs. I don’t think any of the other supported DBs has a
similar feature. I’m using MySQL for two forums
(http://www.ruby-forum.com and http://www.mikrocontroller.net), a wiki,
a shop and some other stuff, the total database size is 700 MB. With a 3
MB query cache I get a hit rate of 80%. A hit is handled about 2 times
faster than the most simple SELECT.


#3

On 10/01/2006, at 4:08 PM, Jeff P. wrote:

simultaneous apps with lots of hits per day.
I recommend PostgreSQL for various reasons, but it really depends on
what you’re doing. ‘Lots of hits’ means nothing, how many is lots?
How did you get the figure? What will those hits be doing? If you’re
serving simple forum/blog sites MySQL will work fine, but be
absolutely sure you’re using InnoDB - MyISAM sucks at concurrency. If
you’re going for a really high volume of customisation per page with
constant inserts (think 20+ per second) PostgreSQL will help more,
it’s far better at concurrency, is truly ACID and even supports point-
in-time recovery with sufficient admin knowledge, but it isn’t as
easy to use.

For the record, most blogs and forums seem to be MySQL powered these
days. LiveJournal and Wikipedia use MySQL.


Phillip H.
removed_email_address@domain.invalid


#4

On Mon, 2006-01-09 at 22:40 -0600, David Heinemeier H. wrote:

So does Basecamp, Backpack, Ta-da List, Writeboard, and all
forthcoming applications from 37signals. MySQL does a great job of
being an Application Database[1]. PostgreSQL definitely got smarter
chops for being an Integration Database[1]. Find out which database
style you’re going to be using before making your choice.

[1] http://www.martinfowler.com/bliki/DatabaseStyles.html

Are you suggesting that MySQL is better at being a PostgreSQL for use as
an Application Database?

In both scenarios, we (PLANET ARGON) encourage use of PostgreSQL… and
when it comes down to bigger concern, we prefer the license of
PostgreSQL (which is more similar to Rails) where MySQL is a
dual-license. You also need to consider the long-term legal issues
surrounding your choice.

…but I’m just a PostgreSQL fan. :slight_smile:

-Robby


/**************************************************************

  • Robby R., Founder & Executive Director *
  • PLANET ARGON, LLC | www.planetargon.com *
  • Ruby on Rails Development, Consulting, and Hosting *
  • Portland, Oregon | p: 503.351.4730 | f: 815.642.4068 *
  • blog: www.robbyonrails.com | book: www.programmingrails.com *
    ***************************************************************/

#5

For the record, most blogs and forums seem to be MySQL powered these
days. LiveJournal and Wikipedia use MySQL.

So does Basecamp, Backpack, Ta-da List, Writeboard, and all
forthcoming applications from 37signals. MySQL does a great job of
being an Application Database[1]. PostgreSQL definitely got smarter
chops for being an Integration Database[1]. Find out which database
style you’re going to be using before making your choice.

[1] http://www.martinfowler.com/bliki/DatabaseStyles.html

David Heinemeier H.
http://www.loudthinking.com – Broadcasting Brain
http://www.basecamphq.com – Online project management
http://www.backpackit.com – Personal information manager
http://www.rubyonrails.com – Web-application framework


#6

On 10/01/06, Robby R. removed_email_address@domain.invalid wrote:

…but I’m just a PostgreSQL fan. :slight_smile:

no kidding :smiley:

‘Me too’, although it’s only fair to point out that there seem to be
more outstanding ticketson the postgresql
adapter compared to the mysql adapter.


Rasputin :: Jack of All Trades - Master of Nuns
http://number9.hellooperator.net/


#7

On 10/01/2006, at 6:37 PM, Robby R. wrote:

…but I’m just a PostgreSQL fan. :slight_smile:

Same here. I used MySQL for 5-6 years and just find PostgreSQL nicer,
especially as this works:

BEGIN;
DROP DATABASE important_table;_backup – Don’t ask how I misplaced
the semicolon. Just don’t.
– Realise mistake
ROLLBACK;

It’s a life saver when you have spider fingers :wink:


Phillip H.
removed_email_address@domain.invalid


#8

On 1/10/06, Jeff P. removed_email_address@domain.invalid wrote:

Thanks guys. Appreciate the input, and thanks for keeping it civil. I
was worried I might start WWIII with that question.

Can anybody tell me the proper way to pronounce PostgreSQL?

post gres queue el


#9

Thanks guys. Appreciate the input, and thanks for keeping it civil. I
was worried I might start WWIII with that question.

Can anybody tell me the proper way to pronounce PostgreSQL?

thanks,
jp

Phillip H. wrote:

On 10/01/2006, at 6:37 PM, Robby R. wrote:

…but I’m just a PostgreSQL fan. :slight_smile:

Same here. I used MySQL for 5-6 years and just find PostgreSQL nicer,
especially as this works:

BEGIN;
DROP DATABASE important_table;_backup – Don’t ask how I misplaced
the semicolon. Just don’t.
– Realise mistake
ROLLBACK;

It’s a life saver when you have spider fingers :wink:


Phillip H.
removed_email_address@domain.invalid


#10

p - s - q - l :slight_smile:

On 1/10/06, James L. removed_email_address@domain.invalid wrote:

http://lists.rubyonrails.org/mailman/listinfo/rails


rick
http://techno-weenie.net


#11

As you can see there are many ways of doing it. Here’s a survey about
it:

http://www.postgresql.org/community/survey.33

Bye,

Guy.

Family management on rails - http://www.famundo.com - coming soon!


#12

Hear it… :slight_smile:

http://www.postgresql.org/files/postgresql.mp3

On Tue, 2006-01-10 at 10:30 -0600, Rick O. wrote:


Rails mailing list
removed_email_address@domain.invalid
http://lists.rubyonrails.org/mailman/listinfo/rails

/**************************************************************

  • Robby R., Founder & Executive Director *
  • PLANET ARGON, LLC | www.planetargon.com *
  • Ruby on Rails Development, Consulting, and Hosting *
  • Portland, Oregon | p: 503.351.4730 | f: 815.642.4068 *
  • blog: www.robbyonrails.com | book: www.programmingrails.com *
    ***************************************************************/

#13

Phillip H. wrote:

On 10/01/2006, at 6:37 PM, Robby R. wrote:

BEGIN;
DROP DATABASE important_table;_backup – Don’t ask how I misplaced
the semicolon. Just don’t.
– Realise mistake
ROLLBACK;

DB Drops are logged in PGSQL? did u mean ‘Drop Table’ ?

-Amr


#14

Robby R. wrote:

On Mon, 2006-01-09 at 22:40 -0600, David Heinemeier H. wrote:

So does Basecamp, Backpack, Ta-da List, Writeboard, and all
forthcoming applications from 37signals. MySQL does a great job of
being an Application Database[1]. PostgreSQL definitely got smarter
chops for being an Integration Database[1]. Find out which database
style you’re going to be using before making your choice.

[1] http://www.martinfowler.com/bliki/DatabaseStyles.html

Are you suggesting that MySQL is better at being a PostgreSQL for use as
an Application Database?

In both scenarios, we (PLANET ARGON) encourage use of PostgreSQL… and
when it comes down to bigger concern, we prefer the license of
PostgreSQL (which is more similar to Rails) where MySQL is a
dual-license. You also need to consider the long-term legal issues
surrounding your choice.

…but I’m just a PostgreSQL fan. :slight_smile:

-Robby


/**************************************************************

  • Robby R., Founder & Executive Director *
  • PLANET ARGON, LLC | www.planetargon.com *
  • Ruby on Rails Development, Consulting, and Hosting *
  • Portland, Oregon | p: 503.351.4730 | f: 815.642.4068 *
  • blog: www.robbyonrails.com | book: www.programmingrails.com *
    ***************************************************************/

Same here. I switched from MySQL (after years of use) to PostgreSQL
about two years ago and haven’t encountered a single situation where I’d
rather use MySQL. Well, except of course when having to accommodate apps
that are MySQL-centric (like Wordpress).

csn


#15

On 11/01/2006, at 2:31 PM, Amr M. wrote:

Phillip H. wrote:

On 10/01/2006, at 6:37 PM, Robby R. wrote:

BEGIN;
DROP DATABASE important_table;_backup – Don’t ask how I misplaced
the semicolon. Just don’t.
– Realise mistake
ROLLBACK;

DB Drops are logged in PGSQL? did u mean ‘Drop Table’ ?

Hah, yes I did. PostgreSQL won’t let you DROP DATABASE in a
transaction anyway, nice save :wink: Another reason not to write SQL when
you’ve taken the day off sick…


Phillip H.
removed_email_address@domain.invalid