Кіріспе
Компьютерлік операцияларды орындайтын сандар, таңбалар немесе символдар Компьютерлік ғылымда деректер (бірлік, көптік немесе жалпы зат есім ретінде қарастырылады) - бір немесе бірнеше символдардың кез келген тізбегі; дерек - деректердің бір символы. Деректер ақпаратқа айналу үшін түсіндіруді қажет етеді. Цифрлық деректер - бұл аналогтық бейнелеудің орнына бірліктер (1) және нөлдер (0) бинарлық сандық жүйесін пайдалану арқылы бейнеленген деректер. Қазіргі заманғы (1960 жылдан кейінгі) компьютерлік жүйелерде барлық деректер цифрлық болып табылады. Деректер үш күйде болады: тынығып тұрған деректер, транзит деректері және пайдаланылып жатқан деректер. Компьютердегі деректер, көбінесе, қатар деректер ретінде қозғалады. Компьютерден компьютерге немесе одан компьютерге келетін деректер, көбінесе, сериялық деректер ретінде қозғалады. Аналогтық құрылғыдан алынған деректер, мысалы температура датчигі, аналогтық-цифрлық түрлендіргіш арқылы цифрлық түрлендіруге айналуы мүмкін. Компьютерде операцияларды орындайтын сандарды, таңбаларды немесе символдарды білдіретін деректер магниттік, оптикалық, электрондық немесе механикалық жазу құралдарында сақталады және жазылады, және цифрлық электрлік немесе оптикалық сигналдар түрінде жіберіледі. Деректер компьютерлерге шеткі құрылғылар арқылы кіреді және шығады. Физикалық компьютерлік жады элементтері адрестен және деректерді сақтау байт/сөзінен тұрады. Цифрлық деректер көбінесе кестелер немесе SQL деректер қоры сияқты реляциялық деректер қорында сақталады және әдетте абстрактілік кілт / мән жұптары ретінде бейнеленуі мүмкін. Деректерді массивтер, графиктер және объектілер сияқты көптеген түрлі дерек құрылымдарында ұйымдастыруға болады. Деректер құрылымдары сандарды, тізбектерді және тіпті басқа да дерек құрылымдарын қоса алғанда, көптеген түрлі типтегі деректерді сақтай алады.
In computer science, data (treated as singular, plural, or as a mass noun) is any sequence of one or more symbols; datum is a single symbol of data. Data requires interpretation to become information. Digital data is data that is represented using the binary number system of ones (1) and zeros (0), instead of analog representation. In modern (post 1960) computer systems, all data is digital. Data exists in three states: data at rest, data in transit and data in use. Data within a computer, in most cases, moves as parallel data. Data moving to or from a computer, in most cases, moves as serial data. Data sourced from an analog device, such as a temperature sensor, may be converted to digital using an analog to digital converter. Data representing quantities, characters, or symbols on which operations are performed by a computer are stored and recorded on magnetic, optical, electronic, or mechanical recording media, and transmitted in the form of digital electrical or optical signals. Data pass in and out of computers via peripheral devices. Physical computer memory elements consist of an address and a byte/word of data storage. Digital data are often stored in relational databases, like tables or SQL databases, and can generally be represented as abstract key/value pairs. Data can be organized in many different types of data structures, including arrays, graphs, and objects. Data structures can store data of many different types, including numbers, strings and even other data structures.
Сипаттамалары
Метадеректер деректерді ақпаратқа айналдыруға көмектеседі. Метадеректер - бұл деректердің деректері. Метадеректер жасырын, нақты немесе берілген болуы мүмкін. Физикалық оқиғалар мен процестерге қатысты деректерде уақыт компоненті болады. Бұл уақытша компонент болуы мүмкін. Бұл температуралық тіркегіш сияқты құрылғы температуралық сенсордан дерек алған кезде болады. Температураны алған кезде деректер қазіргі уақытқа сілтеме жасайды деп есептеледі. Құрылғы күнді, уақытты және температураны бірге тіркейді. Деректі тіркеуші температураны хабарлағанда, ол әр температураны оқу үшін метадеректер ретінде күн мен уақытты да хабарлауы тиіс. Негізінде, компьютерлер дерек түрінде берілген нұсқаулар тізбесін орындайды. Берілген тапсырманы (немесе тапсырмаларды) орындау үшін нұсқаулар жиынтығы бағдарлама деп аталады. Бағдарлама - компьютер немесе басқа машинаның жұмысын басқару үшін кодталған нұсқаулар түріндегі мәліметтер. Номиналды жағдайда компьютер орындаған бағдарлама машиналық кодтан тұрады. Бағдарламамен өңделетін, бірақ орталық өңдеу блогы (CPU) орындамайтын сақтау элементтері де деректер болып табылады. Ең бастысы, бір дерек белгілі бір жерде сақталған мән болып табылады. Сондықтан компьютерлік бағдарламалардың басқа компьютерлік бағдарламаларда олардың бағдарламалық деректерін өңдеу арқылы жұмыс істеуі мүмкін. Дерек байттарын файлда сақтау үшін оларды файл пішіміне сериялау керек. Әдетте, бағдарламалар басқа деректер үшін пайдаланылатын файлдардан ерекшеленетін арнайы файл түрлерінде сақталады. Орындалатын файлдарда бағдарламалар бар; барлық басқа файлдар да дерек файлдары болып табылады. Алайда орындалатын файлдарда бағдарламада енгізілген бағдарлама қолданатын деректер де болуы мүмкін. Атап айтқанда, кейбір орындалатын файлдарда номиналды түрде тұрақтылар мен айнымалылардың бастапқы мәндері бар деректер сегменті бар, екеуі де дерек ретінде қарастырылуы мүмкін. Бағдарлама мен деректердің арасындағы шекара бұрмаланып қалуы мүмкін. Мысалы, аудармашы - бағдарлама. Аудармашыға енгізілген деректер - бұл бағдарлама, тек жергілікті машина тілінде емес. Көп жағдайда интерпретацияланатын бағдарлама адам оқи алатын мәтіндік файл болады, ол мәтіндік редактор бағдарламасымен өңделеді. Метапрограммалау да басқа бағдарламаларды дерек ретінде өңдеуді қамтиды. Компиляторлар, линкерлер, дебгерлер, бағдарлама жаңартушылар, вирустық сканерлер және басқалар сияқты бағдарламалар басқа бағдарламаларды өз деректері ретінде пайдаланады. Мысалы, пайдаланушы бір файлдан мәтін өңдеу бағдарламасын жүктеу үшін операциялық жүйеге нұсқау беріп, содан кейін басқа файлда сақталған құжатты ашу және өңдеу үшін орындалып жатқан бағдарламаны қолдана алады. Бұл мысалда құжат дерек ретінде қарастырылады. Егер мәтін өңдеушіде орфографиялық тексеруші де болса, онда орфографиялық тексеруші сөздігі (сөз тізімі) де дерек ретінде қарастырылады. Түпнұсқаны тексеруші түзетулерді ұсыну үшін қолданатын алгоритмдер машиналық код деректері немесе кейбір түсіндірілетін бағдарламалау тіліндегі мәтін болады. Басқаша айтқанда, екілік файлдарды (адам оқымайтын) кейде адам оқитын мәтіннен айырмашылығы ретінде деректер деп атайды. 2007 жылы цифрлық деректердің жалпы көлемі 281 млрд гигабайт (281 эксабайт) деп бағаланды .
ЖЖЖ
Кездейсоқ қатынас жады (RAM) - CPU тікелей қатынасы бар деректерді қамтиды. Процессор тек өзінің процессорлық регистрлеріндегі немесе жадындағы деректерді ғана өңдей алады. Бұл деректер сақтаудан айырмашылығы, онда процессор деректер сақтау құрылғысы (диск, таспа) мен жад арасындағы деректерді беруді басқаруы керек. RAM - процессор оқып немесе жазып алу операциясы үшін мекен-жай беру арқылы оқитын немесе жазатын сызықтық жалғасқан орындар массиві. Процессор жадтың кез келген жерінде кез келген уақытта кез келген ретімен жұмыс істей алады. RAM-да деректердің ең кіші элементі - бинарлық бит. RAM-ға қол жеткізудің мүмкіндіктері мен шектеулері процессорға тән. Жалпы, негізгі жад 0-ден басталатын орналасулар массиві ретінде орналастырылады (гексадецималды 0). Әр орын компьютерлік архитектураға байланысты әдетте 8 немесе 32 битті сақтай алады.
Кілттер
Деректер кілті жадында тікелей аппараттық мекен-жай болуы шарт емес. Жанама, абстрактілік және логикалық кілттер кодтары деректер құрылымын қалыптастыру үшін мәндермен бірлесіп сақталуы мүмкін. Деректер құрылымы құрылымының басынан бастап алдын ала белгіленген ауытқуларға (немесе сілтемелерге немесе жолдарға) ие, онда деректердің мәндері сақталады. Сондықтан, деректер кілті құрылымның кілті және құрылымға ауытқу (немесе сілтемелер немесе жолдар) құрайды. Мұндай құрылым қайталанып, деректердің мәндері мен деректердің кілттерінің өзгеруін бір қайталанатын құрылымда сақтаған кезде, нәтижені кестеге ұқсайды деп есептеуге болады, онда қайталанатын құрылымның әрбір элементі баған болып саналады және құрылымның әрбір қайталануы кестедегі жол ретінде қарастырылады. Деректердің осындай ұйымдастырылуында дерек кілті әдетте бағаналардың біріндегі (немесе бірнеше бағанадағы мәндердің құрама) мән болып табылады.
Ұйымдастырылған қайталанатын дерек құрылымдары
Қайталанатын дерек құрылымдарының кестелік көрінісі көптеген мүмкіндіктердің бірі ғана. Қайталанатын дерек құрылымдары иерархиялық түрде ұйымдастырылуы мүмкін, яғни түйіндер бір-бірімен ата-аналар мен балалар арасындағы қатынастардың каскадымен байланысты. Құндылықтар мен ықтимал күрделі дерек құрылымдары түйіндерге байланысты. Осылайша түйіндік иерархия түйіндермен байланысты дерек құрылымдарын шешудің кілті болып табылады. Бұл бейнелеуді кері бұрылған ағаш ретінде қарастыруға болады. Қазіргі заманғы компьютерлік операциялық жүйелер файл жүйелері - бұл кең таралған мысал; және XML - тағы бір мысал.
Сорттелген немесе реттелген деректер
Деректер кілтімен сұрыпталғанда кейбір тән ерекшеліктері бар. Кілттің барлық кіші жиынтықтарының мәндері бірге көрсетіледі. Деректер топтарын бір кілтпен немесе кілт өзгерістерінің кіші жиынтығымен бірізді түрде өткізген кезде, бұл деректерді өңдеу шеңберлерінде үзіліс немесе бақылау үзілісі деп аталады. Ол кілттің кіші жиынтықтарындағы деректерді агрегациялауды жеңілдетеді.
Шетте сақтау
Флэш сияқты ұдайы сақталатын жад пайда болғанға дейін, тұрақты деректер жадындарын магниттік таспалар мен дискілер сияқты сыртқы блокты құрылғыларға жазу арқылы сақталатын. Бұл құрылғылар әдетте магниттік медиадағы орынды іздеп, кейін алдын ала белгіленген өлшемдегі деректерді оқиды немесе жазады. Бұл жағдайда медиада іздеу орны - бұл дерек кілті, ал блоктар - дерек мәндері. Ертеде қолданылған шикі дискілік деректер файл жүйелері немесе дискілік операциялық жүйелер дерек файлдары үшін дискілік дисктегі жалғасқан блоктарды сақтады. Бұл жүйелерде файлдар толтырылуы мүмкін, барлық деректер оларға жазылмай тұрып, деректер кеңістігі бітеді. Осылайша әр файл үшін жеткілікті бос орынды қамтамасыз ету үшін пайдаланылмаған деректердің кеңістігі өнімді түрде сақталды. Кейінгі файл жүйелері бөлімдерді енгізді. Олар дискідегі деректер кеңістігінің блоктарын бөлімдерге қалдырды және бөлінген блоктерді қажеттілік бойынша файлға бөлімнің блоктарын динамикалық түрде беру арқылы үнемдірек қолданды. Бұл үшін файл жүйесі каталогтағы немесе файлдарды бөлу кестелеріндегі деректер файлдарының қай блоктарды пайдаланғанын немесе пайдаланбағанын қадағалап отыруы керек еді. Бұл диск деректерін кеңістікті жақсырақ пайдаланғанымен, ол дисктегі файлдардың бөлшектелуіне әкеліп соқты, сонымен қатар деректерді оқу үшін қосымша іздеу уақытына байланысты өнімділік шығыны болды. Қазіргі заманғы файл жүйелері файлға қол жеткізу уақытын оңтайландыру үшін фрагменттелген файлдарды динамикалық түрде қайта ұйымдастырады. Файл жүйелеріндегі одан әрі даму диск дискінің виртуализациялануына әкелді, яғни логикалық дискті бірнеше физикалық дисктердің бөлімдері ретінде анықтауға болады.
Индекстелген деректер
Көптеген үлкен жиынтықтан деректердің кішігірім жиынтығын алу деректерді ретті түрде іздеуді тиімсіз білдіруі мүмкін. Индекстер - бұл файлдардағы, кестелердегі және деректер жиынтықтарындағы дерек құрылымдарынан кілттер мен орналасу мекенжайларын көшірудің, содан кейін оларды түпнұсқа деректердің кіші жиынтығын алу үшін жұмсалатын уақытты азайту үшін кері бұтақ құрылымдарын пайдалану арқылы ұйымдастырудың тәсілі. Мұны істеу үшін, қайтарып алу алдында алынған деректердің кіші жиынтығының кілті белгілі болуы керек. Ең танымал индекстер - B ағашы және динамикалық хэш кілтті индекстеу әдістері. Индекстеу - деректерді файлдауға және алуға арналған үстеме шығын. Индекстерді ұйымдастырудың басқа да жолдары бар, мысалы, кілттерді сұрыптау және екілік іздеу алгоритмін пайдалану.
Деректер қоры деректері
Деректер қорының пайда болуы тұрақты деректерді сақтау үшін абстракцияның қосымша қабатын енгізді. Деректер қорлары метадеректерді және клиент пен сервер жүйелері арасындағы құрылымдық сұраныс тілі протоколын пайдаланады, олар компьютерлік желі арқылы қарым-қатынас жасайды, деректерді сақтау кезінде транзакциялық толықтықты қамтамасыз ету үшін екі фазалы коммит журналын пайдаланады.
Параллельде таратылған деректерді өңдеу
Қазіргі заманғы масштабталатын және жоғары өнімділіктегі деректер тұрақтылығы технологиялары, мысалы Apache Hadoop, жоғары жолақты желідегі көптеген тауарлық компьютерлерде қатарлас үлестірілген деректерді өңдеуге негізделген. Мұндай жүйелерде деректер бірнеше компьютерлерге таратылады, сондықтан жүйедегі кез келген компьютер деректердің кілтімен тікелей немесе жанама түрде бейнеленуі керек. Бұл екі бірдей дерек жиынтығын бір уақытта әр түрлі компьютерде өңделетінін ажыратады.