Couchbase Website
  • Prodotti
        • Piattaforma

          • Couchbase CapellaDatabase-as-a-Service
        • Autogestito

          • Server CouchbaseOn-premise, multicloud, comunità
        • Servizi

          • Servizi AI Sviluppo di agenti abilitati all'intelligenza artificiale e
            dispiegamento
          • Ricerca Testo completo, ibrido, geospaziale, vettoriale
          • MobileNoSQL incorporato, sincronizzazione dal cloud all'edge, offline-first
          • Analitica colonnareAnalisi in tempo reale e da più fonti
        • Capacità

          • Architettura in-memoryVelocità, scala, disponibilità
          • Costruire applicazioni flessibiliJSON, SQL++, multiuso
          • Automazione in-the-cloudOperatore Kubernetes
          • Strumenti di sviluppoSDK, integrazioni, Capella iQ
          • Server Edge CouchbasePer ambienti con risorse limitate
        • Perché Couchbase?

          Sviluppatori e aziende scelgono Couchbase per le loro applicazioni mission-critical.

          Vedere perché

          Migrare a Capella

          I motivi principali per passare da Server Enterprise Edition a Couchbase Capella

          Vedere perché
  • Soluzioni
        • Per caso d'uso

          • Intelligenza artificiale
          • Caching e gestione delle sessioni
          • Catalogo prodotti adattivo
          • Personalizzazione e profili intelligenti
          • Servizi di campo adattivi
          • Analisi in tempo reale per l'intelligenza artificiale
          • Vedi tutti i casi d'uso
        • Per industria

          • Servizi finanziari
          • Gioco
          • Alta tecnologia
          • Intrattenimento
          • Vendita al dettaglio
          • Viaggi e ospitalità
          • Vedi tutti i settori
        • Per necessità di applicazione

          • Prestazioni dell'applicazione
          • Carichi di lavoro distribuiti
          • Flessibilità dell'applicazione
          • Mobile, IoT e Edge
          • Produttività degli sviluppatori
          • Costo elevato delle operazioni
          • Vedi tutte le esigenze applicative
  • Risorse
        • Documenti più diffusi

          • Panoramica di Capella
          • Panoramica del server
          • Panoramica dei dispositivi mobili e periferici
          • Collegare le applicazioni (SDK)
          • Tutorial e campioni
          • Documenti Home
        • Per ruolo dello sviluppatore

          • Sviluppatore AI
          • Backend
          • Full Stack
          • Mobile
          • Ops / DBA
          • Sviluppatori Home
        • Avvio rapido

          • Blog
          • Webcast ed eventi
          • Video e presentazioni
          • Libri bianchi
          • Formazione e certificazione
          • Forum
        • Centro risorse

          Visualizzate tutte le risorse di Couchbase in un unico posto conveniente

          Guarda qui
  • Azienda
        • Circa

          • Chi siamo
          • Leadership
          • Clienti
          • Investitori
          • Blog
          • Sala stampa
          • Carriera
        • Partenariati

          • Trova un partner
          • Diventare partner
          • Registrare un affare
        • I nostri servizi

          • Servizi professionali
          • Supporto alle imprese
        • Partner: Registra un affare

          Siete pronti a registrare un accordo con Couchbase?

          Comunicateci i dati del vostro partner e altre informazioni sul candidato che state registrando.

          Inizia qui
          Marriott

          Marriott ha scelto Couchbase rispetto a MongoDB e Cassandra per l'affidabilità dell'esperienza personalizzata dei clienti.

          Per saperne di più
  • Prezzi
  • Prova gratuita
  • Accedi
  • Italian
    • English
    • Japanese
    • German
    • French
    • Portuguese
    • Spanish
    • Korean
  • search
Couchbase Website

Che cos'è lo sharding del database?

Scoprite tutto sullo sharding e su come il servizio di database cloud NoSQL di Couchbase può aiutarvi.

  • Prova gratuita
  • Confronta i database

Panoramica sullo sharding del database

Questa pagina copre:

  • Come funziona lo sharding del database
  • Vantaggi dello sharding
  • Svantaggi dello sharding
  • Tipi di sharding
  • Alternative allo sharding del database
  • Come Couchbase Capella™ aiuta con lo sharding dei database
  • Conclusione

Lo sharding dei database è uno strumento potente per ottimizzare le prestazioni e la scalabilità di un database. Consente un accesso più rapido ai dati e permette a un database di gestire carichi di lavoro maggiori distribuendo i dati e la potenza di elaborazione su più server. Poiché i database NoSQL sono stati progettati pensando all'elaborazione distribuita e allo sharding automatico, sono spesso i database più associati allo sharding. Tuttavia, con uno sforzo sufficiente, lo sharding può essere realizzato con qualsiasi tecnologia di database.

Come funziona lo sharding dei database?

Lo sharding dei database divide l'intero set di dati in più gruppi, detti shard. Una volta diviso, ogni shard può essere archiviato in modo indipendente, di solito su più server, spesso definiti cluster. Ogni shard è accessibile in modo indipendente, il che significa che è possibile accedere ai dati più velocemente e che sono disponibili più risorse per l'elaborazione, il calcolo e l'archiviazione.


Il vostro browser non supporta il tag video.

Dove avviene lo sharding?

Se un database dispone di funzioni di sharding integrate, il team di sviluppo richiede meno lavoro per realizzare lo sharding. Se lo sharding è una funzionalità opzionale o richiede una configurazione, è necessario pianificare con attenzione, ma non dovrebbe richiedere modifiche o aggiunte significative alla base di codice. Se il database sottostante non è in grado di eseguire lo sharding (come nel caso di molti database relazionali), potrebbe essere necessario apportare modifiche importanti alla base di codice e gli sviluppatori dovranno integrare lo sharding nel livello di persistenza dell'applicazione.

È necessario suddividere i dati?

La scelta di utilizzare o meno lo sharding dipende da molti fattori. Questi fattori includono le dimensioni del dataset, il numero di utenti del sistema, il numero di operazioni eseguite e i vincoli dell'infrastruttura.

Se l'applicazione subisce un calo notevole delle prestazioni a causa dell'aumento degli utenti o delle operazioni, lo scaling orizzontale (che spesso utilizza lo sharding) è un modo per aumentare le risorse di calcolo disponibili per il database. Ma le scarse prestazioni possono anche indicare un codice non ottimale, la mancanza di indici adeguati, la necessità di modificare la modellazione dei dati o altri problemi. Lo sharding non dovrebbe essere sempre la prima scelta per migliorare le prestazioni, ma per alcune tecnologie di database può essere un mezzo a basso attrito per raggiungere gli obiettivi di performance.

Vantaggi dello sharding

  • Prestazioni più veloci: Ci sono più server disponibili per gestire l'input e l'output.
  • Scalabilità orizzontale: È possibile aggiungere rapidamente altri server a un cluster.
  • Costi: Lo scaling orizzontale può spesso essere meno costoso dello scaling verticale (cioè l'aggiornamento di un server a un altro più potente).
  • Distribuzione/tempo di attività: Un database distribuito scalato orizzontalmente può ottenere un uptime migliore rispetto a un tradizionale server singolo

Svantaggi dello sharding

  • Complessità: A seconda del sistema di database, la complessità dello sharding può variare. Alcuni database sono progettati con distribuzione, scala orizzontale e sharding inclusi. Altri richiedono un approccio più pratico e fai-da-te.
  • Riequilibrio: Quando si aggiungono altre macchine a un cluster, è probabile che gli shard debbano essere riequilibrati per distribuire i dati in modo uniforme (ad esempio, se si hanno 1.000 documenti distribuiti in modo uniforme su tre shard, sono circa 333 documenti per shard. Se si aggiunge un quarto shard, la distribuzione sarebbe pari a 250 documenti per shard). Se un database non dispone di funzioni di sharding integrate, il ribilanciamento sarà sicuramente un processo manuale e complesso.

Tipi di sharding

Esistono diversi approcci allo sharding. Alcuni sistemi di database dispongono di funzionalità di sharding integrate, mentre altri non supportano direttamente lo sharding (e richiedono molti processi di codifica personalizzati o fai-da-te). L'obiettivo di ogni approccio è quello di dividere i dati in shard in modo coerente, in modo che i dati possano essere consultati o scritti ogni volta sullo stesso shard.

Sharding basato sull'intervallo

Lo sharding basato sugli intervalli prevede la selezione dei valori dei dati e la loro assegnazione a uno shard in base al fatto che rientrino o meno in un intervallo specifico. Ad esempio, se i dati degli utenti contengono l'età, uno shard può memorizzare gli utenti di età compresa tra 0 e 10 anni, un altro shard può memorizzare gli utenti di età compresa tra 11 e 20 anni e così via.

Questo approccio può essere problematico perché uno shard potrebbe finire per memorizzare molti più utenti dell'altro. Inoltre, gli shard che memorizzano una quantità sproporzionata di dati possono diventare punti caldi che incidono sulle prestazioni.

Sharding basato su chiavi

Lo sharding basato su chiavi ha un approccio più indipendente. Un valore nei dati (di solito l'ID del documento in un database documentale NoSQL) viene passato attraverso un hash, che determina in quale shard devono essere archiviati i dati.

Questo approccio può essere problematico se non è supportato direttamente dal database, perché qualsiasi applicazione che acceda al database deve essere in grado di costruire l'hash. Inoltre, questo approccio richiede che il valore dei dati utilizzato per l'hash sia immutabile. Di solito non è un problema, ma può esserlo per rari casi limite.

Couchbase utilizza sharding automatico basato su chiavi per distribuire i dati in modo uniforme in un cluster, oltre a fornire il ribilanciamento automatico e la replica automatica. Queste automazioni possono semplificare i processi critici e liberare tempo prezioso per il team di sviluppo.

Sharding basato su directory

Lo sharding basato su directory è un approccio in cui alcuni valori dei dati sono mappati su un particolare shard in base al loro valore in una tabella di ricerca o in una configurazione di ricerca. È simile all'approccio a range, ma può comportare una semplice ricerca. Ad esempio, un utente con un indirizzo in Ohio verrebbe memorizzato nello shard "Ohio", un utente in California andrebbe nello shard "California" e così via.

Questo approccio può essere problematico perché una tabella di ricerca o una configurazione può diventare non disponibile, andare in tilt o essere danneggiata. In questi casi, l'applicazione non può più eseguire letture o scritture.

Geo sharding

Un geo shard può essere combinato o utilizzato al posto delle altre opzioni di sharding. L'idea alla base del geo sharding è quella di memorizzare i dati fisicamente più vicini al luogo in cui si accede più spesso. Ad esempio, un utente con un indirizzo dell'Ohio verrebbe memorizzato su un server dell'Ohio, mentre un utente con un indirizzo della California verrebbe memorizzato su un server della California.

Questo approccio può fornire un accesso più rapido, ma può anche portare a hotspot e server sottoutilizzati. Il geo sharding può anche non soddisfare i requisiti legali per applicazioni o giurisdizioni specifiche.

Oltre a fornire lo sharding automatico, Couchbase può supportare il geo sharding attraverso replica trasversale dei centri dati (XDCR).

Sharding basato su entità

Lo sharding basato sulle entità significa che dati separati, ma strettamente correlati, vengono archiviati insieme nello stesso shard. Ad esempio, un utente può essere considerato un'entità all'interno della logica di un'applicazione, ma la sua cronologia degli acquisti può essere archiviata separatamente in uno shard diverso. Archiviando i dati correlati nello stesso shard, è possibile ridurre la quantità di lavoro di calcolo necessario per recuperarli insieme nello stesso momento.

Lo svantaggio di questo approccio è la complessità. Configurare quali dati vanno dove può essere un processo complesso, soprattutto se alcuni dati sono utilizzati da più entità.

Alternative allo sharding del database

Il ridimensionamento orizzontale comporterà sempre lo sharding a un certo livello, ma esistono molte opzioni per come di sharding. Un modo è lo sharding architetturale, come un'architettura a microservizi o uno sharding su disco fisico che è opaco per l'utente. Lo sharding può anche essere nascosto e astratto dietro un database cloud.

Quando si prende in considerazione un sistema di database, è fondamentale capire come verrà realizzato lo sharding. Può essere completamente astratto e nascosto, può essere automatico, può essere supportato con opzioni di configurazione potenzialmente complesse o può non essere supportato e richiedere un approccio fai-da-te.

Come Couchbase Capella aiuta con lo sharding del database

Couchbase Capella è la piattaforma di database cloud per le imprese digitali.

Capella utilizza lo stesso sistema di sharding di Couchbase Server, ovvero lo sharding automatico basato su chiavi. Dal punto di vista dell'utente o dello sviluppatore, lo sharding con Couchbase non richiede alcuna configurazione o manutenzione aggiuntiva. Utilizzando un algoritmo CRC32 insieme a vBucket, Capella garantisce che il sistema non presenti hotspot.

Capella automatizza la replica. È sufficiente selezionare il numero di repliche desiderate e Capella si occuperà del resto.

Capella automatizza anche il ribilanciamento. Quando si aggiungono server o li si rimuove da un cluster, Capella li riequilibra automaticamente senza causare alcun tempo di inattività.

Infine, Capella può realizzare il geo sharding tramite la funzione XDCR. XDCR replica i dati tra i data center in tempo reale. Le repliche XDCR possono includere o escludere i dati in base a filtri definiti dall'utente per migliorare la latenza locale o per soddisfare i requisiti di localizzazione dei dati.

Conclusione

Lo sharding è un concetto importante da comprendere se si vuole scalare un database per gestire più operazioni. I database NoSQL sono particolarmente adatti allo sharding perché eliminano molti dei vincoli imposti dai database relazionali. Detto questo, Couchbase Capella offre alcune delle migliori caratteristiche di un database relazionale (sintassi SQL e un'implementazione completa di SQL che include JOIN e Transazioni ACID) a un database distribuito con sharding automatico.

Per saperne di più sullo sharding in Couchbase, consultare il sito:

  • vBucket
  • Replica
  • Riequilibrio

Altre risorse importanti per valutare come scalare un database:

  • Scala multidimensionale
  • Replica tra centri dati
  • Implementazioni multicloud
  • Perché NoSQL?
  • Couchbase vs. MongoDB™ per scale-out e alta disponibilità
Iniziare a costruire

Consultate il nostro portale per sviluppatori per esplorare NoSQL, sfogliare le risorse e iniziare con le esercitazioni.

Sviluppare ora
Prova Capella gratuitamente

Per iniziare a lavorare con Couchbase bastano pochi clic. Capella DBaaS è il modo più semplice e veloce per iniziare.

Utilizzare gratuitamente
Couchbase per gli ISV

Creare applicazioni potenti con meno complessità e costi.

Per saperne di più
Popup Image
Couchbase

3155 Olsen Drive,
Suite 150, San Jose,
CA 95117, Stati Uniti

AZIENDA

  • Circa
  • Leadership
  • Notizie e stampa
  • Relazioni con gli investitori
  • Carriera
  • Eventi
  • Legale
  • Contatto

SOSTEGNO

  • Portale per gli sviluppatori
  • Documentazione
  • Forum
  • Servizi professionali
  • Accesso al supporto
  • Politica di supporto
  • Formazione

COLLEGAMENTI RAPIDI

  • Blog
  • Scaricamento
  • Formazione online
  • Risorse
  • Perché NoSQL
  • Prezzi

SEGUICI

  • Twitter
  • LinkedIn
  • YouTube
  • Facebook
  • GitHub
  • Stack Overflow
  • Discordia
© 2025 Couchbase, Inc. Couchbase e il logo Couchbase sono marchi registrati di Couchbase, Inc. Tutti i marchi di terze marchi di terze parti (inclusi loghi e icone) a cui Couchbase, Inc. fa riferimento, rimangono di proprietà dei rispettivi proprietari. rispettivi proprietari.
  • Condizioni di utilizzo
  • Informativa sulla privacy
  • Informativa sui cookie
  • Politica di supporto
  • Non vendere le mie informazioni personali
  • Centro preferenze di marketing