I am building a new desktop, and since I'm going to use it mostly for software development purposes ( and MySQL mostly); I was wondering if I did the right choice by getting this HDD as far as performance goes, as it is a 5900 RPM drive
I don't think the 5900 RPM HD will make such a great performance difference versus a 7200 RPM version, in particular in combination with a SSD. As long as you split the usage between the SSD and HD in a way where you can utilize the speed of the SSD.
The SSD gives a tremendous performance boost when loading applications. If you have enough spare RAM you could use it easily as RAM disk for compilation work or any temporary data storage.
I wouldn't use the SSD for data storage with lots of writes as todays SSDs give you only 3000 writes per memory unit. If you do plan to use the SSD for heavy write access you should leave plenty of SSD space spare.
At the price of your SSD, you could also consider a second SSD later on if you see your SSD fills up and you do have many writes. Reading doesn't have an impact on SSD life time so if you had a read-only file system it would last a long time.
I assume you are going to run Linux so pay attention to the partition theme. I'm using a 120GB SSD with Linux Mint on it and have the swap space on the HDD. In my case I have 32 GB of memory which gives me plenty of space for putting the tmpfs and other temporary file systems on RAM (for example /var/log, though you may want to have that on a permanent file system to check log files after a reboot).
If you're on Linux, I can also recommend using LVM2 or logical volumes.
Disk space is cheap these days and if you really need more performance of a HDD you can add another one and run it as RAID for performance improvement. Or use LVM in striped mode for better similar performance increase. Or even combine LVM and RAID.
I have 5 or 6 HDD in my old PC, from WD Black 250 GB 7200 RPM drives to WD 20 EARX drives holding 2 TB on 5600 (or 5900 ?) RPM disks. In this case the "slower" disks aren't any slower than the faster (7200 RPM) disks because of the higher density of the larger disks.
I would refrain from getting the latest 3 TB disks though, having read plenty of user reports about their troubles.
As for MySQL and database usage, I'm not an expert but I believe a RAID setup would improve data write and read speed, if that is not sufficient on your system.
Make sure you adjust the /etc/fstab file for your SSD drive/partitions to enable trim support on ext4 partitions (using "discard") and noatime to reduce the writes to your SSD (see http://wiki.debian.org/SSDoptimization for an example).
I read it in some place that it's better not to have /etc and /tmp on the SSD, but have the / and /boot on the ssd, with the /home on the HDD. One article also mentioned to move the browser cache files to the HDD, as it get a lot of writes.
Arch Linux has an entire page of information on SSD optimizations.
I don't think adding memory is any problem, should work actually as long as the CAS latency and the timings and the speed are the same.
It actually helps if you got the exact same model of memory sticks you have right now in your system.
Here's a discussion link .. in case you're interested
Regarding memory upgrade, it depends on what system / chipset you have and of course on the memory itself. I've got no experience with Sandybridge (e.g. i5 or i7 2xxx and 38xx series), but with the Sandybridge-E (i7 3930K for example) with the X79 chipset and you could be facing some surprises. Memory kits for those systems (and even the regular Sandybridge systems) are matched, that is the DIMMs are matched to meet the performance etc. requirements. Not even that can guarantee you a working memory kit, it also depends on the motherboard and the motherboard BIOS revision.
I've had good experience with Kingston memory, in my case a 32GB quad channel PC 1600 memory kit. The quad-channel kits are only relevant to X79 boards where the memory controller is on the i7 39xx CPU.
Trying DIMMs from different vendors is certainly not advised, but even 2 16GB kits of the same vendor may or may not work. And the more memory you have the bigger the chances for memory errors. Unless you invest in a server platform, but that will cost you.
It's unfortunately not only about CAS latency and timing, but also about voltages such as Vcore, VCCSA, CPUVTT, etc. and secondary timings such as DRAM REF Cycle Time (tRFC) and about 3-4 dozens of other adjustments one can tweak. Some memory kits play better with certain motherboards than others. In the ideal case, all you have to do is enable XMP and it should work. But that is the ideal case. Some settings are also damaging the CPU on the long run, for instance high VCCSA and Vcore voltages. Lots of memory can also put a high load on your motherboard voltage regulators and you may have to consider that as well (extra cooling, etc.).
Motherboard manufacturers are also fast in advertising support for lots of memory, but in practice their motherboard design or their BIOS software may not be up to the task. Running 8GB or 16GB is one thing, running 32GB or even 64GB is a totally different story.
As I said before, I had a hard time getting 32GB to work. I'm now running the Kingston 8x4GB memory kit which worked out of the box. But please check specifically for your motherboard and CPU, as things may be totally different for that.
I just read the thread you were pointing to - sorry I missed it out before. Also, I re-read your original post and understood that the SSD was optional, but I gather you are planning to get the SSD.
Installing 16 GB may be OK in most cases, depending on motherboard and BIOS and RAM, but above that could be more tricky. In any case, I would stick with complete kits (e.g. a 16 GB kit or a 32 GB kit) and not try to match two (or more) kits. It may work, but there is no guarantee.