Sommario:
Video: Making a Custom GLOWING iPhone Logo - in Shenzhen, China 2024
Quando hai bisogno di scritture incredibilmente veloci, è richiesto lo storage flash (al contrario di chiamare Flash Gordon). Ciò comporta il costo dell'utilizzo dello spazio RAM, ovviamente. Scrivere in RAM ti porterà, beh, fino alla dimensione della tua RAM. Quindi avere un'opzione di archiviazione ad altissima velocità immediatamente dietro la RAM del tuo server è una buona idea.
In questo modo, quando viene eseguita un'operazione di controllo per scaricare i dati su disco, cancella lo spazio nella RAM il più rapidamente possibile.
Spendere denaro per la velocità
Il flash è costoso, molto più del tradizionale disco rotante e della RAM. È possibile fare a meno del flash utilizzando gli array di dischi rotanti RAID 10, ma in questo modo si otterrà solo così lontano.
Un approccio logico è guardare quanto velocemente i flussi di dati nel vostro database. Forse fornire il 100% delle dimensioni dei dati del tuo negozio per un disco rotante, il 10% per il flash e l'1% per la RAM. Queste cifre variano in base al profilo di accesso ai dati dell'applicazione e alla frequenza con cui si accede agli stessi dati.
Naturalmente, se ti trovi in un settore in cui i dati invecchiano rapidamente e devi assolutamente garantire la velocità di scrittura, allora una costosa infrastruttura all-flash potrebbe fare al caso tuo.
Per darti un'idea della possibile scala ottenibile in un archivio di valori-chiave che supporta il flash nativo, Aerospike afferma che, con flash nativo per dati e RAM per indici, 99. 9 percento di letture e scritture sono completate all'interno di uno millisecondo.
Context computing
Aerospike sposa un concetto chiamato context - computing consapevole . Il calcolo basato sul contesto è il punto in cui si ha una finestra temporale molto breve per rispondere a una richiesta e la risposta corretta è dettata da alcune proprietà dell'utente, come l'età oi prodotti acquistati. Queste proprietà potrebbero includere:
-
Identità: ID sessione, cookie, indirizzi IP
-
Attributi: Comportamento demografico o geografico
-
: Presenza (scorrimento, ricerca, condivisione), canali (web, telefono), servizi (frequenza, sofisticazione)
-
Segmenti: Atteggiamenti, valori, stile di vita, cronologia
-
Transazioni: Pagamenti, campagne
L'idea generale è di estrarre i dati da una transazione sistema per determinare il più appropriato o la raccomandazione per un cliente in base a vari fattori. È possibile farlo utilizzando una mappa Hadoop / ridurre il lavoro, ad esempio, su un database relazionale Oracle transazionale.
Le uscite vengono quindi memorizzate in Aerospike in modo tale che quando un determinato cliente arriva sul tuo sito web e hanno una combinazione del precedente elenco di fattori (modellato come una chiave composta), l'appropriato o la raccomandazione viene immediatamente data al cliente.
Valutazione di Aerospike
Aerospike è il re del supporto flash. Anziché utilizzare il supporto del file system del sistema operativo su Flash, come fanno altri database (ovvero, trattano fondamentalmente un disco flash come qualsiasi altro disco rigido), Aerospike accede in modo nativo al flash.
Questo comportamento fornisce ad Aerospike il massimo throughput, poiché non deve attendere il completamento delle chiamate alle funzioni del sistema operativo; accede semplicemente direttamente ai blocchi flash grezzi. Inoltre, Aerospike può trarre vantaggio dagli attributi fisici della memoria flash al fine di ottenere un ultimo livello di prestazioni.
Aerospike in fase iniziale sorpassa Riak in grandi aziende e casi d'uso mission-critical, però. Ha impresa - livello funzionalità carenti in altri database, tra cui:
-
Consistenza ACID completa: Assicura che i dati siano sicuri e coerenti.
-
Cluster Shared-Nothing: Ha una replica sincrona per mantenere i dati coerenti.
-
Ribilanciamento automatico: sposta automaticamente alcuni dati su nuovi nodi, uniforma i tempi di lettura e consente di ridimensionare e ridimensionare in un cluster.
-
Supporto per UDF e Hadoop: Le funzioni definite dall'utente possono essere eseguite accanto ai dati per le query di aggregazione e Hadoop Map / Reduce è supportato per requisiti più complessi.
-
Indici secondari: Aggiunge indici su campi valore dati per query veloci.
-
Tipi di dati di grandi dimensioni: Supporta tipi di dati personalizzati e di grandi dimensioni; consente modelli di dati complessi e casi d'uso.
-
Flusso automatico del livello di archiviazione nelle scritture: Scarica la RAM dalla memoria flash (SSD) e dal disco quando lo spazio sul livello più veloce è quasi esaurito.
Indipendentemente dal fatto che tu abbia bisogno o meno del supporto flash veloce, queste altre funzionalità dovrebbero interessare davvero le persone con casi d'uso mission-critical. Se stai valutando Riak per un sistema mission-critical, sicuramente valuta anche Aerospike.