Base de datos orientada a documentos

Ir a: navegación, búsqueda de

A base de datos orientada a documentos es un Programa de computadora diseñado para almacenar, recuperar y administrar la información orientada al documento, también conocido como los datos semiestructurados. Documento orientado a bases de datos son una de las principales categorías de NoSQL bases de datos y la popularidad del término "documento base de datos orientada" (o "almacén de documento") ha crecido[1] con el uso del término NoSQL Sí mismo. En contraste con bases de datos relacionales y su noción de "Relación", es decir, una tupla (o fila) de elementos de datos relacionados con tipos fuertes, estos sistemas están diseñados alrededor de una noción abstracta de un "documento".

Contenido

  • 1 Documentos
    • 1.1 Llaves y recuperación
    • 1.2 Organización
  • 2 Implementaciones
    • 2.1 Implementaciones de bases de datos XML
  • 3 Véase también
  • 4 Referencias
  • 5 Lectura adicional

Documentos

¿Es el concepto central de una base de datos orientada a documentos Documentos, en gran medida el sentido inglés habitual, contienen grandes cantidades de datos que provechosamente pueden hacerse disponibles. Las implementaciones de bases de datos orientada a documentos difieren ampliamente en detalle y funcionalidad. La mayoría acepta documentos en una variedad de formas y les encapsular en un formato interno estandarizado, al mismo tiempo extraer por lo menos algunos elementos de datos específicos que son entonces asociado con el documento.

Un ejemplo trivial podría ser escanear documentos en papel, extrayendo el título, autor y fecha de ellos tampoco por OCR o tener un humano localizar y entrar en ellas y guardar cada documento en una base de datos relacional de 4 columnas, las columnas siendo autor, título, fecha y un BLOB lleno de imágenes de página. Algunas bases de datos orientada a documentos hacen esencialmente las mismas cosas, pero con PDF (que puede o no contener texto en lugar de imágenes de texto).

Hoy en día se pueden lograr mucho más, y una base de datos orientada al documento eficaz debe extraer y manejar mucha más información sobre los documentos que gestiona. Afortunadamente, los documentos generalmente están ahora disponibles en formas más usables. Una gran cantidad de publicaciones se realiza en HTML, XML, TeX, o al menos pueden exportar o convertir a los sistemas. Muchos otros documentos en el mundo real son los correos electrónicos, que también tienen una cantidad moderada de metadatos disponibles explícitamente en sus cabeceras. En tales casos una base de datos documental tiene acceso no sólo a las imágenes sino a las palabras reales, frases, los límites del párrafo y etiquetas descriptivas que indica la importancia de partes del texto ("nota", "capítulo", "nombre del autor", etc.) y puede hacer disponible para la búsqueda, análisis estadístico, minería de datosy otros usos. Incluso cuando datos no están en formas de alto valor como estos, modernas orientada al documento de bases de datos a menudo pueden extraer componentes significativos mediante heurística y otros métodos.

En una base de datos no-documento, generalmente hay una gama muy pequeña de los campos, muchas o la mayoría de la cual sólo puede ocurrir en contextos muy limitados y que generalmente se requieren en esos contextos. Por ejemplo, un registro de "persona" podría consistir en nombres y apellidos, dirección, ciudad, país, teléfono, teléfono de casa y así sucesivamente. Lo importante, ninguno de esos campos tiene mucha estructura interna o se repite. Base de datos relacional implementaciones a menudo requieren que cualquier campo repetible asignarse en una tabla separada, en la cual varios registros devolución al registro se relacionan en la tabla original mediante un atributo "foreign key". Asimismo, las implementaciones de bases de datos relacionales no fácilmente permiten estructura compleja dentro de un campo determinado, ya que los campos tienden a limitarse a unos tipos de datos atómicos como enteros, fechas y cadenas. (Esto, sin embargo, puede ser aliviada: el PostGIS extensión de PostgreSQL hace los tipos disponibles de atributo geométrico. Esto hace posible almacenar objetos geométricos complejos en los campos que luego pueden ser procesados mediante operadores relacionales geométricos. Otro ejemplo, también de la aplicación de PostgreSQL, es un nativo XML tipo de atributo que se puede consultar mediante un operador nativo "xpath".)

Documentos, por el contrario, están estructurados de manera accesible a los seres humanos, así como equipos. Se caracterizan por extremadamente frecuente reutilización de componentes pequeños (palabras y frases, pero también tipos de componentes como el "párrafo" o "nota") y mezcla muy libre de esos tipos, en comparación con las mezclas en bases de datos tradicionales. Hamlet es un documento, que consta de unidades estructurales tales como actos, escenas, discursos, atribuciones, acotaciones y notas. Una entrada en la libreta de direcciones de teléfonos inteligentes es un "documento" pero sólo apenas tan, que se asemeja a un solo registro en una relacional o similar de bases de datos mucho más.

Casi cualquier formato puede utilizarse para metadatos extraídos: XML, YAML, JSON, y BSON. Sin embargo, el propio documento se almacena generalmente, en menos como una mancha en su formato original, que puede ser XML, PDF, formatos propietarios/binario procesador de textos o "plain text"; funcionalidad de la base de datos depende en gran medida en el formato en que documentos alcanzan y capacidad de la base de datos para extraer datos específicos de ese formato.

Documentos dentro de una base de datos orientada a documentos son similares, de alguna manera, los registros o filas en bases de datos relacionales, pero tienen una estructura interna mucho más (la medida de la propia base de datos es consciente de esa estructura y puede utilizarla, varía). Documentos, particularmente en TeX, XML y otros formatos de alta gama, se adhieren a un esquema formal; Pero no muchos documentos, o si lo hacen, el esquema no es explícito. Por ejemplo, el siguiente es un documento:

< artículo >< autor >< apellido > Bob < / apellido >< apellido > Smith < / apellido >< / autor >< abstracto > este documento se refiere... < / Abstract >< sección n = "1" >< título > introducción < / título >< to >... < / sección >< / artículo >

Un segundo documento, incluso del mismo género y el esquema, puede tener un diferente número y disposición de secciones, párrafos y similares; puede tener varios coautores; puede tener mucho otros metadatos como autor o publicación de información, referencias bibliográficas a otros documentos (en el mismo o en otras bases de datos, o en ninguna base de datos en absoluto) y así sucesivamente.

Estos dos documentos típicamente comparten muchos elementos estructurales uno con el otro, pero cada uno puede también tener elementos hace el otra no. A diferencia de una base de datos relacional donde cada registro contiene la secuencia idéntica de campos (algunos de los cuales pueden estar vacío o sostener falta valor indicadores), estructuras de documento generalmente permiten un número ilimitado de componentes organizados jerárquicamente, con repetición extensa. Sería absurdo, por ejemplo, para diseñar una base de datos con la tabla de "secciones", intentó proporcionar tantos campos como el número de párrafos de la sección más larga verá (sin mencionar las muchas otras clases de componentes del documento que aparecen dentro de las secciones). Incluso si uno hizo, nombres de campos en una relación algo como "p1", "p2",... no, lo que respecta a la base de datos, indican que esos campos tienen nada que ver uno con el otro, o pertenecer en un cierto orden significativo. Con el fin de evitar la confusión con la noción muy diferente de la base de datos "campos", bases de datos documentales pueden referirse a las partes de documentos como "componentes" o "elementos".

Documentos, sin embargo, a menudo se ajustan a esquemas formales que restringen sólo se admiten qué clases de componentes, y dónde. TeX proporciona una amplia gama de componentes, aunque autores pueden crear sus propios también. Los muchos establecieron esquemas para su uso con XML son similares, pero los autores también pueden crear o utilizar un esquema formal en un lenguaje de esquemas tales como DTD, XSD, Relax NG, o Schematron. Entre los esquemas más utilizados son JATS para publicaciones técnicas; Iniciativa de codificación de texto para obras literarias; DocBook para obtener manuales de sistemas informáticos, y HTML para publicación Web.

Algunos de los sitios Web más populares son bases de datos documentales. Las colecciones de muchos de los artículos en PubMed.gov o principales editoriales; Copro y sus parientes; y motores de búsqueda incluso (aunque muchos de ellos almacenan enlaces a documentos indexados, en lugar de pleno documentos propios).

Llaves y recuperación

Los documentos pueden resolverse en la base de datos mediante un único clave que representa ese documento. Esta llave es a menudo una cadena simple, un URI, o una ruta. La clave puede utilizarse para recuperar el documento de la base de datos. Por lo general, la base de datos mantiene un índice de la clave para acelerar la recuperación de documentos. Las bases de datos documentales más primitivos pueden hacer poco más que eso. Sin embargo, las bases de datos modernas orientadas a documentos proporcionan mucho más, porque ellos extracción e indexar todas las clases de metadatos y generalmente también el contenido de los documentos de todos los datos. Estas bases de datos ofrecen un lenguaje de consulta que permite al usuario recuperar documentos basados en su contenido. Por ejemplo, quizá quieras recuperar todos los documentos cuya fecha cae dentro de una gama, que contiene una mención a otro documento, etc... El conjunto de API de consulta o características del lenguaje de consulta disponibles, así como el rendimiento esperado de las consultas, varía significativamente de una aplicación a otra.

Organización

Implementaciones ofrecen una variedad de formas de organización de documentos, incluyendo las nociones de:

  • Colecciones
  • Etiquetas
  • Metadatos no visibles
  • Jerarquías de directorio
  • Cubos

Implementaciones

Nombre Editor Licencia Idioma Notas Descanso API
ArangoDB triAGENS Licencia Apache 2.0 C, C++ & JavaScript Un modelo distribuido multi, alto rendimiento del documento base de datos de almacén y gráfico. Sí [2]
BaseX Equipo BaseX Licencia BSD Java, XQuery Soporte para XML, JSON y formatos binarios; cliente / servidor basado en la arquitectura; búsquedas simultáneas estructurales y de texto completo y actualizaciones; APIs del resto. Sí
Cassandra Apache Software Foundation Licencia Apache Java JSON sobre HTTP Sí
Cloudant Cloudant, Inc. Propietario Erlang, Java, Scala, y C Servicio de base de datos distribuida basado en BigCouch, de la empresa fuente abierta bifurcación de la Apache-respaldo CouchDB proyecto. Sí
Clusterpoint Clusterpoint Ltd. Licencia comunitaria libre / Comercial[3] C++ Horario libre, orientadas a documentos sistema de gestión de base de datos plataforma de servidor basado en almacenamiento de datos, búsqueda de texto completo funcionalidad del motor, información Ranking relevancia de la búsqueda y clustering. Sí
Servidor Couchbase Couchbase, Inc. Licencia Apache Erlang y C Base de datos distribuida NoSQL documental. Sí [4]
CouchDB Apache Software Foundation Licencia Apache Erlang JSON sobre REST/HTTP con Control de concurrencia multi-versión y limited ÁCIDO propiedades. Usos mapa y reducir para consultas y vistas.[5] Sí [6]
Existen Existen, [2] LGPL XQuery, Java Búsqueda de XML sobre REST/HTTP, WebDAV, Lucene Fulltext, validación, control de versiones, agrupamiento, disparadores, URL rewriting, colecciones, ACLS, actualización de XQuery Sí [7]
FleetDB FleetDB Licencia MIT Clojure A Basados en JSON libre de esquema de base de datos optimizada para desarrollo ágil. (desconocido)
Informix IBM Propietario Varios (Compatible con MongoDB API) RDBMS cumplimiento JSON, replicación, sharding y ácido (desconocido)
Investigan InfoData Systems, Inc. Propietario desconocido A mediados de los 80 fue la dominante orientada al documento base de datos comercial, ampliamente exitosa. La compañía parece haber salido del negocio en 2005. (desconocido)
Lotus Notes IBM Propietario LotusScript, Java, Lotus @Formula (desconocido)
MarkLogic MarkLogic Corporation Licencia de desarrollador libre o Comercial RESTO, Java, XQuery, XSLT, C++ Distribución orientada al documento base de datos con Control de concurrencia multi-versión, integrado Búsqueda de texto completo y ÁCIDO-semántica de transacción obediente Sí
MongoDB MongoDB, Inc GNU AGPL v3.0 para el DBMS, Licencia Apache 2 para los conductores del cliente[8] C++ Base de datos documental con replicación y sharding Opcional [9]
PAPERAS Base de datos[10] Propietario y Affero GPL[11] PAPERAS Comúnmente utilizados en aplicaciones de salud. (desconocido)
OrientDB Orientar las tecnologías Licencia Apache Java JSON sobre HTTP Sí
Dizzy Hibernating Rhinos LTD Propietario y modificado Affero GPL[12] C#, JavaScript Sí
Redis Licencia BSD ANSI C Tienda de clave y valor apoyando las listas y establece con protocolo binario (desconocido)
RethinkDB GNU JKFASHION para el DBMS, Licencia Apache 2 para los conductores del cliente C++ (desconocido)
Cohete U2 Cohete Software Propietario UniData, universo Sí (Beta)
Sqrrl Enterprise sqrrl Propietario Java Distribuida en tiempo real nuestra base de datos con seguridad a nivel celular y escalabilidad masiva. Sí
Symport Laboratorios de montaña Propietario Ruby on Rails, CoffeeScript, EmberJS Asegurar la recolección de datos basadas en web y plataforma de gestión a medida para la investigación. (Desconocido)


Implementaciones de bases de datos XML

Para obtener más información: Base de datos XML

Más bases de datos XML son bases de datos orientada al documento.

Véase también

  • Teoría de base de datos
  • Jerarquía de datos
  • Base de datos en memoria
  • Internet Message Access Protocol (IMAP)
  • NoSQL
  • Base de datos de objeto
  • Base de datos online
  • Base de datos de tiempo real
  • Base de datos relacional

Referencias

  1. ^ DB-motores Ranking por categoría de modelo de base de datos
  2. ^ API REST ArangoDB
  3. ^ Opciones de licencias Clusterpoint DBMS
  4. ^ Documentación. Couchbase. Recuperado encendido 2013-09-18.
  5. ^ Resumen de CouchDB
  6. ^ CouchDB documento API
  7. ^ Existen-db Open Source nativo XML Database. Existen-db.org. Recuperado encendido 2013-09-18.
  8. ^ [1]
  9. ^ MongoDB resto Interfaces
  10. ^ Programación extrema de la base de datos con las paperas Globals
  11. ^ GTM paperas FOSS en SourceForge
  12. ^ Guifts licencias

Lectura adicional

  • Assaf Arkin. (2007, el 20 de septiembre). Consistencia de lectura: Tonto las bases de datos, servicios inteligentes. Labnotes: no dejes que la burbuja se suba a la cabeza.

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Document-oriented_database&oldid=636294547"