+ All Categories
Home > Documents > Cursul 9 - Stocarea si prelucrarea...

Cursul 9 - Stocarea si prelucrarea...

Date post: 21-Oct-2019
Category:
Upload: others
View: 37 times
Download: 0 times
Share this document with a friend
11
Cursul 9 Stocarea s , i prelucrarea datelor Utilizarea Sistemelor de Operare (USO) 20 noiembrie 2017 Departamentul de Calculatoare CSE Dep Cursul 9, Stocarea s ,i prelucrarea datelor 1/51 Citat Three things are certain: Death, taxes, and lost data. Guess which has occurred. David Dixon, 1998, winning entry of the Haiku Error Messages 21st Challenge CSE Dep Cursul 9, Stocarea s ,i prelucrarea datelor 2/51 Configur˘ ari de ret , ea adres IP masc de re ea gateway server DNS static dinamic temporar persistent ip address add 192.168.0.2/24 dev eth0 ip route add default via 192.168.0.1 echo "nameserver 8.8.8.8" > /etc/resolv.conf dhclient eth0 auto eth0 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameserver 8.8.8.8 auto eth0 iface eth0 inet dhcp /etc/network/interfaces CSE Dep Cursul 9, Stocarea s ,i prelucrarea datelor 3/51 Configur˘ ari de ret , ea (2) http://www.guy-sports.com/humor/computers/computer_tech_support_calls.htm CSE Dep Cursul 9, Stocarea s ,i prelucrarea datelor 4/51 Notes Notes Notes Notes
Transcript

Cursul 9Stocarea s, i prelucrarea datelor

Utilizarea Sistemelor de Operare (USO)20 noiembrie 2017

Departamentul de Calculatoare

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 1/51

Citat

Three things are certain:Death, taxes, and lost data.Guess which has occurred.

David Dixon, 1998, winning entry of the Haiku Error Messages 21st Challenge

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 2/51

Configurari de ret,ea

adres IP masc de re ea

gateway server DNS

static dinamic

temporar

persistent

ip address add 192.168.0.2/24 dev eth0

ip route add default via 192.168.0.1

echo "nameserver 8.8.8.8" > /etc/resolv.conf

dhclient eth0

auto eth0

iface eth0 inet static

address 192.168.0.2

netmask 255.255.255.0

gateway 192.168.0.1

dns-nameserver 8.8.8.8

auto eth0

iface eth0 inet dhcp

/etc/network/interfaces

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 3/51

Configurari de ret,ea (2)

http://www.guy-sports.com/humor/computers/computer_tech_support_calls.htm

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 4/51

Notes

Notes

Notes

Notes

In aceasta saptamana la USO

I ın week end apare quest de World of USO

I miercuri, 22 noiembrie 2017, ıncepe laboratorul 9: Stocarea s, iprelucrarea datelor

I tema 3 va aparea ın aceasta saptamanaI ıntrebat, i, ıntrebat, i, ıntrebat, iI folosit, i forumulI ajutat, i colegii pe forumI https://ocw.cs.pub.ro/courses/uso/regulament

I sect, iunea ,,Recomandari de comunicare electronica”I sect, iunea ,,Realizarea temelor”

I slide-urile cursului 10: ,,Shell scripting” vor fi publicate vineri,24 noiembrie 2017

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 5/51

Pin-uri USO

58 de pin-uri

I lab: 18 pin-uri (votat de asistent, i)

I curs: 8 (separat pe fiecare serie: 2 CA, 2 CB, 2 CC, 2 CD)

I midterm: 8 (primele 8 scoruri la testul practic de midterm)

I final: 16 (separat pe fiecare serie: 3 CA, 3 CB, 3 CC, 3 CD),cel mai bun scor, primul scor la practic, primul la grila

I extra: 8 (per serie), cea mai activa persoana din serie peforumuri (cs.curs.pub.ro), cel mai activ om ın zona de socialmedia (postari cu #usolife)

https://systems.cs.pub.ro/bachelor/uso/2018

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 6/51

Cuprins

Date digitale

Baze de date. SQL

Prelucrari de date

Parsarea datelor

Prezentarea datelor

Sumar

Extra

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 7/51

Date digitale

I informat, ii stocate pe suport electronic (ın general discuri)

I se stocheaza digital (ın bit, i, specific sistemului de calcul)

I ın general stocate ın fis, iere, ın cadrul sistemelor de fis, iereI avantaje fat, a de date ,,nedigitale”:

I stocare facila (nu ai nevoie de spat, iu fizic)I duplicare instant (nu e nevoie de copiator sau scanner)I transfer us,or (nu ai nevoie de cutii s, i camioane)I controlul accesului (decizi cine ce foloses, te)I aplicat, ii care folosesc date (aplicat, ii conform nevoii: criptare,

extragere informat, ii, ınlocuire etc.)I format de stocare (binar, text, comprimat etc.)

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 9/51

Notes

Notes

Notes

Notes

Ce e important la date digitale?

I spat, iul ocupat: unde le stocam, cum le stocam

I accesul: cum le accesam, ce interfet,e oferim, ce aplicat, ii lefolosesc

I securitatea: cine are acces, cum protejez de acces nedorit

I permanent,a (backup, versionare): cum previn pierdereadatelor

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 10/51

Date structurate

I datele structurate sunt organizate, ın general, ca o lista deelemente ce respecta nis, te criterii

I lista de student, i dintr-o facultate s, i atributele lor reprezintadate structurate

I catalogul unei materii e o forma de informat, ie structurataI alte exemple

I lista angajat, ilor unei companiiI portofoliul de produse al unei companiiI istoricul de evenimente ale unei organizat, ii

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 11/51

Entitat, i, proprietat, i s, i asocieri

I ın datele structurate folosim entitat, i (persoane, student, i,evenimente, produse)

I entitat, ile au proprietat, i sau atributeI o persoana are varsta, sex, ınalt, ime, ocupat, ie, data de nas, tereI un eveniment are o data de desfas,urare, un organizator, un set

de sponsori, nis, te obiectiveI un produs are un nume, un producator, un pret, , un mod de

distribut, ieI entitat, ile pot fi legate sau asociate ıntre ele

I un profesor preda mai multe cursuriI un curs este parte a unui an de studiuI un an de studiu cuprinde mai multe seriiI seriile cont, in student, iI o persoana are ca parint, i alte persoaneI o persoana lucreaza ıntr-o organizat, ieI o organizat, ie furnizeaza o serie de produse

I formele de stocare a datelor structurate trebuie sa pastrezeentitat, ile, atributele acestora s, i legaturile/asocierile ıntre ele

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 12/51

Date ın format tabelar

I un mod de prezentare a datelor structurate este formatultabelar: linii s, i coloane

I fiecare tabela reprezinta o entitate (de exemplu ,,studenti”)

I fiecare linie din tabel reprezinta o intrare, un element de tipulacelei entitat, i (adica un ,,student” real)

I fiecare coloana ınseamna atribute ale studentului (nume,grupa, nota, username, locul nas, terii etc.)

I pot exista referint,e ıntre tabele; o coloana este o referint, acatre alta intrare din alt tabel sau din acelas, i

I fis, ierele spreadsheet (.xls, .ods) sunt forme de date structurateın format tabelar

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 13/51

Notes

Notes

Notes

Notes

Baze de date

I mod de structurare a datelor pentru stocare s, i accesareeficienta

I orice forma de structurare a informat, iei pentru a facilitaaccesul poate fi considerata o baza de date

I poate fi text sau binar

I /etc/passwd: baza de date de utilizatori locali

I ın general, baza de date este binara pentru eficient, a

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 14/51

Format text vs. format binar

Format text

I citibil, format ASCII

I us,or de editat s, i parcurs

I foarte portabil

I spat, iu ocupat mai mare

I util pentru fis, iere relativmici, ce pot fi parcurse deoameni

I ın general nu foarte divers,folosim cuvinte s, i caractere

Format binar

I nu poate fi inspectat de opersoana

I nevoie de o aplicat, iededicata pentru citire s, imodificare

I posibil sa fie dificil dedeschis cu alta aplicat, ie

I eficient ca spat, iu

I poate folosi fis, iere oricat demari

I flexibilitate completa lamodul de structurare

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 15/51

Serializare

I transformarea structurilor de date/obiectelor ıntr-o formastocabila (de obicei un fis, ier)

I ın general se prefera un format de stocare standard, care sapoata fi folosit de diverse aplicat, ii/limbaje

I exemple de formate de stocare de date serializate text: JSON,XML, YAML

I ın Python se poate folosi modulul Pickle care stocheaza dateın fis, iere binare

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 16/51

Date ın format atribut-valoare

I nu exista obiecte/entitat, i, ci doar proprietat, i/atribute s, i valoripentru acestea

I ın general de forma attribute = value sau attribute:

value

I util pentru fis, iere de configurare, nu pentru obiecte sau entitat, i

I /etc/default/grub, /etc/hosts, fis, ierele .vmx

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 17/51

Notes

Notes

Notes

Notes

Formate de fis, iere text

I INI: forma simpla de cheie valoare

I JSON (JavaScript Object Notation): o forma de definire deobiecte (cu atribute s, i valori)

I YAML (YAML Ain’t Markup Language): este un superset alJSON

I XML (Extensible Markup Language): reprezentarearborescenta

I CSV (Comma Separated Values): format tabelar text,colaborare cu suite Office

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 18/51

Codificarea caracterelor

I codificarea caracterelor folosite de oameni ın format digital dereprezentare

I ASCII asociaza 7 bit, i pentru fiecare caracter: A = 0x41, a =

0x61

I UTF-8 este cel mai raspandit format de codificare din InternetI UTF-8 este compatibil cu ASCII s, i permite reprezentarea unui

spectru larg de caractereI ın UTF-8: s, = 0xc899, t, = 0xc89bI caractere chirilice, chinezes, ti etc.

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 19/51

Ce este o baza de date?

I un fis, ier sau un set de fis, iere

I format particular de stocare, specific implementarii

I ın general binare cu un nivel de acces la baza de date

I sisteme de gestiune a bazelor de date pentru interact, iune cubaza de date (SGBD, DBMS)

I pentru o baza de date definim o schema: modul de organizares, i legatura

I practic implementarea modelului entitate-asociere

I ın general, modelelul relat, ional (pe baza de tabele): RDBMS -Relational Database Management System

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 21/51

Sistem de gestiune a bazei de date

http://resources4ict.excellencegateway.org.uk/term.php?id=1192&img=1

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 22/51

Notes

Notes

Notes

Notes

Baze de date relat, ionale

I interfat,a expusa ın forma de tabele

I model cu intrari (randuri) cu proprietat, i (coloane) s, i legaturiıntre ele

I formele de interogoare t, in cont de stuctura pe baza de tabele

I cele mai cunoscute SGBD sunt de tip relat, ional: Oracle, MSSQL, IBM DB2, MySQL, MariaDB, PostgreSQL, Firebird,SQLite

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 23/51

Baze de date relat, ionale

http://code.tutsplus.com/tutorials/relational-databases-for-dummies--net-30244

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 24/51

Interogari pentru baze de date relat, ionale

I creeaza un tabel

I s, terge un tabel

I adauga o intrare

I s, terge o intrare sau mai multe

I selecteaza o intrare sau mai multe

I actualizeaza o intrare

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 25/51

SQL

I Standard Query Language

I limbaj dedicat pentru interogarea unui RDBMS

I sintaxa simplista pentru interact, iune cu baza de date

Comenzi SQL

insert into studenti(nume, email, an, serie)

values(’Capota Paul’, ’[email protected]’, 2, ’CC’);

delete from students where nume=’Capota Paul’;

select from students where serie=’CC’;

update students set serie=’CA’ where email=’[email protected]’;

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 26/51

Notes

Notes

Notes

Notes

Ce vrem sa facem cu datele?

I vizualizare, interpretare, analiza, rapoarte: ın general ın formade imagini s, i grafice

I sumarizare, agregare, statistici: ın general ın forma numerica

I cautare, selectare, sortare, ordonare, grupare, extragere: ıngeneral ın forma de tabele sau liste

I datele sunt prelucrate prin mijloace (means) pentru a atingeobiective (ends) observatorului uman

I ne preocupa obiectivele s, i alegem mijloacele cele mai potrivite

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 28/51

Prelucrarea datelor

I data processing, data analysis

I metodele prin care datele sunt preluate de pe suportul destocare s, i apoi analizate pentru a obt, ine un rezultat utilobservatorului

I rezultatul poate fi un numar, un tabel, un graficI metodele de prelucrare depind de

I modul de stocareI tipul datelor (numere, s, iruri, array-uri)I nevoile observatorului uman

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 29/51

Pas, i ın prelucrarea datelor

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 30/51

Best tool for the job

I plecam de la obiective (ends, ce vrem sa obt, inem) s, i apoistabilim mijloacele (means, cum vrem sa ajungem acolo)

I means to an end

I ın funct, ie de situat, ie alegem o opt, iune sau alta

I stocare: text sau binar, JSON sau XML, XML sau baze date,date tabelare sau nu

I parsare: utilitare simple (cut, awk, shell scripting),funct, ionalitat, i ın limbaje (Python, C, Java), aplicat, ii dedicate(lexere, Flex), interfat,a SQL pentru baze de date

I prelucrare: shell scripting, limbaje de programare dedicate

I prezentare: numere, tabele, grafice

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 31/51

Notes

Notes

Notes

Notes

Exemple de scenarii

I dorim sa indexam numele de funct, ii s, i variabile globaledintr-un fis, ier cod sursa (sau mai multe)

I dorim sa parcurgem un fis, ier CSV (Comma Separated Values)

I dorim sa parcurgem informat, iile dintr-un fis, ier de tip jurnal(log), unde fiecare linie are o intrare specifica

I dorim sa analizam s, i sa extragem informat, ii dintr-un fis, ierXML

I dorim sa intepretam datele dintr-o baza de date SQL (deobicei engine-ul SQL face parsarea)

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 33/51

Splitting, tokenizing, parsing, deserializing

I ın sensul larg, parsing se refera la analiza sintactica a unui text

I un lexer sau tokenizer ımparte un text ın elemente (items);este folosit de parser

I splitting e o forma simpla de parsing ın care se ımparte untext ın elemente t, inand cont de un caracter sau de un set decaractere despart, itoare (separator de campuri – fieldseparator)

I deserializarea este o operat, ie generalista: se refera latransformarea datelor din suportul de stocare ın structuri dedate ın memorie (liste, array-uri, arbori etc.)

I operat, ia de stocare a datelor din memorie ıntr-un suport destocare se numes, te serializare (numita s, i marshalling)

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 34/51

Date tabelare

I linii (rows) s, i coloane (columns)

I exista un separator de campuri (de coloane): field separator

I separatorul de linii este caracterul newline (linie noua, \n)

I parsarea se refera ın general la ımpart, ireacampurilor/coloanelor de pe fiecare linie (splitting)

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 35/51

Separatorul de campuri

I field separator sau field delimiter

I ımparte campuri pe o linie

I poate fi un caracter (virgula, tab, spat, iu) sau un set decaractere (semne de punctuat, ie)

I utilitarele care fac split precizeaza caracterul sau setul decaractere pentru separare

I opt, iunea -d la cutI opt, iunea -F la awkI opt, iunea -s la sortI string.split() ın PythonI String.split() ın Java

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 36/51

Notes

Notes

Notes

Notes

cut vs. awk

I cut -d ’ ’ -f 1

I awk -F ’[ ]’ ’{print $1;}’I cut e mai simplu

I awk permite folosirea unei expresii regulate pe post deseparator

I awk are s, i alte utilizari ın afara de splitting

I pentru cazuri mai complexe folosim limbaje de programare

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 37/51

Ce prezentam?

I evolut, ii, reprezentari grafice: imagini

I medii, erori, contoare: numere

I liste cu primele N valori, primele N caracteristici: tabele,rapoarte

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 39/51

Prezentari numerice

I medii (ın general aritmetice): a tuturor valorilor, a unor valori

I contoare: cat, i student, i au obt, inut nota X, cate persoane s-aunascut ın anul Y

I abaterea patratica medie (dispersia)

I variat, ii: cat a crescut consumul de lapte ın perioada X

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 40/51

Prezentari tabelare

I de obicei agregari de prezentari numerice

I asocieri

I datele complete despre parlamentarii care au votat legea X

I grupa s, i media pe grupa pentru materia X

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 41/51

Notes

Notes

Notes

Notes

Prezentari grafice

I pornesc tot de la numere

I grafice cu puncte (plots)

I grafice cu linii

I grafice cu linii s, i puncte (legaturi ıntre puncte)

I histograme (distribut, ia de valori numerice)

I bar charts (similar cu histograme, dar distribut, ia poate fi s, idupa alte criterii: t, ari, perioade, localitat, i)

I pie charts (grafice de tip placinta cu felii/procente)

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 42/51

Utilitare pentru prezentare grafica

I aplicat, ii spreadsheet ın suite Office

I gnuplot

I Matlab / Octave

I matplotlib

I R

I http://en.wikipedia.org/wiki/Wikipedia:

How_to_create_charts_for_Wikipedia_articles

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 43/51

Ce foloses, ti cand stochezi date?

I text: pentru configurare s, i pentru date ın fis, iere mici

I INI: pentru configurare foarte simpla

I YAML: pentru configurare mai complexa, pentru date de micidimensiuni

I JSON: pentru interact, iune cu servicii web

I XML: pentru configurari foarte complexe, pentruextensibilitate

I fis, iere binare simple: pentru eficient, a s, i viteza

I baze de date: date de mari dimensiuni, nevoie de cautare s, i deviteza, aplicat, ii acceseaza concurent

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 45/51

Sfaturi ın prelucrarea datelor

I ıntai obiectivele (prezentare, finalitate, ends) ınainte demijloace (parsare, prelucrare efectiva, means)

I best tool for the job: accesibil, rapid, mentenabil

I depinde de formatul de stocare (text, binar, XML, baza dedate)

I nu reinventat, i roata; folosit, i ceea ce deja exista

I o imagine face cat o mie de cuvinte

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 46/51

Notes

Notes

Notes

Notes

Cuvinte cheie

I date digitale

I structurate

I nestructurate

I entitate

I proprietate

I asociere

I format tabelar

I format text

I format binar

I atribut-valoare

I INI

I JSON

I YAML

I XML

I CSV

I baza de date

I SGBD, DBMS

I relat, ional

I RDMBS

I interogare

I SQL

I prelucrari

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 47/51

Resurse utile

I http://www.yaml.org/

I http://www.w3.org/XML/

I http://www.json.org/

I http://www.fileinfo.com/filetypes/spreadsheet

I https://www.dmoz.org/Computers/Data_Formats/Database

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 48/51

Rackspace

I companie de hosting IT

I fondata ın 1996

I unul dintre principalii furnizori de servicii cloud (RackspaceCloud)

I contribuitor la OpenStack

I folosit de GitHub

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 50/51

Big Data

I termen care defines, te date neprelucrabile ın modul standard

I mari, complexe: meteorologie, finant,e, cautare pe Internet

I date de ordinul PB, ZB

I operat, ii obis,nuite pe alte date: cautare, prelucrare

I necesita sisteme capabile de calcul paralel/distribuit sau alteabordari

CSE Dep Cursul 9, Stocarea s, i prelucrarea datelor 51/51

Notes

Notes

Notes

Notes


Recommended