Dataversionskontroll
Dataversionskontroll är en metod för att arbeta med datamängder . Det liknar versionskontrollsystemen som används i traditionell mjukvaruutveckling, men är optimerat för att möjliggöra bättre bearbetning av data och samarbete i samband med dataanalys, forskning och alla andra former av dataanalys. Dataversionskontroll kan också inkludera specifika funktioner och konfigurationer utformade för att underlätta arbete med stora datamängder och datasjöar .
Historia
Bakgrund
Redan 1985 insåg forskare behovet av att definiera tidsattribut i databastabeller, vilket skulle vara nödvändigt för att spåra ändringar i databaser . Denna forskning fortsatte in på 1990-talet, och teorin formaliserades till praktiska metoder för att hantera data i relationsdatabaser , vilket gav några av de grundläggande koncepten för vad som senare skulle bli dataversionskontroll.
I början av 2010-talet expanderade storleken på datamängder snabbt, och relationsdatabaser var inte längre tillräckliga för att hantera mängden data som organisationer ackumulerade. Framväxten av Apache Hadoops ekosystem, med HDFS som lagringslager, och senare objektlagring hade blivit dominerande inom big data-operationer. Forskningen om datahanteringsverktyg och dataversionskontrollsystem ökade kraftigt, tillsammans med efterfrågan på sådana verktyg från både den akademiska världen och den privata och offentliga sektorn.
Versionskontrollerade databaser
Den första versionsbaserade databasen föreslogs 2012 för SciDB -databasen, och visade att det var möjligt att skapa kedjor och träd av olika versioner av databasen samtidigt som man minskade både den totala lagringsstorleken och åtkomsthastigheterna förknippade med tidigare metoder. 2014 lades ett förslag om att generalisera dessa principer till en plattform som skulle kunna användas för vilken applikation som helst.
Under 2016 utvecklades en prototyp för ett dataversionskontrollsystem under en Kaggle -tävling. Den här programvaran användes senare internt på ett AI- företag och sprangs så småningom av som en startup . Sedan dess har ett antal dataversionskontrollsystem, både öppen och sluten källkod , utvecklats och erbjudits kommersiellt.
Användningsfall
Reproducerbarhet
Ett brett spektrum av vetenskapliga discipliner har antagit automatiserad analys av stora mängder data, inklusive astrofysik , seismologi , biologi och medicin , samhällsvetenskap och ekonomi och många andra områden. Principen om reproducerbarhet är en viktig aspekt av att formalisera rön i vetenskapliga discipliner, och i datavetenskapssammanhang ger den ett antal utmaningar. De flesta datamängder förändras ständigt, vare sig det beror på att mer data har lagts till eller på grund av förändringar i strukturen och formatet av datan, och små förändringar kan ha betydande effekter på resultatet av experiment. Dataversionskontroll gör det möjligt att registrera det exakta tillståndet för datamängder vid en viss tidpunkt, vilket gör det lättare att reproducera och förstå experimentella resultat.
Utveckling och testning
Dataversionskontroll används ibland vid testning och utveckling av applikationer som interagerar med stora mängder data.
Maskininlärning och artificiell intelligens
I samband med maskininlärning kan dataversionskontroll användas för att optimera modellernas prestanda. Det kan göra det möjligt att automatisera processen för att analysera resultat med olika versioner av en datamängd för att kontinuerligt förbättra prestandan. Det är möjligt att programvara för dataversionskontroll med öppen källkod skulle kunna eliminera behovet av proprietära AI-plattformar genom att utöka verktyg som Git och CI/CD för användning av maskininlärningsingenjörer.
CI/CD för data
CI/CD -metoder kan tillämpas på datauppsättningar med hjälp av dataversionskontroll.
Experiment i isolerade miljöer
För att experimentera på en datauppsättning utan att påverka produktionsdata kan man använda dataversionskontroll för att skapa repliker av produktionsmiljön där tester kan utföras. Sådana repliker möjliggör testning och förståelse av ändringar som säkert tillämpas på data.
Verktyg för dataversionskontroll tillåter replikeringsmiljöer utan det tids- och resurskrävande underhållet. Istället tillåter sådana verktyg att objekt delas med hjälp av metadata.
Rulla tillbaka
Kontinuerliga förändringar i datamängder kan ibland orsaka funktionsproblem eller leda till oönskade resultat, särskilt när applikationer använder datan. Dataversionskontrollverktyg gör det möjligt att återställa en datamängd till ett tidigare tillstånd. Detta kan användas för att återställa eller förbättra funktionaliteten hos en applikation eller för att korrigera fel eller dålig data som av misstag har inkluderats.
Exempel
ML-Ops-system som implementerar dataversionskontroll:
- DVC
- Tjockhuding
- Neptunus
- activeloop
- graviti
- dagshub
- alectio
- Galileo
- Voxel51
- dstack
- dvid
Versionskontrollerade datakällor:
- Kuggla
- Täcke
- Dolt
- Kamu
Dataversionskontroll för datasjöar:
- LakeFS
- Projekt Nessie
- Git-LFS
Se även
Kategori:Versionskontrollsystem Kategori:Teknisk kommunikation Kategori:Datahantering Kategori:Dataanalys