Kontrola wersji danych
Kontrola wersji danych to metoda pracy ze zbiorami danych . Jest podobny do kontroli wersji stosowanych w tradycyjnym tworzeniu oprogramowania, ale jest zoptymalizowany, aby umożliwić lepsze przetwarzanie danych i współpracę w kontekście analizy danych, badań i wszelkich innych form analizy danych. Kontrola wersji danych może również obejmować określone funkcje i konfiguracje zaprojektowane w celu ułatwienia pracy z dużymi zbiorami danych i jeziorami danych .
Historia
Tło
Już w 1985 roku badacze dostrzegli potrzebę definiowania atrybutów czasowych w tabelach baz danych, które byłyby niezbędne do śledzenia zmian w bazach danych . Badania te kontynuowano w latach 90. XX wieku, a teorię sformalizowano w postaci praktycznych metod zarządzania danymi w relacyjnych bazach danych , dostarczając podstawowych koncepcji tego, co później stało się kontrolą wersji danych.
Na początku 2010 roku rozmiar zbiorów danych szybko się powiększał, a relacyjne bazy danych nie były już wystarczające do zarządzania ilością danych, które gromadziły organizacje. Rozwój ekosystemu Apache Hadoop, z HDFS jako warstwą pamięci masowej, a później obiektową pamięcią masową, stał się dominujący w operacjach związanych z dużymi zbiorami danych. Badania nad do zarządzania danymi i systemami kontroli wersji danych gwałtownie wzrosły, wraz z zapotrzebowaniem na takie narzędzia zarówno ze strony środowiska akademickiego, jak i sektora prywatnego i publicznego.
Bazy danych z kontrolą wersji
Pierwsza wersjonowana baza danych została zaproponowana w 2012 roku dla bazy danych SciDB i wykazała, że możliwe jest tworzenie łańcuchów i drzew różnych wersji bazy danych przy jednoczesnym zmniejszeniu zarówno ogólnego rozmiaru pamięci, jak i prędkości dostępu związanych z poprzednimi metodami. W 2014 r. zaproponowano uogólnienie tych zasad na platformę, którą można by wykorzystać w dowolnej aplikacji.
Kaggle powstał prototyp systemu kontroli wersji danych . To oprogramowanie było później używane wewnętrznie w zajmującej się sztuczną inteligencją i ostatecznie wydzielono jako startup . Od tego czasu opracowano i zaoferowano komercyjnie wiele systemów kontroli wersji danych, zarówno o otwartym , jak i zamkniętym kodzie źródłowym .
Przypadków użycia
Powtarzalność
Szeroka gama dyscyplin naukowych przyjęła zautomatyzowaną analizę dużych ilości danych, w tym astrofizykę , sejsmologię , biologię i medycynę , nauki społeczne i ekonomię oraz wiele innych dziedzin. Zasada odtwarzalności jest ważnym aspektem formalizowania ustaleń w dyscyplinach naukowych, aw kontekście data science stawia szereg wyzwań. Większość zestawów danych stale się zmienia, czy to z powodu dodania większej liczby danych, czy zmian w strukturze i formacie danych, a niewielkie zmiany mogą mieć znaczący wpływ na wyniki eksperymentów. Kontrola wersji danych umożliwia rejestrowanie dokładnego stanu zestawów danych w określonym momencie, co ułatwia odtworzenie i zrozumienie wyników eksperymentów.
Rozwój i testowanie
Kontrola wersji danych jest czasami używana podczas testowania i opracowywania aplikacji, które wchodzą w interakcje z dużymi ilościami danych.
Uczenie maszynowe i sztuczna inteligencja
W kontekście uczenia maszynowego kontrola wersji danych może służyć do optymalizacji wydajności modeli. Może pozwolić na automatyzację procesu analizy wyników z różnymi wersjami zestawu danych, aby stale poprawiać wydajność. Możliwe, że oprogramowanie do kontroli wersji danych typu open source mogłoby wyeliminować potrzebę stosowania zastrzeżonych platform sztucznej inteligencji poprzez rozszerzenie narzędzi takich jak Git i CI/CD do użytku przez inżynierów zajmujących się uczeniem maszynowym.
CI/CD dla danych
CI/CD można zastosować do zbiorów danych przy użyciu kontroli wersji danych.
Eksperymentowanie w odizolowanych środowiskach
Aby eksperymentować na zbiorze danych bez wpływu na dane produkcyjne, można użyć kontroli wersji danych w celu utworzenia replik środowiska produkcyjnego, w którym można przeprowadzić testy. Takie repliki umożliwiają testowanie i zrozumienie zmian bezpiecznie zastosowanych do danych.
Narzędzia kontroli wersji danych umożliwiają tworzenie środowisk replikacyjnych bez czasochłonnej i zasobochłonnej konserwacji. Zamiast tego takie narzędzia umożliwiają udostępnianie obiektów za pomocą metadanych.
Wycofanie
Ciągłe zmiany w zestawach danych mogą czasami powodować problemy z funkcjonalnością lub prowadzić do niepożądanych rezultatów, zwłaszcza gdy aplikacje korzystają z danych. Narzędzia kontroli wersji danych dają możliwość cofnięcia zbioru danych do wcześniejszego stanu. Można to wykorzystać do przywrócenia lub ulepszenia funkcjonalności aplikacji lub poprawienia błędów lub błędnych danych, które zostały omyłkowo dołączone.
Przykłady
Systemy ML-Ops, które implementują kontrolę wersji danych:
- DVC
- Zwierzę gruboskóre
- Neptun
- aktywna pętla
- grawitacja
- dagszub
- Alectio
- Galileo
- Woksel51
- stos
- dwid
Źródła danych z kontrolą wersji:
- Kaggle
- Kołdra
- Głupek
- Kamu
Kontrola wersji danych dla jezior danych:
- JezioroFS
- Projekt Nessie
- Git-LFS
Zobacz też
Kategoria:Systemy kontroli wersji Kategoria:Komunikacja techniczna Kategoria:Zarządzanie danymi Kategoria:Analiza danych