Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Ako AWS SDK for Go zvláda správu pamäte počas nahrávania veľkých súborov


Ako AWS SDK for Go zvláda správu pamäte počas nahrávania veľkých súborov


Súprava AWS SDK for Go zvláda správu pamäte počas nahrávania veľkých súborov pomocou kombinácie techník:

1. Streamovanie: Súprava SDK používa streamovanie na nahrávanie veľkých súborov, čo znamená, že súbor rozdelí na menšie časti a každý z nich odovzdá samostatne. Tento prístup pomáha znižovať využitie pamäte tým, že do pamäte načítava iba malú časť súboru naraz[4].

2. Nahrávanie z viacerých častí: SDK podporuje aj nahrávanie z viacerých častí, ktoré vám umožňuje nahrávať veľké súbory tak, že ich rozdelíte na menšie časti a každú časť nahráte samostatne. Tento prístup pomáha spravovať využitie pamäte tým, že načítava do pamäte naraz iba malú časť súboru[3].

3. Chunking: Súprava SDK používa chunking na správu využitia pamäte počas nahrávania veľkých súborov. Rozdelí súbor na menšie časti a každý z nich odošle samostatne. Tento prístup pomáha znižovať využitie pamäte tým, že naraz načítava do pamäte iba malú časť súboru[3].

4. Súbežnosť: Súprava SDK podporuje súbežnosť, čo znamená, že dokáže nahrať viacero častí súboru súčasne. Tento prístup pomáha zlepšiť výkon nahrávania a znížiť využitie pamäte rozložením záťaže medzi viaceré rutiny[1].

5. Ukladanie do vyrovnávacej pamäte: Súprava SDK používa ukladanie do vyrovnávacej pamäte na správu využitia pamäte počas nahrávania veľkých súborov. Ukladá dáta súboru do pamäte a potom ich odosiela po častiach. Tento prístup pomáha znižovať využitie pamäte tým, že naraz načítava do pamäte iba malú časť súboru[1].

Pomocou týchto techník dokáže AWS SDK for Go efektívne spracovať nahrávanie veľkých súborov a zároveň efektívne riadiť využitie pamäte.

Citácie:
[1] https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/s3-example-basic-bucket-operations.html
[2] https://www.youtube.com/watch?v=R6W1ay4jYKk
[3] https://github.com/aws/aws-sdk-go/issues/1104
[4] https://stackoverflow.com/questions/34177137/stream-file-upload-to-aws-s3-using-go
[5] https://www.youtube.com/watch?v=HkF3_GLVKEg