• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Parametry produktów - Json czy Tabele MySQL

Object Storage Arubacloud
+1 głos
507 wizyt
pytanie zadane 3 kwietnia 2021 w SQL, bazy danych przez Renzov Obywatel (1,220 p.)
Dobry wieczór wszystkim,

W ramach ćwiczeń mam zamiar zrobić sobie prostego klona Allegro. Podczas planowania napotkałem pewien drobny problem.

W projekcie będzie możliwość filtrowania produktów. Każda kategoria będzie posiadać filtry odpowiednie do niej (W sensie w kategorii telefony można filtrować pamięcią, kolorami, modelem etc. W zakładce samochody, proponowane filtry to będą np. ilość koni, czy auto powypadkowe etc).

I tutaj moje pytanie. Jak "zaprojektować" filtry?

Pierwszym moim pomysłem jest stworzenie 3 tabel.

- Pierwsza tabela zawiera nazwę kategorii [Name]

- Druga tabela będzie zawierać nazwę parametru, id kategorii [name] [category_id]

- Trzecia tabela będzie zawierać id parametru, wartość oraz id produktu do którego jest przypisany

Nie wiem tylko jak by było z wydajnością (Pytanie czysto teoretyczne). Jeśli dajmy na to mam 20 000 000 produktów, każdy posiada 50 parametrów, daje to już 10 00 000 000 rekordów w bazie

Drugim zamysłem jest użycie Firebase'a i baza w formie drzewka

2 odpowiedzi

+1 głos
odpowiedź 3 kwietnia 2021 przez SzkolnyAdmin Szeryf (86,360 p.)
Ale dlaczego przy 20 tys.produktów z 50 parametrami każdy masz mieć 10 mln rekordów? Relacyjna baza tak nie działa. Po to są relacje,abyś właśnie nie miał 10 mln rekordów.
komentarz 3 kwietnia 2021 przez Renzov Obywatel (1,220 p.)
Nie wiem czy dobrze wytłumaczyłem, ale chodziło mi o to, że każdy parametr to nowy record w bazie danych.

- Id productu

- Id parametru

- Wlaściwośc

Gdy jakiś obiekt ma 50 paremtrów jak np. kolor, pamięć, etc daje to już 50 recordów w bazie danych. 1 000 produktów, to już 50 000 recordów
2
komentarz 3 kwietnia 2021 przez SzkolnyAdmin Szeryf (86,360 p.)
A nie będą się one powtarzać? Nie lepiej do produktu przypisać parametry z tabeli słownikowej? W ten sposób masz 1 produkt = 1 rekord.
+1 głos
odpowiedź 4 kwietnia 2021 przez mordimer Mądrala (5,720 p.)
Ratują cie tu indexy, partycje albo elastic search ... I raczej nie da sie inaczej bo jak dobrze rozumiem tu nie chodzi o to zeby tylko przechowywac jakos te dane jak najmniejszym kosztem tylko również wyszukiwać wydajnie po tych paramtetrach. A tak z ciekawości szkolnyadmin czym jest dla ciebie ta tabela słownikowa i jak ona by miala wygladac ? Chcialbys laczyc kategorie z parametrami w jakims indexie fulltextowym ?

Podobne pytania

0 głosów
0 odpowiedzi 1,979 wizyt
pytanie zadane 15 lipca 2018 w SQL, bazy danych przez voltex Obywatel (1,210 p.)
0 głosów
1 odpowiedź 202 wizyt
pytanie zadane 25 marca 2016 w SQL, bazy danych przez CzlowiekSkrypt Nałogowiec (26,340 p.)
0 głosów
0 odpowiedzi 69 wizyt
pytanie zadane 23 czerwca 2023 w SQL, bazy danych przez roger10 Nowicjusz (180 p.)

92,573 zapytań

141,423 odpowiedzi

319,648 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...