Cosa c'è di nuovo in NCache 5.3?

Cosa c'è di nuovo nella v5.3 SP1?

Le seguenti nuove funzionalità sono fornite in NCache v5.3 SP1.

Cosa c'è di nuovo nella v5.3?

Le seguenti nuove funzionalità sono fornite in NCache v5.3.

 

Registrazione della valutazione tramite NCache Web Manager

Nel NCache immagini disponibili su Azure e AWS, la registrazione per la valutazione gratuita di NCache è supportato in NCache Gestore web. Quando una macchina non è registrata né con la valutazione né con una chiave di licenza, il NCache La schermata predefinita di Web Manager porta gli utenti a un processo di registrazione per avviare la valutazione o attivare le proprie caselle.

 

Rinomina di NCache NoSQL a NCache Persistenza

La caratteristica 'NCache NoSQL' rilasciato in 5.3 è stato rinominato in 'NCache Persistenza'. Il funzionamento della funzionalità rimane lo stesso, tuttavia i provider aggiuntivi vengono rimossi. Il NCache La persistenza ora può essere utilizzata solo con l'archivio integrato basato sul file system.

Tutti NoSQL anche i relativi cmdlet di PowerShell sono stati rinominati.

 

Pacchetto NuGet separato per NCache Procedure di archiviazione CLR

Viene rilasciato un pacchetto NuGet separato per NCache Procedure memorizzate CLR. Questo aiuta a creare facilmente le stored procedure CLR che utilizzano NCache API.

 

Supporto per le opzioni di connessione in NCache SignalR Backplane

Invece di usare le configurazioni specificate in client.ncconf, gli utenti possono forzare le applicazioni SignalR a usare le opzioni di connessione specificate nei file web.config o appsettings.json dell'applicazione. Se specificato, l'applicazione utilizzerà queste impostazioni.

 

Valore dell'intervallo di aggiornamento modificato da minuti a secondi

Il valore dell'intervallo di aggiornamento ora può essere impostato in secondi anziché in minuti. La modifica è stata apportata per adattarsi agli scenari in cui l'aggiornamento dovrebbe essere eseguito con un intervallo inferiore a un minuto.

 

NoSQL Database (In memoria con persistenza)

NCache sta fornendo una nuova funzionalità chiamata NoSQL Database dove l'intero database è In-Memory e distribuito, ma viene anche mantenuto in uno spazio di archiviazione permanente in tempo reale (a differenza di altri prodotti che acquisiscono uno snapshot periodico o persistono solo un registro delle transazioni). Questa persistenza in tempo reale assicura che i tuoi dati in memoria siano sempre sincronizzati e mai persi anche quando riavvii tutti i NCache server.

NCache NoSQL Database è super veloce e scalabile perché è 100% In-Memory e distribuito. Allo stesso tempo, NCache NoSQL Database persiste i dati proprio come tutti gli altri database in modo da non perdere alcun dato anche se tutto NCache i server vengono disattivati.

Puoi scegliere di insistere NoSQL Database in NCache Persistenza che super veloce e molto affidabile. Oppure, se preferisci, puoi persistere NoSQL Database in uno dei principali database di terze parti. NCache fornisce le seguenti opzioni di persistenza in tempo reale Per NoSQL Database:

  • NCache Fornitore di persistenza: l'opzione predefinita. NCache utilizza la persistenza dei file basata su LiteDB in un percorso di rete condiviso (percorso UNC). Puoi scegliere SSD / HDD, NAS / SAN o Cloud storage in base alle tue preferenze.
  • Provider SQL Server: tutti i dati sono archiviati in un database di SQL Server. Poiché le scritture sono in genere meno del 20% delle operazioni mentre l'80% sono letture, il salvataggio dei dati in SQL Server mantiene l'applicazione superveloce e con scalabilità lineare.
  • Provider MongoDB: tutti i dati sono archiviati in un database MongoDB. Poiché le letture sono l'80% delle volte e sono tutte In-Memory, la tua applicazione è molto più veloce che se accedi direttamente a MongoDB.
  • Oracle / Cosmos DB / Altri (in arrivo): forniremo più opzioni di archiviazione di database di terze parti molto presto non appena il NCache NoSQL Database l'architettura di archiviazione è basata su provider.

Puoi usare NCache NoSQL Database nei seguenti modi:

  • Crea nuovo NoSQL Database: questo crea il database con l'opzione di archiviazione e crea anche una copia distribuita in memoria di esso.
  • Apri esistente NoSQL Database: questo usa un già creato NoSQL Database e ne crea una copia distribuita in memoria.

NOTA: è possibile utilizzare questa funzionalità dalle applicazioni .NET, Java, Node.js e Python.

 

Lucene distribuita per .NET (ricerca di testo completo)

NCache fornisce Lucene distribuita per applicazioni .NET che utilizzano Lucene per la ricerca di testo completo. Lucene distribuito prende l'indice Lucene.NET standard e lo rende distribuito in modo da poter scalare l'indice Lucene su più NCache server anche in fase di esecuzione. Ciò non solo ti consente di aumentare la dimensione dell'indice, ma anche la capacità di transazione dell'applicazione perché la tua applicazione ora parla a più NCache server per Lucene.

Ecco alcuni punti salienti della funzione Lucene distribuita:

  • Nessuna modifica del codice richiesta da utilizzare: non è necessario modificare alcun codice nell'applicazione Lucene esistente per l'utilizzo di Distributed Lucene. È supportata l'API Lucene.NET standard.
  • Indice Lucene distribuito a multipli NCache Server: NCache distribuisce l'indice Lucene e lo rende persistente su più NCache server. Ogni server mantiene una parte dell'intero indice. NCache ha modificato la topologia Partitioned Cache e Partition-Replica Cache per gestire la persistenza distribuita.
  • Aggiungi Rimuovi NCache Server in fase di esecuzione: puoi aggiungere o rimuovere NCache server in fase di esecuzione. Ogni volta che si aggiunge un server, l'indice Lucene esistente viene ulteriormente partizionato e una parte viene copiata su questo server appena aggiunto. Quando rimuovi un server, il suo indice viene copiato e unito ad altri rimanenti NCache server.
  • Partizionamento diretto (non automatico): poiché la maggior parte degli indici Lucene sono piuttosto grandi, se an NCache il server si arresta in fase di esecuzione, il partizionamento non viene rifatto automaticamente come avviene per le situazioni non Lucene in NCache. Tuttavia, se aggiungi o rimuovi esplicitamente NCache server con NCache strumenti di amministrazione, quindi le partizioni vengono create o eliminate e l'indice Lucene viene ulteriormente partizionato e copiato nel nuovo NCache server o indice Lucene da NCache il server eliminato viene copiato e unito ad altre partizioni del cluster.
  • Solo cache partizionata/cache partizione-replica: La funzionalità Lucene distribuita è disponibile solo su queste due topologie di memorizzazione nella cache. Il motivo è che altre due topologie di memorizzazione nella cache (Cache speculare/Cache replicata) non aggiungono molto valore a questa funzionalità.
 

Cliente Python

NCache ora fornisce un potente client Python sia su Windows che su Linux. Questo client Python ha tutte le funzionalità API lato client of NCache che tradizionalmente godevano i client .NET e Java.

 

Importa/Esporta per NoSQL Database

NCache fornisce strumenti di importazione ed esportazione come cmdlet di PowerShell. Con questi strumenti, puoi importare o esportare dati JSON/CSV in formato NoSQL Database o fuori di esso. Ciò ti consente di estrarre tutto o parte del tuo NoSQL database.

 

Backup / Ripristino NoSQL Database

Se hai selezionato NCache Provider di persistenza per NoSQL Database, quindi tutti i dati vengono conservati in più file situati in una cartella di rete condivisa (in base al percorso UNC).

È possibile utilizzare normali strumenti di backup/ripristino del filesystem su questi dati. Tuttavia, si prega di notare che NCache fornisce uno strumento di amministrazione (come PowerShell Cmdlet) per sospendere brevemente NCache scrive nella memoria permanente durante l'esecuzione del backup del filesystem. Tuttavia, tutte le scritture vengono eseguite sulla copia distribuita in memoria dei dati e registrate, quindi una volta terminato il backup, è possibile attivare le scritture sull'archiviazione di persistenza. E poi tutte quelle scritture vengono applicate all'archiviazione di persistenza nello stesso modo come se fossero in tempo reale.

Nonostante fornisca un meccanismo di backup online, si consiglia di selezionare un periodo di traffico ridotto per eseguire i backup. In futuro, NCache fornirà una funzionalità di backup completamente online per NCache Fornitore di persistenza di NoSQL Database dove puoi anche continuare a fare scritture durante il backup.

Tuttavia, se hai selezionato SQL Server o MongoDB come opzione di archiviazione, puoi utilizzare gli strumenti di backup/ripristino forniti da tali database, incluso il backup online.

 

Importa Indice Lucene

Se hai già un'applicazione .NET che utilizza Lucene, è probabile che tu possa avere un indice Lucene abbastanza grande. NCache ti dà la possibilità di importare un indice Lucene esistente in NCache Lucene distribuito in blocco.

Questo è molto più veloce che ricreare quell'indice leggendo i documenti da esso e aggiungendo quei documenti NCache Indice di lucene distribuito. Il motivo è quello NCache Distributed Lucene copia i dati a livello di file di massa e non a livello di documento.

È possibile eseguire i seguenti tipi di importazione dell'indice Lucene.

  • Importa l'Indice Lucene esistente in NCache: se hai già creato un indice Lucene, puoi usare NCache strumenti di importazione per importarlo rapidamente NCache Distribuisci Lucene. Inoltre, il tuo indice viene copiato a livello di file e non a livello di documento, il che è molto più veloce.
  • Importa l'Indice Lucene Distribuito esistente: se hai già un NCache Indice Lucene distribuito e vuoi importarlo in un'altra posizione/ambiente, puoi farlo facilmente. L'indice viene copiato a livello di file di massa e non a livello di documento, quindi è molto veloce.

Entrambe le opzioni di importazione dell'indice di Lucene sopra sono possibili tramite i cmdlet di PowerShell.

 

Backup/Ripristino dell'indice Lucene distribuito

NCache partiziona e salva l'indice Lucene in un ambiente distribuito e su ciascuno NCache server. Inoltre, tutto l'indice viene archiviato come più file. Pertanto, puoi utilizzare normali strumenti di backup/ripristino del filesystem su di essi. Tuttavia, nella versione attuale di NCache, il backup online non viene fornito, quindi sarà necessario un tempo di inattività per garantire un backup corretto. Tuttavia, se la tua applicazione non aggiorna l'indice Distributed Lucene in fase di esecuzione, puoi anche eseguire backup online.

Il ripristino di un indice Lucene distribuito equivale al ripristino dei file del file system e quindi possibile. Potrebbe essere necessario riavviare la cache con le stesse informazioni di configurazione della distribuzione che avevi quando hai eseguito il backup.

 

Supporto .NET 6.0

NCache ora supporta completamente .NET 6.0. Tutti NCache I server sono compilati in .NET 6.0 (o .NET Framework 4.8 se hai scaricato quella versione). NCache i client sono anche .NET 6.0. Tuttavia, NCache fornisce anche supporto per versioni precedenti di entrambi .NET Core ed .NET Framework per NCache clienti.

 

Sessioni serializzate JSON (ASP.NET/ASP.NET Core)

NCache ora ti consente di utilizzare la serializzazione JSON per il tuo ASP.NET / ASP.NET Core sessioni. In precedenza, l'unica opzione disponibile era utilizzare la serializzazione binaria fornita da .NET. Abbiamo ancora l'opzione di serializzazione binaria ma in .NET 6.0, la serializzazione binaria è disabilitata per impostazione predefinita e non è consigliata.

La serializzazione JSON ha anche il vantaggio in cui i tuoi oggetti .NET non sono contrassegnati come "Serializzabili". In precedenza, era necessario apportare modifiche al codice per contrassegnare tutti gli oggetti come "Serializzabili" o utilizzare la funzionalità di serializzazione compatta di NCache. In entrambi i casi, ha richiesto molto lavoro extra per te.

Con la serializzazione JSON, devi solo apportare modifiche alle impostazioni di configurazione e non toccare affatto il codice e ora puoi iniziare a utilizzare oggetti che non sono serializzabili in ASP.NET / ASP.NET Core sessioni.

 

Indice di query SQL utilizzando le annotazioni

Per includere qualsiasi attributo oggetto in NCache Query SQL, devi prima indicizzarlo. In precedenza, l'unico modo per indicizzare era definire un indice come parte di NCache configurazione. Questo è ancora possibile e un buon modo per farlo.

Tuttavia, ora puoi definire gli indici di query a livello di codice utilizzando annotazioni personalizzate. Con questo, ora hai il pieno supporto di diversi modi per creare l'indice di query in NCache.

 

Supporto annullabile nelle query SQL

NCache ora supporta le proprietà nullable per la creazione di un indice e quindi il loro utilizzo nelle query SQL. Questa funzionalità viene fornita perché le proprietà e i campi .NET non possono accettare valori. Ma, in precedenza NCache non ha fornito supporto per la ricerca basata su valori nulli e ora lo fa.

 

Indici geospaziali per lucene distribuita

NCache ora supporta gli indici geospaziali nella ricerca di testo completo con Lucene distribuita. Proprio come il normale indice Full Text Search Lucene, anche gli indici geospaziali utilizzano Lucene.NET internamente per supportare le query geospaziali. Il pacchetto NuGet per gli indici geospaziali è separato dal pacchetto NuGet dell'indice di ricerca full-text.

Ricerca sfaccettata di Lucene distribuito

NCache ora supporta Faceted Search con Lucene distribuita. La ricerca sfaccettata è una tecnica che prevede l'aumento delle tecniche di ricerca tradizionali con un sistema di navigazione sfaccettato. Ciò consente all'utente di restringere i risultati della ricerca applicando più filtri basati su una classificazione sfaccettata degli elementi.

NCache fornisce un pacchetto NuGet per la ricerca sfaccettata con tutte le API necessarie per eseguire ricerche sfaccettate.

 

Ottimizzazioni della memoria per prestazioni più veloci

Poiché .NET CLR utilizza la memoria gestita, Garbage Collection e Frammentazione causano gravi problemi di prestazioni in qualsiasi applicazione server con transazioni elevate. NCache risolto questo problema in precedenza implementando un pool di oggetti molto intelligente e suddividendo anche oggetti più grandi in oggetti inferiori a 80, quindi LOH non viene utilizzato frequentemente.

Questa precedente ottimizzazione della memoria era già migliorata NCache prestazioni un po' per le "operazioni atomiche" più comunemente utilizzate come Ottieni, Inserisci, Aggiorna, Elimina di singoli elementi. Tuttavia, un certo numero di altre aree come operazioni in blocco, indici di query, ricerca SQL, ecc. non sono state completamente ottimizzate in questo modo e pertanto hanno comportato un uso frequente delle raccolte LOH e Gen2 e quindi non le migliori prestazioni.

Ora, questa versione di NCache ha ottimizzato la gestione della memoria in tutte queste aree che ha portato a prestazioni ancora più veloci di NCache tutto intorno.

Sono state apportate le seguenti ottimizzazioni:

  1. Raggruppamento di oggetti in nuove aree per garantire che gli oggetti più grandi vengano riutilizzati invece di lasciarli raccolti da GC.
  2. Evitare l'allocazione su LOH in nuove aree.
  3. Utilizzando l'ultima versione di Protocol Buffers (Protobuf) che ha prestazioni molto migliori
 

Supporto per https (NCache Gestore Web)

NCache tradizionalmente veniva eseguito in un ambiente locale e quindi non era necessario utilizzare https per accedere NCache Gestore web. Ma ora che Azure, AWS e altri cloud stanno diventando molto diffusi, si verificano sempre più situazioni in cui un utente potrebbe aver bisogno di accedere NCache Web Manager tramite https.

NCache ora fornisce supporto per https per l'accesso NCache Gestore web. Per impostazione predefinita, è http ma puoi configurarlo per utilizzare https se disponi di un certificato.

 

Supporto per i nomi delle macchine (NCache Gestore Web)

NCache ha tradizionalmente richiesto di specificare NCache server in base al loro indirizzo IP e non ai nomi delle macchine. La ragione di ciò era che in molte situazioni, NCache i server dispongono di più schede di interfaccia di rete (NIC) e non sapevi a quale scheda di rete corrispondeva il nome della macchina. Pertanto, utilizzando l'indirizzo IP per NCache server e client è ancora il modo preferito.

Ma ora NCache ti dà la possibilità di specificare i nomi delle macchine invece dell'indirizzo IP, se lo desideri. È possibile specificare il nome della macchina per aggiungere un server cache o un client cache alla configurazione della cache. Allo stesso modo, tutte le visualizzazioni su NCache Web Manager continua a utilizzare gli indirizzi IP per impostazione predefinita.

© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.