Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> BigTable ? Zapytanie, MySQL
www.aukcje.fm
post
Post #1





Grupa: Zarejestrowani
Postów: 173
Pomógł: 1
Dołączył: 4.05.2010

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


PHP/MySQL

Witam,

Trochę samouk jestem i mam problem.
Doszedłem do takiego miejsca gdzie potrzebuję aby w komórce w bazie mieć tabelę.
Czyli mamy kilkaset tabel niektóre mają po kilka milionów rekordów a w tych tabelach potrzebuję aby jedna komórka również była tabelą o wielu kolumnach i rekordach w której można robić selekty, update, inserty, delete.

Oczywiście można tworzyć setki tysięcy tabel o innych nazwach ale to przecież pliki, a jak będzie ich taka ilość to raczej to nie ruszy, nawet phpmyadmin nie ruszy (IMG:style_emoticons/default/smile.gif)

Hmm czy to możliwe w jakiś sposób?

A... i do tego najlepiej jak by to się dało jakoś na wielu serwerach uruchomić i następne podłączać (IMG:style_emoticons/default/smile.gif)

Ten post edytował www.aukcje.fm 16.12.2016, 13:06:30
Go to the top of the page
+Quote Post
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Cytat
Czyli mamy kilkaset tabel niektóre mają po kilka milionów rekordów a w tych tabelach potrzebuję aby jedna komórka również była tabelą o wielu kolumnach i rekordach w której można robić selekty, update, inserty, delete.

Do czegoś takiego są relacje, masz w obu tabelach pole po którym sobie je laczysz i tyle. Wychodzi praktycznie to czego potrzebujesz.

Cytat
Oczywiście można tworzyć setki tysięcy tabel o innych nazwach ale to przecież pliki, a jak będzie ich taka ilość to raczej to nie ruszy, nawet phpmyadmin nie ruszy.


Wydaje mi sie, ze masz zle zaprojektowana baze, skoro chcesz tworzyc az setki tysiecy tabel ;]
Go to the top of the page
+Quote Post
www.aukcje.fm
post
Post #3





Grupa: Zarejestrowani
Postów: 173
Pomógł: 1
Dołączył: 4.05.2010

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


Tabele mają po dziesiątki milionów rekordów, a jest ich kilka tysięcy tabel, to baza bota i wyszukiwarki SEO a relacje nic nie dadzą.
Potrzeba jest umieszczenia w jednym polu całej tabeli w której będzie cała masa aktualnych rankingów.
Domen jest wiele milionów, każda ma rankingi archiwalne, wiele danych.
Dlatego to nie typowe pytanie i problem.



Najlepiej jak by się dało wejść do tabeli X zapytać o rekord Y w kolumnie Z a tam mieć całą tabelę z której by można coś selektować lub updatować lub insertować lub usunąć. Nie wiem czy ktoś mnie zrozumie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kapslokk
post
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Nadal twierdze, ze masz zle zaprojektowana baze, mowisz, ze relacje nic nie dadza, a wg. mnie ten problem:
Cytat
Potrzeba jest umieszczenia w jednym polu całej tabeli

relacja rozwiazala by idealnie, w koncu co za roznica czy masz tabele jako "pole" innej tabeli czy dociagniesz sobie ja JOIN'em ?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


W MySQL nie da się.

Również wydaje mi się że coś z Twoją strukturą jest nie halo.

Raczej zainteresowałbym się Elasticsearch-em, choć i tak nie wiemy jakie to dane, jakiego typu, jakie struktury, ile tego dokładnie jest. Ile +/- zajmuje GB ta baza....
Go to the top of the page
+Quote Post
www.aukcje.fm
post
Post #6





Grupa: Zarejestrowani
Postów: 173
Pomógł: 1
Dołączył: 4.05.2010

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


Ale można w rekordzie przechowywać wiele danych.
W jaki sposób najlepiej je przechowywać aby było najszybciej wczytywane?
CSV, XML, Serialize, ... ?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Ok. Czyli chcesz sobie zrobić kuku... No cóż... Trzymaj jak Ci się podoba, dla mnie może to być nawet json, string z GZip, base64....
Go to the top of the page
+Quote Post
kapslokk
post
Post #8





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Ewentualnie użyj bazy NoSQL.

Ale i tak twierdze, że w Twoim przypadku relacja będzie najlepszą opcją, nie wiem czemu się tak przed nią bronisz.
Go to the top of the page
+Quote Post
maly_swd
post
Post #9





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


PgSql ma typy danych array i json. Ale z tego co piszą koledzy to jak chcesz robić takie "myki" - odpowiedź jest jedna: źle zaprojektowana baza.
Go to the top of the page
+Quote Post

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: 27.09.2025 - 21:09