Marcin Bronicki

Marcin Bronicki kierownik, własna

Temat: MySQl czy PostgreSQL do konkretnego zadania.

Mamy produkcję na Oracle, ale zapytania i analizy muszą być robione gdzie indziej (oracle zoptymalizowany pod inserty).
Pieniędzy na nową licencję oczywiście nie ma, mam do wyboru MySQL lub PostgreSQL. Co wybrać?
Założenia:
Ładowanie
- ładowanie nowych danych w trybie nocnym
- kilka tabel po 80 mln-120 mnl wierszy
- przyrost o 50 tys-150 tys dziennie rekordów w zależności od tabeli.
W dzień żadnych insertów, tylko pytania.

Korzystanie z danych
- mało zapytań (kilkaset dziennie), po identyfikatorach, więc prawie zerowe obciążenie
- analizy to już mieją na całego, przyrosty, średnie ruchome, agregacje itp, jak sie czegoś nie da to ładowanie do R.
- Dobra współpraca z Oracle
- By obsługa była jak najbardziej podobna do Oracle :), nie chcę się za dużo nowych rzeczy uczyć. A więc, procedury, wyzwalacze, joby itp. Dobrze by baza miała coś jak PL/SQL. Jak by były odpowiedniki Oraclowych funkcji analitycznych to bym się nie obraził.

Wiem ze obie bazy MySQl i PostgreSQL są raczej pod inne zapytania a więć dużo i krótko, u mnie raczej będzie (oprócz tych kilkuset) mało zapytań ale młócenie na całego.
Co proponujecie?

konto usunięte

Temat: MySQl czy PostgreSQL do konkretnego zadania.

Raczej PostgreSQL.
- Jest język proceduralny pl/pgsql, który w większości wygląda podobnie jak pl/sql (różnice są, ale to da się obejść)
- Migracja schematu może być robiona za pomocą ora2pg (aczkolwiem nie używałem tego) można też spokojnie zrobić to ręcznie.
- Możesz wyciągać dane z oracla bezpośrednio z postgresa, hint: dbi-link.
- Do jobów zewnętrzny tool: pgagent (podobno działa, nie używałem)

"Wiem ze obie bazy MySQl i PostgreSQL są raczej pod inne zapytania a więć dużo i krótko, u mnie raczej będzie (oprócz tych kilkuset) mało zapytań ale młócenie na całego."

Co to znaczy? No i zdefinuj 'młócenie na całego'.
Marcin Bronicki

Marcin Bronicki kierownik, własna

Temat: MySQl czy PostgreSQL do konkretnego zadania.

Szymon G.:
Co to znaczy? No i zdefinuj 'młócenie na całego'.

Dzięki za pozostałe porównanie.
Jęśli zaś chodzi o ten fragment to chodzi mi o młócenie co zapytania to analiza wszystkich wieszy ze złączeniami exisist not exists, średnie, odchylenia, sumy, wartości odstające. A więc nie chodzi by po unikalnym identyfikatorze wyszukać przysłowiowego kowalskiego (to wszędzie milisekundy trwa) ale by odszukać takich a takich którzy odstają od reszty. Od razu powiem że na hurtownię to też nie ma czasu ani jak to bywa pieniędzy :).
Wojciech Zieliński

Wojciech Zieliński IT
Project/Programme/Pe
ople Manager
(PRINCE2
Practicioner...

Temat: MySQl czy PostgreSQL do konkretnego zadania.

Zdecydowanie PostgreSQL - nie tylko z uwagi na to, co napisał Szymon, ale również z uwagi na fakt, przy bardziej złożonych zapytań (takich, jak pisałeś - analitycznych) MySQL ustępuje również wydajnością.
Sami zrobiliśmy system do analiz danych z różnych źródeł i replikowanych właśnie do Postgresa - COBAEX RPT. I wybór Postgresa podyktowany był właśnie złożonymi zapytaniami analitycznymi.

konto usunięte

Temat: MySQl czy PostgreSQL do konkretnego zadania.

Wojciech Zieliński:
Zdecydowanie PostgreSQL - nie tylko z uwagi na to, co napisał Szymon, ale również z uwagi na fakt, przy bardziej złożonych zapytań (takich, jak pisałeś - analitycznych) MySQL ustępuje również wydajnością.
Sami zrobiliśmy system do analiz danych z różnych źródeł i replikowanych właśnie do Postgresa - COBAEX RPT. I wybór Postgresa podyktowany był właśnie złożonymi zapytaniami analitycznymi.

a czy ta reklama jest absolutnie konieczna?
jakimś amwayem zalatuje

konto usunięte

Temat: MySQl czy PostgreSQL do konkretnego zadania.

PG ma funkcje okienkowe - np. RowNum działa, radzi sobie z dowolnym zagnieżdżeniem podzapytań.
Jakoś od wersji 8.3 potrafi łączyć seq-scany. Czyli jak idą dwa zapytania, które czeszą całą, wielką tabelę - potrafi zrobić to jednym przejściem.
Proponuję pomyśleć o partycjonowaniu danych i indeksów. Nowe wersje ładnie sobie z tym radzą, a późniejsze zarządzanie będzie wygodniejsze.
Typy tablicowe, hi-store i parę innych rozwiązań może posłużyć do budowania kostek olapowych. Tak, wiem są gotowe rozwiązania, a to nie jest doskonałe, ale zawsze lepiej to jak nic.

Jeżeli coś ma przypominać Oracle to może EnterpriseDB zarząd zaakceptuje?

Jeżeli analizy mają być z góry określone - to może lepiej zgrać dane częściowe - np. python i peklowanie? Potem tylko strona, na której użytkownik określa parametry - i dostaje wyniki.

konto usunięte

Temat: MySQl czy PostgreSQL do konkretnego zadania.

Michał Z.:
Typy tablicowe, hi-store i parę innych rozwiązań może posłużyć do budowania kostek olapowych. Tak, wiem są gotowe rozwiązania, a to nie jest doskonałe, ale zawsze lepiej to jak nic.

Co to jest 'hi-store'?
Marcin Bronicki

Marcin Bronicki kierownik, własna

Temat: MySQl czy PostgreSQL do konkretnego zadania.

Michał Z.:
Co to jest 'hi-store'?

Wysokie składowanie?

konto usunięte

Temat: MySQl czy PostgreSQL do konkretnego zadania.

marcin bronicki:
Michał Z.:
Co to jest 'hi-store'?

Wysokie składowanie?

No chyba, że chodziło o hstore (bo to jest w Postgresie)

konto usunięte

Temat: MySQl czy PostgreSQL do konkretnego zadania.

"
- kilka tabel po 80 mln-120 mnl wierszy
- przyrost o 50 tys-150 tys dziennie rekordów w zależności od tabeli."

Zdecydowanie PostgreSQL. MySQL nawet na serwerach Sun-a z Solarisem zoptymalizowanych pod kątem MySQL wątpie aby to wytrzymał ..
Marcin Bronicki

Marcin Bronicki kierownik, własna

Temat: MySQl czy PostgreSQL do konkretnego zadania.

pobrałem PostgreSQL będę testować :)
Rafał Kiełbus

Rafał Kiełbus #blockchain
developer, #bitcoin
maximalist,
#ethereum mage

Temat: MySQl czy PostgreSQL do konkretnego zadania.

Hmm... wygooglałem:
http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL

Polać im czy wlać za porównanie? ;]

konto usunięte

Temat: MySQl czy PostgreSQL do konkretnego zadania.

Rafał Kiełbus:
Hmm... wygooglałem:
http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL

Polać im czy wlać za porównanie? ;]

Ogólnie bardzo ładne porównanie, tak pobieżnie przejrzałem i nie jest złe.

konto usunięte

Temat: MySQl czy PostgreSQL do konkretnego zadania.

Szymon G.:
marcin bronicki:
Michał Z.:
Co to jest 'hi-store'?

Wysokie składowanie?

No chyba, że chodziło o hstore (bo to jest w Postgresie)
>
Tak właśnie. Dysleksję mam i w nazwach zwykle daję ciała...
Przepraszam za zamieszanie.

Następna dyskusja:

MySQL vs PostgreSQL vs Orac...




Wyślij zaproszenie do