Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dopasowanie produktów do kategorii
Forum PHP.pl > Forum > Bazy danych
Dyzma
Cześć,

1. Mam drzewiastą strukturę kategorii w bazie ~3000 rekordów. Agreguję produkty z różnych stron za pomocą xml z tym że nie są to spójne pliki i wymagają dopasowania produktu do kategorii.
Czasami jest to forma "kategoria/subkategoria/subkategoria", innym razem po prostu "kategoria". Myślałem o wykorzystaniu ElasticSearch, do dopasowania po nazwie? Co sądziecie o takim rozwiązaniu? Może ktoś z was ma lepszy patent jak mapować takie produkty. Jestem świadomy że, nie da się tego uniwersalizować, bo raz jest to breadcrumbs a innym razym razem sama nazwa, lecz chciałbym się skupić na samym dopasowaniu.

2. W dockerze testowałem także operację na tabelach, mianowicie na tabeli ~5mln rekordów, chciałem dodać klucz obcy, zapytanie wykonywało się kilka godzin. Czy to jest normalne zachowanie? Czy może ktoś posiada jakieś ciekawe artykuły jak pracować z dużymi bazami danych.

3. Jak w praktyce wygląda korzystanie z uuid zamiast numerycznego id.
www.aukcje.fm
1) Z doświadczenia wiem że trzeba ręcznie (nawet użycie Levensteina nic nie daje, jedynie wyłapuje literówki to samochody znajdą się np w zabawkach). Zwykłe użycie %like% a potem wiele rekordów do przejrzenia i poprawek lub od początku budowanie powiązań na stałe.

2)No kilka godzin to mega długo. To już zalezy od serwera czyli od szybkości dysku na którym jest baza, prędkości pojedynczego wątku (gdyż tego rodzaju operacje w mysql są obsługiwane na 100% w jednym wątku nawet jak się ma ich kilkanaście).

3) Jakiego rodzaju masz tabele innodb czy Mylsam? UUID to 16 bajtowa liczba, jej zapis szesnastkowy oddzielony myślnikami wg wzorca: 4B -2B - 2B - 2B - 6B. Ja używam zwykłych ID autonumerowanych nawet w wielomilionowych tabelach, lub są to inne klucze nie unikalne bez głownego, aczkolwiek czasami kluczem jest np tytuł jeżeli wiem że jest unikalny.
Dyzma
1. Trochę dużo danych żeby to robić ręcznie, myślałem o mapowaniu kategori dla każdego xml-a z importem, ale to także mnóstwo pracy, bo jednak każdy sklep może mieć różne kategorie w swojej bazie. Co prawda i tak mniej pracy niż przy ręcznym przeklepywaniu każdego produtku.

3. To było pytanie czysto teoretyczne, osobiście korzystam z Postgres. Chciałem wiedzieć jak baza zachowuje się przy dużej ilości rekordów, jak wygląda to rozmiarowo itp. Przeglądając Gthub zauważyłem że mnóstwo aplikacji opartych o DDD właśnie korzysta z uuid.
ZenekN
Mysle ze jestes na tyle poczatkujacy ze wyobrazasz sobie to inaczej, uwiez mi wszyscy segreguja recznie (lub na samym poczatku recznie a potem z elasticsearch) tak robi olx i inne wieksze portale stanowisko pracy nazywa sie PRODUCT MANAGER sprawdz ile jest ofert.
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-2024 Invision Power Services, Inc.