Czy dobrą praktyką jest używanie serializacji w PHP w celu przechowywania danych w DB?

Natknąłem się na interesujący komentarzphp.net o serializacji danych w celu zapisania ich w bazie danych.

Mówi, co następuje:

Proszę! Proszę! Proszę! NIE serializuj danych i umieszczaj ich w swojej bazie danych. Serialize może być użyty w ten sposób, ale brakuje mu punktu relacyjnej bazy danych i typów danych zawartych w silniku bazy danych. W ten sposób dane w bazie danych są nieprzenośne, trudne do odczytania i mogą komplikować zapytania. Jeśli chcesz, aby twoja aplikacja była przenośna do innych języków, np. Powiedzmy, że chcesz używać Java dla jakiejś części aplikacji, której używanie Java ma sens, serializacja stanie się bólem pośladków. Zawsze powinieneś być w stanie odpytywać i modyfikować dane w bazie danych bez użycia narzędzia pośredniczącego innej firmy do manipulowania danymi do wstawienia.

W mojej karierze spotkałem się z tym zbyt wiele razy, utrudnia to utrzymanie kodu, kodu z problemami z przenośnością oraz danych, których migracja do innych systemów RDMS, nowego schematu itp. Jest trudniejsza. niechętnie przeszukiwać bazę danych na podstawie jednego z pól, które zostały zserializowane.

To nie znaczy, że serializacja () jest bezużyteczna. To nie jest ... Dobrym miejscem do użycia może być plik pamięci podręcznej, który zawiera wynik operacji intensywnego przetwarzania danych, na przykład. Jest mnóstwo innych ... Po prostu nie nadużywaj serializacji, ponieważ następny facet, który przyjdzie, będzie miał koszmar w utrzymaniu lub migracji.

Chciałbym wiedzieć, czy jest to standardowy widok na temat używania danych serializujących do celów bazy danych. Oznacza to, że jeśli jest to dobra praktyka, aby czasem z niej korzystać, lub jeśli należy jej unikać.

Na przykład polecono mi ostatnio korzystać z serializacji.

W tym przypadku dane, które musieliśmy zapisać w tabeli MySQL, były następujące:

Marka samochodu.Model samochodu.Wersja samochodowa.Informacje o samochodzie.

Informacja o samochodzie była tablicą reprezentującą wszystkie właściwości wersji, więc była to duża zmienna ilość właściwości (poniżej 100 właściwości). Ta tablica była serią.

Głównym powodem, dla którego otrzymałem polecenie użycia serializacji, było:

Jako duża liczba pól, lepiej jest serializować dane, aby poprawić wydajność, zamiast tworzyć pole dla każdej właściwości lub wielu tabel.

Osobiście zgadzam się bardziej z komentarzem w php.net niż z tą ostatnią asseveracją, ale chciałbym tutaj przedstawić bardziej kwalifikowane opinie niż moje.

questionAnswers(1)

yourAnswerToTheQuestion