stringtranslate.com

rasdamán

rasdaman ("administrador de datos ráster") es un DBMS de matriz , es decir: un sistema de gestión de bases de datos que agrega capacidades para el almacenamiento y recuperación de matrices multidimensionales masivas , como datos de sensores, imágenes, simulación y estadísticas. Un sinónimo de matrices utilizado con frecuencia es datos rasterizados , como en los gráficos rasterizados 2-D ; En realidad, esto ha motivado el nombre rasdaman . Sin embargo, rasdaman no tiene limitación en el número de dimensiones: puede servir, por ejemplo, datos de medición 1-D, imágenes satelitales 2-D, series temporales de imágenes 3-D x/y/t y datos de exploración x/y/z. , datos oceánicos y climáticos en 4-D, e incluso más allá de las dimensiones espacio-temporales.

Historia

En 1989, Peter Baumann inició una investigación sobre el soporte de bases de datos para imágenes, entonces en el Fraunhofer Computer Graphics Institute . Luego de una investigación en profundidad sobre las formalizaciones de datos ráster en imágenes, en particular el álgebra de imágenes AFATL, estableció un modelo de base de datos para matrices multidimensionales, incluido un modelo de datos y un lenguaje de consulta declarativo. [3] pionero en el campo de las bases de datos de matrices . Hoy en día, las matrices multidimensionales también se conocen como cubos de datos.

En la TU Munich , en el proyecto de investigación básica RasDaMan , financiado por la UE, se estableció un primer prototipo, además del DBMS orientado a objetos O2 , y se probó en aplicaciones de ciencias de la Tierra y la vida. [4] A lo largo de otros proyectos financiados por la UE, este sistema se completó y amplió para admitir DBMS relacionales. Se creó una empresa derivada dedicada a la investigación, rasdaman GmbH, [5] para brindar apoyo comercial además de la investigación que posteriormente continuó en la Universidad Jacobs . [6] Desde entonces, ambas entidades colaboran en el desarrollo y uso de la tecnología rasdaman.

Conceptos

Modelo de datos

Basado en un álgebra de matrices [7] desarrollada específicamente para fines de bases de datos, rasdaman agrega un nuevo tipo de atributo, matriz, al modelo relacional. Como esta definición de matriz está parametrizada, constituye una construcción o plantilla de segundo orden ; Este hecho se refleja en los funcionales de segundo orden en el álgebra y el lenguaje de consulta.

Por razones históricas, las tablas se llaman colecciones , ya que el diseño inicial enfatizaba una integración en el estándar de base de datos orientada a objetos, ODMG . Anticipando una integración completa con SQL, las colecciones de rasdaman representan una relación binaria en la que el primer atributo es un identificador de objeto y el segundo es la matriz. Esto permite el establecimiento de referencias de clave externa entre matrices y tuplas relacionales regulares .

Lenguaje de consulta ráster

El lenguaje de consulta rasdaman, rasql, se integra en SQL estándar y su procesamiento orientado a conjuntos. En el nuevo tipo de atributo, matrices multidimensionales, se proporciona un conjunto de operaciones adicionales que se basan en un conjunto mínimo de operadores centrales definidos algebraicamente, un constructor de matrices (que establece una nueva matriz y la llena con valores) y una matriz. condensador (que, de manera similar a los agregados de SQL, deriva información de resumen escalar de una matriz). El lenguaje de consulta es declarativo (y, por lo tanto, optimizable) y seguro en la evaluación, es decir: se garantiza que cada consulta regresará después de un número finito de pasos de procesamiento.

La guía de consultas de rasql [8] proporciona detalles; aquí algunos ejemplos pueden ilustrar su uso:

seleccione c [ * : * , 100 : 200 , * : * , 42 ] de ClimateSimulations como c          
seleccione img * ( img . green > 130 ) de LandsatArchive como img        

Nota: ésta es una formulación muy ingenua de la búsqueda de vegetación; en la práctica, se usaría la fórmula NDVI , valores nulos para el enmascaramiento de nubes y varias técnicas más.

seleccione img de MRI como img , Máscaras como m donde algunas_células ( img > 250 y m )              
seleccione png ( c [ * : * , * : * , 100 , 42 ] ) de ClimateSimulations como c           

Arquitectura

Administración de almacenamiento

Mosaico de matriz de muestra en rasdaman

Los objetos ráster se dividen en mosaicos . [9] Aparte de una subdivisión normal, es posible cualquier partición generada por el usuario o el sistema. Como los mosaicos forman la unidad de acceso al disco, es importante que el patrón de mosaico se ajuste a los patrones de acceso a las consultas; Varias estrategias de mosaico ayudan a establecer un mosaico de buen rendimiento. Se emplea un índice geográfico para determinar rápidamente los mosaicos afectados por una consulta. Opcionalmente, los mosaicos se comprimen usando una de varias opciones, [10] incluidos algoritmos sin pérdida y con pérdida (wavelet); Independientemente de eso, los resultados de la consulta se pueden comprimir para transferirlos al cliente. Tanto la estrategia de mosaico como la compresión comprenden parámetros de ajuste de la base de datos.

Los mosaicos y el índice de mosaicos se almacenan en el disco de la base de datos de rasdaman, [11] junto con el diccionario de datos que necesita el sistema de tipos dinámicos de rasdaman. Para matrices que superan el espacio en disco, se ha desarrollado compatibilidad con la administración de almacenamiento jerárquico (HSM). [12]

Procesamiento de consultas

La ejecución de consultas se basa en la transmisión de mosaicos. [13] La ejecución sigue un paradigma de transmisión de mosaicos : siempre que sea posible, los mosaicos de matriz abordados por una consulta se recuperan secuencialmente y cada mosaico se descarta después del procesamiento. Esto conduce a una arquitectura escalable a volúmenes de datos que exceden la memoria principal del servidor en órdenes de magnitud.

Las consultas se someten a una gran optimización. [14] El servidor aplica reglas de optimización algebraica (heurística) al árbol de consultas cuando corresponde; De las 150 reglas de reescritura algebraica, 110 en realidad son optimizadoras, mientras que las otras 40 sirven para transformar la consulta en forma canónica. Además, se aplica la optimización basada en costos. El análisis y la optimización juntos toman menos de un milisegundo en una computadora portátil.

Además, las consultas se paralelizan. [15] Rasdaman ofrece paralelismo entre consultas (un despachador programa solicitudes en un grupo de procesos de servidor por transacción) y paralelismo intraconsulta (distribución transparente de subárboles de consultas entre núcleos, GPU o nodos de nube disponibles).

API de cliente

La interfaz principal de rasdaman es el lenguaje de consulta. Las incorporaciones en las API de C++ y Java permiten la invocación de consultas, así como funciones convenientes del lado del cliente para el manejo de matrices. Los arreglos per se se entregan en el formato de memoria principal del lenguaje del cliente y la arquitectura del procesador, listos para su posterior procesamiento. Los códecs de formato de datos permiten recuperar matrices en formatos ráster comunes, como CSV , PNG y NetCDF .

Se proporciona un conjunto de herramientas de diseño web, raswct, que facilita la creación de interfaces de consultas web, incluidos widgets gráficos para el manejo de consultas parametrizadas, como controles deslizantes para umbrales en las consultas.

Servicios web geográficos

Un servlet Java , petascope , que se ejecuta como cliente rasdaman ofrece interfaces de servicios web específicamente para el acceso, procesamiento y filtrado de datos geográficos. Se admiten los siguientes estándares OGC : WMS , WCS , WCPS y WPS .

Para WCS y WCPS , rasdaman es la implementación de referencia .

Estado y modelo de licencia

Hoy en día, rasdaman es una implementación completa que ofrece funciones de consulta de matriz de selección/inserción/actualización/eliminación. Se utiliza tanto en instalaciones comerciales como de investigación.

En colaboración entre el propietario del código original, rasdaman GmbH [5] y la Universidad Jacobs , se realizó una división del código entre 2008 y 2009, lo que dio como resultado rasdaman community , [16] una rama de código abierto , y rasdaman Enterprise , la rama comercial. Desde entonces, la comunidad rasdaman está a cargo de la Universidad Jacobs, mientras que la empresa rasdaman sigue siendo propiedad de rasdaman GmbH. La diferencia entre ambas variantes consiste principalmente en mejoras del rendimiento (como técnicas de optimización específicas) destinadas a soportar bases de datos particularmente grandes, números de usuarios y consultas complejas; Los detalles están disponibles en el sitio web de la comunidad rasdaman . [17]

La licencia comunitaria rasdaman libera el servidor en GPL y todas las partes del cliente en LGPL , permitiendo así el uso del sistema en cualquier tipo de entorno de licencia.

Impacto

Al ser el primer Array DBMS enviado (el primer prototipo disponible en 1996), rasdaman ha dado forma a este reciente dominio de investigación de bases de datos. Los conceptos de modelo de datos y consulta (declaratividad, a veces elección de operadores) se encuentran en enfoques más recientes. Research Data Alliance realizó una comparación profunda de los DBMS de matriz y la tecnología relacionada en 2018. [18]


Estándares

En 2008, el Open Geospatial Consortium lanzó el estándar Web Coverage Processing Service que define un lenguaje de consulta ráster (a menudo llamado "cubo de datos") basado en el concepto de cobertura . La semántica del operador [19] está influenciada por el álgebra de matrices de rasdaman.

En 2016, INSPIRE (Marco legal para la información espacial en Europa [20] ) adoptó WCPS como componente opcional de INSPIRE-WCS. [21]

En 2023, WCPS fue adoptado por ISO TC211 como ISO 19123-3:2023. [22]

En 2024, OGC adoptó la misma especificación que el Tema abstracto 6.3. [23]

En 2019, ISO adoptó el lenguaje de consulta de matrices rasql como [24] para el estándar SQL , con solo ajustes sintácticos menores a SQL.

Uso del proyecto

Dos proyectos seleccionados pueden ilustrar el uso de rasdaman en geoservicios.

El Earth Datacube Playground abierto [25] es un escaparate de cubos de datos geográficos procesables, que ofrece casos de uso de 1-D a 4-D de acceso a datos ráster y procesamiento ad-hoc. El escaparate está construido con rasdaman.

EarthServer [26] es una federación global de proveedores de cubos de datos independientes. Las ofertas de cubos de datos combinados están disponibles como un espacio de cubo de datos único y homogeneizado. El acceso es completamente transparente en cuanto a ubicación: cualquier nodo puede recibir una consulta y responderla, independientemente del nodo de federación en el que se encuentren los datos; esto incluye la fusión automática de datos distribuidos. La participación es gratuita para los contribuyentes de datacube.

Referencias

  1. ^ "El proyecto rasdaman de código abierto en Open Hub". Centro abierto . Software del pato negro . Consultado el 14 de enero de 2020 .
  2. ^ "Licencia Rasdaman". rasdaman.org . Consultado el 1 de agosto de 2016 .
  3. ^ Baumann, P .: Sobre la gestión de datos discretos multidimensionales. VLDB Journal 4(3)1994, Número especial sobre sistemas de bases de datos espaciales, págs. 401 - 444
  4. ^ "Gestión de datos ráster en bases de datos". Servicio de Información sobre Investigación y Desarrollo Comunitario (CORDIS) .
  5. ^ ab "rasdaman, el servidor de análisis de big data". Rasdaman.com . Consultado el 11 de septiembre de 2022 .
  6. ^ "Rasdaman: el motor de análisis de matrices ágiles". www.rasdaman.com . Archivado desde el original el 24 de septiembre de 2015 . Consultado el 15 de enero de 2022 .
  7. ^ Baumann, P .: Álgebra de matrices de bases de datos para datos espacio-temporales y más. Proc. NGITS'99, LNCS 1649, Springer 1999, páginas 76-93
  8. ^ nn: Guía del lenguaje de consulta Rasdaman
  9. ^ Furtado, P., Baumann, P.: Almacenamiento de matrices multidimensionales basado en mosaicos arbitrarios. Proc. ICDE'99, 23 a 26 de marzo de 1999, Sydney, Australia, págs. 328-336
  10. ^ A. Dehmel: un motor de compresión para sistemas de bases de datos de matrices multidimensionales. Tesis doctoral, TU Munich, 2001
  11. ^ P. Furtado: Gestión de almacenamiento de matrices multidimensionales en sistemas de gestión de bases de datos. Tesis doctoral, TU Munich, 2000
  12. ^ B. Reiner et al: Gestión y soporte de almacenamiento jerárquico para sistemas de gestión de bases de datos de matrices multidimensionales a gran escala. Proc. DEXA, Aix-en-Provence, Francia, 2-6 de septiembre de 2002, Springer LNCS 2453, págs. 689-700, doi: 10.1007/3-540-46146-9_68
  13. ^ N. Widmann: Ejecución eficiente de operaciones en datos de matrices multidimensionales. Tesis doctoral, TU Munich, 1999
  14. ^ R. Ritsch: Optimización y evaluación de consultas de matriz en sistemas de gestión de bases de datos. Tesis doctoral, TU Munich, 1999
  15. ^ K. Hahn: Parallele Anfrageverarbeitung in multidimensionalen Array-Datenbanksystemen. Tesis doctoral, TU Munich, 2003
  16. ^ "rasdamán". rasdamán. 2022-02-28 . Consultado el 11 de septiembre de 2022 .
  17. ^ modelo de licencia rasdaman
  18. ^ Baumann, P.: Bases de datos de matriz: conceptos, estándares, implementaciones. Research Data Alliance, Grupo de trabajo de evaluación de bases de datos de matrices, DOI: https://dx.doi.org/10.15497/RDA00024
  19. ^ Baumann, P.: Estándar del servicio de procesamiento de cobertura web (WCPS) de OGC. Geoinformática, 14(4)2010, págs. 447-479
  20. ^ "UE INSPIRA". UE. 2022-02-28 . Consultado el 18 de julio de 2024 .
  21. ^ "Orientación técnica para la implementación de servicios de descarga INSPIRE utilizando servicios de cobertura web (WCS)". 2016-12-16.
  22. ^ "ISO 19123-3: 2023: Información geográfica - Esquema de funciones y geometría de cobertura - Parte 3: Fundamentos del procesamiento". 2023-06-21.
  23. ^ "05 de julio de 2024" (PDF) . 2024-07-05.
  24. ^ "ISO 9075-15:2023: Tecnología de la información - Lenguajes de bases de datos - SQL - Parte 15: Matrices multidimensionales (MDA)". 2023-06-01.
  25. ^ "Zona de juegos Earth Datacube". rasdamán . Consultado el 18 de julio de 2024 .
  26. ^ "Servidor Terrestre". Earthserver.eu . Consultado el 11 de septiembre de 2022 .