Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jaką bazę danych wybrać?
sweter
post
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam wszystkich,

W aplikacji, którą właśnie zaczynam tworzyć będę musiał korzystać z relacyjnej bazy danych.
Jest jednak pewno "ale": wiem, że zapytań "insert" i "update" będzie w sumie 2 (lub więcej) razy więcej niż "select".

Pytanie: jaki silnik bazodanowy powinienem wybrać?


--------------------
Go to the top of the page
+Quote Post
mstraczkowski
post
Post #2





Grupa: Zarejestrowani
Postów: 273
Pomógł: 52
Dołączył: 3.02.2013
Skąd: Przemyśl

Ostrzeżenie: (0%)
-----


Trochę mało informacji podałeś.

Dużo zależy od tego jak duża ta baza danych będzie, jeżeli mówimy o ilościach rekordów w milionach to moim zdaniem Postgres lepiej się spisze niż MySQL.
Jeżeli baza danych ma być mniejsza, to myślę że MySQL z poprawnie zaprojektowaną strukturą spokojnie sprosta wszelkim wymaganiom.


--------------------
Jeżeli moja wypowiedź Ci pomogła użyj przycisku
Go to the top of the page
+Quote Post
masahuku
post
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 4
Dołączył: 11.12.2009

Ostrzeżenie: (0%)
-----


A ja się z kolegą wyżej nie zgodzę, choć jest to opinia oparta tylko na własnych doświadczeniach (ale za to serwisach niemałych). Wydajnościowo MySQL w moich "benchmarkach" radził sobie lepiej właśnie z dużą ilością danych. Do tego MySQL jest, również moim zdaniem, przyjaźniejszy dla programistów.
Postgres jest bardziej "pro-feel", bardziej rozbudowany i mniej tolerancyjny od MySQL dlatego zalecałbym go przede wszystkim do jakiś systemów związanych z cyferkami. Lepiej też spisze się w systemach gdzie dużo rzeczy dzieje się "po stronie bazy" - sekwencje, triggery itp. Postgres jednak ma TRA-GI-CZNE GUI w postaci pgAdmin'a, który swoją stabilnością nieraz doprowadzał mnie do płaczu. Wiem, że są alternatywy, ale jak powiedziałby Sean Connery "The damage is done".

P.S Jeśli mówimy o Insertach w "milionach" per dzień to pozostaje polecić Oracle Database smile.gif.

Ten post edytował masahuku 25.02.2013, 23:52:30
Go to the top of the page
+Quote Post
Zielonkawy18
post
Post #4





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


Też nie ograniczajmy się do Oracle tylko, z przeogromną ilością danych świetnie radzi sobie również SQL Server. Co do Postgres-a, miałem z nim do czynienia przez jakieś 2 miesiące kiedy pomagałem w budowanie SI, co prawda dane w pojedynczych tabelach nie przekraczały 8 milionów, ale całkiem nieźle sobie radził z pobraniem dużej ilości rekordów gdzie panowało dość dużo złączeń tabel. PgAdmin mnie nie zraził - albo nie miałem tego pecha co być może Ty. Pozwala na mocne zautomatyzowanie pracy.

Zresztą nie sądzę aby chodziło o taki nawał rekordów. Może zapytajmy w jakiej technologii będzie aplikacja, która będzie z tego korzystać bo jak jakaś desktopowa aplikacja to SQLIte, Acces , Mysql na localu hm?


--------------------
C/C++/C#/JAVA/SQL ( funkcje, procedury, pakiety ).
Go to the top of the page
+Quote Post
skowron-line
post
Post #5





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Dużo insertów to może mysql z tabelami myisam.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Damonsson
post
Post #6





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


To ktoś jeszcze używa MyISAM? wink.gif
Go to the top of the page
+Quote Post
sabat24
post
Post #7





Grupa: Zarejestrowani
Postów: 175
Pomógł: 26
Dołączył: 13.09.2007
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


A dlaczego miałby nie używać?
Go to the top of the page
+Quote Post
Damonsson
post
Post #8





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Jakieś plusy, przewaga nad InnoDB?

Ten post edytował Damonsson 6.03.2013, 12:06:49
Go to the top of the page
+Quote Post
skowron-line
post
Post #9





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Cytat(Damonsson @ 6.03.2013, 12:06:14 ) *
Jakieś plusy, przewaga nad InnoDB?

Nie jest tu wprawdzie napisne jaka jest przewaga ale są plusy i minusy opisane
http://stackoverflow.com/questions/1647023...-we-are-buildin


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
mstraczkowski
post
Post #10





Grupa: Zarejestrowani
Postów: 273
Pomógł: 52
Dołączył: 3.02.2013
Skąd: Przemyśl

Ostrzeżenie: (0%)
-----


Pewnie, że MyISAM jest używane i to bardzo często ponieważ jest w większości przypadków dużo szybsze od InnoDB.
Dodatkowo MyISAM obsługuje indeksy pełnotekstowe FULLTEXT, oraz jej COUNT jest dużo szybszy, ze względu na jej cache indeksów.
MyISAM jest także lżejsze (mniej waży) niż tabela o takiej samej strukturze w InnoDB.

MyISAM świetnie się sprawdza w sporych tabelach, ja przykładowo stosuję ją do tabeli logów zdarzeń

Ten post edytował mstraczkowski 6.03.2013, 12:30:56


--------------------
Jeżeli moja wypowiedź Ci pomogła użyj przycisku
Go to the top of the page
+Quote Post
Damonsson
post
Post #11





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


4 lata temu to były plusy, dziś już można je włożyć między bajki myślę.

Może ja nie umiem używać MyISAM, ale InnoDB jest nieporównywalnie szybsze przy jednoczesnym INSERT setek rekordów.

Ten post edytował Damonsson 6.03.2013, 12:33:53
Go to the top of the page
+Quote Post
mstraczkowski
post
Post #12





Grupa: Zarejestrowani
Postów: 273
Pomógł: 52
Dołączył: 3.02.2013
Skąd: Przemyśl

Ostrzeżenie: (0%)
-----


Z moich niedawnych testów wynikała odwrotna sytuacja, gdyż INSERTY do MyISAM o takiej samej strukturze jak InnoDB, przebiegły dużo szybciej i była to różnica zauważalna gołym okiem nawet bez liczb.

Ten post edytował mstraczkowski 6.03.2013, 12:37:16


--------------------
Jeżeli moja wypowiedź Ci pomogła użyj przycisku
Go to the top of the page
+Quote Post
Damonsson
post
Post #13





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Pytanie, czy testy były tak wiarygodne jak stwierdzenie, że InnoDB nie "obsługuje indeksy pełnotekstowe FULLTEXT"?

Co do tego, że SELECT może być szybsze w MyISAM, mógłbym ewentualnie się zgodzić, ale to i tak jest na tyle mało prawdopodobne i różnice są praktycznie niezauważalne. Choć podejrzewam, że jeszcze parę wersji MySQL i nawet mikro sekundowe różnice się zatracą, albo będą na korzyść InnoDB.

Ten post edytował Damonsson 6.03.2013, 13:13:10
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 06:55