MarkLogic 6 es una base de datos Enterprise NoSQL ("No solo SQL") que tiene la flexibilidad y escalabilidad para manejar los desafíos de datos actuales que las bases de datos basadas en SQL no fueron diseñadas para manejar. También tiene capacidades de nivel empresarial como búsqueda, transacciones ACID, conmutación por error, replicación y seguridad para ejecutar aplicaciones de misión crítica. MarkLogic combina la funcionalidad de la base de datos, la búsqueda y los servicios de aplicaciones en un solo sistema. Proporciona la funcionalidad que las empresas necesitan para generar valor. MarkLogic aprovecha las herramientas, el conocimiento y la experiencia existentes al tiempo que proporciona una plataforma confiable, escalable y segura para datos de misión crítica.
Empresas y organizaciones de todos los sectores, incluido el sector público, los medios y los servicios financieros, se han beneficiado de la arquitectura única de MarkLogic. Cualquier entorno que enfrente una combinación de volumen, velocidad, variedad y complejidad de datos (un desafío de datos conocido como Big Data) se puede mejorar con MarkLogic. Las soluciones de ejemplo basadas en MarkLogic incluyen análisis de inteligencia, soporte de decisiones en tiempo real, gestión de riesgos, gestión de activos digitales, cadena de suministro digital y entrega de contenido.
Punto de referencia de MarkLogic
El punto de referencia que estamos utilizando está desarrollado internamente por MarkLogic y se utiliza para evaluar tanto las configuraciones de hardware como las próximas versiones del software MarkLogic. La carga de trabajo se divide en dos partes bien diferenciadas:
- Fase de ingesta en la que se inserta un gran conjunto de datos con índices en la base de datos de MarkLogic.
- Fase de consulta en la que se aplican búsquedas, actualizaciones de vistas y eliminaciones al conjunto de datos insertado. Estas consultas también utilizan funciones de MarkLogic, como facetas, paginación y marcadores.
El corpus utilizado es la colección xml de Wikipedia disponible públicamente. Los archivos se guardan en el disco en formato comprimido. Para la ingestión usamos MarkLogic Content Pump (mlcp).
La fase de ingesta en particular es intensiva en E/S. La E/S se divide en tres categorías:
- Inicialmente, los documentos se ingieren en soportes en memoria y las únicas escrituras en disco son guardados en diario.
- Los soportes en memoria se desbordan rápidamente y se escriben continuamente como soportes en disco. Esta es la actividad de ahorro.
- A medida que aumenta la cantidad de soportes en disco, MarkLogic debe fusionarlos para reducir la sobrecarga de consultas. La fusión implica la lectura de varios soportes en disco, la reescritura de una única versión fusionada y la eliminación de los originales.
Para garantizar el más alto nivel de precisión y obligar a cada dispositivo a permanecer estable, repetimos las fases de ingestión y consulta 24 veces para los dispositivos basados en flash. Para los aceleradores de aplicaciones PCIe, cada intervalo tarda entre 60 y 120 minutos en completarse, por lo que el tiempo total de prueba oscila entre 24 y 48 horas. Para dispositivos con menor rendimiento de E/S, el tiempo total de prueba puede abarcar días. Nuestro enfoque en esta prueba es analizar la latencia general de cada solución de almacenamiento en cuatro áreas de interés: escrituras en diario (J-lat), escrituras guardadas (S-lat), así como lectura combinada (MR-lat) y escritura combinada. latencia (MW-lat).
En el diagrama anterior, vemos las rutas de E/S y las latencias en MarkLogic:
- Diario escribe registrar los deltas en la base de datos. Cuando se ejecuta una solicitud de actualización, todos los cambios realizados en el estado de la base de datos se registran en el diario. Esos cambios se pueden volver a aplicar desde el diario, sin volver a ejecutar la solicitud. Las actualizaciones pueden ser adiciones, reemplazos o eliminaciones de documentos. El diario protege de interrupciones, se garantiza que sobrevivirá a un bloqueo del sistema a partir de entonces. La latencia de las escrituras de Journal se captura en la métrica J-lat
- Una vez cargados suficientes documentos, el soporte en memoria se llenará y se descargará en el disco, y se escribirá como un soporte en disco. Este vaciado en disco se denomina Guardar. La latencia de las escrituras de guardado se captura en S-lat
- A medida que crece el número total de soportes en disco, amenaza con surgir un problema de eficiencia. Para leer una sola lista de términos, MarkLogic debe leer los datos de la lista de términos de cada stand individual y unificar los resultados. Para mantener el número de soportes en un nivel manejable, MarkLogic ejecuta fusiones en segundo plano. Una combinación lee (Merge Read) algunos de los soportes en el disco y crea un nuevo soporte singular a partir de ellos Merge Write), fusionando y optimizando los índices y los datos, así como eliminando cualquier fragmento previamente eliminado. La latencia de las lecturas de Merge se captura en MR-lat y la latencia de las escrituras de Merge en MW-lat.
Durante la ingesta, MarkLogic también indexa todos los documentos, crea listas de términos, etc. Esta actividad requiere ciclos de CPU que hacen que el punto de referencia sea un buen equilibrio entre un alto nivel de E/S y una alta utilización de CPU.
Los datos de Wikipedia también se eligieron porque contienen texto que no es inglés ni ASCII, del cual usamos: árabe, holandés, francés, alemán, italiano, japonés, coreano, persa, portugués, ruso, español, chino simplificado y chino tradicional. Estas opciones enfatizan las funciones multilingües de MarkLogic. Finalmente, los datos estáticos ingeridos hacen que el punto de referencia sea repetible, lo cual es esencial para las comparaciones de rendimiento en las diferentes configuraciones de hardware de múltiples versiones de software.
Entorno de prueba de MarkLogic
Las soluciones de almacenamiento se prueban con el punto de referencia MarkLogic NoSQL en el laboratorio de pruebas de StorageReview Enterprise utilizando varios servidores conectados a través de una red de alta velocidad. Utilizamos servidores de EchoStreams y Lenovo para diferentes segmentos del entorno de prueba MarkLogic NoSQL y, para la estructura que conecta el equipo, utilizamos NIC y conmutación InfiniBand de Mellanox.
La solución de almacenamiento se divide en tres secciones: el host de almacenamiento, el clúster de base de datos NoSQL de MarkLogic y el cliente de base de datos de MarkLogic. Para el host de almacenamiento, utilizamos un Lenovo ThinkServer RD630 de 2U para presentar aceleradores de aplicaciones PCIe, grupos de cuatro SSD SATA/SAS y un host para equipos NAS/SAN que los presenta en la red InfiniBand. Para el clúster de base de datos de MarkLogic, utilizamos un servidor EchoStreams GridStreams de cuatro nodos equipado con ocho CPU Intel Xeon E5-2640 para proporcionar los recursos de computación necesarios para exigir al máximo los dispositivos de almacenamiento más rápidos. En el lado del cliente, utilizamos servidores Lenovo ThinkServer RD530 de 1U que proporcionan los datos de trabajo que se cargan en la memoria del sistema y se envían al clúster de base de datos NoSQL a través de nuestra red de alta velocidad. Todos estos servidores están interconectados mediante una estructura InfiniBand de Mellanox de 56 Gb/s que incluye tanto conmutadores como tarjetas de red, lo que nos proporciona las velocidades de transferencia más altas y la latencia más baja para no limitar el rendimiento de los dispositivos de almacenamiento de alto rendimiento.
Las interconexiones Mellanox InfiniBand se utilizaron para proporcionar el mayor rendimiento y la mayor eficiencia de red para garantizar que los dispositivos conectados no estén limitados por la red. Mirando solo las soluciones de almacenamiento PCIe, un solo acelerador de aplicaciones PCIe puede impulsar fácilmente más de 1 a 3 GB/s en la red. Cambie a un dispositivo de almacenamiento all-flash con velocidades de transferencia máximas superiores a 10-20 GB/s y podrá ver rápidamente cómo la capacidad del enlace de red puede saturarse fácilmente, lo que limita el rendimiento general de toda la plataforma. Los enlaces de gran ancho de banda de InfiniBand permiten mover la mayor cantidad de datos a través de la menor cantidad de enlaces, lo que permite aprovechar todas las capacidades del sistema.
Además de un mayor rendimiento de la red, InfiniBand también permite una mayor eficiencia general del clúster. InfiniBand utiliza iSER (iSCSI-RDMA) y SRP (Protocolo SCSI RDMA) para reemplazar la pila TCP iSCSI ineficiente con la funcionalidad de acceso directo a memoria remota (RDMA), lo que permite tiempos de acceso casi nativos para el almacenamiento externo. iSER y SRP permiten una mayor eficiencia en todo el entorno agrupado al permitir que el tráfico de la red pase por alto las CPU de los sistemas y permite que los datos se copien desde la memoria de los sistemas de envío directamente a la memoria de los sistemas de recepción. En comparación, la operación tradicional de iSCSI enruta el tráfico de red a través de un complejo proceso de transferencia y copia múltiple, que consume valiosos ciclos de CPU y espacio de memoria, y aumenta drásticamente las latencias de transferencia de datos. En nuestro entorno MarkLogic NoSQL, utilizamos el protocolo SCSI RDMA para conectar cada nodo a un subsistema de destino SCSI para Linux (SCST) que se ejecuta en nuestro host de almacenamiento.
Equipo de referencia MarkLogic
- Clúster de base de datos de cuatro nodos EchoStreams GridStreams
- Ocho CPU Intel E5-2640 (dos por nodo, 2.5 GHz, 6 núcleos, 15 MB de caché)
- 256 GB de RAM (64 GB por nodo, 8 GB x 8 micrones DDR3, 32 GB por CPU)
- 4 x 100GB Micron RealSSD P400e (Uno por nodo, SATA integrado)
- 4 adaptadores Mellanox ConnectX-3 InfiniBand
- 6.3 CentOS
- Lenovo Think Server RD530 Cliente de base de datos
- CPU doble Intel E5-2640 (2.5 GHz, 6 núcleos, caché de 15 MB)
- 64 GB de RAM (8 GB x 8 micrones DDR3, 32 GB por CPU)
- 200 GB x 3 Toshiba 10k SAS RAID5 (a través de LSI 9260-8i)
- 1 adaptadores Mellanox ConnectX-3 InfiniBand
- 6.3 CentOS
- Lenovo Think Server RD630 Anfitrión de almacenamiento
- CPU doble Intel E5-2680 (2.7 GHz, 8 núcleos, caché de 20 MB)
- 32 GB de RAM (8 GB x 4 DDR3, 16 GB por CPU)
- Micrones de 100 GB Unidad de estado sólido RealSSD P400e (a través de LSI 9207-8i)
- 1 adaptadores Mellanox ConnectX-3 InfiniBand
- 6.3 CentOS
- JBOD externo: iXsystems Titán iX-316J
- Conmutador InfiniBand Mellanox SX6036
- 36 puertos FDR (56 Gb/s)
- Capacidad de conmutación agregada de 4 Tb/s
El objetivo principal de esta plataforma es resaltar cómo funciona el almacenamiento empresarial en un entorno empresarial y una carga de trabajo reales, en lugar de depender de cargas de trabajo sintéticas o pseudosintéticas. Los generadores de carga de trabajo sintéticos son excelentes para mostrar qué tan bien funcionan los dispositivos de almacenamiento con un patrón de E/S sintético continuo, pero no tienen en cuenta ninguna de las otras variables externas que muestran cómo funcionan realmente los dispositivos en entornos de producción. Los generadores de carga de trabajo sintéticos tienen la ventaja de mostrar un patrón de E/S limpio una y otra vez, pero nunca replicarán un verdadero entorno de producción. La introducción del rendimiento de la aplicación además de los productos de almacenamiento comienza a mostrar qué tan bien interactúa el almacenamiento con sus controladores, el sistema operativo local, la aplicación que se está probando, la pila de red, la conmutación de red y los servidores externos. Estas son variables que un generador de carga de trabajo sintético simplemente no puede tener en cuenta, y también son un orden de magnitud más intensivo en recursos e infraestructura en términos del equipo requerido para ejecutar este punto de referencia en particular.
Resultados de rendimiento de MarkLogic
Probamos una amplia gama de soluciones de almacenamiento con el punto de referencia MarkLogic NoSQL que cumplen con los requisitos mínimos del entorno de prueba. Para calificar para la prueba, el dispositivo de almacenamiento debe tener una capacidad utilizable superior a 650 GB y estar diseñado para operar en condiciones empresariales estresantes. Esto incluye nuevos aceleradores de aplicaciones PCIe, grupos de cuatro SSD empresariales SAS o SATA, así como grandes matrices de HDD conectadas localmente o en red. A continuación se enumeran las cifras generales de latencia capturadas de todos los dispositivos probados hasta la fecha en esta prueba. En las revisiones de productos, nos sumergimos en más detalles y comparamos los productos de la competencia, mientras que nuestra lista principal muestra la estratificación de las diferentes soluciones de almacenamiento.
| Inteligencia del | Latencia promedio general | Lama | J-lat | MR-lat | MW-latitud |
|---|---|---|---|---|---|
| Dell R720 Express Flash 350GB JBOD x 4 (SLC) |
1.24 | 1.56 | 1.56 | 0.46 | 1.37 |
| Huawei Tecal ES3000 2.4TB 4 particiones (MLC) |
1.31 | 1.41 | 1.53 | 0.98 | 1.32 |
| Huawei Tecal ES3000 1.2TB 4 particiones (MLC) |
1.43 | 1.42 | 1.76 | 1.20 | 1.33 |
| EchoStreams FlacheSAN2 w/ Intel SSD 520 S/W RAID0, 4 grupos de 8 SSD de 180 GB (MLC) |
1.48 | 1.65 | 2.01 | 0.81 | 1.46 |
| Micrón P320h 700GB 4 particiones (SLC) |
1.49 | 1.62 | 2.13 | 0.79 | 1.41 |
| Fusión ioDrive2 Duo MLC 2.4TB S/W RAID0, modo de alto rendimiento, 4 particiones (MLC) |
1.70 | 1.73 | 2.57 | 0.97 | 1.51 |
| Fusión ioDrive2 Duo SLC 1.2TB S/W RAID0, modo de alto rendimiento, 4 particiones (SLC) |
1.72 | 1.78 | 2.69 | 0.90 | 1.52 |
| OCZ Z-Drive R4 1.6TB 4 particiones (MLC) |
1.73 | 1.67 | 2.38 | 1.43 | 1.42 |
| Hitachi Ultrastar SSD400S.B 400GB JBOD x 4 (SLC) |
1.77 | 1.75 | 2.72 | 1.11 | 1.51 |
| Óptimo inteligente 400GB JBOD x 4 (MLC) |
1.82 | 1.69 | 2.74 | 1.36 | 1.49 |
| EchoStreams FlacheSAN2 w/ Intel SSD 520 S/W RAID10, 4 grupos de 8 SSD de 180 GB (MLC) |
2.02 | 2.12 | 3.02 | 1.17 | 1.79 |
| Virident FlashMAX II 2.2TB Modo de alto rendimiento, 4 particiones (MLC) |
2.26 | 2.30 | 3.39 | 1.57 | 1.81 |
| Hitachi Ultrastar SSD400M 400GB JBOD x 4 (MLC) |
2.58 | 2.09 | 4.49 | 2.07 | 1.68 |
| OCZ Talos 2 400GB JBOD x 4 (MLC) |
2.62 | 2.10 | 4.33 | 2.28 | 1.78 |
| Intel CC S3700 200GB JBOD x 4 (MLC) |
3.27 | 2.71 | 5.80 | 2.59 | 1.95 |
| OCZ Talos 2 200GB JBOD x 4 (MLC) |
3.53 | 2.62 | 6.16 | 3.40 | 1.96 |
| SSD Intel® 910 de 800 GB No RAID, JBOD x 4 (MLC) |
4.29 | 3.21 | 8.27 | 3.43 | 2.23 |
| Fusión ioDrive2 MLC 1.2TB S/W RAID0, modo de alto rendimiento, 4 particiones (MLC) |
4.69 | 3.58 | 9.15 | 3.74 | 2.28 |
| OCZ Deneva 2 200GB JBOD x 4 (MLC) |
6.65 | 5.38 | 13.48 | 4.54 | 3.18 |
| Kingston E100 200GB JBOD x 4 (MLC) |
8.00 | 6.82 | 16.22 | 5.46 | 3.49 |
| Nube inteligente Speed 500 240GB JBOD x 4 (MLC) |
11.06 | 9.07 | 22.74 | 7.19 | 5.23 |
| Micrón P400m 400GB JBOD x 4 (MLC) |
12.60 | 9.70 | 27.51 | 8.70 | 4.51 |
| Fusión ioDrive Duo MLC 1.28TB S/W RAID0, modo de alto rendimiento, 4 particiones (MLC) |
12.89 | 10.52 | 26.77 | 9.70 | 4.58 |
| Micrón P400m 200GB JBOD x 4 (MLC) |
14.98 | 11.99 | 31.93 | 10.54 | 5.46 |
| Toshiba 15K MK01GRRB 147GB Hardware LSI 9286-8e x 16, RAID10 x 4 |
16.58 | 7.85 | 40.61 | 12.25 | 5.61 |
| LSI Nytro WarpDrive 800GB 4 particiones (MLC) |
17.39 | 17.08 | 31.42 | 13.63 | 7.43 |
| Toshiba 10K MBF2600RC 600GB Hardware LSI 9286-8e x 16, RAID10 x 4 |
24.20 | 10.89 | 57.94 | 20.61 | 7.35 |
| Toshiba 15K MK01GRRB 147GB S/W RAID x 16, RAID 10 x 4 |
61.40 | 54.33 | 126.77 | 45.21 | 19.28 |




Amazon