Was ist Neu in NCache 5.3?

Was ist neu in v5.3 SP1?

Die folgenden neuen Funktionen werden in bereitgestellt NCache v5.3 SP1.

Was ist neu in v5.3?

Die folgenden neuen Funktionen werden in bereitgestellt NCache v5.3.

 

Registrierung der Bewertung durch NCache Web Manager

Aussichten für NCache Images verfügbar auf Azure und AWS, die Registrierung zur kostenlosen Evaluierung von NCache wird unterstützt in NCache Web-Manager. Wenn eine Maschine weder mit Evaluierungs- noch mit Lizenzschlüssel registriert ist, wird die NCache Der Standardbildschirm von Web Manager führt Benutzer zu einem Registrierungsprozess, um entweder ihre Bewertung zu starten oder ihre Boxen zu aktivieren.

 

Umbenennung von NCache NoSQL zu NCache Beharrlichkeit

Das Merkmal 'NCache NoSQL' veröffentlicht in 5.3 wurde umbenannt in 'NCache Beharrlichkeit'. Die Funktionsweise der Funktion bleibt gleich, die zusätzlichen Anbieter werden jedoch entfernt. Das NCache Persistenz kann jetzt nur mit dem eingebauten dateisystembasierten Speicher verwendet werden.

Alle NoSQL verwandte PowerShell-Cmdlets wurden ebenfalls umbenannt.

 

Separates NuGet-Paket für NCache CLR-Speicherprozeduren

Für wird ein separates NuGet-Paket veröffentlicht NCache Gespeicherte CLR-Prozeduren. Dies hilft beim einfachen Erstellen von gespeicherten CLR-Prozeduren, die verwenden NCache API.

 

Unterstützung für Verbindungsoptionen in NCache SignalR Backplane

Anstatt die in client.ncconf angegebenen Konfigurationen zu verwenden, können Benutzer signalr-Anwendungen zwingen, die in den Dateien web.config oder appsettings.json der Anwendung angegebenen Verbindungsoptionen zu verwenden. Falls angegeben, verwendet die Anwendung diese Einstellungen.

 

Aktualisierungsintervallwert von Minuten in Sekunden geändert

Der Aktualisierungsintervallwert kann jetzt in Sekunden statt in Minuten eingestellt werden. Die Änderung wurde vorgenommen, um Szenarien zu berücksichtigen, in denen die Auffrischung in einem Intervall von weniger als einer Minute ausgeführt werden sollte.

 

NoSQL Database (In-Memory mit Persistenz)

NCache bietet eine neue Funktion namens NoSQL Database Dabei ist die gesamte Datenbank In-Memory und verteilt, wird aber auch in Echtzeit in einem permanenten Speicher gespeichert (im Gegensatz zu anderen Produkten, die regelmäßig Snapshots erstellen oder nur ein Transaktionsprotokoll speichern). Diese Echtzeit-Persistenz stellt sicher, dass Ihre In-Memory-Daten immer synchron sind und nie verloren gehen, selbst wenn Sie alle neu starten NCache Servers

NCache NoSQL Database ist superschnell und skalierbar, da es zu 100 % In-Memory und verteilt ist. Zur selben Zeit, NCache NoSQL Database speichert Daten wie alle anderen Datenbanken, sodass Sie keine Daten verlieren, selbst wenn alle NCache Server werden heruntergefahren.

Sie können sich dafür entscheiden, Sie zu beharren NoSQL Database in NCache Ausdauer, die superschnell und sehr zuverlässig ist. Oder, wenn Sie es vorziehen, können Sie die beibehalten NoSQL Database in einer der führenden Drittdatenbanken. NCache bietet die folgenden Echtzeit-Persistenzoptionen For NoSQL Database:

  • NCache Persistenzanbieter: die Standardoption. NCache verwendet LiteDB-basierte Dateipersistenz in einem freigegebenen Netzwerkspeicherort (UNC-Pfad). Sie können SSD / HDD, NAS / SAN oder Cloud-Speicher nach Ihren Wünschen auswählen.
  • SQL Server-Anbieter: Alle Daten werden in einer SQL Server-Datenbank gespeichert. Da Schreibvorgänge in der Regel weniger als 20 % der Vorgänge ausmachen, während 80 % Lesevorgänge sind, sorgt das Speichern von Daten in SQL Server dafür, dass Ihre Anwendung immer noch superschnell und mit linearer Skalierbarkeit bleibt.
  • MongoDB-Anbieter: Alle Daten werden in einer MongoDB-Datenbank gespeichert. Da 80 % der Zeit gelesen wird und alle In-Memory sind, ist Ihre Anwendung viel schneller, als wenn Sie direkt auf MongoDB zugreifen würden.
  • Oracle / Cosmos DB / Andere (demnächst): Wir werden sehr bald weitere Datenbankspeicheroptionen von Drittanbietern bereitstellen NCache NoSQL Database Die Speicherarchitektur ist anbieterbasiert.

Sie können verwenden NCache NoSQL Database :

  • Neu erstellen NoSQL Database: Dadurch wird die Datenbank mit Ihrer Speicheroption erstellt und auch eine verteilte In-Memory-Kopie davon erstellt.
  • Vorhandene öffnen NoSQL Database: Dies verwendet eine bereits erstellte NoSQL Database und erstellt eine verteilte In-Memory-Kopie davon.

Anmerkungen: Sie können diese Funktion in .NET-, Java-, Node.js- und Python-Anwendungen verwenden.

 

Verteiltes Lucene für .NET (Volltextsuche)

NCache bietet Distributed Lucene für .NET-Anwendungen mit Lucene für die Volltextsuche. Verteiltes Lucene nimmt den Standard-Lucene.NET-Index und macht ihn verteilt, sodass Sie den Lucene-Index auf mehrere skalieren können NCache Server auch zur Laufzeit. Dadurch können Sie nicht nur Ihre Indexgröße erhöhen, sondern auch die Transaktionskapazität Ihrer Anwendung, da Ihre Anwendung jetzt mit mehreren kommuniziert NCache Server für Lucene.

Hier sind einige Highlights der Distributed Lucene-Funktion:

  • Für die Verwendung ist keine Codeänderung erforderlich: Sie müssen keinen Code in Ihrer bestehenden Lucene-Anwendung ändern, um Distributed Lucene zu verwenden. Die standardmäßige Lucene.NET-API wird unterstützt.
  • Lucene-Index verteilt auf mehrere NCache Server: NCache verteilt den Lucene-Index und speichert ihn auf mehreren NCache Server. Jeder Server speichert einen Teil des gesamten Index. NCache hat seine Topologie mit partitioniertem Cache und Partition-Replica-Cache geändert, um verteilte Persistenz zu handhaben.
  • Hinzufügen / Entfernen NCache Server zur Laufzeit: Sie können hinzufügen oder entfernen NCache Server zur Laufzeit. Jedes Mal, wenn Sie einen Server hinzufügen, wird der vorhandene Lucene-Index weiter partitioniert und ein Teil auf diesen neu hinzugefügten Server kopiert. Wenn Sie einen Server entfernen, wird sein Index kopiert und mit anderen verbleibenden zusammengeführt NCache Servers
  • Gerichtete Partitionierung (nicht automatisch): aufgrund der Tatsache, dass die meisten Lucene-Indizes ziemlich groß sind, wenn an NCache Wenn der Server zur Laufzeit ausfällt, wird die Partitionierung nicht automatisch neu erstellt, wie dies in Nicht-Lucene-Situationen der Fall ist NCache. Allerdings, wenn Sie explizit hinzufügen oder entfernen NCache Server mit NCache Admin-Tools werden dann Partitionen erstellt oder gelöscht und der Lucene-Index wird entweder weiter partitioniert und in den neuen kopiert NCache Server- oder Lucene-Index aus dem NCache Der gelöschte Server wird kopiert und mit anderen Partitionen im Cluster zusammengeführt.
  • Nur partitionierter Cache / Partition-Replica-Cache: Die verteilte Lucene-Funktion ist nur in diesen beiden Caching-Topologien verfügbar. Der Grund dafür ist, dass die beiden anderen Caching-Topologien (Mirrored Cache / Replicated Cache) dieser Funktion keinen großen Mehrwert verleihen.
 

Python-Client

NCache bietet jetzt einen leistungsstarken Python-Client sowohl für Windows als auch für Linux. Dieser Python-Client verfügt über alle clientseitigen API-Funktionen of NCache die traditionell .NET- und Java-Clients genossen.

 

Import / Export für NoSQL Database

NCache stellt Import- und Export-Tools als PowerShell-Cmdlets bereit. Mit diesen Tools können Sie JSON-/CSV-Daten in die importieren oder exportieren NoSQL Database oder daraus. Auf diese Weise können Sie alle oder Teile Ihrer Datei extrahieren NoSQL database.

 

Backup / Restore NoSQL Database

Wenn Sie ausgewählt haben NCache Persistenzanbieter für NoSQL Database, dann werden alle Daten in mehreren Dateien gespeichert, die sich in einem freigegebenen Netzwerkordner befinden (basierend auf dem UNC-Pfad).

Sie können für diese Daten normale Tools zum Sichern/Wiederherstellen des Dateisystems verwenden. Beachten Sie dies jedoch bitte NCache bietet Ihnen ein Admin-Tool (als PowerShell-Cmdlet) zum kurzzeitigen Suspendieren NCache schreibt in den dauerhaften Speicher, während Sie Ihre Dateisystemsicherung durchführen. Alle Schreibvorgänge werden jedoch in die verteilte In-Memory-Kopie der Daten vorgenommen und protokolliert, sodass Sie die Schreibvorgänge in den Persistenzspeicher aktivieren können, wenn Sie mit Ihrer Sicherung fertig sind. Und dann werden alle diese Schreibvorgänge auf die gleiche Weise auf den Persistenzspeicher angewendet, als ob sie in Echtzeit wären.

Obwohl Ihnen ein Online-Sicherungsmechanismus zur Verfügung gestellt wird, wird empfohlen, dass Sie für die Sicherungen eine Zeit mit geringem Datenverkehr auswählen. Künftig, NCache bietet eine vollständige Online-Backup-Funktion für NCache Persistenzanbieter von NoSQL Database wo Sie sogar während des Backups weiterschreiben können.

Wenn Sie jedoch SQL Server oder MongoDB als Speicheroption ausgewählt haben, können Sie die Sicherungs-/Wiederherstellungstools verwenden, die von diesen Datenbanken bereitgestellt werden, einschließlich Online-Sicherung.

 

Lucene-Index importieren

Wenn Sie bereits eine .NET-Anwendung haben, die Lucene verwendet, besteht die Möglichkeit, dass Sie einen ziemlich großen Lucene-Index erstellt haben. NCache gibt Ihnen die Möglichkeit, einen vorhandenen Lucene-Index in zu importieren NCache Verteilte Lucene in großen Mengen.

Dies ist viel schneller, als diesen Index neu zu erstellen, indem Dokumente daraus gelesen und diesen Dokumenten hinzugefügt werden NCache Verteilter Lucene-Index. Der Grund dafür ist der NCache Verteiltes Lucene kopiert Daten auf Massendateiebene und nicht auf Dokumentebene.

Sie können die folgenden Arten des Imports von Lucene-Indizes durchführen.

  • Importieren Sie einen vorhandenen Lucene-Index in NCache: Wenn Sie bereits einen Lucene-Index erstellt haben, können Sie ihn verwenden NCache Import-Tools, um es schnell zu importieren NCache Verteilen Sie Lucene. Und Ihr Index wird auf Dateiebene und nicht auf Dokumentebene kopiert, was viel schneller ist.
  • Importieren Sie einen vorhandenen verteilten Lucene-Index: wenn du schon eine hast NCache Verteilter Lucene-Index und Sie möchten ihn in einen anderen Standort / eine andere Umgebung importieren, können Sie dies problemlos tun. Der Index wird auf Massendateiebene und nicht auf Dokumentebene kopiert, was sehr schnell geht.

Beide oben genannten Optionen zum Importieren von Lucene-Indizes sind über PowerShell-Cmdlets möglich.

 

Verteilten Lucene-Index sichern/wiederherstellen

NCache partitioniert und speichert den Lucene-Index in einer verteilten Umgebung und auf jeder NCache Server. Und alle Indizes werden als mehrere Dateien gespeichert. Daher können Sie auf ihnen reguläre Dateisystem-Backup-/Wiederherstellungstools verwenden. Allerdings in der aktuellen Version von NCache, wird kein Online-Backup bereitgestellt, sodass Sie eine Ausfallzeit benötigen, um ein korrektes Backup sicherzustellen. Wenn Ihre Anwendung den Distributed Lucene-Index jedoch nicht zur Laufzeit aktualisiert, können Sie auch Online-Sicherungen durchführen.

Das Wiederherstellen eines Distributed Lucene-Index ist dasselbe wie das Wiederherstellen von Dateisystemdateien und daher möglich. Möglicherweise müssen Sie Ihren Cache mit denselben Verteilungskonfigurationsinformationen neu starten, die Sie hatten, als Sie die Sicherung durchgeführt haben.

 

.NET 6.0-Unterstützung

NCache unterstützt jetzt vollständig .NET 6.0. Alles NCache Server werden in .NET 6.0 (bzw .NET Framework 4.8, wenn Sie diese Version heruntergeladen haben). NCache Clients sind auch .NET 6.0. Jedoch, NCache bietet auch Unterstützung für frühere Versionen von beiden .NET Core und .NET Framework für NCache Kunden.

 

JSON Serialisierte Sitzungen (ASP.NET / ASP.NET Core)

NCache ermöglicht Ihnen jetzt die Verwendung der JSON-Serialisierung für Ihr ASP.NET / ASP.NET Core Sitzungen. Bisher war die einzige Option, die Sie hatten, die von .NET bereitgestellte binäre Serialisierung zu verwenden. Wir haben immer noch die Option „Binäre Serialisierung“, aber in .NET 6.0 ist die binäre Serialisierung standardmäßig deaktiviert und wird nicht empfohlen.

Die JSON-Serialisierung hat auch den Vorteil, dass Ihre .NET-Objekte nicht als "Serializable" gekennzeichnet sind. Bisher mussten Sie entweder Codeänderungen vornehmen, um alle Objekte als „serialisierbar“ zu markieren, oder die Funktion „Kompakte Serialisierung“ von verwenden NCache. In beiden Fällen bedeutete dies viel zusätzliche Arbeit für Sie.

Mit der JSON-Serialisierung müssen Sie nur die Konfigurationseinstellungen ändern und den Code überhaupt nicht berühren, und Sie können jetzt damit beginnen, Objekte zu verwenden, die in ASP.NET / ASP nicht serialisierbar sind.NET Core Sitzungen.

 

SQL-Abfrageindex mit Anmerkungen

Um ein beliebiges Objektattribut einzuschließen NCache SQL-Abfragen, müssen Sie diese zuerst indizieren. Bisher bestand die einzige Möglichkeit zum Indexieren darin, einen Index als Teil von zu definieren NCache Aufbau. Das ist immer noch möglich und ein guter Weg, dies zu tun.

Jetzt können Sie Abfrageindizes jedoch programmgesteuert mit benutzerdefinierten Anmerkungen definieren. Damit haben Sie jetzt volle Unterstützung für verschiedene Möglichkeiten zum Erstellen von Abfrageindizes in NCache.

 

Nullable-Unterstützung in SQL-Abfragen

NCache unterstützt jetzt Nullable-Eigenschaften zum Erstellen eines Indexes und deren anschließende Verwendung in SQL-Abfragen. Diese Funktion wird bereitgestellt, weil .NET-Eigenschaften und -Felder nullable sind. Aber vorher NCache bot keine Unterstützung für die Suche auf der Grundlage von Nullwerten und tut es jetzt.

 

Geodatenindizes für verteiltes Lucene

NCache unterstützt jetzt Geodaten-Indizes bei der Volltextsuche mit Distributed Lucene. Genau wie der reguläre Lucene-Index für die Volltextsuche verwenden auch die Geodaten-Indizes intern Lucene.NET, um Geodaten-Abfragen zu unterstützen. Das NuGet-Paket für Geodaten-Indizes ist vom NuGet-Paket für den Volltextsuchindex getrennt.

Facettierte Suche nach verteiltem Lucene

NCache unterstützt jetzt Facettensuche mit Distributed Lucene. Die facettierte Suche ist eine Technik, bei der herkömmliche Suchtechniken durch ein facettiertes Navigationssystem ergänzt werden. Dies ermöglicht dem Benutzer, die Suchergebnisse einzugrenzen, indem er mehrere Filter basierend auf einer Facettenklassifizierung der Elemente anwendet.

NCache stellt ein NuGet-Paket für Facettensuche bereit, das alle APIs enthält, die zum Ausführen von Facettensuchen erforderlich sind.

 

Speicheroptimierungen für schnellere Leistung

Da .NET CLR Managed Memory verwendet, verursachen Garbage Collection und Fragmentation große Leistungsprobleme in jeder Serveranwendung mit hoher Transaktionsgeschwindigkeit. NCache löste dieses Problem früher, indem es ein sehr intelligentes Objekt-Pooling implementierte und auch größere Objekte in weniger als 80 Objekte aufteilte, sodass LOH nicht häufig verwendet wird.

Diese frühere Speicheroptimierung hatte sich bereits verbessert NCache Leistung ziemlich viel für die am häufigsten verwendeten "atomaren Operationen" wie Abrufen, Einfügen, Aktualisieren, Löschen einzelner Elemente. Eine Reihe anderer Bereiche wie Massenoperationen, Abfrageindizes, SQL-Suche usw. wurden jedoch nicht vollständig auf diese Weise optimiert und führten daher zu einer häufigen Verwendung von LOH- und Gen2-Sammlungen und damit nicht zu der besten Leistung.

Nun, diese Version von NCache hat die Speicherverwaltung in all diesen Bereichen optimiert, was zu einer noch schnelleren Leistung von geführt hat NCache Überall.

Folgende Optimierungen wurden vorgenommen:

  1. Objektpooling in neuen Bereichen, um sicherzustellen, dass größere Objekte wiederverwendet werden, anstatt sie der Sammlung durch GC zu überlassen.
  2. Vermeiden der Zuteilung von LOH in neuen Gebieten.
  3. Verwenden der neuesten Version von Protocol Buffers (Protobuf), die eine viel bessere Leistung bietet
 

Unterstützung für https (NCache Web-Manager)

NCache wurde traditionell in einer lokalen Umgebung ausgeführt, und daher war es nicht erforderlich, https für den Zugriff zu verwenden NCache Web-Manager. Aber jetzt, da Azure, AWS und andere Clouds sehr weit verbreitet sind, entstehen immer mehr Situationen, in denen ein Benutzer möglicherweise darauf zugreifen muss NCache Web Manager über https.

NCache bietet jetzt Unterstützung für https für den Zugriff NCache Web-Manager. Standardmäßig ist es http, aber Sie können es so konfigurieren, dass es https verwendet, wenn Sie ein Zertifikat haben.

 

Unterstützung für Maschinennamen (NCache Web-Manager)

NCache hat traditionell verlangt, dass Sie angeben NCache Server basierend auf ihrer IP-Adresse und nicht auf Maschinennamen. Der Grund dafür war, dass in vielen Situationen NCache Server haben mehrere Netzwerkschnittstellenkarten (NICs) und Sie wussten nicht, welcher NIC der Computername zugeordnet wurde. Verwenden Sie daher die IP-Adresse für NCache Server und Clients ist immer noch der bevorzugte Weg.

Aber jetzt NCache bietet Ihnen die Möglichkeit, Maschinennamen anstelle von IP-Adressen anzugeben, wenn Sie dies wünschen. Sie können den Computernamen angeben, um einen Cache-Server oder einen Cache-Client zur Cache-Konfiguration hinzuzufügen. Ebenso alle Ansichten auf NCache Web Manager verwendet weiterhin standardmäßig IP-Adressen.

© Copyright Alachisoft 2002 - Alle Rechte vorbehalten NCache ist eine eingetragene Marke der Diyatech Corp.