Entrare in DevOps
_Iniziare con AWS
_Amazon VPC (nuvola privata virtuale)
VPC è un Virtual Private Cloud e ti consente di eseguire il provisioning di una
sezione logicamente isolata del cloud AWS in cui puoi avviare le risorse AWS in una rete virtuale definita da te.
Ti consente di selezionare il tuo intervallo di indirizzi IP, la creazione di sottoreti e altro.
VPC ci consente di limitare l'intervallo di IP consentito nella rete e ci consente di controllare quale traffico/pacchetti in entrata deve essere consentito e quale deve essere bloccato.
In un certo senso possiamo personalizzare il cloud privato secondo i requisiti e
possiamo imporre restrizioni al cloud virtuale in base ai requisiti.
VPC consente di creare una sezione logicamente separata del cloud AWS in cui è possibile avviare varie risorse in base ai requisiti nella rete virtuale fornita dal cloud.
VPC non è altro che un data center virtuale nel cloud.
Qui possiamo creare le nostre regole di rete per controllare il traffico.
_Database in AWS
Il database è fondamentalmente una raccolta strutturata e organizzata di dati o qualsiasi tipo di informazione. Qui i dati possono essere facilmente accessibili, gestiti e aggiornati secondo le esigenze dell'utente.
La ricerca dei dati, il recupero dei dati e altre operazioni di elaborazione dei dati vengono eseguite molto facilmente nel database.
Esistono due tipi di database:
- Database relazionale
- Database non relazionale
Il Database Relazionale si chiama RDS (Relational Database Service) I dati memorizzati in RDS sono in formato Row-Column cioè TABULAR.
Ogni tabella nel database relazionale ha una colonna in cui è scritto il titolo univoco che viene definito come chiave primaria e questa chiave può essere nuovamente riutilizzata come chiave esterna quando le relazioni devono essere definite tra più tabelle.
Possiamo interagire con il database relazionale utilizzando l'SQL ovvero lo Structured Query Language. Facendo uso di questo linguaggio di query strutturato possiamo eseguire le varie operazioni che sono operazioni CRUD, ovvero creare, leggere, aggiornare, eliminare.
Nella tabella CUSTOMER, abbiamo più colonne e ogni colonna contiene alcuni dati univoci che sono le chiavi primarie e queste possono essere utilizzate come chiavi esterne quando necessario.
_Vantaggi dei database relazionali
- Precisione dei dati
- Normalizzazione
- Conformità ACIDO
- SQL Server di Microsoft
- Oracolo
- Server MySQL
- PostgreSQL
- Aurora Amazzonica
- MariaDB
Due caratteristiche chiave RDS
- Distribuzioni Multi-AZ (zone di disponibilità).
- Leggi le repliche
I database non relazionali sono fondamentalmente database No-SQL che non memorizzano i dati in formato righe e colonne come il tradizionale database relazionale.
Memorizza i dati nei documenti o nel tipo di formato dei file JSON. Quindi lo rende più flessibile rispetto al tradizionale database relazionale.
_Vantaggi dei database non relazionali
- Flessibilità
- adeguatezza
- Precisione dei dati
- Facile accesso ai dati
- Sicurezza
- Integrità dei dati
- DynamoDB
- MongoDB
- Apache HBase
- Redis
(Elaborazione di analisi online)
_OLTP
OLTP supporta principalmente le applicazioni orientate alle transazioni. L'obiettivo primario è l'elaborazione dei dati.
per esempio
- Banca online
- bancomat
- Invio di un messaggio di testo
OLAP consiste in uno strumento utilizzato per l'analisi dei dati. I sistemi OLAP sono l'esempio del Data Warehousing. OLAP è caratterizzato da un grande volume di dati.
Archiviazione dati
Un data warehouse è fondamentalmente un'integrazione di dati provenienti da più fonti eterogenee. Il data warehousing include anche la pulizia dei dati, l'integrazione dei dati e il consolidamento dei dati.
per esempio
- Sistema di consigli sui film Netflix.
_Cos'è Cache?
- Una cache è un componente software o hardware finalizzato alla memorizzazione dei dati in modo che le richieste future per gli stessi dati possano essere servite più velocemente.
- La memorizzazione nella cache è un meccanismo per migliorare le prestazioni di qualsiasi tipo di applicazione.
Tecnicamente, la memorizzazione nella cache è il processo di archiviazione e accesso ai dati da una cache.
È un servizio web che semplifica il funzionamento. Il servizio migliora le prestazioni delle applicazioni Web consentendo di recuperare informazioni da cache in memoria veloci invece di affidarsi interamente a database basati su disco più lenti.
ElastiCache supporta due motori di caching in memoria open source
- Memcached
- Redis
È un database che mantiene l'intero database nella RAM.
Ogni volta che si interroga un database o si aggiorna la data in un database, si accede solo alla memoria principale.
Non vi è alcun coinvolgimento del disco nell'operazione.
Esempi di tali database sono Redis e Memcached.
_Redis e Memcached
Redis e Memcached sono entrambi sistemi di archiviazione dati in memoria.
Entrambi possono aiutare a velocizzare la tua applicazione memorizzando nella cache i risultati del database, i frammenti HTML o qualsiasi altra cosa che potrebbe essere costosa da generare.
Redis è un archivio chiave-valore open source, che supporta operazioni su vari tipi di dati tra cui stringhe, tabelle hash, elenchi collegati.
Memcached è semplicemente un server cache volatile che fornisce servizi di cache di memoria distribuita ad alte prestazioni.
_Confronto efficienza utilizzo memoria
In memcached all'inserimento di elementi, il demone cresce rapidamente fino a raggiungere una dimensione leggermente superiore a quella specificata.
Quindi, non c'è mai davvero un modo per recuperare lo spazio specificato per l'inserimento degli elementi, a meno di riavviare memcached.
In Redis, l'impostazione di una dimensione massima dipende da noi, non utilizzerà mai più di quella che ha e ti restituirà la memoria che non è più in uso.
_Confronto delle prestazioni
Redis utilizza solo core singoli mentre memcached utilizza più core.
Quindi, in media, Redis vanta prestazioni più elevate rispetto a memcached nell'archiviazione di dati di piccole dimensioni se misurata in termini di core.
_Amazon DynamoDB Accelerator (DAX)
Amazon DynamoDB Accelerator (DAX) è una cache in memoria completamente gestita e altamente disponibile per Amazon DynamoDB che offre un miglioramento delle prestazioni fino a 10 volte, da millisecondi a microsecondi, anche a milioni di richieste al secondo.
L'acceleratore DynamoDB è un nuovo modo per ottenere prestazioni migliori. È ideale per applicazioni di lettura ad alte prestazioni.
È ideale per applicazioni di trading e social gaming in cui è previsto il tempo di risposta più rapido possibile.
Se questo post è stato utile, segui e fai clic sul pulsante clap qui sotto per mostrare il tuo supporto
_ Grazie per aver letto
_Rajani ✨

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































