Today was a good day. I didn't get enough sleep, so after our work lunch party, which enabled us to eat large amounts of Korean food (seasoned beef 'n' stuff wrapped in lettuce was good, but I didn't like the "kimchi
" which was nothing more than hot and spicy rotten cabbage), I felt a bit tired... Too tired to work.
So, I went home to grab a Monster in the fridge. So, I'm pretty caffeinated right now, but I don't feel jittery, which is nice.
Anyway... I feel compelled to write about my decision to switch from MySQL to PostgreSQL.
I've been using MySQL for about... oh.... 3.5 years. It taught me how to use databases, but the tables I worked on never had more than a few hundred thousand rows, so connecting directly to a web application was never a problem. Always quick and peppy.
Well... The more I researched databases in general, the more I found myself gravitating toward PostgreSQL. This happened for a number of reasons:
- I didn't like the fact that Oracle owns one of the two major db engines (innodb) used by MySQL. I wasn't sure if this was good or bad, but I interpreted it as being a "a potential competitor owns my software" - type of angle. Not good.
- MySQL has a conglomorate of engines it can use. Why? Why not just create a single db engine that rocks?
- I began seeing more and more people in the industry, whom I respect, use PGSQL.
- Postgres was built from scratch by someone with the idea in mind that it would be competing with MSSQL and Oracle. MySQL was built to be a "fast and small web application database".
- I found myself beginning to have to deal with larger and more complex databases, which I thought PGSQL would be more suited to.
- MySQL's lack of transactions until the most recent release (4 or 5), whereas Postgres has been implementing them from the get-go.
- I needed an alternative.
- I wanted to expand my web-app building knowledgebase.
And that's about it (or at least that's what I can think of off the top of my head).
Now, at Nature's Way, I'm using PostgreSQL exclusively with all of the applications I'm building here, and out of the pocket, I get handed a table with 12 million rows in it, which I obviously can't connect directly to a web app without it chugging like molasses (at least with the current knowledge I have of db / query design), so....
I'm just hoping I made the right choice. I'm 99.9% sure I did, I'm just feeling the growing pains right now and that's kinda scary, when it's my job to make the web apps here match the rest of the company, which is run *quite* nicely, I must say.
I've got a lot of work to do.