Gość Kamikadze Zgłoś post Napisano Styczeń 4, 2014 Ma ktoś może doświadczenie jak zachwowują się duże bazy np. po 10-20 000 000 rekordów? A raczej tabele bo w jednej tabeli tyle rekordów będzie prawdopodobnie. Duże są straty na przeszukiwaniu takich baz? Zastanawiam się czy opłaca się pchać niektóre rzeczy do bazy danych i zamiast do plików lub jakoś jeszcze podzielić bazę na kilka tabel. Udostępnij ten post Link to postu Udostępnij na innych stronach
elcct 159 Zgłoś post Napisano Styczeń 4, 2014 Wszystko zależy od modelu danych, ilości dostępnej pamięci i jakie zapytania będziesz stosował. Nie da się prosto odpowiedzieć na to pytanie. Najlepiej sprawdź doświadczalnie. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Styczeń 4, 2014 Jest masa zależności, mam na serwerach bazy z tabelami po 20 mln rekordów i działają Jeżeli chcesz się bawić większymi ilościami danych, a projekt będzie się rozrastał to pomyśl o Apache Hadoop. Udostępnij ten post Link to postu Udostępnij na innych stronach
maniack 403 Zgłoś post Napisano Styczeń 4, 2014 (edytowany) . Edytowano Wrzesień 13, 2017 przez maniack (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Styczeń 4, 2014 Przeczytaj jeszcze raz co napisałem Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Styczeń 4, 2014 Wszystko zależy od modelu danych, ilości dostępnej pamięci i jakie zapytania będziesz stosował. Nie da się prosto odpowiedzieć na to pytanie. Najlepiej sprawdź doświadczalnie. No można powiedzieć że przygotowuję środowisko testowe i tabela ma na razie 4mln rekordów i się stale zwiększa. Zastanawiałem się czy ktoś trzyma przy mniejszych serwerach takie bazy i czy to w ogóle rusza się z miejsca Sprzęt można powiedzieć że niska półka - prawie podłoga... 20mln rekordów to już ładna baza. Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Styczeń 4, 2014 Klient ma na serwerze tabelke, która ma 114 449 234 rekodów Udostępnij ten post Link to postu Udostępnij na innych stronach
PapaSmerf 497 Zgłoś post Napisano Styczeń 4, 2014 Będzie śmigać. Wszystko zależy od sprzętu, konfiguracji serwera bazodanowego i po części od samej architektury bazy. Tabele zawierające 20-30 kk rekordów to już jest "coś", ale nie na tyle wielkiego, żeby aż tak się przejmować, chyba, że sprzęt faktycznie "piwniczny". Swoją drogą, jaka baza? Postgres, MySQL czy coś innego? Udostępnij ten post Link to postu Udostępnij na innych stronach
HaPe 242 Zgłoś post Napisano Styczeń 4, 2014 (edytowany) Klient ma na serwerze tabelke, która ma 114 449 234 rekodów Miłosz sam na mysql mam tabelke 84 345 754. Jej rozmiar to 34GB i jak na razie całość daje radę. Też mysql, ale myślę czy postgresql nie byłby lepszy. Edytowano Styczeń 4, 2014 przez HaPe (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Styczeń 4, 2014 No ta ma 42 GB. Może by był lepszy, a może nie. Głównie to jest widzimisię programisty, który robi aplikacje. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Styczeń 4, 2014 Będzie śmigać. Wszystko zależy od sprzętu, konfiguracji serwera bazodanowego i po części od samej architektury bazy. Tabele zawierające 20-30 kk rekordów to już jest "coś", ale nie na tyle wielkiego, żeby aż tak się przejmować, chyba, że sprzęt faktycznie "piwniczny". Swoją drogą, jaka baza? Postgres, MySQL czy coś innego? MySQL Ogólnie dzięki za info. Udostępnij ten post Link to postu Udostępnij na innych stronach
theONE 526 Zgłoś post Napisano Styczeń 4, 2014 Ale to zależy od tak wielu czynników. Najważniejsze chyba czy będziesz dane trzymał czy analizował, sortował, zmieniał. 1 Udostępnij ten post Link to postu Udostępnij na innych stronach
mcd 3 Zgłoś post Napisano Styczeń 4, 2014 No i oprócz tego od tego jak sformułowane będą same zapytania. Jeżeli będą odpowiednio doprecyzowane i zoptymalizowane to powinno działać. Ale zapuść tam jakiegoś ogólnego LIKE na jakimś ciągu, to baza może dostać sporej zadyszki. Jeżeli upchniesz dużo danych do plików, to ich przeszukiwanie również będzie obciążało system. Będziesz musiał opracować jakieś klasy do wyszukiwania, co będzie wolniejsze niż w bazie. Dodatkowo warto zastanowić się nad strukturą bazy, aby jej przeszukiwanie było optymalne. W zależności od charakteru zapytań, więcej tabel i relacje między nimi sprawdzi się lepiej, niż jedna kolosalna tabela, zwłaszcza jeżeli wyciągasz tylko kilka kolumn. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Styczeń 4, 2014 Ale to zależy od tak wielu czynników. Najważniejsze chyba czy będziesz dane trzymał czy analizował, sortował, zmieniał. No właśnie myślałem nad sortowaniem i "używaniem" ich. Tylko to jeszcze nie jest doprecyzowane bo dopiero można powiedzieć projekt jest w fazie wczesnych przygotowań a sam chciałem się dowiedzieć czy opłaca się pchać taką ilość danych do mysql. No i oprócz tego od tego jak sformułowane będą same zapytania. Jeżeli będą odpowiednio doprecyzowane i zoptymalizowane to powinno działać. Ale zapuść tam jakiegoś ogólnego LIKE na jakimś ciągu, to baza może dostać sporej zadyszki. Jeżeli upchniesz dużo danych do plików, to ich przeszukiwanie również będzie obciążało system. Będziesz musiał opracować jakieś klasy do wyszukiwania, co będzie wolniejsze niż w bazie. Dodatkowo warto zastanowić się nad strukturą bazy, aby jej przeszukiwanie było optymalne. W zależności od charakteru zapytań, więcej tabel i relacje między nimi sprawdzi się lepiej, niż jedna kolosalna tabela, zwłaszcza jeżeli wyciągasz tylko kilka kolumn. To także jest w trakcie pracy bo na taką ilość danych co ja chcę upchnąć to naprawdę muszę dobrze pogłówkować jak to upchnąć żeby działało Udostępnij ten post Link to postu Udostępnij na innych stronach
Misiek08 285 Zgłoś post Napisano Styczeń 6, 2014 @Kamikadze - popatrz sobię na NoSQL'e. Ja mam np. bazę 79GB w MongoDB. Dokumentów w sumie jest 617mln i na jakimś słabym serwerze to teraz stoi (2x2.2, dyski HDD w RAID1) i daje to radę. RAMu mam "aż" 4GB, więc dane przed insertem dzielę na paczki po ~800-1200 dokumentów i zrzucam z RAMu do bazy w kolejce (paczki kolejkuję, do tej pory mam tak, że w kolejce jest cały czas 1 paczka, więc nic się nie zapycha). Dane to odczyty zbierane z munin-node z paru serwerków (400 mln to dane wstawione skryptem wyliczone na podstawie aktualnych odczytów). Instalacja jest testowa na udostępnionym mi dedyku. Wyszukiwanie starych danych troszkę trwa, ale wykresy danych wstawionych w ciągu ostatnich 24h dostaję w parę sekund, więc problemu nie ma. Za parę dni muszę się z tego dedyka wynieść niestety. MySQL może da radę, ale po co? Udostępnij ten post Link to postu Udostępnij na innych stronach
maniack 403 Zgłoś post Napisano Styczeń 6, 2014 (edytowany) . Edytowano Wrzesień 13, 2017 przez maniack (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Styczeń 6, 2014 @Kamikadze - popatrz sobię na NoSQL'e. Ja mam np. bazę 79GB w MongoDB. Dokumentów w sumie jest 617mln A w jaki sposób replikujesz tę bazę i robisz backupy? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Styczeń 6, 2014 Mongo ? http://docs.mongodb.org/manual/replication/ Udostępnij ten post Link to postu Udostępnij na innych stronach
Misiek08 285 Zgłoś post Napisano Styczeń 6, 2014 (edytowany) @regdos - gdyby to nie była instalacja testowa dla klienta tylko produkcyjna to tak jak @up napisał - Replica Set, czyli wbudowana kopia w MongoDB. Na serwerze dodatkowo jest RAID, także podstawowa awaria 1 dysku jest niegroźna. W normalnym środowisku zamiast takiego dedyka wziąłbym sobie 2-3 chmurki z shardingiem, bo teraz testujemy tylko instalację takiej bazy zbiorczej, a końcowo ma ona przeysłać (i podawać na stronie) wykresy z wielu danych i ich analizy, więc trzeba do tego więcej mocy. Do takich zadań chmurka jest według mnie idealna, bo nawet jeśli baza zmieści się na 1 to robisz 2 chmurki w Replica Set i na 1 jest serwer www i zapisane są wykresy,a druga chmurka liczy dane i podaje na pierwszą. @maniack - nie zakładam z góry, że nie da rady. Napisałem, że nawet jeśli da radę to do tego typu ilości danych są lepsze bazy - choćby PostgreSQL. Oczywiście jeżeli potrzebne są relacje. Edytowano Styczeń 6, 2014 przez Misiek08 (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
elcct 159 Zgłoś post Napisano Styczeń 6, 2014 Jeżeli przyrost danych da się oszacować, to dedyki będą tańszym i lepszym rozwiązaniem niż chmurka Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Styczeń 6, 2014 Wiecie w sumie projekt w fazie pomysłu i tworzę bazę aby przetestować to na serwerze testowym, to trochę potrwa zanim sam zdecyduję czy tego nie rozdzielić jakoś, przerobić danych - będę szukał złotego środka Na razie używam MySQL i działa dobrze i nie widzę potrzeby zmieniać czegoś co daje radę Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość AceDude Zgłoś post Napisano Styczeń 6, 2014 Hmm... ja z kolei mam dziwne doświadczenia z Postgre - mam na Heroku tabelę z kilkunastoma milionami rekordów która jest w relacji jeden do wielu z tabelą o podobnej ilości rekordów. Uruchomienie DELETE z tej pierwszej jest praktycznie niewykonalne pomimo indeksów. Udostępnij ten post Link to postu Udostępnij na innych stronach
micrus 0 Zgłoś post Napisano Styczeń 26, 2014 (edytowany) Niewykonalne ? tzn co się się dzieje, kończy się czas zapytania ? Miałem coś podobnego, ale to właśnie indeksy były skopane. Aha i żeby było w temacie, mam tabele w bazie monitoringu na postgresie które mają po 80 mln krotek, pewnie teraz już więcej. Oczywiście tabele są partycjonowane z automatu. Edytowano Styczeń 26, 2014 przez micrus (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
alien 345 Zgłoś post Napisano Styczeń 26, 2014 U nas w 95% projektów używamy Postgresa. Sprawdza nam się nawet w projektach o sporej skali. Mogę polecić. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Styczeń 26, 2014 Tu jeszcze dochodzi kwestia budowy projektu, sprzętu i jego konfiguracji Udostępnij ten post Link to postu Udostępnij na innych stronach