Upload
vuquynh
View
214
Download
0
Embed Size (px)
Citation preview
Introduzione
Il cloud computing può essere definito come un nuovo approccio all'utilizzo di tecnologie
già esistenti come Internet, la virtualizzazione, o ancora il Web, ma rimodellate allo scopo di
creare una piattaforma di elaborazione che non dipende da una localizzazione fisica e che
prescinde dalle risorse hardware e software impiegate.
Al giorno d'oggi infatti i dati e i programmi non devono risiedere necessariamente sul PC
utilizzato dall'utente, ma possono essere memorizzati su internet, “in the cloud”.
I vantaggi del cloud computing non sono pochi: analizzando le infrastrutture informatiche e
le applicazioni utilizzate dalle aziende, per esempio, si può riscontrare come tali
applicazioni abbiano un costo elevato in quanto comportano la formazione di un team
capace di configurarle e di garantirne il corretto funzionamento.
Il cloud computing elimina tali problemi perché non richiede al cliente di gestire l'hardware
e il software, compito affidato invece ad un fornitore esperto, e inoltre l'utente paga solo le
funzionalità a lui necessarie.
Inoltre per consentirne il funzionamento non è necessario installare software aggiuntivi,
basta infatti utilizzare un browser per visualizzare ed utilizzare i dati e le applicazioni
salvati su server remoti centrali, da qualsiasi computer o dispositivo mobile.
Tipologia di cloud
Esistono attualmente tre diverse tipologie di cloud che possono essere identificate nei
seguenti modelli:
cloud pubblico
cloud privato
cloud ibrido
Cloud pubblico
Il cloud pubblico verte sul modello base del cloud computing, nel quale un service provider
rende disponibile all'utente, attraverso Internet, una serie di servizi, come applicazioni e
storage. Tale modello di cloud garantisce la scalabilità e la flessibilità, anche se impedisce
un controllo sull'infrastruttura e sopratutto sulle scelte riguardanti la sicurezza. L'utente
quindi non conosce dove i propri dati vengano salvati e il loro livello di sicurezza.
Cloud privato
Il cloud privato è un ambiente informatico interno all'azienda stessa, realizzato con la
virtualizzazione delle risorse e dei servizi.
Attraverso tale tipologia le aziende realizzano un ambiente cloud che rimane interno al
proprio data center, e che quindi consente di mantenere i dati più sicuri in quanto risiedono
all'interno della propria struttura operativa, risolvendo il problema della sicurezza
caratteristica dei cloud pubblici.
Cloud Ibrido
Il cloud ibrido si presenta come l'unione delle due tipologie di cloud, quello pubblico e
quello privato, cercando di sfruttare i vantaggi di uno dei due li dove l'altro è più debole.
L'infrastruttura in questa tipologia di cloud viene mantenuta contemporaneamente sia dal
provider interno che da quello esterno, attuando dei sistemi di condivisione delle risorse e
dei dati.
In base ai tipi di servizi erogati, è possibile dividere i cloud in altre tre tipologie:
IaaS (Infrastructure as a Service)nel quale l'utente può acquistare l'intera
infrastruttura IT, quindi potenza di calcolo, storage, servizi di rete utili a condividere
i propri servizi o le proprie applicazioni
PaaS (Platform as a Service) nel quale è possibile utilizzare le infrastrutture che
permettono di sviluppare , testare, e distribuire un'applicazione.
SaaS (Software as a Service) nel quale è possibile utilizzare programmi in remoto;
STORIA
L'origine storica del cloud – Da Arpanet all'attuale Internet
La storia del Cloud Computing, nonostante sembri una tecnologia recente, ha già raggiunto
l'età della maturità adulta, in quanto ha origine negli anni 60 e 70, quando John McCarty,
uno dei pionieri dell'intelligenza artificiale, immaginava un futuro in cui l' elaborazione dei
calcoli sarebbe potuta essere distribuita ed organizzata su diversi sistemi.
Ciò che ha consentito lo svilupparsi e l'evolversi del Cloud Computing è stato sicuramente
la creazione di Internet durante la guerra fredda.
Il progetto nacque ufficialmente nel 1969 sotto il nome di Arpanet, con l'obiettivo principale
di collegare tra loro computer geograficamente distanti utilizzati per scopi militari.
L'ARPA, una struttura interna al Dipartimento della Difesa Statunitense, dopo la messa in
orbita del primo satellite artificiale, lo Sputnik, da parte dell'Unione Sovietica, cercò di
riprendersi il primato americano nelle scienze applicate al settore militare sponsorizzando
vari studi in materia.
L'eco di tale impresa iniziò a diffondersi velocemente, tanto da spingere gli inglesi a
sviluppare una NPL Data Network, la prima rete a commutazione di pacchetto, creata nel
1968.
Nello stesso anno il pentagono decise di stanziare consistenti somme per sperimentare su
larga scala il progetto Arpanet.
Il primo nodo fu istallato presso la UCLA nell'anno successivo, e poco dopo i nodi
divennero quattro, per poi continuare a crescere sino al numero attuale.
Il primo messaggio venne inviato da uno dei computer del’università dallo studente Charley
Kline alle 22:30 del 29 ottobre 1969. A dover ricevere il messaggio, che consisteva nella
parola 'login', doveva essere uno dei computer connessi al nodo dei laboratori della Stanford
University, ma dopo l'invio delle prime due lettere il sistema subì un arresto improvviso e
non fu possibile completare la comunicazione. Il primo collegamento stabile tra due
computer venne realizzato il 21 novembre 1969, mentre la rete tra tutti e quattro i nodi
esistenti venne terminata il 5 dicembre di quell'anno.
Durante lo sviluppo di Arpanet, nacquero le prime reti di computer su aree locali, le reti
LAN.
L'esigenza ora , oltre che connettere tra di loro singoli computer, era quella di connettere
anche reti LAN.
Con l'aumento degli utenti aumentò anche lo sviluppo di nuove tecnologie che garantivano
il perfetto funzionamento e la perfetta efficacia della rete: verso la fine degli anni '80 ,infatti,
venne scelto come protocollo preferenziale il TCP/IP .
Nello stesso periodo in cui a Berlino viene abbattuto il famoso muro (1989), simbolo della
guerra fredda, il progetto Arpanet è ormai diventato solo un ricordo, in quanto si avvia a
essere conosciuto come Internet.
Il servizio si è esteso ora anche ad università europee ed extra-europee, creando, verso la
fine degli anni '80 una grossa rete mondiale che connetteva tutte le università.
L'accesso a Internet viene facilitato con la creazione nel 1990, da parte del CERN (Centro
Europeo Ricerche Ginevra) del World Wide Web, nato per standardizzare tutti i
collegamenti per lo scambio di informazioni. L'anno seguente, nel 1991 venne creato il
linguaggio di formattazione HTML producendo cosi le prime pagine web.
Questo incrementò ulteriormente la velocità di progresso e di diffusione di Internet, fino ad
arrivare al commercio online, ai quotidiani elettronici, a creare quello che oggi possiamo
definire come un “villaggio globale”.
Nonostante Internet si sia diffuso su larga scala, estendendosi oltre che ai grandi enti quali
governi o banche per esempio, anche a singole persone e società private, si pensava già a un
progetto chiamato Internet 2.
Tale progetto aveva come obiettivo quello di estendere e sviluppare maggiormente la rete e i
servizi da essa offerta, in modo da potenziare l'interattività e la multimedialità attraverso il
traffico vocale, le videoconferenze o ancora la TV interattiva.
Negli ultimi anni abbiamo assistito allo sviluppo di alcuni di tali progetti, tra cui un esempio
è L'Home Banking, che permette di collegarsi alla base dati della propria banca tramite l'uso
del proprio computer o dispositivo mobile.
In campo aziendale abbiamo assistito invece allo sviluppo dell'EDI, l'Electronic Data
Interchange, che consente a due o più aziende di scambiarsi dati e informazioni relativi a
ordini senza l'aiuto del supporto cartaceo, cosi come il Commercio Elettronico, o anche e-
commerce, sempre più utilizzato negli ultimi anni.
GOI
Classificazione dei costi dei sistemi informativi automatizzati
In campo economico il cloud computing viene adottato come soluzione al problema dei
costi
dell' IT delle aziende.
Fino a poco tempo fa l'IT rappresentava un valore aggiunto per le aziende, ed i suoi costi
venivano ammortizzati in termini di efficienza e produttività.
Oggi qualsiasi azienda ha a che fare con un'infrastruttura informatica, la quale rappresenta
un elevato costo di gestione, che non è altro che la somma di diverse tipologie di costi,
ovvero: costi per tipo di risorsa, costi per missione, costi interni e esterni.
1) La prima categoria di costi (costi per tipo di risorsa) comprende le tipologie
principali dei costi dell’infrastruttura che sono:
costi delle tecnologie dati dai costi hardware, che riguardano le stazioni di
lavoro, gli elaboratori periferici, gli elaboratori centrali, le periferiche e gli
apparati di telecomunicazione, e dai costi del software che riguardano i costi
del software di base, del middleware e dei pacchetti applicativi
costi del personale che consistono nei costi del personale informatico dedicato
ad attività di gestione operativa, di sviluppo e manutenzione delle
applicazioni, di assistenza utenti, di pianificazione, amministrazione e di
supporto
costi dei servizi interni e esterni per manutenzione hardware, software e delle
reti, sviluppo e manutenzione software applicativo, consulenze applicative e
sistemistiche, servizi di elaborazione dati ecc.
2)La seconda categoria invece, i costi per missione, sono dati dai costi di sviluppo e
dai costi di esercizio. Per attività di sviluppo si intendono le attività relative a progetti
che vanno ad ampliar e rinnovare il portafoglio applicativo dell’ amministrazione o ne
modifichino in modo significativo alcune parti.
I costi di sviluppo a loro volta si distinguono tra costi di costruzione (o realizzazione) e
costi di avviamento.
Il costo di costruzione rappresenta il costo necessario per ottenere un sistema da avviare.
I costi di avviamento rappresentano il valore delle attività e delle risorse necessarie per
mettere in esercizio i sistemi precedentemente costruiti.
I costi di sviluppo comprendono anche costi per l’acquisizione di apparecchiature
hardware e prodotti software aggiuntivi acquisiti per installare e/o mettere in esercizio i
nuovi sistemi o per far fronte alle cresciute esigenze dei sistemi in esercizio.
I costi di esercizio comprendono tutti i costi necessari per il corretto funzionamento dei
sistemi e l’utilizzo delle applicazioni da parte degli utenti. Ai costi di esercizio si
aggregano quelli di manutenzione che rappresentano una quota rilevante del costo
dell’IT di un’organizzazione, mediamente il 70/80% .
3)La terza categoria comprende i costi interni e costi esterni : I costi interni sono
principalmente i costi del personale informatico dell’ amministrazione impegnato nelle
attività di sviluppo e di esercizio del sistema. Accanto a questi costi interni diretti ci
sono anche i costi interni indotti legati alle attività svolte dagli utenti finali per attività
connesse alla costruzione, avviamento e utilizzo del sistema (ad es.: il tempo speso dagli
utenti per caricare i dati negli archivi).
I costi indotti valorizzano l’impatto organizzativo dei progetti informatici nelle loro
diverse fasi. Inoltre, con lo sviluppo dei modelli client/server e dell’informatica
distribuita il costo indotto relativo al tempo speso dagli utenti finali per imparare a
utilizzare e operare con le infrastrutture informatiche delle aziende è diventato molto
rilevante.
I costi esterni invece, sono quelli relativi all’acquisizione di prodotti hardware e software e
di servizi affidati a società esterne anziché svolti internamente.
Un altro problema è dovuto dalla previsione della necessità dell'infrastruttura It che non può
essere ipotizzata con precisione, principalmente per due motivi:
La reale capacità necessaria è fluttuante in quanto può variare le necessità dovuta
all'ingresso o all'uscita di clienti o alla terminazione o inizio di progetti o altre
condizioni non prevedibili.
La necessita di calcolo di alcune attività è intrinsecamente variabile per le
condizioni dell'attività stessa.
Tutti questi problemi vanno a gravare sull'infrastruttura informatica rendendola costosa e
difficile da gestire.
Per questo si è cercato di creare un servizio in grado di bypassare tutte queste
problematiche, e che possa ridurre i costi a cui devono far fronte le imprese.
La soluzione a questi problemi si traduce nella possibilità di avere un'infrastruttura IT
scalabile in base alle esigenze, vale a dire un'infrastruttura IT flessibile, che segue le
necessità di calcolo della nostra attività in real time; è un' infrastuttura “on demand”, a
consumo, e questo significa che utilizzo solo quello che mi serve, perché ho materialmente
solo quello che mi serve.
Questa infrastruttura, capace di aumentare le risorse, ma anche di rilasciarle quando non ne
ho più bisogno, consente un’ottimizzazione della spesa perché ,di volta in volta, il costo è
legato a quello che effettivamente si utilizza riducendo notevolmente gli sprechi, inoltre
l’utente finale abbatte i costi di manutenzione e gestione del personale addetto, gestione di
reti fisiche, costi legati all'acquisto di licenze di software.
TPS
I Sistemi Distribuiti
Le architetture dei sistemi informativi si sono evolute nel corso degli anni passando da
schemi centralizzati a modelli distribuiti, quali per esempio i cloud.
Nel sistema centralizzato infatti i dati e le applicazioni risiedono in un unico nodo
elaborativo, il quale viene condiviso da vari utenti e le sue risorse sono sempre accessibili,
mentre nel sistema distribuito l'elaborazione è distribuita, ovvero le applicazioni risiedono
su più host autonomi che collaborano tra di loro scambiandosi messaggi, e la base di dati è
distribuita.
I diversi vantaggi che presentano i sistemi distribuiti sono:
La scalabilità: ovvero la capacità del sistema distribuito di mantenere o migliorare le
proprie prestazioni al variare delle risorse disponibili e del numero di utenti. Le
componenti impiegate dal sistema possono quindi aumentare o diminuire senza che
la struttura del sistema debba cambiare.
L' eterogeneità: ovvero la capacità di un sistema distribuito di integrare componenti
diversi tra di loro sia per tipologia hardware che per sistema operativo.
La tolleranza ai guasti: il sistema distribuito è quindi in grado di gestire i guasti in
modo da non pregiudicare il funzionamento dell'intero sistema.
L' apertura : che sta a indicare che un sistema distribuito è costituito da hardware e
software di fornitori diversi consentendo quindi la portabilità, l'interoperabilità e
l'ampliabilità.
Di rimando, sono presenti diversi svantaggi, quali:
La complessità: in quanto i software sono più complicati da realizzare.
Problemi tipici della concorrenza: occorrono quindi dei meccanismi di supporto alla
loro gestione.
Numerosi e diversi punti di fallimento.
Problemi di sicurezza e integrità.
Un'applicazione distribuita è realizzata mediante la collaborazione di diverse entità in
esecuzione su risorse computazionali fisicamente distinte. Un sistema distribuito è quindi
un ambiente entro il quale possono operare una o più applicazioni distribuite.
Il metodo più diffuso per realizzare un'applicazione distribuita è quello client/server,
utilizzato peraltro nel cloud computing.
Il server, infatti, fornisce un servizio o un applicativo all'host che ne fa richiesta.
Per fare ciò quindi il server deve essere sempre in ascolto, e deve accettare le richieste dei
diversi utenti, attraverso più porte TCP, o UDP,ed altre porte fisse di default.
A richiesta avvenuta, il server risponde fornendo la pagina HTML, nel caso di un sito Web,
o il servizio che gli è stato richiesto.
Il client invece viene attivato su richiesta dell'utente per inviare le richieste al server,
dopodiché attende la risposta da quest'ultimo, la quale avviene su una porta allocata in modo
dinamico, dato che l'utente è singolo.
Le architetture create attraverso i concetti di client e server più utilizzate sono:
architettura client/server (C/S): la quale prevede il posizionamento del server
determinato a priori. Il vantaggio di questa architettura sta nella sua semplicità di
realizzazione, mentre i suoi svantaggi sono il sovraccarico del server e del canale di
comunicazione. Inoltre tale architettura è organizzate in livelli per cui ogni livello
svolge la funzione di server per il livello sottostante e la funzione di client per il
livello successivo.
architettura peer-to-peer(P2P):la quale prevede che ogni host può ricoprire sia il
ruolo di client e di server, in contemporanea o in tempi distinti.
Un sistema distribuito è formato da tre livelli logici, detti layer,che sono:
Layer di presentazione(P): comprende le componenti che si occupano di presentare
l'informazione verso i client, e che danno al client la possibilità di interagire con il
sistema per ottenere risultati richiesti.
Layer applicativo(A):si occupa dell'elaborazione dei dati necessari per produrre i
risultati da inoltrare al livello di presentazione.
Layer di accesso ai dati(D):si occupa di gestire i dati che sono necessari al
funzionamento dell'intero sistema.
I tre livelli logici del sistema distribuito poggiano su tre livelli detti livelli hardware, o tier, e
sono:
Single tiered system: in cui i tre livelli logici poggiano su un unico livello hardware.
Two tiered system: i livelli logici vegono divisi tra una macchina di front-end(client)
ed una di back-end(server). Sulla prima macchina è realizzato il livello di
presentazione e sul server il livello applicativo e di accesso ai dati.
Three tiered system: in cui i tre livelli sono divisi in tre livelli fisici (macchine)
diversi. Una macchina client, una macchina mid-range server (con middleware)ed
una macchina di back-end server.
SISTEMI
I Protocolli utilizzati nel cloud computing, e il protocollo FTP
I principali protocolli utilizzati nel cloud computing sono :
SMTP utilizzato per la trasmissione via internet di e-mail;
SSH il quale ha sostituito l'insicuro protocollo Telnet, e viene usato per stabilire una
sessione remota cifrata tramite interfaccia a riga di comando;
POP il quale permette, tramite autenticazione, l'accesso da parte del client ad un
account di posta elettronica presente su di un host server e la possibilità scaricare le
e-mail dall'account stesso;
HTTP usato per la trasmissione d'informazione sul web in un'architettura tipica
client-server
FTP :
Il protocollo FTP (File Transfer Protocol), è, come indicato dal suo nome, il protocollo
utilizzato per trasferire i file, basato su TCP e con architettura client-server.
E' uno dei primi protocolli definiti della rete Internet ed ha subito una lunga evoluzione
negli anni. La prima specifica, sviluppata presso il MIT (Massachusetts Institute of
Technology) , risale al 1971 (RFC-114). L'attuale specifica fa riferimento all'RFC-959,
definita nel 1984.
Gli obiettivi principali di FTP descritti nella sua RFC ufficiale furono:
Promuovere la condivisione di file (programmi o dati)
Incoraggiare l'uso indiretto o implicito di computer remoti.
Risolvere in maniera trasparente incompatibilità tra differenti sistemi di stoccaggio file tra
host.
Trasferire dati in maniera affidabile ed efficiente.
Il protocollo FTP, per trasportare un file utilizza due canali TCP separati, che agiscono in
parallelo, cioè una connessione di controllo, e una connessione dati.
La prima connessione, detta di controllo è usata per spedire le informazioni di controllo tra
client e server, come il nome e la password dell'utente, o i comandi per la modifica della
directory remota.
La seconda connessione invece, la connessione dati, è quella utilizzata per trasferire i dati.
Il trasferimento dei dati dal server al client può avvenire secondo due tipi di collegamento:
normale o passivo.
Il client FTP nel collegamento normale (o standard) stabilisce prima di tutto una
connessione alla porta TCP 21 sul server FTP. Questa connessione instaura il canale dei
comandi FTP e successivamente il client invia un comando PORT sul canale dei comandi
FTP quando ha necessità di inviare o ricevere dati, come per esempio un elenco di cartelle o
un file. Il comando PORT contiene il numero della porta che il client FTP userà per ricevere
i dati. In questa modalità, il server FTP avvia sempre la connessione dati dalla porta TCP 20
ed apre una nuova connessione al client quando invia o riceve i dati, mentre il client FTP
effettua a sua volta la richiesta mediante il comando PORT.
Nel collegamento passivo invece il client apre due connessioni da due porte locali non
privilegiate, la prima connessione è diretta alla porta 21 del server FTP su cui il client invia
un comando PASV (è questo il canale dei comandi); il server FTP apre una porta random
(tra la 1024 e la 5000) e la comunica al client FTP , il quale apre una seconda connessione,
quella dati dalla sua seconda porta aperta all’inizio della negoziazione verso questa porta del
server.
Un server FTP offre svariate funzioni che permettono al client di interagire con il suo
filesystem e i file che lo popolano, tra cui:
Download/upload di file.
Resume di trasferimenti interrotti.
Rimozione e rinomina di file.
Creazione di directory.
Navigazione tra directory.
FTP fornisce inoltre un sistema di autenticazione in chiaro (non criptato) degli accessi.
Questo comprende nomi utenti, password, comandi, codici di risposta e file trasferiti i quali
possono essere “sniffati” o visionati da malintenzionati in determinate situazioni. Si è risolto
tale problema eseguendo la cifratura dei dati da parte di un sottolivello denominato
SSL/TLS. Tale aggiunta ha dato origine al protocollo FTPS.
Uno dei software che permette il trasferimento dei dati tra client e server utilizzando il
protocollo FTP è Filezilla disponibile sia per client che per server.
INGLESE
Computer Security
Computer security, also know as cybersecurity or IT security, is concerned with taking care
of hardware, software and data.
Loss of data can have several consequences, for example for a business decision or cash
flow probem.
Security of data is critical in almost any industry which uses computers. Currently , most
electronic devices such as computers laptops and cellphones come with built in firewall
security software, but despite this, computers are not 100 percent accurate and safe to
protect our data.
There are many different ways of hacking into computer. It can be done through network
system, clicking onto unknown links, connecting unfamiliar Wi-Fi, downloading software
and files from unsafe sites, electromagnetic radiation waves and many more.
Computer security includes controlling physical access to the hardware, as well as
protecting against harm that may come via network access, data and code injection, and due
to malpractice by operators, whether intentional, accidental, or due deviating from secure
procedures.
The security issue is becoming more and more important in our modern society that totally
relies on computer systems and technology.
A way to keep the data protected is cryptography: it consist of the conversion of
information from a readable state to apparent nonsense.
In this way the originator of an encrypted message, that has shared the decoding technique,
recovers the original information preventing unwanted persons from doing the same.
INFORMATICA
Utilizzo e importanza dei database nel Cloud Computing
Una delle principali risorse, oltre che alle unità di elaborazione, o alle memorie fisiche è
data dai database, che permettono il corretto funzionamento dei cloud.
Essi infatti devo contenere tutti i dati, o file che gli utenti hanno necessità di conservare
online, come per esempio foto, video, ma anche i codici di programmi sviluppati
direttamente sul cloud, come avviene nella tipologia di cloud Paas (Plattform As A Service).
Per questo motivo, tali database devono essere:
sicuri, in quanto devono impedire di essere danneggiati da eventi accidentali o
interventi non autorizzati
integri, deve essere garantito che le operazioni effettuate da utenti autorizzati non
provochino una perdita di consistenza dei dati
consistenti, ovvero i dati devono essere significativi ed effettivamente utilizzabili
nelle applicazioni che ne fanno richiesta
condivisibili, cioè applicazioni e utenti devono poter accedere ai dati comuni
persistenti, in quanto deve avere un tempo di vita non limitato a quello delle singole
esecuzioni dei programmi che lo utilizzano
scalabili, cioè deve mantenere intatte le proprie performance all'aumentare della
quantità di dati. Deve essere inoltre in grado di espandersi con l'aggiunta di nuove
funzionalità
Tali database vengono gestiti dai DBMS (Data Base Managment System) il quale è un
insieme di strumenti software che è in grado di gestire dati strutturati che sono tanti,
importanti, condivisi, sia interrogati che aggiornati. Inoltre è responsabile della generazione
dello schema, della ricerca e dell'aggiornamento dei dati.
Oltre ai DBMS si parla anche di RDBMS (Relation Data Managment System) ovvero un
DBMS basato sullo schema relazionale.
Un esempio di RDBMS è MySql che risulta facilmente utilizzabile in ambienti virtualizzati,
e fornisce supporto in particolare per soluzioni Cloud IaaS.
Ma dato il grosso numero di nodi che i cloud devono gestire, utilizzare un classico RDBMS
risulterebbe essere complicato, per tale motivo, nel corso degli anni, si sono sviluppati i
NRDBMS (No Relation Data Managment System), database non relazionali i quali metodi
di implementazione sono :
Coloumnfamily: i dati sono organizzati in righe e colonne, ma le righe possono
avere quante colonne si vogliono e non c’è bisogno di definire le colonne a priori.
Document store: rispetto ai normali database relazionali invece che immagazzinare
i dati in tabelle con dei campi fissi, questi vengono messi in un documento che può
contenere illimitati campi di illimitata lunghezza, così se ad esempio di una persona
conosciamo solo nome e cognome, ma magari di un’altra persona anche indirizzo,
data di nascita e codice fiscale, si evita che per il primo nominativo ci siano campi
inutilizzati che occupano inutilmente spazio.
Graph: i dati vengono immagazzinati sotto forma di strutture a grafi, rendendo più
performante l’accesso a questi da applicativi orientati agli oggetti.
Key/Value: in questo caso i dati vengono immagazzinati in un elemento che contiene
una chiave assieme ai dati veri e propri, questo metodo è il più semplice da
implementare, ma anche il più inefficiente se la maggior parte delle operazioni
riguardano soltanto una parte di un elemento.
La semplicità di questi database è uno degli elementi fondamentali, e ne permette la
scalabilità in modo efficiente, infatti, molti RDBMS consentono di aggiungere nodi a caldo
in maniera impercettibile dall’utente finale.
ITALIANO
La memoria dal punto di vista letterario: Marcel Proust
Il termine memoria oltre che essere utilizzato nel campo informatico, come visto in
precedenza, per indicare il salvataggio di informazioni sulla memoria del nostro computer o
su una in remoto, indica anche la capacità del cervello di conservare informazioni, ovvero
quella funzione mentale volta all'assimilazione, alla ritenzione e al richiamo, sotto forma di
ricordo, di informazioni apprese durante esperienze di vita o per via sensoriale.
Il concetto di memoria legato a quello del ricordo, e ai sentimenti che ne provoca, viene
affrontato nel campo letterario, in particolare da Marcel Proust, sul quale incentra la sua
poetica.
Proust, nato a Parigi nel 1871 da una famiglia benestante, conduce un'adolescenza
tranquilla, nonostante l'asma cronica che lo tormenterà per tutta la vita, e deciderà di
iscriversi ad uno dei migliori licei della capitale.
Durante gli studi liceali, oltre che coltivare la sua vocazione letteraria, stringerà diverse
amicizie che lo avvicinano ai soliti parigini, dove si confronterà con importanti poeti, e
prenderà spunto per alcune sue opere.
Terminati i brillanti studi liceali intraprende gli studi universitari, conseguendo la laurea in
legge nel 1893, alla quale seguirono gli studi artistici alla Sorbona impartiti da Henri
Bergson, il quale pensiero filosofico condizionerà le sue opere.
Nel 1905 muore, due anni dopo il padre, la madre dello scrittore, un momento che risulta fra
i più dolorosi della sua vita.
Proust lascerà la casa dei genitori per trasferirsi a Boulevard Haussmann dove farà istallare
la una camera interamente rivestita di sughero e isolata da ogni rumore esterno. È all'inizio
del 1907 circa, che avvia la stesura della sua opera più ambiziosa, “Alla ricerca del tempo
perduto”(À la recherche du temps perdu).
Nonostante lo scoppio della prima Guerra Mondiale nel 1914, e la morte di alcune persone
care di Proust, lui continua a lavorare al suo romanzo pubblicando con regolarità i vari
volumi.
Sempre più isolato, Proust sta terminando la revisione definitiva della "Prigioniera", il
quinto volume della sua opera, quando, nell'ottobre del 1922, si ammala di bronchite.
Rifiutando qualsiasi assistenza medica, cerca di resistere agli attacchi della malattia, resi più
violenti e dolorosi dall'asma, e continua la stesura della "Fuggitiva", che riuscirà a portare a
termine, per poi spegnersi 18 novembre 1922.
L'opera è divisa in sette romanzi, intitolati:
I. Dalla parte di Swann (1913)
II. All'ombra delle fanciulle in fiore (1919)
III. I Guermantes (1920)
IV. Sodoma e Gomorra (1921-1922)
V. La prigioniera (1923)
VI. La fuggitiva (1927)
VII. Il tempo ritrovato (1927)
Nella sua opera, la Recherche, Proust spiega quelli che sono i meccanismi secondo i quali si
avvia il recupero della memoria che è alla base della sua narrazione: in primo luogo il
recupero del passato non avviene attraverso la “memoria volontaria”, la quale comporta uno
sforzo di volontà da parte dell'autore e ci dipinge un quadro freddo e asettico, ma attraverso
la “memoria involontaria”, quella che è capace di restituire in modo irrazionale episodi del
passato che si credevano perduti per sempre, facendoli rivivere come fossero presente e
provando quindi le medesime sensazioni.
Per risvegliare e mettere in azione questa memoria, basta lo stimolo di una sensazione
visiva, o olfattiva, come un profumo o un sapore, perché dentro di noi riaffiori un ricordo
che è legato a quella percezione. Ciò che ha il potere di far ritrovare i giorni trascorsi, che la
memoria volontaria non riesce a rievocare, sono quei momenti in cui ad una situazione
attuale viene a sovrapporsi una situazione passata simile, che restituisce all’autore un
frammento di vita trascorsa e fa rivivere “altrettanto fedelmente ciò che noi eravamo allora;
questo frammento di tempo non può essere rivissuto se non dalla nostra sensibilità, dalla
nostra persona di allora”.
Questa concezione è sviluppata in particolar modo nel primo e nell'ultimo volume dell'opera
proustiana (rispettivamente 'Dalla parte di Swann' e 'Il tempo ritrovato'), composte negli
stessi anni .
Nel primo volume, infatti, nel capitolo 'Le intermittenze del cuore', c'è la rievocazione dei
periodi della fanciullezza , che Marcel, il protagonista, ha trascorso a Combray, dove tra
l'altro è entrato in contatto con i duchi di Guermantes, e Swann, un gentiluomo marito di
una cortigiana.
Tutti questi ricordi, vengono rivissuti dal protagonista, solo dopo aver imbevuto nel tè la
madaleine, azione che faceva da piccolo e che, attraverso la memoria volontaria gli ha fatto
rivivere la sua infanzia.
La scrittura di Proust tende ad una cristallina precisione, a fare estrema chiarezza attraverso
uno stile minutamente analitico e essenziale.
La Recherche è quindi un'opera innovatrice, non solo per lo stile impiegato dallo scrittore,
ma anche per la particolare importanza che in essa assume il tema del tempo, e per
l'eccezionale prospettiva soggettiva ed emotiva dell'autore, che attraverso la realtà parigina
dell'alta società francese, fa rivivere nel soggetto gli eventi trascorsi della sua vita.
MATEMATICA
Gli integrali
Integrali indefiniti
L'insieme di tutte le primitive F(x)+c di una funzione f(x), avente per c un numero reale
qualunque, si chiama integrale indefinito della funzione f(x), e si indica con ∫f(x) dx.
Prima proprietà di linearità
L'integrale indefinito di una somma di funzioni è uguale alla somma degli integrali delle
singole funzioni:
∫[f(x)+g(x)]dx = ∫f(x) dx + ∫g(x) dx
Seconda proprietà di linearità
L'integrale del prodotto di una costante per una funzione integrabile è uguale al prodotto
della costante per l'integrale della funzione.
∫k f(x) dx = k ∫f(x) dx
Integrali immediati delle funzioni fondamentali
∫sen x dx = - cos x + c ∫ dx = ln |x| + c
∫cos x dx = sen x + c ∫ dx = tg x + c
∫xa dx = + c ∫ a
x dx = dx = + c
1
x
1
cos x
xa
+1 a+1
ax
ln a
Integrazione per sostituzione
Quando l'integrale non è di risoluzione immediata si può applicare il metodo di sostituzione,
che consiste nell'effettuare un cambiamento di variabile che consenta di riscrivere l'integrale
in una forma che sappiamo risolvere.
In generale, per calcolare ∫f(x) dx con il metodo di sostituzione si pone x = g(t), si
sostituisce nell'integrale e si risolve. Infine si scrive il risultato in funzione di x.
Integrazione per parti
Date due funzioni f(x) e g(x) derivabili, l'integrale del loro prodotto, dove una funzione è
guardabile come derivata, è uguale al prodotto delle funzioni meno il prodotto delle due
funzioni scambiando la funzione derivata.
∫f(x) g'(x)dx = f(x) g(x) - ∫f '(x) g(x) dx
Integrazione di funzioni razionali fratte
Dato l'integrale di funzioni razionali fratte ∫ , dove il numeratore N(x) e il
denominatore D(x) sono dei polinomi, e in cui il grado del numeratore è maggiore di quello
del denominatore, occorre eseguire la divisione del polinomio N(x) per il polinomio D(x),
ottenendo un polinomio quoziente Q(x) e un polinomio resto R(x) di grado minore di quello
di D(x):
∫ = Q(x) +
da cui:
∫[ dx = ∫[Q(x) + ]dx = ∫Q(x) dx + ∫ dx
N(x)
D(x)
N(x)
D(x) R(x)
D(x)
N(x)
D(x)
R(x)
D(x)
R(x)
D(x)
Numeratore derivata del denominatore
L'integrale indefinito di una funzione fratta in cui il numeratore è la derivata del
denominatore è uguale al logaritmo del valore assoluto del denominatore.
∫ dx = ln | f(x) | + c
denominatore di primo grado
Nel caso in cui la frazione algebrica ha il denominatore di primo grado, si risolve nello
stesso modo in cui il numeratore è la derivata del denominatore.
Basta infatti moltiplicare la frazione per e applicare la seconda proprietà di linearità:
∫[ dx = ∫ dx = ln | ax + b | + c
denominatore di secondo grado
Per calcolare l'integrale ∫[ dx , con a ≠ 0, si utilizzano metodi risolutivi
diversi a seconda del segno del discriminante del denominatore Δ = b2
- 4 ac.
Il discriminante è positivo: Δ > 0:
1. si scompone il denominatore: ax2
+bx + c =a(x-x1)(x-x2);
2. si scrive la frazione data come somma di frazioni con denominatore di primo
grado:
= +
3. si calcola la somma delle due frazioni al secondo membro
4. si determinano i valori di A e B risolvendo il sistema le cui equazioni si
ottengono uguagliando fra loro i coefficienti della x e i termini noti
5. si risolve l'integrale ∫[ + ] dx
f '(x)
f (x)
a
a
1
ax + b
1
a
a
ax + b 1
a
pq + q
ax2 + bx + c
pq
ax2 + bx + c
A
a(x - x1)
B
(x -x2)
A
a(x - x1)
B
(x -x2)
Il discriminante è nullo: Δ =0:
1. si scompone il denominatore: ax2 + bx + c = a (x - x1)
2
2. si scrive la frazione data come somma di de funzioni:
= +
3. si calcola la somma delle frazioni al secondo membro
4. si determinano i valori di A e B risolvendo il sistema le cui equazioni si
ottengono uguagliano i coefficienti della x e i termini noti
5. si risolve l'integrale ∫[ + ] dx
Integrali definiti
L'integrale si dice definito quando si individuano i limiti di integrazione. L'intervallo viene
calcolato nell'intervallo [a;b] che deve essere compreso nel campo di esistenza .
a∫ b
f(x) dx = F(b) - F(a)
Integrale della somma di funzioni
Se f(x) e g(x) sono funzioni integrabili su [a;b], allora lo è anche la loro somma f(x) + g(x),
e risulta: a∫
b [f(x) + g(x)] dx = a∫
b f(x) dx + a∫
b g(x) dx
Integrale del prodotto di una costante per una funzione
Se f(x) è una funzione integrabile su [a;b]. allora lo è anche la funzione k · f(x), con k Є R, e
risulta:
pq
ax2 + bx + c
A
a(x - x1)
B
(x -x2)
A
a(x - x1)
B
(x -x2)
a∫ b
k · f(x) dx = k · a∫ b
f(x) dx
Integrale di una funzione costante
Se una funzione f(x) è costante nell'intervallo [a;b]. cioè f(x) = k, allora l'integrale da a a n
della f(x) è uguale al prodotto di k per (b – a):
a∫ b
k dx = k (b – a)
Teorema della media
Se f(x) è una funzione continua in un intervallo [a;b], esiste almeno un punto z
dell'intervallo tale che :
a∫ b
f(x) dx = (b – a) · f(z)
con z Є [a;b]
Valore medio di una funzione
Il teorema della media afferma l'esistenza del punto z, ma non fornisce indicazioni su come
calcolarlo. Tuttavia è possibile ricavare f(z) dall'uguaglianza a∫ b
f(x) dx = (b – a) · f(z)
dividendo entrambi i membri per b – a e scrivendo l'uguaglianza da sinistra a destra :
f(z)= · a∫ b
f(x) dx
Il valore f(z) definito valore medio della funzione f(x).
1
ax + b