DataHub me burim të hapur: platforma për kërkimin dhe zbulimin e metadata-ve nga LinkedIn

DataHub me burim të hapur: platforma për kërkimin dhe zbulimin e metadata-ve nga LinkedIn

Kërkimi i shpejtë i të dhënave të nevojshme është thelbësor për çdo kompani që mbështetet në një sasi të madhe të dhënash për të marrë vendime. Kjo ndikon jo vetëm në produktivitetin e përdoruesve të dhënash (përfshirë analistët, zhvilluesit e mësimit të automatizuar, specialistët e përpunimit të të dhënave dhe inxhinierët e të dhënave), por gjithashtu ka një ndikim të drejtpërdrejtë në produktet finale që varen nga një cikël cilësor i mësimit të automatizuar (ML). Për më tepër, trendi i implementimit ose krijimit tëPlatformave të mësimit të automatizuar natyrshëm ngre pyetjen: cila është metoda juaj për të zbuluar brendshëm tiparet, modelet, metrikat, grupet e të dhënave etj.

Në këtë artikull do të flasim për si e publikuan burimin e të dhënave nën një licencë të hapur DataHub në platformën tonë të kërkimit dhe zbulimit të treguesve që nga ditët e para të projektit WhereHows. LinkedIn mbështet një version të saj të DataHub ndaras nga versioni me kod të hapur. Ne do të fillojmë me shpjegimin e arsyes pse na nevojiten dy ambiente të ndara zhvillimi, pas së cilës do të diskutojmë qasjet e para për përdorimin e WhereHows me kod të hapur dhe do të bëjmë një krahasim të versionit tonë të brendshëm (prodhues) të DataHub me versionin në GitHub. Ne gjithashtu do të ndajmë detaje mbi zgjidhjen tonë të re automatizuar për dërgimin dhe marrjen e azhurnimeve me kod të hapur për të sinkronizuar të dy depozitat. Në fund, do t'u japim udhëzime se si të filloni të përdorni DataHub me kod të hapur dhe do të diskutojmë shkurtimisht mbi arkitekturën e tij.

DataHub me burim të hapur: platforma për kërkimin dhe zbulimin e metadata-ve nga LinkedIn

WhereHows tani është DataHub!

Ekipi i treguesve të dhënash në LinkedIn e prezantoi më parë DataHub (pasardhësi i WhereHows), platformën për kërkimin dhe zbulimin e treguesve të dhënash nga LinkedIn, dhe ndau planet për ta hapur atë. Pak pasi u shpall kjo, ne lëshuam një version alfa të DataHub dhe e ndamë atë me komunitetin. Që atëherë, ne kemi kontribuar vazhdimisht në depozitë dhe kemi punuar me përdoruesit e interesuar për të shtuar funksionet më të kërkuara dhe për të zgjidhur çështjet. Tani jemi të lumtur të shpallim lëshimin zyrtar të DataHub në GitHub.

Qasjet me kod të hapur

WhereHows, portali origjinal i LinkedIn për kërkimin e të dhënave dhe origjinën e tyre, u hap si një projekt të brendshëm; ekipi i treguesve të dhënash e hapi atë kodin e tij burimor në vitin 2016. Që atëherë, ekipi gjithmonë ka mbështetur dy baza të ndryshme kodike - një për burim të hapur, dhe një tjetër për përdorim të brendshëm nga LinkedIn, pasi jo të gjitha funksionalitetet e produktit, të zhvilluara për opsionet e përdorimit të LinkedIn, ishin në përgjithësi të aplikueshme për një audiencë më të gjerë. Për më tepër, WhereHows ka disa varësi të brendshme (infrastrukturë, biblioteka etj.), kodin burimor të cilave nuk e kanë hapur. Gjatë viteve të mëvonshme, WhereHows ka kaluar përmes shumë iteracioneve dhe cikleve të zhvillimit, duke bërë që sinkronizimi i dy bazave të ndryshme të kodit të jetë një sfidë e madhe. Ekipi i metadatatëve ka provuar teknika të ndryshme gjatë viteve, për të përpjekur të sinkronizojë zhvillimin e brendshëm me zhvillimin me burim të hapur.

Përpjekja e parë: "Fillimisht burim i hapur"

Fillimisht, ne ndoqëm modelin e zhvillimit "fillimisht burim i hapur", ku zhvillimi kryesor ndodhte në një depot me burim të hapur, dhe ndryshimet bëheshin për implementimin e brendshëm. Problemi me këtë qasje është se kodi gjithmonë dërgohej në GitHub përpara se të verifikohej plotësisht brenda. Derisa të bëheshin ndryshime nga depot me burim të hapur dhe të bëhej një implementim i ri i brendshëm, ne nuk do të zbulojmë asnjë problem prodhimi. Në rast të një implementimi të dobët, gjithashtu ishte shumë e vështirë të identifikohej fajësia, pasi ndryshimet bëheshin në grupe.

Përveç kësaj, ky model e uli produktivitetin e ekipit në zhvillimin e funksioneve të reja që kërkonin iteracione të shpejta, sepse e detyronte çdo ndryshim që të dërgohej fillimisht në depot me burim të hapur, e më pas në depot e brendshme. Për të shkurtuar kohën e përpunimit, çdo riparim ose ndryshim mund të bëhej fillimisht në depot e brendshme, por ky u bë një problem i madh kur erdhi koha për të bashkuar këto ndryshime përsëri në depot me burim të hapur, sepse dy depot ishin jashtë sinkronizimit.

Ky kjo model është shumë më e thjeshtë për t'u realizuar për platforma të përgjithshme, biblioteka ose projekte infrastrukturore sesa për aplikacione të plota web për përdoruesit. Për më tepër, kjo model është ideale për projektet që fillojnë me kod të hapur që nga dita e parë, por WhereHows është krijuar si një aplikacion web tërësisht të brendshëm. Ishte vërtet e vështirë të abstrohet plotësisht nga të gjitha varësitë e brendshme, prandaj na duhej të ruanim një ndarje të brendshme, por ruajtja e ndarjes së brendshme dhe zhvillimi kryesisht me kod të hapur nuk funksionuan plotësisht.

Përpjekja e dytë: "Fillimisht të brendshëm"

** Si përpjekja e dytë, ne kaluam në modelin e zhvillimit "fillimisht të brendshëm", ku zhvillimi kryesor zhvillohet brenda kompanisë, dhe ndryshimet bëhen në kodin e hapur në një bazë të rregullt. Megjithëse ky model është më i përshtatshëm për rastin tonë të përdorimit, ai ka disa probleme. Dërgimi i drejtpërdrejtë i të gjitha ndryshimeve në depozitën e kodit të hapur dhe më pas përpjekja për të zgjidhur konfliktet e bashkimit më vonë është një mundësi, por e merr shumë kohë. Zhvilluesit në shumicën e rasteve përpiqen ta shmangin këtë me çdo kontroll të kodit. Si rezultat, kjo do të ndodhte shumë më rrallë, në grupe, dhe kështu e bën më të vështirë zgjidhjen e mëvonshme të konflikteve të bashkimit.

Në përpjekjen e tretë, gjithçka shkoi mirë!

Dy pĂ«rpjekjet e pĂ«rmendura mĂ« sipĂ«r çuan nĂ« faktin se depozita WhereHows nĂ« GitHub mbeti e vjetruar pĂ«r njĂ« kohĂ« tĂ« gjatĂ«. Ekipa vazhdoi tĂ« pĂ«rmirĂ«sonte funksionalitetet dhe arkitekturĂ«n e produktit, prandaj versioni i brendshĂ«m i WhereHows pĂ«r LinkedIn po bĂ«hej gjithnjĂ« e mĂ« i avancuar se versioni me kod tĂ« hapur. Ai madje kishte njĂ« emĂ«r tĂ« ri — DataHub. Duke u bazuar nĂ« pĂ«rpjekjet e mĂ«parshme tĂ« pasuksesshme, ekipi vendosi tĂ« zhvillonte njĂ« zgjidhje afatgjatĂ« dhe tĂ« shkallĂ«zueshme.

Për çdo projekt të ri me kod të hapur, ekipi i zhvilluesve të kodit të hapur të LinkedIn konsulton dhe mbështet modelin e zhvillimit, ku modulet e projektit zhvillohen plotësisht me kod të hapur. Artefaktet me mbështetje versioni shpërndahen në një depo publik, dhe më pas kthehen në një artefakt të brendshëm të LinkedIn me anë të kërkesës për një bibliotekë të jashtme (ELR)Ndjekja e këtij modeli zhvillimi nuk është vetëm e mirë për ata që përdorin kod të hapur, por gjithashtu çon në krijimin e një arkitekture më modulare, të zgjerueshme dhe të integrueshme.

Megjithatë, për të arritur këtë gjendje për një aplikacion të brendshëm të pjekur, si DataHub, do të duhen një sasi e konsiderueshme kohore. Kjo gjithashtu përjashton mundësinë e një implementimi funksional të kodit të hapur përpara se të gjitha varësitë e brendshme të jenë plotësisht të abstrahuara. Prandaj, ne kemi zhvilluar mjete që na ndihmojnë të kontribuojmë në kodin e hapur më shpejt dhe me shumë më pak dhimbje. Ky zgjidhje është e favorshme si për ekipin e metadhenave (zhvilluesi i DataHub), ashtu edhe për komunitetin e kodit të hapur. Në seksionet e ardhshme do të diskutohet ky qasje e re.

Automatizimi i publikimit me kod të hapur

Qasja e fundit e grupit të metadhenave ndaj DataHub me kod të hapur është zhvillimi i një instrumenti që sinkronizon automatikisht bazën e kodit të brendshëm dhe depozitën me kod të hapur. Funksionet kryesore të këtij instrumenti përfshijnë:

  1. Sinkronizimi i kodit nga LinkedIn në / nga kodi i hapur, në mënyrë të ngjashme rsync.
  2. Krijimi i titujve të licencës, në mënyrë të ngjashme Apache Rat.
  3. Krijimi automatik i regjistrave të komiteteve të hapura nga regjistrat e brendshëm të komiteteve.
  4. Parandalimi i ndryshimeve të brendshme që shkelin ndërtimin me kod të hapur përmes testimit të varësive.

Në seksionet e ardhshme do të shqyrtohen në detaje funksionet e përmendura më sipër, të cilat përmbajnë probleme interesante.

Sinkronizimi i kodit burimor

Ndryshe nga versioni i DataHub me kod të hapur, i cili përbën një depozitë të vetme në GitHub, versioni i DataHub për LinkedIn është një kombinim i disa depozitave (brenda kompanisë të quajtura multiproducts). Interfejsi i DataHub, biblioteka e modeleve të metadhenave, shërbimi i depozitës së metadhenave dhe detyrat e rrjedhës ndodhen në depozita të ndryshme në LinkedIn. Megjithatë, për të lehtësuar punën e përdoruesve me kod të hapur, ne kemi një depo të vetme për versionin e DataHub me kod të hapur.

DataHub me burim të hapur: platforma për kërkimin dhe zbulimin e metadata-ve nga LinkedIn

Figura 1: Sinkronizimi midis depozitave LinkedIn DataHub dhe depozitës së vetme DataHub me kod të hapur

Për të mbështetur proceset automatike të ndërtimit, dërgimit dhe nxjerrjes, instrumenti ynë i ri krijon automatikisht një mapim në nivelin e skedarit, përkatësisht për çdo skedar burimi. Megjithatë, për këtë mjet kërkohet një konfigurim fillestar dhe përdoruesit duhet të ofrojnë një pamje të nivelit të lartë të moduleve, siç tregohet më poshtë.

{
  "datahub-dao": [
    "${datahub-frontend}/datahub-dao"
  ],
  "gms/impl": [
    "${dataset-gms}/impl",
    "${user-gms}/impl"
  ],
  "metadata-dao": [
    "${metadata-models}/metadata-dao"
  ],
  "metadata-builders": [
    "${metadata-models}/metadata-builders"
  ]
}

Mapimi nĂ« nivelin e modulit Ă«shtĂ« njĂ« JSON i thjeshtĂ«, ku çelĂ«sat janĂ« modul tĂ« synuar nĂ« depo me kod tĂ« hapur dhe vlerat janĂ« lista e moduleve burimore nĂ« depozitĂ« tĂ« LinkedIn. Çdo modul i synuar nĂ« depo me kod tĂ« hapur mund tĂ« ushqehet nga çdo numĂ«r moduli burimor. PĂ«r tĂ« treguar emrat e brendshĂ«m tĂ« depozitave nĂ« modulet burimore pĂ«rdoret interpolimi i vargjeve nĂ« stilin Bash. Duke pĂ«rdorur skedarin e mapimit nĂ« nivelin e modulit, mjetet krijojnĂ« njĂ« skedar mapimi nĂ« nivelin e skedarĂ«ve duke skanuar tĂ« gjithĂ« skedarĂ«t nĂ« katalogĂ«t e lidhur.

{
  "${metadata-models}/metadata-builders/src/main/java/com/linkedin/Foo.java":
"metadata-builders/src/main/java/com/linkedin/Foo.java",
  "${metadata-models}/metadata-builders/src/main/java/com/linkedin/Bar.java":
"metadata-builders/src/main/java/com/linkedin/Bar.java",
  "${metadata-models}/metadata-builders/build.gradle": null,
}

Mapimi në nivelin e skedarëve krijohet automatikisht nga mjetet; megjithatë, ai gjithashtu mund të përditësohet manualisht nga përdoruesi. Ky mapim është 1:1 i skedarit burimor të LinkedIn me një skedar në depozitë me kod të hapur. Ekzistojnë disa rregulla të lidhura me këtë krijim automatik të mapimit të skedarëve:

  • NĂ« rastin e disa moduleve burimore pĂ«r njĂ« modul tĂ« synuar nĂ« kod tĂ« hapur, mund tĂ« ndodhin konflikte, pĂ«r shembull, e njĂ«jta FQCN, e cila ekziston nĂ« mĂ« shumĂ« se njĂ« modul burimor. Si njĂ« strategji pĂ«r zgjidhjen e konflikteve, mjetet tona pĂ«rdorin automatikisht opsionin 'fituesi i fundit'.
  • "null" do tĂ« thotĂ« se skedari burimor nuk Ă«shtĂ« pjesĂ« e depozitĂ«s me kod tĂ« hapur.
  • Pas çdo dĂ«rgim nĂ« kodin e hapur ose nxjerrje nga ai, kjo pĂ«rputhje azhurnohet automatikisht dhe krijohet njĂ« moment fotografik. Kjo Ă«shtĂ« e nevojshme pĂ«r tĂ« identifikuar shtesat dhe fshirjet nĂ« kodin burimor pas veprimit tĂ« fundit.

Krijimi i logëve të angazhimeve

Logët e angazhimeve për angazhimet me kod të hapur gjithashtu krijohen automatikisht duke bashkuar logët e angazhimeve të repository-ve të brendshme. Më posht është një shembull i logut të angazhimit për të treguar strukturën e logut të angazhimit të krijuar nga mjeti ynë. Angazhimi tregon qartë se cilat versione të repository-ve burimore janë paketuar në këtë angazhim dhe siguron informacion të përmbledhur për logun e angazhimit. Kontrolloni këtë komit në një shembull real të logut të angazhimit të krijuar nga mjetet tona.

metadata-models 29.0.0 -> 30.0.0
    Shtuar modeli i aspektit foo
    Rregulluar çështjen bar

dataset-gms 2.3.0 -> 2.3.4
    Shtuar API-në rest.li për të shërbyer aspektin foo

MP_VERSION=dataset-gms:2.3.4
MP_VERSION=metadata-models:30.0.0

Testimi i varësisë

LinkedIn ka infrastrukturë testimi varësish, e cila ndihmon të sigurojë se ndryshimet në multi-produktin e brendshëm nuk do të dështojnë ndërtimin e multi-produkteve varëse. Repository DataHub me kod të hapur nuk është multi-produkt dhe nuk mund të jetë një varësi e drejtpërdrejtë nga ndonjë multi-produkt, por përmes një shell-i multi-produkti, i cili nxjerr kodin burimor të DataHub me kod të hapur, ne ende mund ta përdorim këtë sistem testimi varësish. Prandaj, çdo ndryshim (i cili ndoshta do të hapet më vonë) në ndonjë nga multi-produktet që ushqejnë repository-n DataHub me kod të hapur, aktivizon një ngjarje ndërtimi në shell-in e multi-produktit. Si rezultat, çdo ndryshim që nuk lejon ndërtimin e shell-it multi-produkt, nuk kalon testet para angazhimit të multi-produktit burimor dhe kthehet.

Ky është një mekanizëm i dobishëm që ndihmon të parandalojë çdo angazhim të brendshëm që prish ndërtimin me kod të hapur dhe e zbulon atë gjatë krijimit të angazhimit. Pa këtë, do të ishte mjaft e vështirë të përcaktohej se cili angazhim i brendshëm çoi në dështimin e ndërtimit të repository-t me kod të hapur, sepse ne vendosim ndryshimet e paketuara të brendshme në repository-n DataHub me kod të hapur.

Dallimet midis DataHub me burim të hapur dhe versionit tonë të prodhimit

Derisa ne kemi diskutuar zgjidhjen tonë për sinkronizimin e dy versioneve të repozitorëve DataHub, deri tani nuk kemi shpjeguar arsyet përse kemi nevojë për dy rrjedha të ndryshme zhvillimi. Në këtë seksion do të përmendim dallimet midis versionit publik të DataHub dhe versionit të prodhimit në serverat LinkedIn, si dhe do të shpjegojmë arsyet e këtyre dallimeve.

Një nga burimet e mosmarrëveshjeve rrjedh nga fakti se versioni ynë i prodhimit ka varësi nga kodet me burim ende të mbyllur, siç është Offspring i LinkedIn (strukturë e brendshme e menaxhimit të varësive të LinkedIn). Offspring përdoret gjerësisht në bazën tonë të brendshme të kodit, sepse është metoda e preferuar për menaxhimin e konfigurimeve dinamike. Por kjo nuk është me burim të hapur; prandaj na nevojitet të gjejmë alternativa me burim të hapur për DataHub me burim të hapur.

Ka edhe arsye të tjera. Ndërsa krijojmë zgjerime të modelit të metadatan për nevojat e LinkedIn, këto zgjerime zakonisht janë shumë specifike për LinkedIn dhe ndoshta nuk mund të aplikohen drejtpërdrejt në mjedise të tjera. Për shembull, ne kemi etiketat shumë specifike për identifikuesit e pjesëmarrësve dhe llojet e tjera të metadatan për përshtatjen. Pra, aktualisht kemi përjashtuar këto zgjerime nga modeli i metadatan të DataHub me burim të hapur. Ndërsa angazhohemi me komunitetin dhe kuptojmë nevojat e tyre, do të punojmë për versionet e përbashkëta të këtyre zgjerimeve me burim të hapur, kur është e nevojshme.

Lehtësia e përdorimit dhe adaptimi më i lehtë për komunitetin me burim të hapur gjithashtu frymëzuan disa dallime midis dy versioneve të DataHub. Dallimet në infrastrukturën e procesimit në kohë reale janë një shembull i mirë. Ndërsa versioni ynë i brendshëm përdor infrastrukturën e procesimit të menaxhuar, ne vendosëm të përdorim procesimin e integruar (autonom) për versionin me burim të hapur, pasi ajo lejon të shmangim krijimin e një varësie tjetër infrastrukturore.

Një shembull tjetër i ndryshimit është prania e një GMS (Sistemi i Menaxhimit të Metadave) në implementimin me burim të hapur, në vend të disa GMS-ve. GMA (Arkitektura e Përgjithshme e Metadave) është emri i arkitekturës së brendshme për DataHub, ndërsa GMS është depoja e metadave në kontekstin e GMA. GMA është një arkitekturë shumë fleksibile që ju lejon të shpërndani çdo ndërtim të dhënash (p.sh. grupe të dhënash, përdorues, etj.) në një depo të vetme metadash, ose të ruani disa ndërtime të dhënash në një depo metadash, për aq kohë sa regjistri që përmban hartimin e strukturës së dhënave në GMS përditësohet. Për thjeshtësi, ne zgjodhëm një shembull GMS që ruan të gjitha ndërtimet e ndryshme të dhënash në DataHub me burim të hapur.

Lista e plotë e ndryshimeve midis dy implementimeve është e dhënë në tabelën më poshtë.

Karakteristikat e Produktit
LinkedIn DataHub
Open Source DataHub

Ndërtimet e Mbështetura të Dhënash
1) Grupa të dhënash 2) Përdorues 3) Metrika 4) Karakteristika ML 5) Grafikë 6) Paneli i Kontrollit
1) Grupa të dhënash 2) Përdorues

Burimet e Metadave të Mbështetura për Grupet e Dhënash
1) Ambry 2) Couchbase 3) Dalids 4) Espresso 5) HDFS 6) Hive 7) Kafka 8) MongoDB 9) MySQL 10) Oracle 11) Pinot 12) Presto 12) Seas 13) Teradata 13) Vector 14) Venice
Hive Kafka RDBMS

Pub-sub
LinkedIn Kafka
Confluent Kafka

Përpunimi i Rrymës
I menaxhuar
I inkorporuar (i pavarur)

Injeksioni i Varësive & Konfigurimi Dinamik
Offspring i LinkedIn
Spring

Mjetet e Ndërtimit
Ligradle (mjeti interner i Gradle i LinkedIn)
Gradlew

CI/CD
CRT (CI/CD i brendshëm i LinkedIn)
TravisCI dhe Docker Hub

Depot e Metadave
GMS të distribuuar të shumta: 1) GMS i Grupit të Dhënash 2) GMS i Përdoruesve 3) GMS i Metrikave 4) GMS i Karakteristikave 5) GMS i Grafikëve/Paneleve të Kontrollit
GMS i vetëm për: 1) Grupa të dhënash 2) Përdorues

Mikroshërbimet në kontejnerët Docker

Docker lehtĂ«sojnĂ« implementimin dhe shpĂ«rndarjen e aplikacioneve duke pĂ«rdorur kontejnerizimin.Çdo pjesĂ« e shĂ«rbimit nĂ« DataHub me burim tĂ« hapur, duke pĂ«rfshirĂ« komponentĂ«t e infrastrukturĂ«s si Kafka, Elasticsearch, Neo4j dhe MySQL, ka imazhin e saj Docker. PĂ«r orkestrimin e kontejnerĂ«ve Docker, ne pĂ«rdorĂ«m Docker Compose.

DataHub me burim të hapur: platforma për kërkimin dhe zbulimin e metadata-ve nga LinkedIn

Figura 2: Arkitektura DataHub *me burim të hapur**

Mund të shihni arkitekturën e nivelit të lartë të DataHub në figurën më lart. Përveç komponentëve të infrastrukturës, ajo ka katër kontejnerë të ndryshëm Docker:

datahub-gms: shërbimi i depozitës së metadave

datahub-frontend: aplikacioni Loko, që shërben ndërfaqen e DataHub.

datahub-mce-consumer: aplikacioni Kafka Streams, i cili përdor rrjedhën e ngjarjeve të ndryshimit të metadave (MCE) dhe përditëson depozitat e metadave.

datahub-mae-consumer: aplikacioni Kafka Streams, i cili përdor rrjedhën e ngjarjeve të auditit të metadave (MAE) dhe krijon një bazë të dhënash për indeksimin e kërkimeve dhe grafit.

Dokumentacioni për repozitorin me burim të hapur dhe postimi i blogut DataHub përmbajnë më shumë informacion rreth veçorive të shërbimeve të ndryshme.

CI / CD në DataHub me kod burimor të hapur

Repoja e DataHub me kod burimor tĂ« hapur pĂ«rdor TravisCI pĂ«r integrimin e vazhdueshĂ«m dhe Docker Hub pĂ«r shpĂ«rndarjen e vazhdueshme. TĂ« dyja kanĂ« njĂ« integrim tĂ« mirĂ« me GitHub dhe janĂ« tĂ« lehta pĂ«r tu konfiguruar. PĂ«r pjesĂ«n mĂ« tĂ« madhe tĂ« infrastrukturĂ«s me kod burimor tĂ« hapur, tĂ« zhvilluar nga komuniteti ose kompani private (p.sh., Confluent), janĂ« krijuar imazhe Docker, dhe ato shpĂ«rndahen nĂ« Docker Hub pĂ«r tĂ« lehtĂ«suar pĂ«rdorimin nga komuniteti. Çdo imazh Docker i gjetur nĂ« Docker Hub mund tĂ« pĂ«rdoret lehtĂ«sisht me njĂ« komandĂ« tĂ« thjeshtĂ« docker pull.

Me çdo komit në repo me kod burimor të hapur DataHub, të gjitha imazhet Docker krijohen automatikisht dhe shpërndahen në Docker Hub me tagun "latest". Nëse në Docker Hub është caktuar ndonjë emërtesë e degëve me shprehje të rregullta, të gjitha tagët në repo me kod burimor të hapur lëshohen gjithashtu me emra tag-esh përkatës në Docker Hub.

Përdorimi i DataHub

Konfigurimi i DataHub është shumë i thjeshtë dhe përbëhet nga tre hapa të thjeshtë:

  1. Kloni repo-n me kod burimor të hapur dhe filloni të gjitha kontejnerët Docker duke përdorur docker-compose me skenarin e dhënë docker-compose për një fillim të shpejtë.
  2. Shkarkoni mostrën e të dhënave, të paraqitura në repo, duke përdorur mjetin e komandës, i cili gjithashtu ofrohet.
  3. Shikoni DataHub në shfletuesin tuaj.

Një bisedë Gitter po ashtu është vendosur për pyetje të shpejta. Përdoruesit gjithashtu mund të krijojnë probleme direkt në repo-n GitHub. Më e rëndësishmja, ne mirëpresim dhe vlerësojmë të gjitha feedback dhe sugjerime!

Planet për të ardhmen

Aktualisht, çdo infrastrukturë ose mikroshërbim për DataHub me kod burimor të hapur është ndërtuar si një kontejner Docker, dhe e gjithë sistemi orkestrohet me docker-compose. Duke marrë parasysh popullaritetin dhe shpërndarjen e gjerë Kubernetes, ne gjithashtu dëshirojmë të ofrojmë një zgjidhje të bazuar në Kubernetes në të ardhmen afatshkurtër.

Ne gjithashtu planifikojmë të ofrojmë një zgjidhje të gatshme për shpërndarjen e DataHub në një shërbim të hapur të cloud, siç është Azure, AWS ose Google Cloud. Duke marrë parasysh njoftimin e fundit mbi migrimin e LinkedIn në Azure, kjo do të përputhet me prioritetet e brendshme të grupit të metadata.

Dhe e fundit, por jo më pak e rëndësishme: falenderime për të gjithë përdoruesit e parë të DataHub në komunitetin e burimeve të hapura, që vlerësuan versionet alfa të DataHub dhe ndihmuan në zbardhjen e problemeve dhe përmirësimin e dokumentacionit.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster