- BLOB yra didelis dvejetainis objektas, skirtas saugoti didžiulius bet kokio tipo duomenų kiekius.
- Kuriant žiniatinklį ir debesijos kompiuteriją, „blob“ objektai leidžia valdyti multimedijos failus ir nestruktūrizuotus duomenis.
- „Azure Blob Storage“ yra vienas galingiausių sprendimų, skirtų „blob“ saugykloms debesyje saugoti ir valdyti.

Ieškodami, kas yra BLOB, greičiausiai susidursite su terminu, kuris skamba kaip iš mokslinės fantastikos filmo ar net pasaulis, beveik nesuvokiamas tiems, kurie nėra kompiuterių mokslo srities atstovai. Tačiau BLOB sąvokos supratimas yra labai svarbus technologijų ir programavimo pasaulyje, nesvarbu, ar dirbate su duomenų bazėmis, domitės žiniatinklio programomis, ar tiesiog norite neatsilikti nuo naujausių saugojimo technologijų.
Šiame straipsnyje paprastai, bet išsamiai aptarsime viską apie BLOB . Sužinosite, ką šis akronimas reiškia kompiuterijoje, kaip jis naudojamas, kaip ši koncepcija vystėsi ir kodėl ji tapo tokia svarbi tiek vietinėse, tiek debesijos sistemose. Aptarsime viską – nuo techninių paaiškinimų iki kasdienių detalių ir taikymo pavyzdžių, įskaitant įdomius faktus apie žodžio kilmę.
BLOB reikšmė technologijoje
Žodis BLOB kilęs iš akronimo „ Binary Large Object“ (dvejetainis didelis objektas) . Tai terminas, plačiai vartojamas apibūdinti duomenų tipą, skirtą dideliems informacijos kiekiams saugoti dvejetainiu formatu duomenų bazėse arba failų sistemose.
Kitaip tariant, BLOB yra tiesiog duomenų bazės dalis, skirta saugoti didelius, nediferencijuotus duomenų elementus – nuo vaizdų, vaizdo įrašų ir atsarginių kopijų iki bet kokių multimedijos ar dvejetainių failų ir net didelių tekstinių dokumentų be apibrėžtos struktūros. Pagrindinė jo savybė yra ta, kad jo turinys yra dvejetainiu formatu, todėl žmonės jo negali perskaityti be specializuotos programinės įrangos, galinčios jį interpretuoti.
Kodėl BLOB, o ne kitas duomenų tipas?
BLOB pasirinkimas kaip saugojimo tipas kyla dėl to, kad kai kurie duomenys, savo struktūra ir dydžiu, neatitinka klasikinių tipų, kuriuos naudojame duomenų bazėse (pvz., teksto eilutės ar sveikieji skaičiai). Pavyzdžiui, įsivaizduokite skaitmeninę nuotrauką, didelės raiškos vaizdo įrašą ar visą virtualią duomenų bazę. Visa tai reikalauja lanksčios erdvės be griežtų apribojimų ir išankstinio aiškinimo. BLOB siūlo būtent tai: „konteinerį“ bet kokiai informacijai, ypač jei nežinome, kaip ją klasifikuoti.
Paprastesni, klasikiniai duomenys, skirti skaityti kaip tekstas (pavyzdžiui, XML, JSON arba paprasto teksto failai), paprastai saugomi kaip CLOB ( angl. Character Large Object ), kuris yra panašaus tipo, bet daugiausia dėmesio skiria simboliams, o ne dvejetainiams baitams. Trumpai tariant, BLOB išsprendžia bet ko, kurio formatas neatitinka standartinių duomenų tipų, saugojimo problemą.
Iš kur kilęs terminas BLOB?
Įdomu tai, kad terminas „BLOB“ (liet. BLOB) kilo ne iš kompiuterių pasaulio, o iš populiariosios kultūros. Jis priskiriamas 1958 m. mokslinės fantastikos filmui „ The Blob “, kuriame vaidino Steve'as McQueenas ir kuriame amorfinė masė sunaikina viską savo kelyje. Ši „beformės masės“, lengvai formuojamos ir neapibrėžto dydžio, koncepcija įkvėpė pavadinti šiuos lanksčius ir didelius dvejetainius objektus.
Iš tiesų, nors daugelis mano, kad akronimas reiškia „ Binary Large Object“ (dvejetainis didelis objektas) , kai kuriuose kontekstuose jis taip pat vadinamas „Basic Large Object “ (pagrindiniu dideliu objektu ), atveriant duris idėjai, kad „blob“ ne visada turi būti dvejetainis, o bet koks didelis „pagrindinis objektas“, kurį reikia saugoti nestruktūrizuotą.
Kam naudojami BLOB?
Dažniausiai BLOB naudojami multimedijos failams valdyti : nuotraukoms, vaizdo įrašams, garso įrašams ir apskritai bet kokiems failams, kurių dydis ir struktūra viršija tradicinės duomenų saugyklos dydį. Pavyzdžiui, įmonių dokumentų valdymo sistemos, ERP ir debesijos sprendimai dažnai savo saugojimo efektyvumą grindžia šio tipo objektais.
Tačiau BLOB taip pat naudojami ir kitais atvejais, pavyzdžiui, virtualiems standiesiems diskams, atsarginėms kopijoms, suspaustiems failams ar dideliems dokumentams saugoti. Jų svarba yra labai svarbi kuriant šiuolaikines žiniatinklio programas ir debesijos paslaugas.
Kaip žiniatinklio kūrimas naudoja „Blob“: „JavaScript“ ir „Blob“ API atvejis
Sąvoka BLOBAS įgijo ypatingą reikšmę interneto svetainių kūrimas, ypač tvarkant failus naršyklėje. Kalbos, tokios kaip „JavaScript“, ir API, tokios kaip žiniatinklio API lašelis leisti manipuliuoti dvejetainiai duomenys tiesiai iš tinklalapių ir programų. Objektas Blob Žiniatinklyje tai yra plokščias nekintamų duomenų failas. Gali būti Bet kokios rūšies informacijanuo dinamiškai sugeneruoto paveikslėlio iki teksto fragmentų arba bet kokio vartotojo įkelto failo.
Tiesą sakant, sąsaja File kuris naudojamas sąveikai su failais naršyklėje, yra pagrįstas Blob. Tai leidžia vartotojo manipuliuojamus failus, pvz., vaizdus ar dokumentus, laikyti manipuliuojamais „Blob“ objektais atliekant įvairias operacijas: peržiūrint, atsisiunčiant, įkeliant į serverius ir kt.
„JavaScript“ kalboje galime sukurti „Blob“ su konstruktoriumi Blob(), iš masyvų, kuriuose gali būti kitų BLOB'ų, eilučių ar net buferio šaltinių (žemo lygio dvejetainių duomenų). Taip pat galite išskirti esamo blobo dalį naudodami metodą slice(), kuris naudojamas darbui tik su mus dominančia dalimi, neįkeliant viso objekto į atmintį.
Praktinis BLOB panaudojimas žiniatinklio programose
Vienas iš dažniausiai naudojamų BLOBAS naršyklėje yra dinaminis failų generavimas: failai, kuriuos vartotojas gali atsisiųsti nereikalaujant jų iš anksto išsaugoti serveryje. Pavyzdžiui, kliento aplinkoje galime „savaime“ sukurti nedidelį tekstinį arba vaizdo failą, jį transformuoti į „Blob“ ir pateikti vartotojui per nuorodą (įterpdami <a> HTML arba priverstinai atsisiunčiant naudojant „JavaScript“).
Šį procesą palaiko metodas URL.createObjectURL(blob), kuris sugeneruoja laikiną URL, galiojantį tik dabartiniam seansui, leisdamas „Blob“ turinį rodyti kituose elementuose (pvz., vaizduose arba atsisiuntimo nuorodose). Įdomi detalė yra ta, kad tol, kol URL yra aktyvus, „Blob“ objektas lieka naršyklės atmintyje; Štai kodėl egzistuoja šis metodas URL.revokeObjectURL(url) kad būtų galima išlaisvinti tuos išteklius, kai jų nebereikės.
Kai norime perduoti informaciją tarp kliento ir serverio žiniatinklio programose, BLOB tampa pageidaujamu dvejetainių failų formatu dėl savo universalumo ir suderinamumo su šiuolaikinėmis API (pvz., „fetch“, XMLHttpRequest ir kt.). Jie taip pat leidžia įkelti vaizdus į naršyklės drobę, juos redaguoti ir eksportuoti kaip naujus „blob“ failus siuntimui arba atsisiuntimui.
Konversijos ir efektyvumas: iš „Blob“ į „Base64“ ir atvirkščiai
Kitas dažnas panaudojimo būdas yra „blob“ objektų konvertavimas į „base64“ eilutes . Tai leidžia į duomenų URL adresus įterpti dvejetainę informaciją (pvz., HTML įterptus vaizdus). Procesas apima „blob“ turinio (pvz., vartotojo sugeneruoto vaizdo) transformavimą į „base64“ eilutę, kurią naršyklė gali suprasti ir tiesiogiai rodyti.
Ši technika yra naudinga tam tikruose kontekstuose, nors ji turi trūkumą – padidėjusį atminties suvartojimą ir mažesnį našumą tvarkant labai didelius failus. Tokiais atvejais visada geriau naudoti „Blob“ objektus tiesiogiai ir nurodyti juos dinamiškai sukurtais URL adresais.
„Blob“ objektų vaidmuo debesies saugykloje: „Azure Blob“ saugykla
Debesų saugyklos kontekste, ypač tokiose platformose kaip „Microsoft Azure“ , BLOB įgauna itin svarbų vaidmenį. „Azure Blob Storage“ – tai objektų saugojimo paslauga, optimizuota dideliems nestruktūrizuotų duomenų kiekiams, t. y. informacijai, kuri neatitinka griežto duomenų modelio, pvz., vaizdams, vaizdo įrašams, atsarginėms kopijoms ar bet kokiems dideliems dvejetainiams ar tekstiniams failams.
Sistema yra hierarchizuota į tris pagrindinius lygius:
- Saugyklos paskyra: pirminis konteineris su unikalia vardų erdve ir sukonfigūruota prieiga.
- KandidatasPaskyros padalinys, kuriame saugomi ir tvarkomi „blob“ objektai, panašiai kaip tradicinės failų sistemos katalogai.
- BLOBAS: konkretus failas arba duomenų rinkinys, saugomas konteineryje, kuris gali būti įvairių tipų, priklausomai nuo jo naudojimo ir pobūdžio.
„Azure Blob Storage“ palaiko įvairias prieigos ir valdymo formas – nuo API (REST, SDK, „PowerShell“, CLI) iki integracijų su kitomis „Azure“ paslaugomis ir protokolais, tokiais kaip SFTP arba NFS. Taip pat siūlomos išplėstinės funkcijos, tokios kaip kelių pakopų saugykla (siekiant optimizuoti išteklius), didelis prieinamumas, atkūrimo po avarinių situacijų parinktys ir didelių analitinių darbo krūvių palaikymas naudojant „Azure Data Lake Storage Gen2“.
„Azure“ palaikomi „blob“ tipai
„Azure Storage“ sistemoje randame tris pagrindinius „blob“ tipų duomenis :
- Blokuoti blobus: skirtas dvejetainiams ir tekstiniams duomenims saugoti, susidedantis iš atskirų blokų, kuriuos galima valdyti atskirai. Puikiai tinka multimedijos failams arba dideliems duomenų kiekiams.
- Blobai prieduosepanašios į ankstesnes, bet optimizuotos nuolatinėms duomenų pridėjimo operacijoms, pvz., žurnalui ar įvykių įrašui.
- Dėmės puslapiuoseSukurta atsitiktinės prieigos failams, pvz., virtualiems standiesiems diskams (VHD), kurių talpa yra iki 8 TiB.
Kiekvienas „blob“ tipas turi savo taisykles ir apribojimus, susijusius su maksimaliu dydžiu, struktūra ir segmentų skaičiumi jo pavadinime, todėl jį galima tiksliai pritaikyti prie vartotojo ar programos poreikių.
Duomenų perkėlimas ir valdymas „Azure Blob Storage“
Duomenų perkėlimas į „Azure Blob Storage“ gali būti atliekamas įvairiais būdais, priklausomai nuo apimties ir skubumo:
- „AzCopy“Komandinės eilutės įrankis, skirtas efektyviam duomenų perdavimui tarp konteinerių arba iš vietinių sistemų.
- „Azure Data Factory“: sudėtingoms ir automatizuotoms duomenų integracijoms, palaikant skirtingus šaltinius ir paskirties vietas.
- Azure Data Box y Importo / eksporto paslaugasprendimai dideliems duomenų kiekiams perduoti naudojant fizinius įrenginius, kai tiesioginis įkėlimas per tinklą neįmanomas.
- BlobFuse: tvarkyklė, leidžianti prijungti „blob“ konteinerį taip, lyg tai būtų failų sistema „Linux“ sistemoje.
- Kliento bibliotekos: valdyti „blob“ ir integruoti į pritaikytas programas beveik bet kuria populiaria kalba.
Be to, „Azure“ suteikia didelį lankstumą apibrėžiant pavadinimų taisykles, segmentų valdymą ir organizavimo strategijas, siekiant optimizuoti prieigą prie saugomų duomenų, jų saugumą ir valdymą.
Išplėstinė techninė informacija ir svarstymai naudojant „blob“ elementus
Dirbant su „blob“ objektais žiniatinklio programose, svarbu atsižvelgti į atminties valdymą ir įkeltų objektų gyvavimo ciklą. Pavyzdžiui, jei sugeneruosime daug laikinų URL adresų „blob“ elementams ir jų neatleisime (atšaukdami URL), galime perkrauti naršyklės atmintį, o tai gali paveikti bendrą našumą ir vartotojo patirtį.
Kita vertus, srauto valdymas Naudojant „blob“ tipo objektus, didelius failus galima apdoroti dalimis, o ne įkelti visą failą iš karto, o tai labai svarbu norint išlaikyti našumą ir stabilumą programose, kurios tvarko didelius failus. „JavaScript“ leidžia naudoti tokius metodus kaip blob.stream() o blob.arrayBuffer(), palengvinant skaitymą fragmentais ir integraciją su šiuolaikinėmis srautinio perdavimo API.
Praktinis „blob“ panaudojimo pavyzdys kuriant žiniatinklio svetaines
Įsivaizduokite, kad turite programėlę, kurioje vartotojas gali įkelti paveikslėlį, jį redaguoti naršyklėje ir tada atsisiųsti modifikuotą versiją. Visą šį procesą galima puikiai valdyti naudojant „blob“:
- Vartotojo įkeltas vaizdas paverčiamas blobu ir rodomas ekrane.
- Vartotojas redaguoja vaizdą (pvz., apkarpo, prideda filtrus ir pan.).
- Rezultatas eksportuojamas, sugeneruojant naują „blob“ failą, kurį galima atsisiųsti, bendrinti arba siųsti į serverį.
- Jei norite laikinai rodyti vaizdą, sukurkite URL adresą su
URL.createObjectURL(blob), kurį galima naudoti etiketėje<img>.
Šis srautas gali būti išplėstas PDF dokumentams, vaizdo įrašams, garso įrašams ir bet kokiems dvejetainiams failams, susijusiems su programa.
Dažniausios klaidos ir geriausia praktika dirbant su „blob“
Viena iš dažniausiai pasitaikančių klaidų yra netinkamas laikinų „blob“ URL atlaisvinimas, dėl kurio nuteka atmintis. Taip pat svarbu apsvarstyti, kada geriausia saugoti failus kaip „blob“ duomenų bazėje, o ne tradicinėje failų sistemoje ar debesies saugykloje, nes kiekvienas variantas turi savo privalumų ir trūkumų, priklausomai nuo naudojimo konteksto, prieigos dažnumo ir tvarkomų duomenų kiekio.
Įmonių aplinkoje tinkamo būdo, kaip išsaugoti „blob“ kaip bloką, papildymą ar puslapį, pasirinkimas, taip pat konteinerių pavadinimų suteikimo ir tvarkymo debesyje planavimas gali lemti skirtumą tarp efektyvaus sprendimo ir tokio, kurį sunku prižiūrėti ir plėsti.
„Blob“ duomenų rinkinių naudojimas yra toks plačiai paplitęs, kad šiandien praktiškai kiekviena programa, susijusi su multimedijos failais, vaizdų apdorojimu ar didelio masto dokumentų valdymu, juos vienaip ar kitaip naudoja tiek vietoje, tiek debesijos paslaugose.
BLOB koncepcijos idėja yra tokia lanksti ir galinga, kad ji leido jai išsivystyti iš paprastos „amorfinės masės“, kurios pavadinimas įkvėptas filmo, ir tapti vienu iš duomenų saugojimo kertinių akmenų dabartyje ir ateityje. Nuo interneto svetainių kūrimo iki debesų kompiuterijos, įskaitant įmonių sistemas ir atsarginių kopijų sprendimus , BLOB naudojimas dabar yra būtinas norint efektyviai ir saugiai tvarkyti didelius duomenų kiekius.
</relacionado]