Momenteel ben ik bezig met het maken van een applicatie voor een chemiebedrijf waarbij duizenden files worden ingelezen. Iedere file bevat tientallen lines, waarbij iedere line een bepaalde actie representeert. Voor de duidelijkheid, alles werkt reeds en de reden dat ik de volgende vraag hier stel ik puur uit eigen interesse, daar de applicatie al live is en pas over ruime tijd geëvalueerd/aangepast gaat worden.
De files dienen te worden opgeslagen in een MySQL-databaseveld (longtext). Ik heb een functie geschreven waarmee de inhoud van een file wordt teruggebracht naar één string. Alle acties hebben een drietal variabele kenmerken. Omdat ik de data hier niet mag plaatsen, een fictief voorbeeld van twee acties uit een file:
De compressiefunctie maakt van die acties een string (compressed data dus), die er als volgt uitziet:
Je ziet dus dat de acties gescheiden worden door een seperator ("|"), en dat er per actie respectievelijk het type actie wordt opgeslagen (x = aanleveren, y = gebruiken, etc.). Vervolgens worden er per actie ook nog een drietal variabele kenmerken opgeslagen, gescheiden door een punt (hoeveelheid, productsoort (_a = water, _b = boter, etc.) en de vleugel van het gebouw (d, f, etc.).
De string wordt vervolgens opgeslagen in de database.
Ziet iemand een mogelijkheid om deze compressie verder te optimaliseren?
Voordat ik mijn eigen gedachten daarover uit (ik heb reeds enkele ideeën), graag jullie niet-beïnvloedde mening
De files dienen te worden opgeslagen in een MySQL-databaseveld (longtext). Ik heb een functie geschreven waarmee de inhoud van een file wordt teruggebracht naar één string. Alle acties hebben een drietal variabele kenmerken. Omdat ik de data hier niet mag plaatsen, een fictief voorbeeld van twee acties uit een file:
code:
1
2
| 100 liter water aangeleverd voor vleugel D. 50 kilo boter gebruikt in vleugel F. |
De compressiefunctie maakt van die acties een string (compressed data dus), die er als volgt uitziet:
code:
1
| x.100._a.d|y.50._b.f| etc. etc. |
Je ziet dus dat de acties gescheiden worden door een seperator ("|"), en dat er per actie respectievelijk het type actie wordt opgeslagen (x = aanleveren, y = gebruiken, etc.). Vervolgens worden er per actie ook nog een drietal variabele kenmerken opgeslagen, gescheiden door een punt (hoeveelheid, productsoort (_a = water, _b = boter, etc.) en de vleugel van het gebouw (d, f, etc.).
De string wordt vervolgens opgeslagen in de database.
Ziet iemand een mogelijkheid om deze compressie verder te optimaliseren?
Voordat ik mijn eigen gedachten daarover uit (ik heb reeds enkele ideeën), graag jullie niet-beïnvloedde mening