- BLOB ir liels binārs objekts, kas paredzēts milzīga jebkura veida datu apjoma glabāšanai.
- Tīmekļa un mākoņdatošanas izstrādē blobi ļauj pārvaldīt multivides failus un nestrukturētus datus.
- Azure Blob Storage ir viens no jaudīgākajiem risinājumiem blobu glabāšanai un pārvaldībai mākonī.
Meklējot, kas ir BLOB, jūs, visticamāk, sastapsiet terminu, kas šķitīs kā no zinātniskās fantastikas filmas vai pat pasaule, kas ir gandrīz nesaprotama tiem, kas nav datorzinātņu jomas pārstāvji. Tomēr BLOB jēdziena izpratne ir būtiska tehnoloģiju un programmēšanas pasaulē neatkarīgi no tā, vai strādājat ar datubāzēm, interesējaties par tīmekļa lietojumprogrammām vai vienkārši vēlaties būt lietas kursā par jaunākajām krātuves tehnoloģijām.
Šajā rakstā mēs vienkāršā, bet visaptverošā veidā aplūkosim visu par BLOB . Jūs atklāsiet, ko šis akronīms nozīmē skaitļošanā, tā lietojumu, kā šis jēdziens ir attīstījies un kāpēc tas ir kļuvis tik būtisks gan lokālās, gan mākoņsistēmās. Mēs apskatīsim visu, sākot no tehniskākajiem skaidrojumiem līdz ikdienas detaļām un lietojumu piemēriem, tostarp dažus interesantus faktus par vārda izcelsmi.
BLOB nozīme tehnoloģijās
Vārds BLOB ir cēlies no akronīma, kas apzīmē lielus bināros objektus (Binary Large Object) . Tas ir termins, ko plaši lieto, lai aprakstītu datu veidu, kas specializējas milzīga informācijas apjoma glabāšanā binārā formātā datubāzēs vai failu sistēmās.
Citiem vārdiem sakot, BLOB ir vienkārši datubāzes sadaļa , kas paredzēta lielu, nediferencētu datu elementu glabāšanai , sākot no attēliem, video un dublējumiem līdz jebkuram multivides vai bināram failam un pat lieliem teksta dokumentiem bez noteiktas struktūras. Tā galvenā īpašība ir tā, ka tā saturs ir binārā formātā, padarot to neizlasāmu cilvēkiem bez specializētas programmatūras palīdzības, kas spēj to interpretēt.
Kāpēc BLOB, nevis kāds cits datu tips?
BLOB izvēle kā krātuves veids rodas tāpēc, ka daži dati struktūras un lieluma ziņā neatbilst klasiskajiem tipiem, ko izmantojam datubāzēs (piemēram, teksta virknes vai veseli skaitļi). Iedomājieties, piemēram, digitālu fotogrāfiju, augstas izšķirtspējas video vai visu virtuālo datubāzi. Tas viss prasa elastīgu telpu bez stingriem ierobežojumiem un iepriekšējas interpretācijas. BLOB piedāvā tieši to: "konteineru" jebkura veida informācijai, īpaši, ja mēs īsti nezinām, kā to klasificēt.
Vienkāršāki, klasiski dati, kas paredzēti lasīšanai kā teksts (piemēram, XML, JSON vai vienkārši teksta faili), parasti tiek glabāti kā CLOB ( Character Large Object ), kas ir līdzīgs tips, bet koncentrējas uz rakstzīmēm, nevis bināriem baitiem. Īsāk sakot, BLOB atrisina problēmu, kas saistīta ar jebkā glabāšanu, kura formāts neatbilst standarta datu tipiem.
No kurienes radies termins BLOB?
Interesanti, ka termins "BLOB" (lāse) nav cēlies no datorzinātņu pasaules, bet gan no populārās kultūras. Tas tiek attiecināts uz 1958. gada zinātniskās fantastikas filmu " The Blob " ar Stīvu Makvīnu galvenajā lomā , kurā amorfa masa iznīcina visu savā ceļā. Šis "bezformas masas" jēdziens, kas ir viegli veidojams un ar nenoteiktu izmēru, kalpoja par iedvesmu šo elastīgo un apjomīgo bināro objektu nosaukšanai.
Patiesībā, lai gan daudzi pieņem, ka akronīms attiecas uz Binary Large Object (Binary Large Object) , dažos kontekstos to dēvē arī par Basic Large Object (Basic Large Object ), paverot durvis idejai, ka lāsei ne vienmēr ir jābūt binārai, bet gan jebkuram lielam "pamata objektam", kas jāuzglabā nestrukturētā veidā.
Kam tiek izmantoti BLOB?
Visbiežāk BLOB tiek izmantoti multivides failu pārvaldībai : fotoattēliem, videoierakstiem, audioierakstiem un kopumā jebkuram failam, kas pārsniedz tradicionālās datu glabāšanas izmēru un struktūru. Piemēram, uzņēmumu dokumentu pārvaldības sistēmas, ERP un mākoņrisinājumi bieži vien balsta savu glabāšanas efektivitāti uz šāda veida objektiem.
Taču BLOB tiek izmantoti arī citos gadījumos, piemēram, virtuālo cieto disku, dublējuma attēlu, saspiestu failu vai lielu dokumentu glabāšanai. To nozīme ir būtiska mūsdienu tīmekļa lietojumprogrammu un mākoņpakalpojumu izstrādē.
Kā tīmekļa izstrāde izmanto Blobs: JavaScript un Blob API gadījums
Jēdziens BLOB ir ieguvis īpašu nozīmi tīmekļa izstrāde, īpaši failu apstrādē pārlūkprogrammā. Valodas, piemēram, JavaScript, un API, piemēram, Web API Blob atļaut manipulācijas binārie dati tieši no tīmekļa lapām un lietojumprogrammām. Objekts Blob Tīmeklī tas attēlo nemainīgu datu plakanu failu. Var saturēt Jebkura veida informācijano dinamiski ģenerēta attēla līdz teksta fragmentiem vai jebkuram lietotāja augšupielādētam failam.
Patiesībā, saskarne File kas tiek izmantots mijiedarbībai ar failiem pārlūkprogrammā, ir balstīts uz Blob. Tas ļauj lietotāja manipulētus failus, piemēram, attēlus vai dokumentus, apstrādāt kā manipulējamus Blob objektus dažādās darbībās: skatīšanā, lejupielādē, augšupielādē serveros un citur.
JavaScript valodā mēs varam izveidot Blob ar konstruktoru Blob(), no masīviem, kas var saturēt citus blobus, virknes vai pat bufera avotus (zema līmeņa bināros datus). Varat arī iegūt daļu no esoša bloba, izmantojot metodi slice(), kas tiek izmantots, lai strādātu tikai ar to daļu, kas mūs interesē, neielādējot visu objektu atmiņā.
BLOB praktiska izmantošana tīmekļa lietojumprogrammās
Viens no visizplatītākajiem lietojumiem BLOB pārlūkprogrammā ir dinamiska failu ģenerēšana: faili, kurus lietotājs var lejupielādēt, iepriekš tos nesaglabājot serverī. Piemēram, mēs varam klienta ierīcē "tūlīt izveidot nelielu teksta vai attēla failu", pārveidot to par Blob un padarīt to pieejamu lietotājam, izmantojot saiti (vai nu ievietojot <a> HTML vai piespiedu kārtā veicot lejupielādi, izmantojot JavaScript).
Šo procesu atbalsta metode URL.createObjectURL(blob), kas ģenerē pagaidu URL, kas ir derīgs tikai pašreizējai sesijai, ļaujot Blob saturu parādīt citos elementos (piemēram, attēlos vai lejupielādes saitēs). Interesanta detaļa ir tā, ka tik ilgi, kamēr URL ir aktīvs, Blob objekts paliek pārlūkprogrammas atmiņā; Tāpēc šī metode pastāv URL.revokeObjectURL(url) atbrīvot šos resursus, kad tie vairs nav nepieciešami.
Kad tīmekļa lietojumprogrammās vēlamies pārsūtīt informāciju starp klientu un serveri, BLOB kļūst par vēlamo bināro failu formātu, pateicoties to daudzpusībai un saderībai ar mūsdienu API (piemēram, fetch, XMLHttpRequest utt.). Tie ļauj arī augšupielādēt attēlus pārlūkprogrammas audeklā, rediģēt tos un eksportēt kā jaunus blobus nosūtīšanai vai lejupielādei.
Konversijas un efektivitāte: no Blob uz Base64 un otrādi
Vēl viens izplatīts lietojums ir blobu konvertēšana uz base64 virknēm . Tas ļauj iegult bināro informāciju datu URL (piemēram, HTML iegultos attēlos). Process ietver blobu satura (piemēram, lietotāja ģenerēta attēla) pārveidošanu par base64 virkni, ko pārlūkprogramma var saprast un parādīt tieši.
Šī metode ir noderīga noteiktos kontekstos, lai gan tai ir trūkums – palielināts atmiņas patēriņš un zemāka veiktspēja, apstrādājot ļoti lielus failus. Šādos gadījumos vienmēr ir vēlams izmantot Blob objektus tieši un atsaukties uz tiem ar dinamiski izveidotiem URL.
Blobu loma mākoņkrātuvē: Azure Blob Storage
Mākoņkrātuves kontekstā, īpaši tādās platformās kā Microsoft Azure , BLOB iegūst būtisku nozīmi. Azure Blob Storage ir objektu glabāšanas pakalpojums, kas ir optimizēts lieliem nestrukturētu datu apjomiem, proti, informācijai, kas neatbilst stingram datu modelim, piemēram, attēliem, videoklipiem, dublējumiem vai jebkuram lielam bināram vai teksta failam.
Sistēma ir hierarhiski sadalīta trīs pamata līmeņos:
- Krātuves konts: vecākkonteiners ar unikālu vārdtelpu un konfigurētu piekļuvi.
- KandidātsKonta apakšnodaļa, kurā tiek glabāti un organizēti blobi, līdzīgi kā direktoriji tradicionālajā failu sistēmā.
- BLOB: konkrēts fails vai datu kopums, kas tiek glabāts konteinerā, kas var būt dažādu veidu atkarībā no tā lietojuma un rakstura.
Azure Blob Storage atbalsta vairākus piekļuves un pārvaldības veidus, sākot no API (REST, SDK, PowerShell, CLI) līdz integrācijām ar citiem Azure pakalpojumiem un protokoliem, piemēram, SFTP vai NFS. Tas piedāvā arī tādas uzlabotas funkcijas kā vairāku līmeņu krātuve (resursu optimizēšanai), augsta pieejamība, atkopšanas iespējas pēc avārijas un atbalsts lielām analītiskām darba slodzēm, izmantojot Azure Data Lake Storage Gen2.
Azure atbalstītie blobu veidi
Azure Storage ietvaros mēs atrodam trīs galvenos blobu veidus :
- Bloku bloķējumi: paredzēts bināro un teksta datu glabāšanai, kas sastāv no atsevišķiem blokiem, kurus var pārvaldīt atsevišķi. Lieliski piemērots multimediju failiem vai lieliem datu apjomiem.
- Blobi pielikumos: līdzīgi iepriekšējiem, bet optimizēti nepārtrauktām datu pievienošanas darbībām, piemēram, žurnālam vai notikumu ierakstam.
- Blobi lapāsParedzēts brīvpiekļuves failiem, piemēram, virtuālajiem cietajiem diskiem (VHD), un ar ietilpību līdz 8 TiB.
Katram blobu tipam ir savi noteikumi un ierobežojumi attiecībā uz maksimālo izmēru, struktūru un segmentu skaitu tā nosaukumā, kas ļauj precīzi pielāgot lietotāja vai lietojumprogrammas vajadzībām.
Datu migrācija un pārvaldība pakalpojumā Azure Blob Storage
Datu migrāciju uz Azure Blob Storage var veikt dažādos veidos atkarībā no apjoma un steidzamības:
- AzCopyKomandrindas rīks efektīvai datu pārsūtīšanai starp konteineriem vai no lokālajām sistēmām.
- Azure datu rūpnīca: sarežģītām un automatizētām datu integrācijām, atbalstot dažādus avotus un galamērķus.
- Azure Data Box y Importa/eksporta pakalpojums: risinājumi lielu datu apjomu pārsūtīšanai, izmantojot fiziskas ierīces, ja tieša augšupielāde tīklā nav iespējama.
- BlobFuse: draiveris, kas ļauj pievienot blob konteineru tā, it kā tas būtu failu sistēma Linux sistēmā.
- Klientu bibliotēkas: lai pārvaldītu blobus un integrētu tos pielāgotās lietojumprogrammās gandrīz no jebkuras populāras valodas.
Turklāt Azure nodrošina lielu elastību nosaukumu piešķiršanas noteikumu definēšanā, segmentu pārvaldībā un organizācijas stratēģijās, lai optimizētu piekļuvi, drošību un saglabāto datu pārvaldību.
Papildu tehniskā informācija un apsvērumi par blobu izmantošanu
Strādājot ar blobiem tīmekļa lietojumprogrammās, ir svarīgi ņemt vērā atmiņas pārvaldību un ielādēto objektu dzīves ciklu. Piemēram, ja mēs ģenerējam daudz pagaidu URL blobiem un tos neatbrīvojam (atsaucot URL), mēs varam pārslogot pārlūkprogrammas atmiņu, kas var ietekmēt kopējo veiktspēju un lietotāja pieredzi.
Turklāt straumes pārvaldība Izmantojot blobus, var apstrādāt lielus failus pa daļām, nevis ielādēt visu failu uzreiz, kas ir ļoti svarīgi, lai saglabātu veiktspēju un stabilitāti lietojumprogrammās, kas apstrādā lielus failus. JavaScript padara pieejamas tādas metodes kā blob.stream() o blob.arrayBuffer(), atvieglojot lasīšanu fragmentos un integrāciju ar modernām straumēšanas API.
Blobu praktiskas izmantošanas piemērs tīmekļa izstrādē
Iedomājieties, ka jums ir lietotne, kurā lietotājs var augšupielādēt attēlu, rediģēt to pārlūkprogrammā un pēc tam lejupielādēt modificēto versiju. Visu šo procesu var lieliski pārvaldīt, izmantojot blobus:
- Lietotāja augšupielādētais attēls tiek pārveidots par blobu un parādīts ekrānā.
- Lietotājs rediģē attēlu (piemēram, apgriež to, pievieno filtrus utt.).
- Rezultāts tiek eksportēts, ģenerējot jaunu blobu, ko var lejupielādēt, koplietot vai nosūtīt uz serveri.
- Ja vēlaties attēlu parādīt īslaicīgi, izveidojiet URL ar
URL.createObjectURL(blob), ko var izmantot uz etiķetes<img>.
Šo plūsmu var paplašināt, iekļaujot PDF dokumentus, video, audio failus un jebkuru bināro failu, kas ir iesaistīts lietojumprogrammā.
Biežāk pieļautās kļūdas un labākā prakse, strādājot ar blobiem
Viena no visbiežāk sastopamajām kļūdām ir nepareiza pagaidu blobu vietrāžu URL atbrīvošana, kas izraisa atmiņas noplūdes. Ir svarīgi arī apsvērt, kad vislabāk ir glabāt failus kā blobus datubāzē, nevis tradicionālā failu sistēmā vai mākoņkrātuvē, jo katrai opcijai ir savas priekšrocības un trūkumi atkarībā no lietošanas konteksta, piekļuves biežuma un apstrādājamo datu apjoma.
Uzņēmumu vidē pareizā bloba saglabāšanas veida izvēle kā bloks, papildinājums vai lapa, kā arī konteineru nosaukumu piešķiršanas un organizācijas plānošana mākonī var nozīmēt atšķirību starp efektīvu risinājumu un tādu, ko ir grūti uzturēt un mērogot.
Blobu izmantošana ir tik plaši izplatīta, ka mūsdienās praktiski katra lietojumprogramma, kas saistīta ar multivides failiem, attēlu apstrādi vai liela mēroga dokumentu pārvaldību, tos kaut kādā veidā izmanto gan lokāli, gan mākoņpakalpojumos.
BLOB koncepcijas ideja ir tik elastīga un spēcīga, ka tā ir ļāvusi tai attīstīties no vienkāršas "amorfas masas" ar filmas iedvesmotu nosaukumu par vienu no datu glabāšanas stūrakmeņiem tagadnē un nākotnē. Sākot no tīmekļa izstrādes līdz mākoņdatošanai, tostarp uzņēmumu sistēmām un dublēšanas risinājumiem , BLOB izmantošana tagad ir būtiska liela datu apjoma efektīvai un drošai apstrādei.
</relacionado]