Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zasady pisania na forum Pro

Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.

> Duże aplikacje i load balancing, Czyli co i jak zrobic jak maszyna nie daje rady
kwiateusz
post
Post #1


Admin Techniczny


Grupa: Administratorzy
Postów: 2 072
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




Temat założony na prośbę SHIPa oraz normanosa traktujący o rozkładaniu obciążenia na wiele maszyn
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Krolik
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.11.2004

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


Rashid, porównujesz z MySQLem i słusznie zauważyłeś, że MySQL w wielu przypadkach najszybszy nie jest.
Jeśli masz wybór jedynie BDB vs MySQL, to faktycznie BDB może w wielu sytuacjach byc lepzym rozwiązaniem i tu się calkowicie zgadzam.

Natomiast w poprzednich postach pisałem bardziej ogólnie, chodziło mi po prostu o RDBMS, jako taki, nie jakąś konkretną implementację, jak MySQL,
który jest jedną z gorszych implementacji systemu relacyjnego na rynku. No, a skoro mówimy o load-balancingu, to rozumiem, że wchodzą w grę nie tlylko rozwiązania niskobudżetowe.


Cytat
- przetwarzanie SQL

Realnie kosztuje 0, plany wykonania zapytań w dobrych RDBMSach są buforowane.
A nawet jeśli nie są domyślnie, to są, gdy się użyje prepared statement.

Cytat
- zarzadzanie indeksami

Utrzymania indeksów nie unikniesz też w BDB jeśli gdziekolwiek masz aktualizacje.
Każdy hash w BDB jest indeksem.

Cytat
- zarzadzanie sesjami i transakcjami

Nie ma żadnego powodu, aby transakcje w BDB kosztowały mniej niż w RDBMS.
Można ręcznie określić poziom izolacyjności transakcji. Nie potrzebujesz, ustawiasz
na "NONE" lub 0, narzut znika.


Cytat
- rozbudowane operacje w pamieci

Ogólnik. Konkrety?

Cytat
- posrednia warstwa sieciowa

Jaka warstwa sieciowa? Oracle Embedded, H2, JavaDB, SQLite nie potrzebują warstwy sieciowej.
A nawet jeśli - od czego jest GigaBit Ethernet?

Cytat
- przenoszenie danych pomiedzy przestrzenia adresowa serwera bazy a programem przetwarzajacym dane

W RDBMSach wbudowanych, podobnie jak punkt poprzedni - problem nie występuje.
W rozwiązaniach klient-serwer, też rzadko jest to problemem. Tu są szybkości rzędu kilku, kilkunastu GB/s.
No i jeszcze stosuje się buforowanie wyników zapytań po stronie klienta.
Go to the top of the page
+Quote Post
rashid
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 22.11.2003

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


Cytat(Krolik @ 5.01.2009, 11:43:18 ) *
Realnie kosztuje 0, plany wykonania zapytań w dobrych RDBMSach są buforowane. A nawet jeśli nie są domyślnie, to są, gdy się użyje prepared statement.


Nic w przetwarzaniu danych nie kosztuje 0. Zawsze bedzie odwolanie do managera zapytan, sprawdzenie czy prepared statement jest gotowy, wczytanie wewnetrznych instrukcji bazy dla danego zapytania, zaalokowanie pamieci na wynik itd. Google projektuje swoje bazy danych w taki sposob, zeby kolumny wczytywaly sie w pelni do pojedynczych rejestrow procesora albo w obrebie stron pamieci, a ty mowisz, ze przetwarzanie SQL nic nie kosztuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Kosztowac moze wzglednie malo w porownaniu z samym przetwarzaniem danych, ale darmowe nie jest.

Cytat(Krolik @ 5.01.2009, 11:43:18 ) *
Utrzymania indeksów nie unikniesz też w BDB jeśli gdziekolwiek masz aktualizacje.
Każdy hash w BDB jest indeksem.


Tutaj trafiasz w sedno - hash (chyba najpopularniejsza struktura danych dla BDB) jest indeksem sam w sobie. Zlozonosc dostepu O(1). W RDBMS indeks moze byc przechowywany w BDB. Indeks - element, ktory ma przyspieszac wczytywanie danych z tabeli, moze byc przechowywany w BDB! Jesli BDB byloby wolniejsze od RDBMS to jaki sens mialoby uzywanie go do przyspieszania?

Cytat(Krolik @ 5.01.2009, 11:43:18 ) *
Nie ma żadnego powodu, aby transakcje w BDB kosztowały mniej niż w RDBMS.
Można ręcznie określić poziom izolacyjności transakcji. Nie potrzebujesz, ustawiasz
na "NONE" lub 0, narzut znika.


Zakladajac, ze mozna tez wlaczyc tryb jednouzytkownikowy, z pojedyncza sesja i bez sprawdzania uprawnien do tabel, to pewnie RDBMS zacznie sie zblizac wydajnosciowo do BDB.

Cytat(Krolik @ 5.01.2009, 11:43:18 ) *
Ogólnik. Konkrety?


(zarzadzanie pamiecia) Indeksy, uprawnienia, prepared statements. Sa tony rzeczy, ktore musisz powylaczac w RDBMS, zeby wyciagnac z niej maksimum wydajnosci. Zgadzam sie, ze to ogolnik, bo nie czuje sie na silach dyskutowac szczegolowo o technicznych aspektach Oracle. Opieram sie na pobieznym zapozaniu sie z architektura.

Cytat(Krolik @ 5.01.2009, 11:43:18 ) *
Jaka warstwa sieciowa? Oracle Embedded, H2, JavaDB, SQLite nie potrzebują warstwy sieciowej.
A nawet jeśli - od czego jest GigaBit Ethernet?
W RDBMSach wbudowanych, podobnie jak punkt poprzedni - problem nie występuje.
W rozwiązaniach klient-serwer, też rzadko jest to problemem. Tu są szybkości rzędu kilku, kilkunastu GB/s.
No i jeszcze stosuje się buforowanie wyników zapytań po stronie klienta.


Jasne, ze mozna RDBMS osadzic i powylaczac mu wszystkie funkcje, zeby wycisnac maksimum. Tylko po co, skoro BDB ma to od razu?

Ciekawostka jest, ze jednym z elementow Oracle Embedded jest Oracle Berkeley DB - dlaczego skoro zwykly Oracle Embeddable powinien byc szybszy? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Mozemy sie spierac, ale najlepiej byloby to oczywiscie przetestowac. Ja ze swojej strony moge powiedziec, ze w jednym projekcie, ktory polozyl na lopatki MySQL ze wzgledu na duza ilosc insert'ow i delete'ow po przejsciu na BDB praktycznie nie odczuwamy istnienia bazy. Oczywiscie musze tu podkreslic, ze baza jest z gruntu nierelacyjna - taki urok przetwarzanych w niej danych.

Chcialbym zauwazyc, ze troche mozemy miec rozne spojrzenie na ten watek. Wydaje mi sie, ze ty odnosisz sie do skalowalnosci ogolnie (co w zasadzie wynika z tematu watku), a ja do konkretnego problemu, ktory zostal w tym watku opisany.
Go to the top of the page
+Quote Post

Posty w temacie
- kwiateusz   Duże aplikacje i load balancing   2.08.2008, 18:53:14
- - LBO   Muskający powierzchnię tematu wpis na blogu Talena...   2.08.2008, 19:01:00
- - wrauk   dzięki za link do mojego bloga, widzę, że temat os...   4.08.2008, 20:33:26
- - Kocurro   No to Panowie zaczynajmy - może na początek odnosz...   5.08.2008, 11:02:55
- - wlamywacz   A jest możliwość utworzenia dysku sieciowego i na ...   5.08.2008, 12:25:49
- - Kocurro   Pomysł dość dobry ale wydaje mi się, że problemem ...   5.08.2008, 12:37:12
- - wrauk   Soft do obsługiwania takich sesji już istnieje i n...   5.08.2008, 12:55:10
|- - Sedziwoj   Cytat(wrauk @ 5.08.2008, 13:55:10 ) M...   5.08.2008, 13:41:27
- - wlamywacz   CytatPomysł dość dobry ale wydaje mi się, że probl...   5.08.2008, 21:09:04
|- - mike   Cytat(wlamywacz @ 5.08.2008, 22:09:04...   5.08.2008, 21:18:30
|- - wrauk   Cytat(wlamywacz @ 5.08.2008, 22:09:04...   5.08.2008, 21:22:56
- - jarek_bolo   Witam, specjalnie doświadczony nie jestem, ale tak...   5.08.2008, 22:08:59
|- - wrauk   Cytat(jarek_bolo @ 5.08.2008, 23:08:5...   6.08.2008, 07:56:52
|- - jarek_bolo   Cytat(wrauk @ 6.08.2008, 08:56:52 ) Z...   6.08.2008, 08:51:23
|- - wrauk   Cytat(jarek_bolo @ 6.08.2008, 09:51:2...   6.08.2008, 09:45:00
- - Kocurro   jarek_bolo: niestety Twój pomysł byłby o wiele mni...   6.08.2008, 09:18:14
- - wlamywacz   A co z adresami typu www2.cos.pl ?   6.08.2008, 10:13:25
- - Kocurro   Widziałem ale jeśli mam być szczery to to jest roz...   6.08.2008, 10:18:46
- - wlamywacz   Ale jak działa to www2.cos.pl itd. bo nawet nie wi...   6.08.2008, 11:38:17
|- - mike   Cytat(wlamywacz @ 6.08.2008, 12:38:17...   6.08.2008, 11:47:12
- - Kocurro   Normalnie Serwer ma taką nazwę, dns wskazuje na j...   6.08.2008, 11:41:48
- - normanos   a mnie ciekawiły by rady w jakim kierunku iść kied...   6.08.2008, 13:48:56
|- - wrauk   Cytat(normanos @ 6.08.2008, 14:48:56 ...   8.08.2008, 09:47:21
|- - normanos   Cytat(wrauk @ 8.08.2008, 08:47:21 ) K...   8.08.2008, 09:57:13
|- - wrauk   Cytat(normanos @ 8.08.2008, 10:57:13 ...   8.08.2008, 10:35:20
- - grzegory   Przyłączam się do tematu. Mój problem wygląda nas...   7.08.2008, 21:36:06
- - wlamywacz   Kup serwer dedykowany, da radę bez problemu. Patrz...   7.08.2008, 21:50:20
- - Sedziwoj   @grzegory Zacznę od tego że to raczej nie jest tem...   7.08.2008, 21:56:20
- - Ace   Od kilku miesięcy interesuje się tematyką wysokich...   12.08.2008, 11:03:43
- - rashid   Pozwole sie wtracic, bo Panowie proboja rozwiazac ...   27.11.2008, 12:27:56
|- - enigma   Cytat(rashid @ 27.11.2008, 13:27:56 )...   13.01.2009, 21:24:38
|- - rashid   Cytat(enigma @ 13.01.2009, 21:24:38 )...   13.01.2009, 21:41:01
- - Krolik   Jeśli baza danych się nie wyrabia i używamy MySQL/...   2.12.2008, 10:37:42
|- - rashid   Cytat(Krolik @ 2.12.2008, 10:37:42 ) ...   11.12.2008, 11:10:50
- - klakson   Witam serdecznie, chcialbym wykonac aplikacje w p...   20.12.2008, 13:05:29
|- - rashid   Cytat(klakson @ 20.12.2008, 13:05:29 ...   20.12.2008, 14:11:47
- - normanos   piszesz, że będziesz mielił dane z dysku a potem w...   20.12.2008, 13:47:49
- - klakson   Dzieki za pierwsze odpowiedzi, i juz uscislam, bo ...   20.12.2008, 16:37:27
- - Kocurro   Wybaczcie offtopic ale nie mogę. Kolega się z cho...   20.12.2008, 16:59:28
- - klakson   No ok Kocurro, ale moze po pierwsze, to przeczyta...   20.12.2008, 18:52:22
- - rashid   Zalozenie, ze operujac na wlasnym formacie plikow ...   20.12.2008, 18:53:32
|- - Krolik   Cytat(rashid @ 20.12.2008, 18:53:32 )...   2.01.2009, 12:18:16
|- - rashid   Cytat(Krolik @ 2.01.2009, 12:18:16 ) ...   2.01.2009, 14:05:11
- - Kocurro   Szanowny kolego klakson - proponuje najpierw zapoz...   20.12.2008, 19:40:32
- - erix   CytatA przechodzac do sedna, w czym niby jest prob...   20.12.2008, 20:06:03
- - wlamywacz   Założenia projektu sobie niezbyt realne. Kolega na...   25.12.2008, 10:52:03
- - djhors   Witam Wszystkich. Z braku czasu niezagladam tu za...   29.12.2008, 11:07:55
- - luinnar   Tak sobie czytam ten wątek i zastanawiam się nad k...   1.01.2009, 10:23:55
- - Krolik   Rashid, porównujesz z MySQLem i słusznie zauważyłe...   5.01.2009, 11:43:18
|- - rashid   Cytat(Krolik @ 5.01.2009, 11:43:18 ) ...   7.01.2009, 11:12:22
- - fragles   a ja mam pytanie podstawowe - jak się to liczy to ...   7.01.2009, 10:33:20
- - Krolik   Nie będę wchodził w szczególy, bo odeszliśmy od te...   7.01.2009, 13:06:25
- - enigma   dziękuje wygląda ciekawie - na pewno przeczytam. ...   13.01.2009, 21:58:21
|- - rashid   Cytat(enigma @ 13.01.2009, 21:58:21 )...   19.01.2009, 22:53:16
- - jmail   Przepraszam, ze tego trupa odgrzebuję, ale miałbym...   10.08.2009, 22:32:15
- - Ormin   Myślę, że wypadałoby odświeżyć temat. Przy okazji ...   16.05.2010, 22:19:23
- - BugsBunny   Odgrzebie temat, bo mam trochę praktyki w tym tema...   15.09.2012, 22:20:20


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

 



RSS Aktualny czas: 3.10.2025 - 02:28