System Prestashop kojarzy się zwykle z małymi sklepami internetowymi. Postanowiłem sprawdzić, jak system zachowuje się przy bardzo dużej ilości produktów (powyżej miliona). Poniższy artykuł opisuje doświadczenie z jeszcze większą bazą produktową.

Data dodania: 2013-12-22

Wyświetleń: 2207

Przedrukowań: 0

Głosy dodatnie: 0

Głosy ujemne: 0

WIEDZA

0 Ocena

Licencja: Creative Commons

Prestashop i bardzo duża baza produktów

Prestashop to bardzo popularny system. Większość wdrożeń sklepów internetowych w Polsce i w Europie zachodniej opiera się na tej platformie. Prestashop jest bardzo intuicyjny i dobrze przemyślany. System ten posiada dużą liczbę funkcji usprawniających zarządzanie sklepem oraz przydatnych klientom podczas zakupów.

Osobiście po raz pierwszy zetknąłem się z tym systemem 4 lata temu i od tamtego czasu wdrożyłem ponad 100 sklepów internetowych. Jednak w kazdym z tych sklepów liczba produktów wahała się od kilkuset do kilku tysięcy. Największy sklep, jaki udało mi się wdrożyć, zawierał około 15 tysięcy artykułów z 75 tysiącami kombinacji. Co jednak zrobić gdy klient zleca zrobienie sklepu, którego docelowa liczba produktów przekracza 10 milionów?!

Postanowiłem sprawdzić, czy system Prestashop poradzi sobie z takim wyzwaniem. Na początku napisałe importer, który wciągnie pliki TXT zawierające pomiędzy 5 a 15 milionów rekordów do systemu Prestashop. Niestety, standardowy system importujący z CSV nie dał rady zaimportować nawet jednego pliku więc trzeba było zrobić specjalny program importujący poza systemem.

Po zaimportowaniu okazało się, że sklep nie otwiera się. Po kliku próbach i zbadaniu sprawy postanowiłem wyłączyć wszystkie bloki, które odczytują towary z bazy sklepu. Pozostawiłem tylko wyszukiwarkę i zmodyfikowałem zapytanie w wyszukiwarce, zastępując "like" na "=". Zaoszczędziłem w ten sposób na czasie realizacji zapytania do bazy danych i od strony klienta sklep działał już prawidłowo z 23 milionami produktów na pokładzie. Można było wyszukać towar po indeksie oraz złożyć zamówienie.
Problem pojawił się po stronie panelu administracyjnego. Nie można było otworzyć listy produktów, ze względu na ich ilość. Po całym dniu walki zdecydowałem się na podobny zabieg, który poprzednio zastosowałem w sklepie od strony klienta/kupującego.
Wyłączyłem automatyczne pokazywanie się produktów. Po wejściu w listę należy uzupełnić numer indeksu produktu i włączyć filtrowanie. Wtedy na liście produktów pokazuje się szukany produkt. Bez problemu można wejść w jego szczegóły i dokonać pełnej edycji.

Doświadczenie wykazało, że jest możliwe posiadanie sklepu opartego na Prestashop z kilkoma milionami produktów na pokładzie. Całkowita ilość kombinacji produktowych przekracza 50 milionów. Moje doświadczenie zakończyło się w tym punkcie ze względu na brak innych wymagań od strony klienta. Jednak wydaje mi się, że uzyskanie dodatkowych funkcji to kwestia zoptymalizowania zapytań do bazy, odpowiedniego serwera lub zmiany standardowej bazy danych mysql na wydajniejszy system, np. PostgreSQL. 

Licencja: Creative Commons
0 Ocena