Amazon S3 è un servizio di archiviazione di oggetti che offre scalabilità, disponibilità dei dati, sicurezza e prestazioni. S3 è il componente principale del tuo lago dati e la creazione di secchi con la giusta strategia e proprietà può aiutarti a consumare i dati dal Information Lake in modo efficiente e sicuro.
L’articolo ti guiderà attraverso le strategie del secchio durante la creazione di un Information Lake e discutere altre cose da tenere a mente.
1. Scegliere la configurazione del secchio giusto
Passaggio 1
Scegli la regione corretta per ottimizzare la latenza, ridurre al minimo i costi o affrontare i requisiti normativi.
Passaggio 2
Scegli più Secchi S3 – In quanto story, non vi è alcuna differenza tra avere un secchio S3 multiplo o singolo. Tuttavia, più secchi S3 possono avere various configurazioni del ciclo di vita, versioni, politiche di accesso, ecc.
A causa dei fattori di cui sopra, le organizzazioni preferiscono avere secchi diversi: uno per la memorizzazione di dati grezzi in cui è acceso (potenzialmente la regione incrociata) e le politiche di accesso sono più restrittive.
Il secondo bucket contiene la politica del ciclo di vita, l’etichettatura a livello di applicazione, i pagamenti delle richieste e la crittografia a riposo. Se i dati sono PII, potresti voler avere un accesso più restrittivo a un livello diverso; Pertanto, avere più secchi avrebbe più senso.
2. S3 Stiri di dati consigliati
La raccomandazione è di utilizzare almeno tre livelli di dati nei laghi di dati e ogni livello utilizza un secchio S3 separato. Tuttavia, alcuni casi d’uso potrebbero richiedere un secchio S3 e un livello di dati aggiuntivi, a seconda dei tipi di dati che generano e archiviano.
Advert esempio, se si archiviano dati sensibili, si consiglia di utilizzare un livello di dati della zona di atterraggio e un secchio S3 separato. Il seguente elenco descrive i tre livelli di dati consigliati per i dati del lago:
- Livello di dati grezzi: Contiene dati grezzi ed è il livello in cui i dati vengono inizialmente ingeriti. Se possibile, ti consigliamo di conservare il formato di file originale e attivare la versione nel secchio S3.
- Livello di dati in fase: Contiene dati intermedi e elaborati che sono ottimizzati per il consumo (advert esempio, CSV a Apache Parquet convertiti file RAW o trasformazioni di dati). Un lavoro di colla AWS legge i file dal livello grezzo e convalida i dati. Il lavoro di colla AWS memorizza quindi i dati in un file di formattazione del parquet di Apache e i metadati vengono archiviati in una tabella nel catalogo dei dati di colla AWS.
- Livello dati di analisi o livello elaborato: Contiene i dati aggregati per i casi d’uso specifici in un formato pronto per il consumo (advert esempio, Apache Parquet).
3. Convenzioni di denominazione del secchio S3
Prefissi
I prefissi devono essere progettati con molta attenzione per la sicurezza richiesta, la separazione dei dati e le prestazioni di lettura e scrittura su S3. Più prefissi, migliore è la efficiency di lettura e scrittura.
Naming del set di dati
Nei casi in cui ci sono 1000 di set di dati diversi, generalmente derivati dalle tabelle SQL, consigliamo l’uso dello spazio prefisso/nomi, che aiuta a creare raggruppamenti di dati allineati con l’azienda a cui appartengono tali dati.
Advert esempio, nel caso di un database che ha 100 tabelle, un modo per nominare i set di dati che appartengono a quei 100 anni, è come: data-lake.supply-chain.orders
, Table_A
e così through. In un secondo momento, tali set di dati possono essere facilmente correlati usando il loro spazio dei nomi (prefisso).
Raccomandazione
Favora uno schema di secchi con uno scopo molto specifico per semplificare il controllo dell’accesso pur rimanendo entro il limite duro di 1000 per conto di account.
Vedi l’immagine sopra e prova a formare il secchio con una struttura simile, seguendo le regole seguenti.
- Elementi di denominazione del secchio, a partire da variabili di cardinalità più basse
- Stabilire un prefisso costante per aumentare il nome del secchio unicità
- Information Lake Zone (3 possibili valori: RAW, raffinato, consumo)
- Linea di enterprise
- Classificazione dei dati (4 valori diversi come pubblico, interno, limitato, riservato)
- Ambiente (4 valori diversi come Dev, Check, Prod, Discovery)
- Suffisso della regione AWS, usato per evitare i conflitti di nomi di secchi replicati
Il seguente diagramma mostra la struttura di denominazione consigliata per i secchi S3 nei tre livelli di dati consigliati, tra cui la separazione di più unità aziendali, formati di file e partizioni.
È possibile adattare le partizioni dei dati in base ai requisiti della tua organizzazione, ma è necessario utilizzare coppie di valore minuscolo e chiave (advert esempio, 12 months=yyyy
non yyyy
) in modo da poter aggiornare il catalogo con il MSCK REPAIR TABLE
comando.
4. Versioning
La versione di oggetto è anche una caratteristica importante da considerare. Dovresti attivare la versione per i secchi S3 del tuo livello grezzo, perché vuoi assicurarti di poter vedere le versioni precedenti se ci sono modifiche ai dati. Tuttavia, il versioning potrebbe non essere necessario per tutti i livelli nel tuo lago dati e trattenere più versioni può causare costi non necessari.
5. Tag
I tag S3 sono una caratteristica molto importante e dovrebbe essere abilitata. Un esempio può essere per l’allocazione dei costi. Un tag di allocazione dei costi è una coppia di valore chiave che associe a un secchio S3. Dopo aver attivato i tag di allocazione dei costi, AWS utilizza i tag per organizzare i costi delle risorse sul rapporto di allocazione dei costi. I tag di allocazione dei costi possono essere utilizzati solo per etichettare i secchi.
6. Crittografia
I dati in S3 devono essere protetti e puoi limitare ulteriormente il suo accesso utilizzando la crittografia. Esistono diversi modi per crittografare i dati in S3.
- • Crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)
- • Crittografia lato server con chiavi KMS archiviate nel servizio di gestione delle chiavi AWS (SSE-KMS)
- • Crittografia lato server con chiavi fornite dal cliente (SSE-C)
7. S3 Configurazione del ciclo di vita
Per gestire gli oggetti S3 durante il loro ciclo di vita, S3 offre un’opzione di configurazione del ciclo di vita. Advert esempio, è possibile spostare gli oggetti creati 180 giorni fa da S3 Normal Storage all’accesso S3 IA, offrendo la stessa disponibilità e durata della memoria normal S3.
Sulla base del requisito e della classificazione dei dati, dopo 180 giorni, è possibile spostare i dati su Ghiacciaioche ti consentirà di archiviare i dati a basso costo. Tuttavia, con Glacier, non sarai in grado di recuperare immediatamente i dati. Dopo un certo periodo di tempo, se i dati non sono richiesti, è possibile eliminare anche i dati.
8. Considerazioni sulle prestazioni
Se elabora regolarmente migliaia di richieste S3 al secondo, potrebbe essere necessario considerare diversi approcci per raggiungere tassi di richiesta più elevati e prestazioni migliori.
Conclusione
In conclusione, l’implementazione delle strategie di cui sopra può raggiungere un’architettura di secchi S3 robusta ed efficiente, garantendo la scalabilità e l’ottimizzazione senza soluzione di continuità per le applicazioni advert alta intensità di I/O. Questo approccio migliora le prestazioni e garantisce il costo-efficacia, la sicurezza e l’affidabilità.
Con la corretta configurazione e le migliori pratiche, l’architettura può gestire carichi di lavoro dinamici mantenendo l’alta disponibilità e durata. In definitiva, questo stabilisce le basi per una soluzione di archiviazione resistente e resistente al futuro.