What relational database system should I learn? [closed]
- by acidzombie24
At the moment i know sqlite (my favorite), mysql (its ok, i get annoyed) and i do not want to learn ms/t sql (it only allows one nullable row if the column is unique).
I am thinking about learning a new database system. My requirements for it is
Must allow multiple connections at once (read and write)
All or data i choose must be ACID compliant
Performance should be good. I have a 17gb table in one project. It should perform well on read and transactional writes. With mysql it took hours to restore it and there were no foreign keys on that specific table. It only finished in a workday because i found a suggestion to adjust a setting which i think was key-buffer. And it still took hours
Unique columns that allow more then one row to be null. I shouldn't have to say it but dammit MS.
Allows one to make ongoing backups. Something like 'binary logs'. Some relatively small amounts of data i can grab and apply it to my local db to have it in sync with the one on the server.
Table joins. I rather not write a bunch of queries to simulate a join
What I would like but is not required
Foreign keys. This may be a requirement later
Open sourced
Fair tool support. So i can measure queries, easily backup/restore, etc
.NET and C (or C++) interface. (I seen one that uses raw tcp with JSON which was okish)
Good subquery support. Once i was working with an older version of mysql (i believe <5.1 but it could have been 5.1) and i had to write many queries to do one query because it couldn't do subqueries. Or maybe it couldnt do it efficiently and died bc of memory limitations with a huge dataset.
What db system should i learn?