Dane (obliczenia) - Data (computing)

Różne rodzaje danych, które można wizualizować za pomocą urządzenia komputerowego

W obliczeniowej , dane (traktowane jako pojedynczej liczby mnogiej, albo jako rzeczownik masy ) jest każda sekwencja z jednego lub większej liczby symboli . Datum to pojedynczy symbol danych. Dane wymagają interpretacji, aby stały się informacją . Dane cyfrowe to dane reprezentowane za pomocą binarnego systemu liczbowego składającego się z jedynek (1) i zer (0), w przeciwieństwie do reprezentacji analogowej . W nowoczesnych (po 1960 r.) systemach komputerowych wszystkie dane są cyfrowe.

Dane istnieją w trzech stanach: dane w spoczynku , dane w trakcie przesyłania i dane w użyciu . W większości przypadków dane w komputerze są przesyłane równolegle . Dane przenoszone do lub z komputera w większości przypadków są przesyłane jako dane szeregowe . Dane pochodzące z urządzenia analogowego, takiego jak czujnik temperatury, mogą być konwertowane na cyfrowe za pomocą przetwornika analogowo-cyfrowego . Dane reprezentujące ilości , znaków i symboli, w którym operacje wykonywane są za pomocą komputera,zapisywane i rejestrowane w magnetyczne , optyczne , elektroniczne lub mechaniczne nośników zapisu i przekazywane w postaci sygnałów cyfrowych, elektrycznych lub optycznych. Dane przechodzą do iz komputerów za pośrednictwem urządzeń peryferyjnych .

Fizyczne elementy pamięci komputera składają się z adresu i bajtu/słowa przechowywania danych. Dane cyfrowe są często przechowywane w relacyjnych bazach danych , takich jak tabele lub bazy danych SQL, i generalnie mogą być reprezentowane jako abstrakcyjne pary klucz/wartość. Dane mogą być zorganizowane w wiele różnych typów struktur danych , w tym tablice, wykresy i obiekty . Struktury danych mogą przechowywać dane wielu różnych typów , w tym liczby , łańcuchy, a nawet inne struktury danych .

Charakterystyka

Metadane pomagają przełożyć dane na informacje. Metadane to dane o danych. Metadane mogą być dorozumiane, określone lub podane.

Dane dotyczące zdarzeń fizycznych lub procesów będą miały komponent czasowy. Ten składnik czasowy może być implikowany. Dzieje się tak w przypadku, gdy urządzenie takie jak rejestrator temperatury odbiera dane z czujnika temperatury . Po otrzymaniu temperatury zakłada się, że dane mają odniesienie czasowe do chwili obecnej . Urządzenie rejestruje razem datę, godzinę i temperaturę. Gdy rejestrator danych komunikuje temperatury, musi również podać datę i godzinę jako metadane dla każdego odczytu temperatury.

Zasadniczo komputery wykonują sekwencję instrukcji, które otrzymują w postaci danych. Zbiór instrukcji do wykonania danego zadania (lub zadań) nazywany jest programem . Program to dane w postaci zakodowanych instrukcji do sterowania działaniem komputera lub innej maszyny. W przypadku nominalnym program wykonywany przez komputer będzie składał się z kodu maszynowego . Elementy pamięci, którymi manipuluje program, ale w rzeczywistości nie są wykonywane przez jednostkę centralną (CPU), są również danymi. W swojej najistotniejszej postaci pojedynczy punkt odniesienia jest wartością przechowywaną w określonej lokalizacji. Dzięki temu programy komputerowe mogą działać na innych programach komputerowych, manipulując ich danymi programowymi.

Aby przechowywać bajty danych w pliku, muszą one być serializowane w formacie pliku . Zazwyczaj programy są przechowywane w specjalnych typach plików, różniących się od tych używanych do innych danych. Pliki wykonywalne zawierają programy; wszystkie inne pliki są również plikami danych . Jednak pliki wykonywalne mogą również zawierać dane używane przez program wbudowany w program. W szczególności, niektóre pliki wykonywalne mają segment danych , który nominalnie zawiera stałe i początkowe wartości zmiennych, które można uznać za dane.

Granica między programem a danymi może się zamazać. Tłumacza , na przykład, jest to program. Dane wejściowe do interpretera same w sobie są programem, a nie takim, który jest wyrażony w natywnym języku maszynowym . W wielu przypadkach interpretowany program będzie czytelnym dla człowieka plikiem tekstowym , który jest manipulowany za pomocą programu do edycji tekstu . Metaprogramowanie podobnie obejmuje programy manipulujące innymi programami jako danymi. Programy takie jak kompilatory , linkery , debuggery , aktualizatory programów , skanery antywirusowe i takie wykorzystują inne programy jako swoje dane.

Na przykład użytkownik może najpierw poinstruować system operacyjny, aby załadował program edytora tekstu z jednego pliku, a następnie użyć uruchomionego programu do otwarcia i edycji dokumentu przechowywanego w innym pliku. W tym przykładzie dokument zostałby uznany za dane. Jeśli edytor tekstu zawiera również funkcję sprawdzania pisowni , słownik (lista słów) do sprawdzania pisowni również będzie traktowany jako dane. Te algorytmy wykorzystywane przez sprawdzania pisowni zaproponować poprawki byłoby albo kodu maszynowego dane lub tekst w niektórych interpretacji języka programowania .

W alternatywnym użyciu pliki binarne (które nie są czytelne dla człowieka ) są czasami nazywane danymi w odróżnieniu od tekstu czytelnego dla człowieka .

Całkowitą ilość danych cyfrowych w 2007 roku oszacowano na 281 miliardów gigabajtów (281 eksabajtów ).

Klucze i wartości danych, struktury i trwałość

Klucze w danych zapewniają kontekst dla wartości. Niezależnie od struktury danych, zawsze obecny jest kluczowy składnik. Klucze w danych i strukturach danych są niezbędne do nadawania znaczenia wartościom danych. Bez klucza, który jest bezpośrednio lub pośrednio powiązany z wartością lub zbiorem wartości w strukturze, wartości stają się bez znaczenia i przestają być danymi. Oznacza to, że musi istnieć kluczowy składnik powiązany z elementem wartości, aby można go było uznać za dane.

Dane mogą być reprezentowane na komputerach na wiele sposobów, zgodnie z poniższymi przykładami:

Baran

  • Pamięć o dostępie swobodnym (RAM) przechowuje dane, do których procesor ma bezpośredni dostęp. Procesor może manipulować danymi tylko w jego rejestrach procesora lub pamięci. Jest to przeciwieństwo przechowywania danych, w którym procesor musi kierować przesyłaniem danych między urządzeniem pamięci (dysk, taśma...) a pamięcią. Pamięć RAM to tablica liniowych, ciągłych lokalizacji, które procesor może odczytywać lub zapisywać, dostarczając adres operacji odczytu lub zapisu. Procesor może działać w dowolnej lokalizacji w pamięci w dowolnym momencie w dowolnej kolejności. W pamięci RAM najmniejszym elementem danych jest bit binarny . Możliwości i ograniczenia dostępu do pamięci RAM zależą od procesora. Ogólnie rzecz biorąc, pamięć główna jest zorganizowana jako tablica lokalizacji zaczynających się od adresu 0 ( szesnastkowo 0). Każda lokalizacja może przechowywać zwykle 8 lub 32 bity w zależności od architektury komputera .

Klucze

  • Klucze danych nie muszą być bezpośrednim adresem sprzętowym w pamięci. Kody kluczy pośrednich , abstrakcyjnych i logicznych mogą być przechowywane w powiązaniu z wartościami w celu utworzenia struktury danych . Struktury danych mają z góry określone przesunięcia (lub łącza lub ścieżki) od początku struktury, w której przechowywane są wartości danych. Dlatego klucz danych składa się z klucza do struktury oraz przesunięcia (lub łączy lub ścieżek) do struktury. Gdy taka struktura jest powtarzana, przechowując odmiany wartości danych i kluczy danych w tej samej powtarzającej się strukturze, wynik można uznać za podobny do tabeli , w której każdy element powtarzającej się struktury jest uważany za kolumnę, a każde powtórzenie struktury jest traktowany jako rząd tabeli. W takiej organizacji danych klucz danych jest zwykle wartością w jednej (lub złożoną wartością z kilku) kolumn.

Zorganizowane powtarzalne struktury danych

  • Tabelarycznych widok powtórzenie struktur danych jest tylko jedną z wielu możliwości. Powtarzające się struktury danych mogą być zorganizowane hierarchicznie , tak że węzły są połączone ze sobą w kaskadzie relacji rodzic-dziecko. Z węzłami połączone są wartości i potencjalnie bardziej złożone struktury danych. W ten sposób hierarchia węzłów zapewnia klucz do adresowania struktur danych związanych z węzłami. Ta reprezentacja może być traktowana jako odwrócone drzewo . Np. częstym przykładem są nowoczesne systemy plików systemu operacyjnego komputera ; a XML to kolejny.

Posortowane lub uporządkowane dane

  • Dane mają pewne nieodłączne cechy, gdy są sortowane według klucza . Wszystkie wartości podzbiorów klucza pojawiają się razem. Przechodzenie sekwencyjnie przez grupy danych z tym samym kluczem lub podzbiór zmian klucza jest określane w kręgach przetwarzania danych jako przerwa lub przerwa kontrolna . Szczególnie ułatwia agregację wartości danych w podzbiorach klucza.

Pamięć peryferyjna

  • Do czasu pojawienia się nieulotnych pamięci komputerowych, takich jak pamięci USB , trwałe przechowywanie danych tradycyjnie osiągano poprzez zapisywanie danych na zewnętrznych urządzeniach blokowych, takich jak taśma magnetyczna i napędy dysków . Urządzenia te zazwyczaj szukają lokalizacji na nośniku magnetycznym, a następnie odczytują lub zapisują bloki danych o określonym rozmiarze. W tym przypadku lokalizacja wyszukiwania na nośniku to klucz danych, a bloki to wartości danych. Wczesne systemy plików danych lub systemy operacyjne dysków używane do rezerwowania ciągłych bloków na dysku dla plików danych . W tych systemach pliki można było zapełnić, zabrakło miejsca na dane, zanim wszystkie dane zostały do ​​nich zapisane. W ten sposób wiele niewykorzystanego miejsca na dane zarezerwowano bezproduktywnie, aby uniknąć wystąpienia takiej sytuacji. To było znane jako surowy dysk. Później systemy plików wprowadziły partycje . Zarezerwowali bloki miejsca na dane na dysku dla partycji i wykorzystywali przydzielone bloki w bardziej ekonomiczny sposób, dynamicznie przypisując bloki partycji do pliku w razie potrzeby. Aby to osiągnąć, system plików musiał śledzić, które bloki były używane lub nieużywane przez pliki danych w katalogu lub tabeli alokacji plików. Chociaż umożliwiło to lepsze wykorzystanie miejsca na dane na dysku, spowodowało fragmentację plików na dysku i towarzyszące temu obciążenie wydajnościowe z powodu opóźnień. Nowoczesne systemy plików dynamicznie reorganizują pofragmentowane pliki, aby zoptymalizować czas dostępu do plików. Dalszy rozwój systemów plików zaowocował wirtualizacją napędów dyskowych, tj. gdzie napęd logiczny można zdefiniować jako partycje z wielu napędów fizycznych.

Zindeksowane dane

  • Pobranie małego podzbioru danych ze znacznie większego zbioru wymaga sekwencyjnego przeszukiwania danych. To jest nieekonomiczne. Indeksy są sposobem kopiowania kluczy i adresów lokalizacji ze struktur danych w plikach, tabelach i zestawach danych, a następnie organizowania ich przy użyciu odwróconych struktur drzewiastych w celu skrócenia czasu potrzebnego na odzyskanie podzbioru oryginalnych danych. Aby to zrobić, klucz podzbioru danych do pobrania musi być znany przed rozpoczęciem pobierania. Najpopularniejsze indeksy to B-drzewo i dynamiczne metody indeksowania klucza mieszającego . Indeksowanie jest kolejnym kosztownym obciążeniem związanym z archiwizacją i wyszukiwaniem danych. Istnieją inne sposoby organizowania indeksów, np. sortowanie kluczy lub korygowanie wielkości (lub nawet klucza i danych razem) oraz stosowanie na nich wyszukiwania binarnego .

Abstrakcja i pośredniość

  • Orientacja obiektowa wykorzystuje dwie podstawowe koncepcje do zrozumienia danych i oprogramowania: 1) taksonomiczna struktura rang klas kodu programu , która jest przykładem hierarchicznej struktury danych; oraz 2) W czasie wykonywania tworzenie odwołań do kluczy danych do struktur danych obiektów znajdujących się w pamięci, które zostały utworzone z biblioteki klas . Dopiero po utworzeniu instancji istnieje obiekt wykonujący określonej klasy. Po unieważnieniu odwołania do klucza obiektu dane, do których odwołuje się ten obiekt, przestają być danymi, ponieważ odwołanie do klucza danych ma wartość NULL; i dlatego przedmiot również przestaje istnieć. Lokalizacje pamięci, w których były przechowywane dane obiektu, są następnie określane jako śmieci i są ponownie klasyfikowane jako nieużywana pamięć dostępna do ponownego użycia.

Dane bazy danych

Równoległe przetwarzanie danych rozproszonych

  • Nowoczesne skalowalne / wysokowydajne technologie utrwalania danych opierają się na masowo równoległym przetwarzaniu danych rozproszonych na wielu popularnych komputerach w sieci o dużej przepustowości. Przykładem jednego z nich jest Apache Hadoop . W takich systemach dane są rozprowadzane na wielu komputerach, a zatem każdy konkretny komputer w systemie musi być reprezentowany w kluczu danych, bezpośrednio lub pośrednio. Umożliwia to rozróżnienie dwóch identycznych zestawów danych, z których każdy jest jednocześnie przetwarzany na innym komputerze.

Zobacz też

Bibliografia