Introducción al marco de datos de Spring

En el artículo anterior, ya hemos discutido sobre Spring Framework y Spring Boot . En este artículo, entenderemos sobre el marco de datos de primavera.

La necesidad de Spring Data Framework
Nuestro mundo digital contiene más de 20 zettabytes de datos, y eso es tantos bits de información como las estrellas en nuestro universo físico. Estos datos provienen de diversas fuentes, como la banca, el comercio minorista, el comercio electrónico, la educación, la construcción, los sitios de redes sociales, etc., y están disponibles en ambas formas (es decir), estructuradas y no estructuradas. El costo de crear, capturar, almacenar y administrar estos datos es el mayor desafío para la industria. Hay muchos software y marcos disponibles en el mercado que han resuelto este problema hasta cierto punto. Pero aún estos marcos luchan con problemas como:

  • Es extremadamente difícil e imposible escalar escrituras en RDBMS.
  • Escalarlo vertical u horizontalmente tiene algunas limitaciones o es costoso.

Esto se resolvió con datos NoSQL que surgieron como una solución puntual con la idea de cambiar de ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) a BASE (Básicamente Disponible, Escalable, Eventualmente Consistente). NoSQL es una tendencia constante y es una opción para que los desarrolladores de bases de datos no relacionales utilicen la herramienta adecuada para el trabajo adecuado. Aparte de NoSQL, tenemos Big Data, que se refiere a un conjunto de datos cuyo tamaño está más allá de la capacidad de las herramientas típicas de software de base de datos para capturar, almacenar, administrar y analizar los datos. Big data, en casi todas las industrias, desde decenas de TB (Terabyte) hasta múltiples PB (PetaByte).

Entonces, podemos observar que el panorama del acceso a los datos ha cambiado considerablemente. RDBMS sigue siendo importante, pero no se puede considerar como una solución de «talla única». También sabemos que Spring Framework siempre ha brindado un excelente soporte para el acceso a datos RDBMS, pero le faltaba para manejar otros tipos de acceso a datos (NoSQL y BigData). Por lo tanto, el objetivo del proyecto Spring Data es actualizar el soporte de datos de Spring con todo tipo de tecnologías de datos (datos relacionales, datos no relacionales y Big Data) mientras se conservan las características y capacidades específicas de la tienda.

Marco de datos de primavera:

El marco de datos de Spring es el proyecto principal que contiene muchos marcos secundarios. Todos estos marcos secundarios se ocupan del acceso a datos que es específico de una base de datos. El objetivo de diseño de este marco es proporcionar un modelo consistente y familiar basado en Spring para todas las tecnologías de acceso a datos, como bases de datos relacionales o no relacionales, tecnologías basadas en la nube o marcos de reducción de mapas. En resumen, Spring Data es una iniciativa para brindar a los desarrolladores de Spring un fácil acceso al mundo emergente de NoSQL. A continuación se muestra la gama de tecnologías que Spring Data admite activamente.

  1. Relacional
    • Extensión JPA
    • Extensión JDBC
  2. no relacional
    • redis
    • Mongo
    • HBase
    • Neo4J
    • Gema de fuego
    • Lucena
  3. Consulta DSL
    • El proyecto de código abierto separado, que proporciona seguridad de tipos para ejecutar consultas.
  4. Grandes datos
    • Hadoop
    • HDFS y M/R
    • Colmena
    • Cerdo
    • en cascada

Pocos módulos lanzados populares en este marco:

A continuación se muestran algunos de los principales módulos publicados en el marco del proyecto Spring Data:

  1. JDBC de datos de primavera
  2. JPA de datos de primavera
  3. Datos comunes de primavera
  4. DESCANSO de datos de primavera
  5. Valor clave de datos de primavera
  6. Datos de primavera MongoDB
  7. LDAP de datos de primavera
  8. Redis de datos de primavera
  9. Datos de primavera para Apache Cassandra
  10. Datos de primavera para Apache Solr
  11. Datos de primavera para Apache Geode
  12. Datos de Spring para Pivotal GemFire

Módulo en desarrollo:

Actualmente, el módulo Spring Data R2DBC está en desarrollo. Las características de este módulo son:

  • Soporte de repositorio.
  • Asignación de recursos y traducción de excepciones a través de plantillas.
  • Asignación de objetos/almacén de datos para almacenes de datos SQL y NoSQL.
  • Consultas dinámicas derivadas del nombre de los métodos de los repositorios.
  • Soporte de auditoría transparente.

Palabras clave y definición: a continuación se encuentran algunos de los términos clave y sus definiciones utilizadas en los marcos de Spring Data.

  1. Repositorios: media entre las capas de mapeo de datos y el dominio a través de una interfaz similar a una colección para acceder a los objetos del dominio.
    • Crea POJO que será tu modelo o entidad.
    • Extienda una interfaz de repositorio para operaciones CRUD y agregue métodos de consulta (métodos de búsqueda).
    • Configure Spring para buscar interfaces de repositorio y crear implementaciones.
    • Inyecte implementaciones en sus servicios.
  2. QueryDSL: permite la construcción de consultas similares a SQL con seguridad de tipos para múltiples backends, incluidos MongoDB, Lucence, JPA, JDO, SQL y colección simple en Java.
  3. Modelos de datos NoSQL: los modelos de datos NoSQL generalmente se representan en pares clave-valor y se documentan principalmente como JSON o como gráficos.
  4. Redis: es un trabajo de marco de almacenamiento en caché persistente en el almacén de clave-valor. Viene con muchas funciones y admite un amplio conjunto de tipos de datos (String, Binario, Listas, Conjuntos, Conjuntos ordenados, HashMap, etc.). Puede tomar una instantánea periódica de la memoria y puede agregar comandos a un archivo de registro.
  5. HBase: Es una base de datos orientada a columnas. donde Fila apunta a «columnas» que son pares clave-valor. Las columnas se pueden agrupar en familias de columnas.
  6. MongoDB: es una base de datos estilo JSON de código abierto, escalable, de alto rendimiento y orientada a documentos, donde los documentos se organizan en colecciones. Se considera como uno de los lenguajes de consulta enriquecidos para consultas dinámicas. Tiene características geoespaciales.
  7. Gráficos Los gráficos son una estructura de datos de propósito general. Los gráficos en el contexto de los datos no significan gráficos, diagramas o ilustraciones vectoriales, pero tienen un significado especial para almacenar datos que están estructurados como un gráfico.

Finalmente, podemos concluir que Spring Data es un proyecto general que ha sido diseñado con la intención de unificar y facilitar el acceso a todo tipo de sistema de base de datos.

Publicación traducida automáticamente

Artículo escrito por asadaliasad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *