Video: Como dimensionar disjuntor geral para residência? 2024
Una caratteristica comune dei sistemi NoSQL è la loro capacità di scalare su molti server commodity. Queste piattaforme relativamente economiche ti consentono di scalare i database aggiungendo un nuovo server piuttosto che sostituire il vecchio hardware con un nuovo hardware più potente in una singola operazione.
Ci sono casi d'uso in volumi elevati che ti costringono a scalare rapidamente. Questi includono
-
Ricevi rapporti sullo stato e messaggi di registro da un panorama IT. Questo scenario richiede tempi di inserimento rapidi, ma probabilmente non richiede un supporto avanzato per l'analisi.
-
Si desidera la memorizzazione nella cache ad alta velocità per query complesse. Forse vuoi ottenere le ultime notizie su un sito web. Qui, leggere le cache prendere il sopravvento su query o ingest velocità.
L'unica cosa comune alle prestazioni di tutti i database NoSQL è che non è possibile fare affidamento sui dati pubblicati - nessuno dei quali - per capire quale sia la probabilità che si ripresenti nei dati, per il proprio caso d'uso.
Di certo non si può fare affidamento sulla promessa di un particolare fornitore di database sulle prestazioni! Molti venditori citano alte velocità di acquisizione rispetto a un caso d'uso artificiale che non è un uso realistico del loro database, come prova della supremazia del loro database.
Tuttavia, il problema è che questi stessi studi possono ignorare completamente la velocità della query. A che serve archiviare i dati se non li usi mai?
Questi studi possono anche essere effettuati su sistemi in cui le funzioni chiave sono disabilitate. Gli indici di sicurezza potrebbero non essere abilitati, o forse il supporto per le transazioni ACID è disattivato durante lo studio in modo che i dati vengano archiviati rapidamente, ma non è garantito che sia sicuro.
Tutto ciò significa che è necessario eseguire i propri test, il che è abbastanza semplice, ma assicurarsi che il test sia il più vicino possibile al sistema finale. Ad esempio, non ha senso testare un singolo server se si prevede di scalare fino a 20 server. In particolare, assicurati di avere un mix accurato di dati di ingestione, modifica e interrogazione.
Considera di rivolgere al tuo fornitore NoSQL queste domande:
-
Puoi assicurarti che tutte le cifre relative al dimensionamento e alle prestazioni siano riferite ai sistemi che assicurano transazioni ACID durante l'ingest che supportano l'indicizzazione in tempo reale e che includono un mix realistico di ingest e read / richieste di query?
-
Il prodotto fornisce funzionalità che consentono di aumentare facilmente la capacità di un server?
-
Il prodotto fornisce funzionalità che consentono di rimuovere facilmente la capacità del server inutilizzata?
-
La velocità di query dei dati del tuo prodotto è limitata dalla quantità di informazioni che devono essere memorizzate nella RAM?
-
Il tuo prodotto utilizza una strategia di mappa di memoria che richiede che tutti gli indici siano conservati nella RAM per prestazioni adeguate (la memoria mappata significa che la quantità massima di dati archiviati è uguale alla quantità di RAM fisica installata)?
-
Il tuo database può mantenere tempi di risposta alle query inferiori al secondo durante la ricezione di aggiornamenti ad alta frequenza?
-
Il sistema garantisce che non siano necessari tempi di inattività per aggiungere o rimuovere la capacità del server?
-
Il sistema garantisce che le informazioni siano immediatamente disponibili per la query dopo essere state aggiunte al database?
-
Il sistema garantisce che la sicurezza dei dati venga mantenuta senza influire negativamente sulla velocità delle query?
-
Il sistema garantisce che le funzionalità di scalabilità e scalabilità del database siano configurabili tramite script e che vengano integrate nel software di provisioning del server scelto (ad esempio, VMWare e Amazon Cloud Formation)?