Dziś jest piątek, 9 stycznia 2009 roku (z kalendarza...)

InnoDB

Icon

03.02.2006, 12:52

PHP

Komentarze (4)

Powrót

Chodzi mi po głowie pomysł na nowy silnik zawartości witryny WWW, znacznie bardziej elastyczny od przypisywania kategorii na sztywno. Dotychczasowe moje doświadczenia z projektowaniem bardziej rozbudowanych baz mówią mi, że zarządzanie nimi wymaga olbrzymiej liczby zapytań i pewności, że są one bezbłędne. Wystarczy jedna, najmniejsza pomyłka, aby powstały widoczne gołym okiem przekłamania.

To oczywiście wina ograniczeń MyISAM, stąd moje zainteresowanie zwróciło się ku InnoDB opartemu na transakcjach. Jestem właśnie po lekturze dokumentacji. InnoDB ma dużo zalet, m.in. dużą prędkość działania, wsparcie dla transakcji oraz obsługę FOREIGN KEY pozwalającą na zmniejszenie ilości wysyłanych zapytań przy np. kasowaniu rekordów. Przeraża mnie jedynie ilość możliwych do aranżacji problemów związanych z używaniem go. Martwe blokady, przerośnięte dzienniki zmian, intrygująca implementacja flagi AUTO_INCREMENT dały mi nieco do myślenia. To zupełnie inny kaliber spraw i coś mi się zdaje, że miałbym z nim teraz tyle samo roboty, co z zaprogramowaniem wszystkiego ręcznie na MyISAM. Czy pracował ktoś wystarczająco długo na ww. typie, aby móc rozwiać/potwierdzić moje obawy i dać mi kilka rad na początek?

Powrót

Przypisy:

Komentarze

Napisał Zone w piątek, 3 lutego 2006 o 23:39

Nie pracowałem nigdy na InnoDB, ale jako, że czytałem coś ostatnio na ten temat, to streszczę to w ten sposób. Opisują, że InnoDB posiadają cechy BDB, a przy BDB praca tych tabel jest wolniejsza niż w przypadku tabel typu MyISAM. (Cytat z PHP & MySQL. Tworzenie stron www). To znów lekko mi sie kłuci z tym co przeczytałem właśnie w MySQL - Essential Skills: InnoDB has been designed for maximum performance when processing large data volumes, so if your database includes large amounts of data and handles a lot of traffic, InnoDB may provide the speed and reliability you require....So, in a nutshell, most users that need a transactional database prefer the speed and features of InnoDB. Jak już zaczniesz obczajać z czym to się je, to pisz, chętnie poczytam.Pozdrawiam.

Napisał misiek w wtorek, 7 lutego 2006 o 09:24

hmm nie wiem z czym macie problem :) ja osobiscie uzywam InnoDB juz od dluzszego czasu a co mi to daje? klucze obce i zwiazane z tym bonusy oraz prawdziwe transakcje :)

wydajnosc InnoDB jest nieco mnijsza niz MyISAM ale to jeszcze zalezy w jakich zapytaniach, wielkosci bazy itp. generalnie tych kilku ms sie nie odczuje w normalnej pracy :)

faktem jest to ze jest tam pewna "namiarowosc" danych tabele InnoDB zajmuja wiecej miejsca niz ich odpowiedniki w MyISAM ale to tez niewielki koszt tego co sie dostaje w zamian.

A jesli MySQL AB wcielilo InnoDB jako produkcyjny proukt to chyba wytestowali go odpowiednio mocno :) i nie nalezy sie obawiac jego uzycia :)

pozdrawiam
Pawel

Napisał Zyx w sobotę, 11 lutego 2006 o 07:45

Skoro piszesz, że nie widzisz tam jakichś większych problemów, to spróbuję się tym pobawić.

Napisał Gizmo w poniedziałek, 16 kwietnia 2007 o 17:51

Dzięki InnoDB MySQL wreszcie stał się bazą danych. Nie wyobrażam sobie obecnie pisania w PHP całej zbędnej logiki wynikającej ze zwykłych relacji pomiędzy tabelami.
Ale niestety zawsze "coś kosztem czegoś".
Jakie było moje zdziwienie kiedy zacząłem testować czas wykonania pętli 20-tu UPDATE'ów dla typu InnoDB i MYISAM.
MYISAM jest ok. 5 razy szybszy. :/

Strona 1 z 1 :: 1

Skomentuj

NickInformacja
E-mailTylko do użytku wewnętrznego.
WWWNie zapomnij o http://
LayoutNapisz tu, czy widzisz dzienny czy nocny layout.
WpisFormatowanie wiki
Internauto, pamiętaj! Wolność to nie samowola - dbaj o kulturę wypowiedzi oraz dyskusji w sieci.

Na Zyxist.com panuje swoboda wyrażania opinii oraz krytyki pod dowolnym adresem. Jedyny warunek: musi być ona kulturalna i rzeczowa. Na chamstwo, prostactwo lub jawne obrażanie kogokolwiek nie ma tu miejsca i takie komentarze są bardzo szybko usuwane. Jeśli zamierzasz polemizować z treścią wpisu, wpierw uważnie ją przeczytaj.

© Tomasz "Zyx" Jędrzejewski 2005 - 2009 | Wykonanych zapytań: 2 | Serwer wirtualny zapewnia