Baz SQL jest wiele, w większości mają podobne zastosowania, załóżmy czysto teoretycznie, że zaczynamy coś czysto od zera i nie jesteśmy związani żadnymi wymogami, którą bazę wybrać?
Zakładam, że jest sens użyć SQLa, czyli że odpowiedź nie brzmi: żadną ani: Jakiś NoSQL
Niewiele wiem o różnicach między bazami, ale na intuicję scharakteryzowałbym je tak:
- Postgres: Cool kid on the block, defaultować do niej. Baza robiona przez ludzi, którzy mają mózgi, w przeciwieństwie do pozostałych baz (tak się wypowiedział na jej temat wykładowca na uczelni). Darmowa. W zasadzie najlepsza?
- MSSQL: Jak się robi coś w dotnecie? Oprócz tego płatna, sensowna ale nieco gorsza alternatywa Postgresa?
- OracleDB: Jak MSSQL, tylko do Javy
- MariaDB / MySQL: Bardzo popularne, ale raczej marne. Czemu wszyscy tego używają? MariaDB jest jak MySQL, ale lepsza.
- SQLite: Jedno zastosowanie: Jeśli chce się uniknąć serwera bazy danych, bardzo by chciało zmieścić się w DLLce (np. w przypadku przeglądarki internetowej ma to sens). Oprócz tego NIE
Czyli: Albo wiesz, co robisz, i bierzesz to, co ci potrzebne; albo, jak po prostu potrzebujesz JAKIEJŚ bazy, to idź w Postgresa? (Albo cokolwiek jest domyślnego w twoim środowisku, tj. jeśli dotnet wepchnie ci mssql to niech tam będzie)
Domyślam się, że to mogą być głupoty, co napisałem. Jakie byłoby więc sensowniejsze podsumowanie dostępnych baz?
Domyślam się, że przy zaczynaniu nowego projektu to może być częste zjawisko: potrzebuje się JAKIEJŚ bazy, ale nie ma się eksperckiej wiedzy na temat baz, więc wyboru trzeba dokonać "na czuja". Stąd myślę, że jakieś ogólne guidelines mogłyby być przydatne
A może odpowiedź brzmi: To nie ma najmniejszego znaczenia? I tak będzie się najprawdopodobniej używać jakiegoś ORMa. Czy ORMy abstrahują bazy na tyle dobrze, że różnice zaczynają być nieistotne, można równie dobrze rzucić monetą?