Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: BigTable ? Zapytanie
Forum PHP.pl > Forum > Bazy danych
www.aukcje.fm
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 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ć smile.gif
kapslokk
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 ;]
www.aukcje.fm
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 smile.gif
kapslokk
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 ?
Pyton_000
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....
www.aukcje.fm
Ale można w rekordzie przechowywać wiele danych.
W jaki sposób najlepiej je przechowywać aby było najszybciej wczytywane?
CSV, XML, Serialize, ... ?
Pyton_000
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....
kapslokk
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.
maly_swd
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.