I use PostgreSQL, for a few reasons: Excellent performance and scalability, good transactions, and easy to extend. My favorite thing is the Perl integration.
PostgreSQL supports an interpretted language called PL/Perl for writing stored procedures. What this is, is a perl interpretter running inside the plperl module, running the stored Perl inside a Safe.pm sandbox. The nice thing is, it's all open source, so you just edit the PL/Perl source to add functions to what can be used in the sandbox. Then, you can let the database itself dispatch your code for you. This is nice for a few reasons:
- It moves database related processes off of your web/other servers, and places them on your database server. There is no good reason for large database accesses to slow down a website if you have seperate servers for them, but this is often the case.
- It allows you to change your Perl database code without touching the clients. So if you have 34 servers accessing your database server, you only change the code in 1 place. (unless you're changing the agreed schema)
- It allows for a higher level of specialization for each piece of code, encouraging the practice of building a system out of small bricks with well defined tasks.
--
Snazzy tagline here
### Changlog ###
# 1061536574: fix mispelling of "Perl" (was "perl")