Quoi de Neuf NCache 5.3?

Quoi de neuf dans la v5.3 SP1 ?

Les nouvelles fonctionnalités suivantes sont fournies dans NCache v5.3 SP1.

Quoi de neuf dans la v5.3?

Les nouvelles fonctionnalités suivantes sont fournies dans NCache v5.3.

 

Enregistrement de l'évaluation par NCache Web Manager

Pour NCache images disponibles sur Azure et AWS, l'inscription pour une évaluation gratuite de NCache est pris en charge dans NCache Gestionnaire Web. Lorsqu'une machine n'est enregistrée ni avec une évaluation ni avec une clé de licence, NCache L'écran par défaut de Web Manager amène les utilisateurs à un processus d'inscription pour commencer leur évaluation ou activer leurs boîtes.

 

Renommer NCache NoSQL à NCache Persistence

La fonction 'NCache NoSQL' publié en 5.3 a été renommé en 'NCache Persistance'. Le fonctionnement de la fonctionnalité reste le même, cependant, les fournisseurs supplémentaires sont supprimés. La NCache La persistance ne peut désormais être utilisée qu'avec le magasin basé sur le système de fichiers intégré.

Tous NoSQL Les applets de commande PowerShell associées ont également été renommées.

 

Package NuGet séparé pour NCache Procédures du magasin CLR

Un package NuGet distinct est publié pour NCache Procédures stockées CLR. Cela aide à créer facilement des procédures stockées CLR qui utilisent NCache API.

 

Prise en charge des options de connexion dans NCache SignalR Backplane

Au lieu d'utiliser les configurations spécifiées dans client.ncconf, les utilisateurs peuvent forcer les applications SignalR à utiliser les options de connexion spécifiées dans les fichiers web.config ou appsettings.json de l'application. Si spécifié, l'application utilisera ces paramètres.

 

La valeur de l'intervalle d'actualisation est passée de minutes à secondes

La valeur de l'intervalle d'actualisation peut désormais être définie en secondes au lieu de minutes. La modification a été apportée pour s'adapter aux scénarios où le rafraîchissement doit s'exécuter à un intervalle de moins d'une minute.

 

NoSQL Database (En mémoire avec persistance)

NCache propose une nouvelle fonctionnalité appelée NoSQL Database où toute la base de données est en mémoire et distribuée, mais elle est également conservée dans un stockage permanent en temps réel (contrairement à d'autres produits qui prennent un instantané périodique ou ne conservent qu'un journal des transactions). Cette persistance en temps réel garantit que vos données en mémoire sont toujours synchronisées et ne sont jamais perdues même lorsque vous redémarrez tous les NCache les serveurs.

NCache NoSQL Database est ultra-rapide et évolutif car il est 100% In-Memory et distribué. En même temps, NCache NoSQL Database conserve les données comme toutes les autres bases de données afin que vous ne perdiez aucune donnée même si toutes NCache les serveurs sont abattus.

Vous pouvez choisir de vous persister NoSQL Database in NCache Persistance ultra-rapide et très fiable. Ou, si vous préférez, vous pouvez persister NoSQL Database dans l'une des principales bases de données tierces. NCache fournit les options de persistance en temps réel suivantes NoSQL Database:

  • NCache Fournisseur de persistance : l'option par défaut. NCache utilise la persistance des fichiers basée sur LiteDB dans un emplacement réseau partagé (chemin UNC). Vous pouvez choisir le stockage SSD / HDD, NAS / SAN ou Cloud selon vos préférences.
  • Fournisseur SQL Server : toutes les données sont stockées dans une base de données SQL Server. Étant donné que les écritures représentent généralement moins de 20 % des opérations, tandis que 80 % sont des lectures, l'enregistrement des données dans SQL Server permet à votre application de rester ultra-rapide et avec une évolutivité linéaire.
  • Fournisseur MongoDB : toutes les données sont stockées dans une base de données MongoDB. Étant donné que les lectures sont effectuées 80 % du temps et qu'elles sont toutes en mémoire, votre application est beaucoup plus rapide que si vous accédiez directement à MongoDB.
  • Oracle / Cosmos DB / Autres (à venir): nous fournirons plus d'options de stockage de base de données tierces dès que le NCache NoSQL Database l'architecture de stockage est basée sur le fournisseur.

Vous pouvez utiliser NCache NoSQL Database des manières suivantes:

  • CRÉER UN NOUVEAU DOSSIER NoSQL Database: cela crée la base de données avec votre option de stockage et en crée également une copie distribuée en mémoire.
  • Ouvrir existant NoSQL Database: cela utilise un déjà créé NoSQL Database et en crée une copie distribuée en mémoire.

REMARQUE: vous pouvez utiliser cette fonctionnalité à partir des applications .NET, Java, Node.js et Python.

 

Lucene distribué pour .NET (recherche en texte intégral)

NCache fournit Lucene distribué pour les applications .NET utilisant Lucene pour la recherche en texte intégral. Lucene distribué prend l'index Lucene.NET standard et le rend distribué afin que vous puissiez mettre à l'échelle l'index Lucene à plusieurs NCache serveurs même à l'exécution. Cela vous permet non seulement d'augmenter la taille de votre index mais également la capacité de transaction de votre application car votre application parle maintenant à plusieurs NCache serveurs pour Lucene.

Voici quelques points forts de la fonctionnalité Distributed Lucene :

  • Aucun changement de code requis pour utiliser : vous ne devez modifier aucun code dans votre application Lucene existante pour utiliser Distributed Lucene. L'API Lucene.NET standard est prise en charge.
  • Index Lucene distribué à plusieurs NCache Les serveurs: NCache distribue l'indice Lucene et le persiste sur plusieurs NCache les serveurs. Chaque serveur conserve une partie de l'intégralité de l'index. NCache a modifié sa topologie de cache partitionné et de cache de partition-réplica pour gérer la persistance distribuée.
  • Ajouter enlever NCache Serveurs à l'exécution : vous pouvez ajouter ou supprimer NCache serveurs lors de l'exécution. Chaque fois que vous ajoutez un serveur, l'index Lucene existant est encore partitionné et une partie est copiée sur ce serveur nouvellement ajouté. Lorsque vous supprimez un serveur, son index est copié et fusionné avec les autres NCache les serveurs.
  • Partitionnement dirigé (non automatique) : du fait que la plupart des indices de Lucene sont assez grands, si un NCache le serveur tombe en panne au moment de l'exécution, le partitionnement n'est pas refait automatiquement comme c'est le cas pour les situations non-Lucene dans NCache. Toutefois, si vous ajoutez ou supprimez explicitement NCache serveurs avec NCache les outils d'administration, puis les partitions sont créées ou supprimées et l'index Lucene est soit partitionné et copié dans le nouveau NCache serveur ou index Lucene du NCache Le serveur en cours de suppression est copié et fusionné dans d'autres partitions du cluster.
  • Cache partitionné / Cache de partition-réplica uniquement : La fonctionnalité Lucene distribuée est disponible uniquement sur ces deux topologies de mise en cache. La raison en est que les deux autres topologies de mise en cache (Mirrored Cache / Replicated Cache) n'ajoutent pas beaucoup de valeur à cette fonctionnalité.
 

Client Python

NCache fournit désormais un puissant client Python sur Windows et Linux. Ce client Python possède toutes les fonctionnalités de l'API côté client of NCache que les clients .NET et Java appréciaient traditionnellement.

 

Importer / Exporter pour NoSQL Database

NCache fournit des outils d'importation et d'exportation sous forme d'applets de commande PowerShell. Avec ces outils, vous pouvez importer ou exporter des données JSON / CSV dans le NoSQL Database ou en sortir. Cela vous permet d'extraire tout ou partie de votre NoSQL database.

 

Sauvegarde / Restauration NoSQL Database

Si vous avez sélectionné NCache Fournisseur de persistance pour NoSQL Database, toutes les données sont conservées dans plusieurs fichiers situés dans un dossier réseau partagé (basé sur le chemin UNC).

Vous pouvez utiliser des outils de sauvegarde/restauration de système de fichiers réguliers sur ces données. Cependant, veuillez noter que NCache vous fournit un outil d'administration (comme PowerShell Cmdlet) pour suspendre brièvement NCache écrit dans le stockage persistant pendant que vous effectuez la sauvegarde de votre système de fichiers. Cependant, toutes les écritures sont effectuées sur la copie distribuée en mémoire des données et consignées. Ainsi, lorsque vous avez terminé votre sauvegarde, vous pouvez activer les écritures sur le stockage de persistance. Et, ensuite, toutes ces écritures sont appliquées au stockage de persistance de la même manière que si elles étaient en temps réel.

Bien que vous fournissiez un mécanisme de sauvegarde en ligne, il est recommandé de sélectionner une heure à faible trafic pour effectuer les sauvegardes. Dans le futur, NCache fournira une fonction de sauvegarde entièrement en ligne pour NCache Fournisseur de persistance de NoSQL Database où vous pouvez même continuer à faire des écritures pendant la sauvegarde.

Cependant, si vous avez sélectionné SQL Server ou MongoDB comme option de stockage, vous pouvez utiliser les outils de sauvegarde/restauration fournis par ces bases de données, y compris la sauvegarde en ligne.

 

Importer l'indice Lucene

Si vous avez déjà une application .NET utilisant Lucene, il est probable que vous ayez construit un index Lucene assez volumineux. NCache vous donne la possibilité d'importer un index Lucene existant dans NCache Distribué Lucene en vrac.

C'est beaucoup plus rapide que de recréer cet index en lisant des documents à partir de celui-ci et en ajoutant ces documents à NCache Indice de Lucene distribué. La raison en est que NCache Distributed Lucene copie les données au niveau du fichier en bloc et non au niveau du document.

Vous pouvez effectuer les types d'importation suivants de l'index Lucene.

  • Importer l'index Lucene existant dans NCache: si vous avez déjà construit un index Lucene, vous pouvez utiliser NCache outils d'importation pour l'importer rapidement dans NCache Distribuez Lucène. De plus, votre index est copié au niveau du fichier et non au niveau du document, ce qui est beaucoup plus rapide.
  • Importer l'index Lucene distribué existant : si vous avez déjà un NCache Index Lucene distribué et que vous souhaitez l'importer dans un autre emplacement / environnement, vous pouvez le faire facilement. L'index est copié au niveau du fichier en bloc et non au niveau du document, il est donc très rapide.

Les deux options d'index d'importation Lucene ci-dessus sont possibles via les applets de commande PowerShell.

 

Sauvegarde/restauration de l'index Lucene distribué

NCache partitionne et enregistre l'index Lucene dans un environnement distribué et sur chaque NCache serveur. Et, tous les index sont stockés sous forme de plusieurs fichiers. Par conséquent, vous pouvez utiliser des outils de sauvegarde/restauration de système de fichiers réguliers sur eux. Cependant, dans la version actuelle de NCache, la sauvegarde en ligne n'est pas fournie, vous aurez donc besoin d'un temps d'arrêt pour assurer une sauvegarde correcte. Mais, si votre application ne met pas à jour l'index Distributed Lucene au moment de l'exécution, vous pouvez également effectuer des sauvegardes en ligne.

La restauration d'un index Lucene distribué est identique à la restauration des fichiers du système de fichiers et donc possible. Vous devrez peut-être redémarrer votre cache avec les mêmes informations de configuration de distribution que celles que vous aviez lorsque vous avez effectué la sauvegarde.

 

Prise en charge de .NET 6.0

NCache prend désormais entièrement en charge .NET 6.0. Tout NCache Les serveurs sont compilés en .NET 6.0 (ou .NET Framework 4.8 si vous avez téléchargé cette version). NCache les clients sont également .NET 6.0. Cependant, NCache fournit également un support pour les versions antérieures des deux .NET Core ainsi que .NET Framework en NCache clients.

 

Sessions sérialisées JSON (ASP.NET / ASP.NET Core)

NCache vous permet désormais d'utiliser la sérialisation JSON pour votre ASP.NET / ASP.NET Core séances. Auparavant, la seule option que vous aviez était d'utiliser la sérialisation binaire fournie par .NET. Nous avons toujours l'option de sérialisation binaire mais dans .NET 6.0, la sérialisation binaire est désactivée par défaut et n'est pas recommandée.

La sérialisation JSON présente également l'avantage que vos objets .NET ne sont pas marqués "sérialisables". Auparavant, vous deviez soit apporter des modifications au code pour marquer tous les objets "sérialisables", soit utiliser la fonction de sérialisation compacte de NCache. Dans les deux cas, cela vous a demandé beaucoup de travail supplémentaire.

Avec la sérialisation JSON, il vous suffit de modifier les paramètres de configuration et de ne pas toucher du tout au code et vous pouvez maintenant commencer à utiliser des objets qui ne sont pas sérialisables dans ASP.NET / ASP.NET Core sessions.

 

Index de requête SQL à l'aide d'annotations

Afin d'inclure tout attribut d'objet dans NCache Requêtes SQL, vous devez d'abord l'indexer. Auparavant, la seule façon d'indexer était de définir un index dans le cadre de NCache configuration. C'est encore possible et c'est un bon moyen de le faire.

Cependant, vous pouvez désormais définir des index de requête par programmation à l'aide d'annotations personnalisées. Avec cela, vous avez maintenant un support complet des différentes façons de créer un index de requête dans NCache.

 

Prise en charge de Nullable dans les requêtes SQL

NCache prend désormais en charge les propriétés nullables pour créer un index, puis les utiliser dans les requêtes SQL. Cette fonctionnalité est fournie car les propriétés et les champs .NET acceptent les valeurs NULL. Mais, auparavant NCache n'a pas fourni de prise en charge de la recherche basée sur des valeurs nulles et maintenant c'est le cas.

 

Index géospatiaux pour Lucene distribué

NCache prend désormais en charge les index géospatiaux dans la recherche de texte intégral avec Distributed Lucene. Tout comme l'index Lucene de recherche en texte intégral standard, les index géospatiaux utilisent également Lucene.NET en interne pour prendre en charge les requêtes géospatiales. Le package NuGet pour les index géospatiaux est distinct du package NuGet d'index de recherche de texte intégral.

Recherche à facettes pour Lucene distribué

NCache prend désormais en charge la recherche à facettes avec Distributed Lucene. La recherche à facettes est une technique qui consiste à augmenter les techniques de recherche traditionnelles avec un système de navigation à facettes. Cela permet à l'utilisateur d'affiner les résultats de la recherche en appliquant plusieurs filtres basés sur une classification à facettes des éléments.

NCache fournit un package NuGet pour la recherche à facettes qui contient toutes les API nécessaires pour effectuer des recherches à facettes.

 

Optimisations de la mémoire pour des performances plus rapides

Étant donné que .NET CLR utilise la mémoire gérée, le nettoyage de la mémoire et la fragmentation entraînent des problèmes de performances majeurs dans toute application serveur à transactions élevées. NCache a résolu ce problème plus tôt en implémentant une mise en commun d'objets très intelligente et en divisant également des objets plus volumineux en objets de moins de 80 XNUMX, de sorte que LOH n'est pas fréquemment utilisé.

Cette précédente optimisation de la mémoire avait déjà amélioré NCache performances assez élevées pour les "opérations atomiques" les plus couramment utilisées telles que Get, Insert, Update, Delete d'éléments individuels. Cependant, un certain nombre d'autres domaines tels que les opérations en bloc, les index de requête, la recherche SQL, etc. n'ont pas été entièrement optimisés de cette manière et ont donc entraîné une utilisation fréquente des collections LOH et Gen2 et donc pas les meilleures performances.

Maintenant, cette version de NCache a optimisé la gestion de la mémoire dans tous ces domaines, ce qui a entraîné une performance encore plus rapide de NCache tout autour.

Les optimisations suivantes ont été faites :

  1. Regroupement d'objets dans de nouvelles zones pour s'assurer que les objets plus gros sont réutilisés au lieu de les laisser être collectés par GC.
  2. Éviter l'allocation sur LOH dans de nouvelles zones.
  3. Utilisation de la dernière version de Protocol Buffers (Protobuf) qui offre de bien meilleures performances
 

Prise en charge de https (NCache gestionnaire Web)

NCache fonctionnait traditionnellement dans un environnement sur site et il n'était donc pas nécessaire d'utiliser https pour accéder NCache Gestionnaire Web. Mais, maintenant qu'Azure, AWS et d'autres clouds deviennent très répandus, de plus en plus de situations surviennent où un utilisateur peut avoir besoin d'accéder NCache Gestionnaire Web via https.

NCache prend désormais en charge https pour accéder NCache Gestionnaire Web. Par défaut, c'est http mais vous pouvez le configurer pour utiliser https si vous avez un certificat.

 

Prise en charge des noms de machine (NCache gestionnaire Web)

NCache a traditionnellement exigé que vous spécifiiez NCache serveurs en fonction de leur adresse IP et non des noms de machine. La raison derrière cela était que dans de nombreuses situations, NCache les serveurs ont plusieurs cartes d'interface réseau (NIC) et vous ne saviez pas à quelle carte réseau le nom de la machine était mappé. Par conséquent, en utilisant l'adresse IP pour NCache serveurs et clients est toujours le moyen préféré.

Mais maintenant NCache vous offre la possibilité de spécifier des noms de machine au lieu de l'adresse IP si vous le souhaitez. Vous pouvez spécifier le nom de la machine pour ajouter un serveur de cache ou un client de cache à la configuration du cache. De même, tous les points de vue sur NCache Web Manager continue d'utiliser les adresses IP par défaut.

© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.