lakeFS vs DVC: Versiju kontrole vēlas būt failu sistēma
Datu versiju kontroles gadījumā visi piekrītoši māj ar galvu, it kā tas būtu Git visam – līdz brīdim, kad mēģiniet to faktiski izmantot petabaitiem starp komandām un saprotat, ka Git patiesībā bija Git kodeksam. “Vienkārši izturieties pret savu S3 repozitoriju kā pret repozitoriju,” viņi saka, kas ir līdzīgi kā teikt simfonijai, lai tā izmantotu kazū, jo tas tehniski ir pūšamais instruments.
Šis ir stāsts par divām pasaules uztverēm, kurām ir kopīgs sauklis: lakeFS vs DVC. Abi sola veselo saprātu tur, kur dati, modeļi un eksperimenti parasti pazūd. Taču viņi risina problēmu no pretējiem virzieniem. DVC ir izstrādātājiem paredzēts, Git-blakus esošs rīku komplekts, kas brauc blakus jūsu repozitorijam. lakeFS ir krātuves vietējais slānis, kas pārvērš jūsu objektu krātuvi par versiju failu sistēmu ar filiālēm, ieskaitēm un apvienošanām. Tā pati melodija, dažādas atslēgas zīmes.
Ja esat šeit, lai uzzinātu spriedumu: jūs, iespējams, jau zināt, kurā nometnē atrodaties. Ja jūsu ikdienas sāpes ir saistītas ar lielu failu un modeļu kontrolpunktu pārvietošanu ar atveidojamību, DVC šķitīs ļoti gudrs pagarinātājs. Ja jūsu sāpes ir vairāku komandu datu pārvaldība, izolācija un atveidojami lasījumi datu ezerā, lakeFS šķitīs kā automātisko drošinātāju uzstādīšana pašā mājā.
Un jā, jūs varat izmantot abus. Tas nav attaisnojums. Tas ir atzinums, ka darbs ar datiem ir daudz darbu, kas valkā vienu un to pašu T-kreklu.
Situācijas izklāsts: Ko DVC un lakeFS patiesībā dara
- DVC (Data Version Control): atrodas blakus Git, nevis iekšpusē. Jūs veidojat norāžu (mazu metadatu failu) versijas Git un glabājat faktiskos lielos artefaktus – datu kopas, modeļus, attēlus – attālā vietā, piemēram, S3, GCS, Azure, SSH vai lokālā kešatmiņā. Jūs iegūstat CLI vadītas cauruļvadu sistēmas,
dvc.lock atveidojamībai, eksperimentu izsekošanu un dvc push/pull sinhronizācijai.
- lakeFS: atrodas jūsu objektu krātuves priekšā (S3, GCS, Azure Blob) un padara filiāles un ieskaites par krātuves nosaukumvietas pirmklasīgu funkciju. Lasīšanas un rakstīšanas operācijas redz izolētas filiāles. Jūs varat izveidot filiāli no “ražošanas”, palaist transformācijas un sapludināt atpakaļ – nekopējot terabaitus. Tā ir Git līdzīga semantika jūsu datu ezeram.
Citiem vārdiem sakot: DVC iepotē datu pārvaldību izstrādātāju darbplūsmā; lakeFS iegravē darbplūsmas semantiku datu slānī.
Galvenā atšķirība (un kāpēc tai ir nozīme)
DVC izturas pret lieliem datiem kā pret jūsu koda bāzes paplašinājumu. Viss sākas ar Git repozitoriju: jūs ieskaitāt *.dvc failus, bloķējat atkarības un organizējat cauruļvadu sistēmas. Lieliski piemērots ML eksperimentiem, kur izcelsme atrodas blakus kodam, kas to izveidoja.
lakeFS to apgriež otrādi: datu ezers ir patiesības avots. Filiāles nav metaforas – tās ir nosaukumvietas pār tiem pašiem pamatā esošajiem objektiem. Tas nozīmē, ka jūs varat:
- Sekundēs izveidot 200 TB datu kopas
feature/try-new-schema filiāli.
- Palaist Spark/Presto/Trino šajā filiālē tā, it kā tā būtu īsta, jo tā arī ir.
- Apvienot (vai pārtraukt) bez visa ezera sajaukšanas.
To nevar imitēt ar gudriem Git āķiem.
lakeFS vs DVC: Izmantošanas gadījumi bez mārketinga spīduma
Kad DVC uzvar
- Uz modeli orientētas komandas: Jums ir kods, datu momentuzņēmumi un eksperimenti, kuriem jābūt atveidojamiem un koplietojamiem. DVC eksperimentu izsekošana un
dvc repro cauruļvadu sistēmas spīd.
- Viena repozitorija disciplīna: Jūsu organizācija dzīvo Git. Jūs vēlaties “datus kā kodu”, neizgudrojot krātuves abstrakciju. DVC ir pazīstams,
git add data.dvc, darīts.
- Budžets un vienkāršība: Nav jāpalaiž infra slānis. DVC var strādāt ar vienkāršu S3 repozitoriju un atļauju politiku. CLI ir vienkāršs. Lokāla pirmība ir funkcija.
Kad lakeFS uzvar
- Komandas izolācija mērogā: Jums ir nepieciešams, lai vairākas komandas droši palaistu rakstīšanas/lasīšanas operācijas vienā un tajā pašā ezerā, netraucējot viena otrai. Uz filiālēm balstīta izolācija ir galvenais.
- Pārvaldība un audits: Ieskaites vēsture, atveidojami momentuzņēmumi un politikas āķi krātuves robežās. Jūs varat ieviest noteikumus tur, kur tiem ir nozīme.
- Lieli dzinēji, lielas tabulas: Spark, Hive, Presto, Trino, Snowflake ārējās tabulas – rīki, kas runā objektu krātuves valodā. lakeFS integrējas URL līmenī; jūsu skaitļošanas kopai nav jāiemācās jauni triki.
Kad jūs izmantojat abus (un jūtaties gudrs)
- DVC modeļu artefaktiem un cauruļvadu sistēmām, kas ir saistītas ar repozitoriju; lakeFS neapstrādātām un atlasītām datu kopām ezerā. Izsekojiet un piespraudiet datu kopu versijas DVC, kas atsaucas uz lakeFS ieskaites jaucējkodu. Kods dzīvo Git; datu semantika dzīvo ezerā. Nevienam nav jāizliekas, ka otrs slānis var labi paveikt abus darbus.
lakeFS vs DVC: Praktiskie kompromisi
Iestatīšana un darbības
- DVC: instalējiet CLI, konfigurējiet attālās vietas. Jūs pārvaldīsiet kešatmiņas lielumu, krātuves izmaksas un piekļuvi. Git paliek jūsu mājas bāze. Minimāla berze.
- lakeFS: jūs palaižat pakalpojumu. Ir serveris, metadati, GC, filiāļu politikas, akreditācijas dati. Nav grūti, bet tā ir infrastruktūra. Atlīdzība ir reāla izolācija un atomiskas ieskaites datu ezerā.
Veiktspēja un mērogs
- DVC: lieli artefaktu push/pull var būt ātrs ar lokālo kešatmiņu un cietajām saitēm, taču modelis būtībā ir klienta virzīts. Jūs nesadarbosiet petabaitu milisekundēs; jūs atsauksieties uz to un pārvietosiet daļas pēc vajadzības.
- lakeFS: sadarbība ir lēta (kopēšana rakstīšanas laikā). Lasīšanas operācijas ir “vietējais ātrums”, jo tās ir tikai objektu krātuves lasīšanas operācijas. Rakstīšanas operācijām ir netieša novirzīšana, bet ne “kopēt pasauli” sods. Apvienošanas konflikti pastāv, bet tie ir objekta/atslēgas līmenī, nevis koda rindās.
Atveidojamība
- DVC: jūsu
dvc.lock saista kodu, parametrus un datu artefaktu jaucējkodus kopā. Atkārtoti palaižot eksperimentu no pagājušā mēneša, jāiegūst tie paši biti. Tā ir atveidojamība koda robežās.
- lakeFS: atveidojamība datu robežās: “Lasīt tabulu X no ieskaites Y”. Jūs varat ceļot laikā visā savā ievades virsmā analītikai vai aizpildīšanai.
Sadarbības modelis
- DVC: uz izstrādātājiem orientēta sadarbība – PR, pārskati un eksperimenti. Lieliski piemērots ML cilpai: dati → apmācība → novērtēšana → piegāde.
- lakeFS: uz datu komandu orientēta sadarbība – filiāles ievadīšanai, transformācijai un validācijai. Lieliski piemērots analītikas cilpai: ievadīšana → modelis (piemēram, dbt/ETL) → publicēšana → apkalpošana.
Datu līgumi vienkāršā valodā
Cilvēki saka “datu līgumi” un sāk vicināt shēmu reģistra ekrānuzņēmumus. Šeit ir vienkārša versija:
- Ar DVC līgums ir netiešs jūsu cauruļvadu sistēmā: faili, kurus deklarējat kā atkarības, veido līgumu. Mainiet tos, un jūsu cauruļvadu sistēma to zina.
- Ar lakeFS līgumu var ieviest apvienošanas laikā: pirms apvienošanas āķi var palaist validācijas (shēmu pārbaudes, rindu skaitu, nulles sliekšņus) un bloķēt sliktu datu sasniegšanu
galvenajā filiālē. Tas ir pieaugušais istabā.
Izstrādātāju pieredze (DX): Kur gumija satiekas ar ceļu
- CLI ergonomika: DVC CLI ir uzskatu pilns, bet paredzams:
dvc add, dvc push, dvc exp run. lakeFS CLI (un UI) domā filiālēs/ieskaitēs datu kopas līmenī: lakefs branch create, commit, merge.
- Mentālais modelis: DVC lūdz izstrādātājus izturēties pret datiem kā pret trešo pušu binārām datnēm ar jaucējkodiem. lakeFS lūdz datu inženierus izturēties pret ezeru kā pret repozitoriju ar izolācijas slāņiem.
- Kognitīvā slodze: DVC pievieno rituālus katram repozitorijam; lakeFS pievieno infrastruktūru un politikas. Izvēlieties savu indi, pamatojoties uz to, kur jūsu komanda jau dzīvo – IDE vai datu platformās.
Izmaksas: Laiks, nauda un galvassāpes saistībā ar mākoņa izejošo datplūsmu
- Krātuve: Abi efektīvi izmanto objektu krātuves. DVC var dublēt artefaktus, ja esat pavirši ar kešatmiņu; lakeFS paļaujas uz kopēšanas rakstīšanas laikā metadatiem, kas ir lēti, līdz sākat aktīvi strādāt.
- Izejošā datplūsma un pārvietošana: DVC push/pull var radīt vairāk objektu apmaiņas. lakeFS lasīšanas operācijas lielākoties ir caurlaidīgas. Ja izejošās datplūsmas izmaksas neļauj jums gulēt naktī, lakeFS modelis “filiāle bez kopēšanas” ir draudzīgs.
- Ops virsizdevumi: DVC izmaksas galvenokārt ir izstrādātāju laiks. lakeFS izmaksas ir pakalpojumu uzturēšana – dublējumkopijas, jauninājumi, politikas.
Asās malas (Nevienam nepatīk par tām runāt)
- DVC apvienošanas konflikti nav maģiski: Jūs neapvienojat CSV rindas. Jūs saskaņojat, kuri blobi uzvar. Smalki apvienojot, jums joprojām būs nepieciešama faktiska datu apstrāde.
- lakeFS apvienošanas semantika nav SQL: Jūs varat sadalīt un apvienot S3 ceļus, bet semantisku tabulu izmaiņu (partīciju pārdalīšana, atjaunināšanas) saskaņošana ir jūsu darbs, nevis lakeFS. Domājiet par failu sistēmu, nevis par datu bāzi.
- Piekļuves kontrole ir atšķirīga: DVC manto Git sociālo modeli (PR, pārskati). lakeFS integrējas ar IAM un politikas āķiem. Ja jūsu organizācija jau centralizēja IAM datiem, lakeFS šķiet dabisks; ja jūs dzīvojat GitHub, DVC šķiet pareizs.
Integrācijas: Dzinēji, organizatori un reālā pasaule
- DVC: labi sader ar GitHub/GitLab CI, Makefiles, Airflow un vietējo izstrādi. ML eksperimentiem DVC eksperimentu izsekošana un artefaktu pārvaldība ir pievilcīga.
- lakeFS: labi sader ar Spark, Hive, Trino, Presto, dbt (izmantojot ārējās tabulas), Airflow un jebkuru dzinēju, kas lasa
s3a://repo/branch/path. Triks ir tāds, ka jūsu skaitļošanas risinājums runā tajā pašā krātuves valodā.
Drošība un atbilstība bez moderniem vārdiem
- DVC: drošība balstās uz jūsu mākoņkrātuvi un jūsu Git atļaujām. Auditējamība ir cauruļvadu sistēmas līmenī – kas ko radīja un kad.
- lakeFS: katra ieskaite ir audita kontrolpunkts. Āķi var skenēt datus pirms apvienošanas. Ja jums rūp GDPR stila “kas mainījās, kad”, lakeFS ir labāks risinājums.
Vienkāršs salīdzinājums
- Primārais atslēgvārds – “lakeFS vs DVC” nav tikai salīdzinājums; tas ir filozofijas atzars. DVC ir Git ar priekšrocībām lieliem failiem un eksperimentiem. lakeFS ir Git līdzīga semantika tur, kur jūsu dati faktiski dzīvo.
- Ja jūsu diena galvenokārt ir kods, kas skar datus, jūs būsiet laimīgāks ar DVC.
- Ja jūsu diena galvenokārt ir dati, kas dažreiz satiek kodu, jūs, visticamāk, izvēlēsities lakeFS.
- Ja jūsu diena ir gan viens, gan otrs, apsveicam: jūs esat normāls. Izmantojiet DVC cilpai, kas ir vērsta uz kodu, un lakeFS cilpai, kas ir vērsta uz ezeru. “Abi” nav neizlēmīgi – tas ir precīzi.
Piezīme par rīku popularitāti (un kur Sider.AI iederas)
Rīki ir interesanti tikai tad, kad tie ietaupa laiku vai novērš nekārtības. Viss pārējais ir demonstrācija. Sider.AI faktiski palīdz šeit – nevis izliekoties par jūsu ezeru, bet gan veicot nepievilcīgu darbu: palīdzot jums spriest par jūsu cauruļvadu sistēmām, ģenerēt aizsargbarjeras pārbaudes un saglabāt jūsu dokumentus un atšķirības godīgus. Ja jūs gatavojaties savienot DVC un lakeFS kopā, Sider.AI ir saprātīgais draugs, kurš saka: “Marķējiet savus drošinātājus” un pēc tam izdrukā etiķetes. Praktiski scenāriji: lakeFS vs DVC dabā
1. scenārijs: Funkciju izolācija ETL
- Jūs uzturat Bronze/Silver/Gold ezeru. Jūs vēlaties pārbaudīt jaunu shēmu klikšķu straumes ievadīšanai, nesabojājot pakārtotos informācijas paneļus. Izmantojot lakeFS, sadaliet
etl/schema-v2 no silver, palaidiet savus darbus, validējiet izolācijā un apvienojiet pēc tam, kad pārbaudes ir pabeigtas. Nav ēnu repozitoriju, nav nakts kopiju.
2. scenārijs: Atveidojami apmācības skrējieni
- Jūs apmācat iknedēļas modeļus. DVC piesprauž precīzu datu kopas momentuzņēmumu (
data.dvc norāda uz lakeFS ieskaiti vai S3 versiju), parametrus un kodu. dvc repro griež skrējienu. Modelis, metrika un grafiki ir artefakti, kurus varat push un koplietot. Auditoriem tas patīk. Tāpat kā nākotnes jūs.
3. scenārijs: Sliktas publicēšanas labošana
- Kāds publicē nepareizi veidotu Parquet kopu
main. Izmantojot lakeFS, jūs atgriežaties pie pēdējās labās ieskaites vai filiāles, ielāpat un apvienojat. Izmantojot DVC, jūs to labojat cauruļvadu sistēmā un atkārtoti push artefaktus. Abi darbojas; lakeFS ir labāks, ja “publicēt” nozīmē “ezers, ko visi lasa”.
Migrācija un līdzāspastāvēšana bez asarām
- Sāciet ar patiesību nosaukšanu: Kurām datu kopām ir sistēmas ieraksts? Kuras ir īslaicīgas? Ievietojiet sistēmas ierakstu lakeFS. Ievietojiet eksperimentu artefaktus DVC.
- Plāna integrācija: glabājiet lakeFS ieskaites ID DVC parametros vai metadatos. Izturieties pret tiem kā pret nemainīgām datu kopu versijām.
- Nevāriet ezeru: pieņemiet lakeFS, kur izolācija ietaupa jums reālu naudu vai brīvdienas. Pieņemiet DVC, kur atveidojamība ietaupa jums atkārtotus skrējienus.
Dialektika: Tas nav vai nu/vai, bet gan kur dzīvo patiesība
Programmatūras komandas vēlas vienu rīku, kas tos visus pārvaldītu. Tas ir nepareizs jautājums. Pareizais jautājums: Kur dzīvo patiesība?
- Ja patiesība ir repozitorijā – kods, konfigurācijas un konkrētie faili, uz kuriem apmācījāt, DVC ir dabisks Git paplašinājums.
- Ja patiesība ir ezerā – tabulas, partīcijas un objektu atslēgas, kas darbina jūsu uzņēmumu, lakeFS nodrošina jums ieskaites laika veselo saprātu.
Abi ir versiju kontroles veidi. Tikai viens faktiski dzīvo tur, kur dzīvo dati.
lakeFS vs DVC: Ātras atbildes uz jautājumiem, ko cilvēki faktiski uzdod
- “Vai DVC var aizstāt manu datu ezeru?” Nē. Tas var organizēt jūsu artefaktus un padarīt eksperimentus saprātīgus. Tas nepadarīs S3 par transakciju krātuvi.
- “Vai lakeFS var aizstāt manu ML eksperimentu izsekotāju?” Arī nē. Tas var veidot eksperimentu ievades/izvades versijas, bet tam nerūp jūsu ROC līknes.
- “Vai tas nav tikai Git LFS?” Tas ir tāpat kā teikt, ka velosipēds ir tikai automašīna ar mazāk metāla. DVC ir Git blakus esošs, bet saprot datu cauruļvadu sistēmas. lakeFS nodrošina Git līdzīgu semantiku, nevelkot Git petabaitos.
Īss vārds par sarežģītību (Jūs maksājat kaut kur)
Katra abstrakcija ir rēķins, kas jāapmaksā vēlāk. DVC rēķins ir izstrādātāju rituāls un artefaktu apstrāde. lakeFS rēķins ir pakalpojuma palaišana un jaunas apvienošanas semantikas apguve objektu krātuvēm. Ja rīks šķiet bezmaksas, tas iekasē jūsu uzmanību.
Atvadu šāviens
“lakeFS vs DVC” izskatās kā spēkošanās. Tas ir vairāk kā divi mūziķi, kuri nespēlē uz viena un tā paša instrumenta. Jūs nelūdzat bundziniekam nēsāt melodiju, un jūs nelūdzat vijolei turēt ritmu maršējošai grupai. Izmantojiet DVC, kur kods pieder cilpai. Izmantojiet lakeFS, kur dati pieder telpai. Un, ja jūs dzīvojat abās pasaulēs, labi: tas nozīmē, ka jūs pievēršat uzmanību.
Jo versiju kontroles patiesais mērķis – neatkarīgi no tā, vai tā aptver Git vai aptver S3, nav ieskaites jaucējkods. Tā ir atļauja mainīt lietas, nesabojājot pasauli. Viss pārējais ir tikai cilņu josla.
Atslēgvārdiem draudzīgi, vienkārši virsraksti (Jo jūs jautājāt)
lakeFS vs DVC ML cauruļvadu sistēmām
Ja jūsu ML cauruļvadu sistēmas ir smagas ar kodu, ar diskrētām datu kopām un modeļu artefaktiem, DVC integrējas labāk: norāžu faili Git, jaucējkodi, izsekoti eksperimenti. Datu intensīvām cauruļvadu sistēmām, kas baro vairākas komandas, lakeFS uzvar ar uz filiālēm balstītu izolāciju visā ezerā.
lakeFS vs DVC datu pārvaldībai
lakeFS nodrošina auditējamas ieskaites un apvienošanas āķus krātuves robežās. DVC nodrošina izcelsmi cauruļvadu sistēmas robežās. Ja likums vēlas nemainīgus kontrolpunktus, tas ir lakeFS; ja inženierija vēlas atveidojamus skrējienus, tas ir DVC.
Izvēle starp DVC un lakeFS objektu krātuvei
Objektu krātuve neveic transakcijas. DVC apiet to ar objektu līmeņa jaucējkodiem un push/pull. lakeFS noliecās uz to ar kopēšanas rakstīšanas laikā metadatiem un filiāļu semantiku. Izvēlieties, pamatojoties uz to, vai jūsu sāpes ir repozitorijā vai repozitorijā.
Apvienojiet lakeFS un DVC bez galvassāpēm
Izmantojiet lakeFS, lai veidotu ezera versiju; parādiet ieskaites ID DVC, lai eksperimenti piespraustos pie precīzām ievadēm. Glabājiet modeļu artefaktus DVC attālās vietās; glabājiet neapstrādātas un atlasītas datu kopas lakeFS filiālēs. Nav nepieciešami nesankcionēti hakeri.
BUJ
Q1:Kas ir labāks ML eksperimentiem: lakeFS vai DVC?
ML eksperimentiem DVC parasti uzvar. Tas saista kodu, parametrus, datu kopas un modeļus kopā, savukārt lakeFS apstrādā datu kopas izolāciju un ceļošanu laikā ezera līmenī.
Q2:Vai es varu izmantot lakeFS un DVC kopā bez nekārtībām?
Jā. Izmantojiet lakeFS ieskaites, lai veidotu sava ezera datu kopu versijas, un atsaucieties uz šiem ieskaites ID DVC. Ļaujiet DVC apstrādāt artefaktus un cauruļvadu sistēmas; ļaujiet lakeFS apstrādāt filiāles un apvienošanas objektu krātuvē.
Q3:Vai DVC aizstāj datu ezeru vai lakeFS?
Nē. DVC organizē lielus failus un eksperimentus ap Git; tas nepārvērš S3 par transakciju krātuvi. lakeFS atrodas jūsu ezera priekšā un pievieno sadarbību, ieskaites un izolāciju.
Q4:Vai lakeFS ir pārmērīgi liels mazām komandām?
Bieži vien, jā. Ja jūs neapvienojat vairāku komandu izolāciju vai pārvaldību, DVC vienkāršība ir pievilcīga. lakeFS ir jēga, ja uz filiālēm balstīta izolācija un audita izsekojamība ietaupa reālu naudu vai pārtraukumus.
Q5: Kādi ir izdevumi, salīdzinot lakeFS un DVC?
DVC izmaksas ir saistītas ar izstrādātāju laiku un datu uzglabāšanas izmaiņām push/pull laikā. lakeFS izmaksas ir saistītas ar pakalpojuma uzturēšanu un politiku pārvaldību, bet atzarošana ir lēta un ērta datu izvadei.