¿Qué hay de nuevo en NCache 5.3?

¿Qué hay de nuevo en v5.3 SP1?

Las siguientes características nuevas se proporcionan en NCache v5.3 SP1.

¿Qué hay de nuevo en la v5.3?

Las siguientes características nuevas se proporcionan en NCache v5.3.

 

Registro de Evaluación a través de NCache Web Manager

NCache imágenes disponibles en Azure y AWS, el registro para la evaluación gratuita de NCache es compatible con NCache Administrador web. Cuando una máquina no está registrada ni con evaluación ni con clave de licencia, el NCache La pantalla predeterminada de Web Manager lleva a los usuarios a un proceso de registro para iniciar su evaluación o activar sus casillas.

 

Cambio de nombre de NCache NoSQL a NCache Persistencia

La característica 'NCache NoSQL' lanzado en 5.3 ha sido renombrado como 'NCache Persistencia'. El funcionamiento de la función sigue siendo el mismo; sin embargo, se eliminan los proveedores adicionales. los NCache La persistencia ahora solo se puede usar con el almacén basado en el sistema de archivos incorporado.

Todos NoSQL También se ha cambiado el nombre de los cmdlets de PowerShell relacionados.

 

Paquete NuGet separado para NCache Procedimientos de almacenamiento de CLR

Se lanza un paquete NuGet independiente para NCache Procedimientos almacenados CLR. Esto ayuda a crear fácilmente procedimientos almacenados CLR que usan NCache API.

 

Soporte para opciones de conexión en NCache SignalR Backplane

En lugar de usar las configuraciones especificadas en client.ncconf, los usuarios pueden obligar a las aplicaciones SignalR a usar las opciones de conexión especificadas en los archivos web.config o appsettings.json de la aplicación. Si se especifica, la aplicación utilizará esta configuración.

 

El valor del intervalo de actualización cambió de minutos a segundos

El valor del intervalo de actualización ahora se puede establecer en segundos en lugar de minutos. El cambio se realizó para adaptarse a escenarios en los que la actualización debe ejecutarse en un intervalo de menos de un minuto.

 

NoSQL Database (En memoria con persistencia)

NCache está proporcionando una nueva característica llamada NoSQL Database donde toda la base de datos está en memoria y se distribuye, pero también se conserva en un almacenamiento permanente en tiempo real (a diferencia de otros productos que toman una instantánea periódica o conservan solo un registro de transacciones). Esta persistencia en tiempo real garantiza que sus datos en memoria estén siempre sincronizados y nunca se pierdan, incluso cuando reinicia todos los NCache servidores.

NCache NoSQL Database es súper rápido y escalable porque es 100% In-Memory y distribuido. Al mismo tiempo, NCache NoSQL Database persiste los datos como todas las demás bases de datos para que no pierda ningún dato, incluso si todos NCache los servidores se caen.

Puedes elegir persistir NoSQL Database in NCache Persistencia que súper rápido y muy fiable. O, si lo prefiere, puede persistir el NoSQL Database en una de las principales bases de datos de terceros. NCache proporciona las siguientes opciones de persistencia en tiempo real para NoSQL Database:

  • NCache Proveedor de persistencia: la opción predeterminada. NCache utiliza la persistencia de archivos basada en LiteDB en una ubicación de red compartida (ruta UNC). Puede elegir SSD/HDD, NAS/SAN o almacenamiento en la nube según sus preferencias.
  • Proveedor de servidor SQL: todos los datos se almacenan en una base de datos de SQL Server. Dado que las escrituras suelen representar menos del 20 % de las operaciones, mientras que el 80 % son lecturas, el almacenamiento de datos en SQL Server aún mantiene su aplicación superrápida y con escalabilidad lineal.
  • Proveedor MongoDB: todos los datos se almacenan en una base de datos MongoDB. Dado que las lecturas son el 80% del tiempo y todas están en memoria, su aplicación es mucho más rápida que si accediera directamente a MongoDB.
  • Oracle / Cosmos DB / Otros (muy pronto): proporcionaremos más opciones de almacenamiento de bases de datos de terceros muy pronto como el NCache NoSQL Database la arquitectura de almacenamiento está basada en el proveedor.

Puedes usar NCache NoSQL Database de las siguientes maneras:

  • Crear nuevo formulario NoSQL Database: esto crea la base de datos con su opción de almacenamiento y también crea una copia distribuida en memoria de la misma.
  • Abrir existente NoSQL Database: esto usa un ya creado NoSQL Database y crea una copia distribuida en memoria del mismo.

NOTA: puede utilizar esta función desde aplicaciones .NET, Java, Node.js y Python.

 

Lucene distribuido para .NET (Búsqueda de texto completo)

NCache proporciona Lucene distribuido para aplicaciones .NET que utilizan Lucene para búsqueda de texto completo. Distributed Lucene toma el índice estándar de Lucene.NET y lo hace distribuido para que pueda escalar el índice de Lucene a múltiples NCache servidores incluso en tiempo de ejecución. Esto no solo le permite aumentar el tamaño de su índice sino también la capacidad de transacción de su aplicación porque su aplicación ahora se comunica con múltiples NCache servidores para Lucene.

Estos son algunos aspectos destacados de la función Distributed Lucene:

  • No se requiere cambio de código para usar: no tiene que cambiar ningún código en su aplicación Lucene existente para usar Distributed Lucene. Se admite la API estándar de Lucene.NET.
  • Índice de Lucene distribuido a múltiples NCache Servidores NCache distribuye el índice de Lucene y lo persiste en múltiples NCache servidores. Cada servidor conserva una parte del índice completo. NCache ha modificado su topología de Caché Particionado y Caché de Réplica de Partición para manejar la persistencia distribuida.
  • Agregar eliminar NCache Servidores en tiempo de ejecución: puedes agregar o quitar NCache servidores en tiempo de ejecución. Cada vez que agrega un servidor, el índice de Lucene existente se divide aún más y una parte se copia en este servidor recién agregado. Cuando elimina un servidor, su índice se copia y se fusiona con otros restantes NCache servidores.
  • Particionamiento dirigido (no automático): debido al hecho de que la mayoría de los índices de Lucene son bastante grandes, si un NCache el servidor se cae durante el tiempo de ejecución, la partición no se rehace automáticamente como se hace para situaciones que no son de Lucene en NCache. Sin embargo, si agrega o elimina explícitamente NCache servidores con NCache herramientas de administración, luego se crean o eliminan particiones y el índice de Lucene se particiona aún más y se copia en el nuevo NCache servidor o índice de Lucene del NCache el servidor que se elimina se copia y se fusiona con otras particiones del clúster.
  • Caché con particiones/Caché de réplica de partición solamente: La función Distributed Lucene está disponible solo en estas dos topologías de almacenamiento en caché. La razón de esto es que otras dos topologías de almacenamiento en caché (Mirrored Cache / Replicated Cache) no agregan mucho valor a esta característica.
 

Cliente Python

NCache ahora proporciona un potente cliente de Python tanto en Windows como en Linux. Este cliente Python tiene todas las características de la API del lado del cliente of NCache que tradicionalmente disfrutaban los clientes de .NET y Java.

 

Importar / Exportar para NoSQL Database

NCache proporciona herramientas de importación y exportación como cmdlets de PowerShell. Con estas herramientas, puede importar o exportar datos JSON/CSV al NoSQL Database o fuera de ella. Esto le permite extraer todo o parte de su NoSQL database.

 

Backup / Restore NoSQL Database

Si ha seleccionado NCache Proveedor de persistencia para NoSQL Database, luego todos los datos se guardan en varios archivos ubicados en una carpeta de red compartida (según la ruta UNC).

Puede usar herramientas regulares de copia de seguridad/restauración del sistema de archivos en estos datos. Sin embargo, tenga en cuenta que NCache le proporciona una herramienta de administración (como PowerShell Cmdlet) para suspender brevemente NCache escribe en el almacenamiento persistente mientras realiza la copia de seguridad del sistema de archivos. Sin embargo, todas las escrituras se realizan en la copia distribuida en memoria de los datos y se registran, de modo que cuando haya terminado con su copia de seguridad, puede activar las escrituras en el almacenamiento persistente. Y, luego, todas esas escrituras se aplican al almacenamiento de persistencia de la misma manera que si fueran en tiempo real.

A pesar de proporcionarle un mecanismo de copia de seguridad en línea, se recomienda que seleccione un horario de poco tráfico para realizar las copias de seguridad. En el futuro, NCache proporcionará una función de copia de seguridad completamente en línea para NCache Proveedor de persistencia de NoSQL Database donde incluso puede continuar escribiendo durante la copia de seguridad.

Sin embargo, si ha seleccionado SQL Server o MongoDB como opción de almacenamiento, puede utilizar las herramientas de copia de seguridad/restauración proporcionadas por esas bases de datos, incluida la copia de seguridad en línea.

 

Importar índice Lucene

Si ya tiene una aplicación .NET que usa Lucene, lo más probable es que tenga un índice de Lucene construido bastante grande. NCache le da la posibilidad de importar un índice de Lucene existente en NCache Distribuyó Lucene de manera masiva.

Esto es mucho más rápido que recrear ese índice leyendo documentos de él y agregando esos documentos a NCache Índice de Lucene distribuido. La razón de esto es que NCache Distributed Lucene copia datos a nivel de archivo masivo y no a nivel de documento.

Puede realizar los siguientes tipos de importación del índice de Lucene.

  • Importar índice de Lucene existente en NCache: si ya tiene un índice de Lucene creado, puede usar NCache Herramientas de importación para importarlo rápidamente a NCache Distribuir Lucene. Y su índice se copia a nivel de archivo y no a nivel de documento, lo cual es mucho más rápido.
  • Importe el índice de Lucene distribuido existente: si ya tienes un NCache Distribuyó el índice de Lucene y desea importarlo a otra ubicación/entorno, puede hacerlo fácilmente. El índice se copia a nivel de archivo masivo y no a nivel de documento, por lo que es muy rápido.

Las dos opciones de índice Import Lucene anteriores son posibles a través de PowerShell Cmdlets.

 

Copia de seguridad/restauración del índice de Lucene distribuido

NCache particiona y guarda el índice de Lucene en un entorno distribuido y en cada NCache servidor. Y todo el índice se almacena como varios archivos. Por lo tanto, puede usar herramientas regulares de copia de seguridad/restauración del sistema de archivos en ellos. Sin embargo, en la versión actual de NCache, no se proporciona una copia de seguridad en línea, por lo que necesitará un tiempo de inactividad para garantizar una copia de seguridad correcta. Pero, si su aplicación no actualiza el índice Distributed Lucene en tiempo de ejecución, también puede hacer copias de seguridad en línea.

Restaurar un índice Distributed Lucene es lo mismo que restaurar archivos del sistema de archivos y, por lo tanto, es posible. Puede que tenga que reiniciar su caché con la misma información de configuración de distribución que tenía cuando hizo la copia de seguridad.

 

Compatibilidad con .NET 6.0

NCache ahora es totalmente compatible con .NET 6.0. Todos NCache Los servidores están compilados en .NET 6.0 (o .NET Framework 4.8 si ha descargado esa versión). NCache los clientes también son .NET 6.0. Sin embargo, NCache también proporciona soporte para versiones anteriores de ambos .NET Core y .NET Framework para NCache clientes.

 

Sesiones serializadas JSON (ASP.NET / ASP.NET Core)

NCache ahora le permite usar la serialización JSON para su ASP.NET / ASP.NET Core sesiones Anteriormente, la única opción que tenía era utilizar la serialización binaria proporcionada por .NET. Todavía tenemos la opción de serialización binaria, pero en .NET 6.0, la serialización binaria está deshabilitada de forma predeterminada y no se recomienda.

La serialización JSON también tiene la ventaja de que sus objetos .NET no están marcados como "Serializables". Anteriormente, tenía que realizar cambios en el código para marcar todos los objetos como "Serializables" o utilizar la función de serialización compacta de NCache. En ambos casos, requirió mucho trabajo extra para ti.

Con la serialización JSON, solo tiene que realizar cambios en los ajustes de configuración y no tocar el código en absoluto y ahora puede comenzar a usar objetos que no son serializables en ASP.NET / ASP.NET Core sesiones

 

Índice de consulta SQL usando anotaciones

Para incluir cualquier atributo de objeto en NCache Consultas SQL, debe indexarlo primero. Anteriormente, la única forma de indexar era definir un índice como parte de NCache configuración. Eso todavía es posible y una buena manera de hacerlo.

Sin embargo, ahora puede definir índices de consulta mediante programación mediante anotaciones personalizadas. Con esto, ahora tiene soporte completo de diferentes formas de crear un índice de consulta en NCache.

 

Compatibilidad anulable en consultas SQL

NCache ahora admite propiedades anulables para crear un índice y luego usarlos en consultas SQL. Esta función se proporciona porque las propiedades y los campos de .NET aceptan valores NULL. Pero, previamente NCache no proporcionó soporte para la búsqueda basada en valores nulos y ahora lo hace.

 

Índices geoespaciales para Lucene distribuido

NCache ahora es compatible con los índices geoespaciales en la búsqueda de texto completo con Distributed Lucene. Al igual que el índice Lucene de búsqueda de texto completo regular, los índices geoespaciales también usan Lucene.NET internamente para admitir consultas geoespaciales. El paquete NuGet para índices geoespaciales es independiente del paquete NuGet de índice de búsqueda de texto completo.

Búsqueda facetada de Lucene distribuido

NCache ahora es compatible con Faceted Search con Distributed Lucene. La búsqueda por facetas es una técnica que consiste en aumentar las técnicas de búsqueda tradicionales con un sistema de navegación por facetas. Esto permite al usuario restringir los resultados de la búsqueda mediante la aplicación de múltiples filtros basados ​​en una clasificación facetada de los elementos.

NCache proporciona un paquete NuGet para búsqueda por facetas que tiene todas las API necesarias para realizar búsquedas por facetas.

 

Optimizaciones de memoria para un rendimiento más rápido

Dado que .NET CLR usa memoria administrada, la recolección de elementos no utilizados y la fragmentación causan importantes problemas de rendimiento en cualquier aplicación de servidor de transacciones elevadas. NCache resolvió este problema antes implementando una agrupación de objetos muy inteligente y también dividiendo los objetos más grandes en menos de 80 XNUMX objetos para que LOH no se use con frecuencia.

Esta optimización de memoria anterior ya había mejorado NCache rendimiento bastante para las "operaciones atómicas" más utilizadas, como Obtener, Insertar, Actualizar, Eliminar elementos individuales. Sin embargo, otras áreas, como las operaciones masivas, los índices de consulta, la búsqueda de SQL, etc., no se optimizaron por completo de esta manera y, por lo tanto, resultaron en el uso frecuente de colecciones LOH y Gen2 y, por lo tanto, no en el mejor rendimiento.

Ahora bien, esta versión de NCache ha optimizado la gestión de la memoria en todas estas áreas, lo que se ha traducido en un rendimiento aún más rápido de NCache todo al rededor.

Se han realizado las siguientes optimizaciones:

  1. Agrupación de objetos en nuevas áreas para garantizar que los objetos más grandes se reutilicen en lugar de dejar que GC los recopile.
  2. Evitar la asignación en LOH en áreas nuevas.
  3. Usando la última versión de Protocol Buffers (Protobuf) que tiene un rendimiento mucho mejor
 

Soporte para https (NCache administrador web)

NCache tradicionalmente se ejecutaba en un entorno local y, por lo tanto, no había necesidad de usar https para acceder NCache Administrador web. Pero, ahora que Azure, AWS y otras nubes son cada vez más frecuentes, surgen cada vez más situaciones en las que un usuario puede necesitar acceder NCache Administrador web a través de https.

NCache ahora proporciona soporte para https para acceder NCache Administrador web. De forma predeterminada, es http, pero puede configurarlo para usar https si tiene un certificado.

 

Compatibilidad con nombres de máquinas (NCache administrador web)

NCache ha requerido tradicionalmente que usted especifique NCache servidores basados ​​en su dirección IP y no en los nombres de las máquinas. La razón detrás de esto fue que en muchas situaciones, NCache los servidores tienen varias tarjetas de interfaz de red (NIC) y no sabía a qué NIC se asignó el nombre de la máquina. Por lo tanto, usar la dirección IP para NCache servidores y clientes sigue siendo la forma preferida.

Pero ahora NCache le brinda la posibilidad de especificar nombres de máquinas en lugar de direcciones IP si lo desea. Puede especificar el nombre de la máquina para agregar un servidor de caché o un cliente de caché a la configuración de caché. Del mismo modo, todas las opiniones sobre NCache Web Manager continúa usando direcciones IP de forma predeterminada.

© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.