Dlaczego nie mysql?

0

Przeglądając różne tematy na tym forum, widzę dużą niechęć do MySQL i się zastanawiam dlaczego? Oczywiście mowa tu o aktualnej wersji a nie zaszłościach historycznych. Jedyną alternatywą jest Postgres, gdzie bez problemu można sobie go domówić na hostingu. No, ale czemu na MySQL taki jest hejt na niego?

0

napiszę z mojej perspektywy
na serwis www, który będzie stał na jakimś hostingu jak najbardziej może być - nie ma problemu z licencjami, serwis zazwyczaj nie jest bardzo wymagający.
dla aplikacji, które będą miały własny serwer, czyli tam gdzie trzeba pobrać mysqla i zainstalować zaczyna się problem z licencjami.
Dla mnie osobiście ma skrzywionego SQLa - np. brak konieczności grupowania po wszystkich kolumnach, które nie są np. sumowane (np. SELECT a, b, c, sum(d) FROM tab zadziała na mysqlu i chyba tylko na nim).

Co do alternatyw to jest ich znacznie więcej, ba nawet giganty mają darmowe wersje także do użytku komercyjnego.

3

oprócz "słynnego" grupowania:

  1. jest nieobliczalny, czasem zapytanie z niewiadomych przyczyn za 1001 razem nie zxadziała
  2. uwaga na triggery - nie możesz w nich updejtować tabel, które są w zapytaniu wyzwalającym ten trigger. Np http://sqlfiddle.com/#!9/79b4ff/1 pierwsze dwa się wykonają, kolejne dwa nie... (oczywiście na na sqlfiddle, bo tam nie moze byc update)
  3. brak check
  4. we view nie zrodlem nie moze byc subquery
  5. SELECT 'ala'='ALA ' ( i wszelkie tego konsekwencje)
  6. zjeb*** WITH ROLLUP z HAVINGiem

to tak na szybko - reszte bym musial w zapiskach poszukac

0

z tymi kolumnami w Group by to fakt - bardzo zły nawyk.
Co do innych baz to korzystam z MSSQL express, ale to raczej dla apek desktopowych z dedykowanym serwerem. No, ale jej nie postawisz na dowolnym hostingu na Linux :)
MySQL preferowałem dla apek webowych (a i tak korzystam z ORMa). Mimo wszystko jakoś nie jestem przekonany do porzucenia tego na rzecz Postgresa (może przez przyzwyczajenia i wygodny PMA).

0

Alternatywą dla MySQL jest raczej SQLite.

Kolejność jest mniej więcej taka:

  • baza web read-only: XML/JSON, SQLite
  • wizytówka strony, mały sklep, blog, forum z małą liczbą transakcji: MySQL
  • niskobudżetowa baza transakcyjna: PostgreSQL
  • niskobudżetowa baza transakcyjna z perspektywą wymogu kupna komercyjnej, droższej wersji pakietu: darmowe wersje DB2, Oracle, MS SQL
  • baza klasy enterprise (cluster, integracja z LDAP, replikacja, szybkie i małe backupy, HA): to już każdy sobie coś tam wybierze w zależności od portfela

Można by się zastanawiać dlaczego nie wszędzie PostgreSQL. To jest dobre pytanie. Podejrzewam że ma pewne braki w rozwiązaniach enterprise, ale nie znam szczegółów.
Dlaczego PostgreSQL nie jest stosowany tak często w najtańszych rozwiązaniach? Pewnie zaszłość historyczna - każdy PHPowiec zna przede wszystkim MySQL.

Ciekawostka: PostgreSQL ma emulację składni Oracle.

0

Witam,

Alternatywą dla MySQL i ogólnie dla relacyjnych baz danych są bazy typu NoSQL jak np MongoDB no ale to już zależy do czego jest Ci potrzebna.

1 użytkowników online, w tym zalogowanych: 0, gości: 1