fbpx
Wikipedia

DBM (informática)

En informática, una DBM es una biblioteca y un formato de archivo que proporciona acceso rápido y con una sola tecla a los datos. Siendo una base de datos de valores clave del Unix original, dbm es uno de los primeros ejemplos de un sistema NoSQL.

Historia

La biblioteca original y el forma de archivo de dbm eran simplemente un motor de base de datos, escrito por Ken Thompson y publicado por AT&T en 1979. El nombre es un acrónimo de tres letras que significan DataBase Manager, que también puede referenciar a la familia de motores de base de datos con APIs y funciones derivadas del primer dbm.

La biblioteca dbm almacena datos arbitrarios usando una sola clave (una clave primaria ) en cubos de tamaño fijo y usa técnicas de hashing para permitir la recuperación rápida de los datos por clave.

El esquema de hash utilizado es una forma de hash extensible, de modo que el esquema de hash se expande a medida que se agregan nuevos depósitos a la base de datos, lo que significa que, cuando está casi vacía, la base de datos comienza con un depósito, que luego se divide cuando se llena. Los dos depósitos secundarios resultantes se dividirán cuando se llenen, por lo que la base de datos crece a medida que se agregan claves.

La biblioteca dbm y sus derivados son bases de datos pre- relacionales – administran matrices asociativas, implementadas como tablas hash en disco. En la práctica, pueden ofrecer una solución más práctica para el almacenamiento de alta velocidad al que se accede por clave, ya que no requieren la sobrecarga de conexión y preparación de consultas. Esto se equilibra con el hecho de que, por lo general, solo se pueden abrir para escritura por un único proceso a la vez. Un agente demonio puede manejar solicitudes de múltiples procesos, pero introduce una sobrecarga de IPC .

Implementaciones

La biblioteca dbm original de AT&T ha sido reemplazada por muchas de sus implementaciones sucesivas. Algunos ejemplos notables son:

  • ndbm ("new dbm"), basado en el dbm original con algunas características nuevas.
  • GDBM ("GNU dbm"), reescritura de GNU de la biblioteca que implementa las características de ndbm y su propia interfaz.
  • sdbm ("small dbm"), una reescritura de dominio público de dbm . Es parte de las distribuciones estándar de Perl y Ruby . [1][2]
  • qdbm, un dbm de mayor rendimiento que utiliza muchas de las mismas técnicas que Tokyo Cabinet / Kyoto. Escrito por el mismo autor antes de pasar a los gabinetes. [3]
  • tdb, una base de datos simple utilizada por Samba que admite varios escritores. Tiene una API basada en gdbm. [4]
  • Berkeley DB, 1991 reemplazo de ndbm por Sleepycat Software (ahora Oracle ) creado para evitar los derechos de autor de AT&T Unix en BSD . Cuenta con muchas extensiones como paralelismo, control transaccional, hash y almacenamiento de árbol B.
  • LMDB : implementación de árbol B + de copia en escritura mapeada en memoria en C con una API de estilo Berkeley.

Las siguientes bases de datos están inspiradas en dbm, pero no proporcionan directamente una interfaz dbm, aunque sería trivial empaquetar una:

Disponibilidad

En 2001, la implementación ndbm de DBM era estándar en Solaris e IRIX, donde gdbm es ubicuo en Linux . Las implementaciones Berkeley DB eran comunes en algunos sistemas operativos gratuito.[7]​ Después de un cambio de licencia de Berkeley DB a GNU AGPL en 2013, proyectos como Debian se han trasladado a LMDB. [8]

Fiabilidad

En 2018, un test de fuzzing AFL,usado en muchas bases de datos de la familia DBM, expuso bastantes problemas en la implementación cuando se intenta corromper o invalidar ficheros de la base de datos. Solo freecdb de Daniel J. Bernstein no tuvo problemas. Los autores de gdbm, tdb y lmdb respondieron rápidamente. Berkeley DB se quedó atrás debido a la gran cantidad de otros problemas; [7]​ las correcciones serían irrelevantes para los usuarios de software de código abierto debido a que el cambio de licencia los bloqueaba en una versión anterior. [8]

Ver también

Referencias

  1. yigit, ozan. «sdbm.bun». cse.yorku.ca. Consultado el 8 de mayo de 2019. 
  2. «class SDBM». Documentation for Ruby 2.4.0. «Note that Ruby comes with the source code for SDBM, while the DBM and GDBM standard libraries rely on external libraries and headers.» 
  3. «QDBM: Quick Database Manager». fallabs.com. 2006. 
  4. «tdb: Main Page». tdb.samba.org. 
  5. . Fall Labs (en japonés). 5 August 2010. Archivado desde el original el 28 October 2018. Consultado el 25 de mayo de 2019. «Tokyo CabinetはGDBMやQDBMの後継として次の点を目標として開発されました。これらの目標は達成されており、Tokyo Cabinetは従来のDBMを置き換える製品だと言えます。». 
  6. . Fall Labs (en japonés). 5 August 2010. Archivado desde el original el 28 October 2018. Consultado el 25 de mayo de 2019. «Tokyo CabinetはGDBMやQDBMの後継として次の点を目標として開発されました。これらの目標は達成されており、Tokyo Cabinetは従来のDBMを置き換える製品だと言えます。». 
  7. Debroux, Lionel (16 de junio de 2018). «oss-security - Fun with DBM-type databases...». openwall.com. 
  8. , June 19, 2014. 

Error en la cita: La etiqueta <ref> definida en las <references> con nombre «2001-hazel-exim» no se utiliza en el texto anterior.
Error en la cita: La etiqueta <ref> definida en las <references> con nombre «2001-ladd-odonell-xhtml» no se utiliza en el texto anterior.

Error en la cita: La etiqueta <ref> definida en las <references> con nombre «2007-kew-apache» no se utiliza en el texto anterior.

Bibliografía

  • Hazel, Philip (2001). Exim: The Mail Transfer Agent. O'Reilly. 
  • Ladd, Eric; O'Donnell, Jim (2001). Using XHTML, XML and Java 2: Platinum Edition. Que. ISBN 9780789724731. 
  • Kew, Nick (2007). The Apache Modules Book: Application Development with Apache. Prentice Hall Professional. ISBN 9780132704502. 
  • Biblioteca SDBM @ Apache
  • Matthew, Neil; Stones, Richard (2008). «Databases». Beginning Linux Programming. Wiley. 
  • Olson, Michael A. (1999). «Berkeley DB». Proceedings of the FREENIX Track:1999 USENIX Annual Technical Conference. 

informática, informática, biblioteca, formato, archivo, proporciona, acceso, rápido, sola, tecla, datos, siendo, base, datos, valores, clave, unix, original, primeros, ejemplos, sistema, nosql, Índice, historia, implementaciones, disponibilidad, fiabilidad, ta. En informatica una DBM es una biblioteca y un formato de archivo que proporciona acceso rapido y con una sola tecla a los datos Siendo una base de datos de valores clave del Unix original dbm es uno de los primeros ejemplos de un sistema NoSQL Indice 1 Historia 2 Implementaciones 3 Disponibilidad 4 Fiabilidad 5 Ver tambien 6 Referencias 7 BibliografiaHistoria EditarLa biblioteca original y el forma de archivo de dbm eran simplemente un motor de base de datos escrito por Ken Thompson y publicado por AT amp T en 1979 El nombre es un acronimo de tres letras que significan DataBase Manager que tambien puede referenciar a la familia de motores de base de datos con APIs y funciones derivadas del primer dbm La biblioteca dbm almacena datos arbitrarios usando una sola clave una clave primaria en cubos de tamano fijo y usa tecnicas de hashing para permitir la recuperacion rapida de los datos por clave El esquema de hash utilizado es una forma de hash extensible de modo que el esquema de hash se expande a medida que se agregan nuevos depositos a la base de datos lo que significa que cuando esta casi vacia la base de datos comienza con un deposito que luego se divide cuando se llena Los dos depositos secundarios resultantes se dividiran cuando se llenen por lo que la base de datos crece a medida que se agregan claves La biblioteca dbm y sus derivados son bases de datos pre relacionales administran matrices asociativas implementadas como tablas hash en disco En la practica pueden ofrecer una solucion mas practica para el almacenamiento de alta velocidad al que se accede por clave ya que no requieren la sobrecarga de conexion y preparacion de consultas Esto se equilibra con el hecho de que por lo general solo se pueden abrir para escritura por un unico proceso a la vez Un agente demonio puede manejar solicitudes de multiples procesos pero introduce una sobrecarga de IPC Implementaciones EditarLa biblioteca dbm original de AT amp T ha sido reemplazada por muchas de sus implementaciones sucesivas Algunos ejemplos notables son ndbm new dbm basado en el dbm original con algunas caracteristicas nuevas GDBM GNU dbm reescritura de GNU de la biblioteca que implementa las caracteristicas de ndbm y su propia interfaz sdbm small dbm una reescritura de dominio publico de dbm Es parte de las distribuciones estandar de Perl y Ruby 1 2 qdbm un dbm de mayor rendimiento que utiliza muchas de las mismas tecnicas que Tokyo Cabinet Kyoto Escrito por el mismo autor antes de pasar a los gabinetes 3 tdb una base de datos simple utilizada por Samba que admite varios escritores Tiene una API basada en gdbm 4 Berkeley DB 1991 reemplazo de ndbm por Sleepycat Software ahora Oracle creado para evitar los derechos de autor de AT amp T Unix en BSD Cuenta con muchas extensiones como paralelismo control transaccional hash y almacenamiento de arbol B LMDB implementacion de arbol B de copia en escritura mapeada en memoria en C con una API de estilo Berkeley Las siguientes bases de datos estan inspiradas en dbm pero no proporcionan directamente una interfaz dbm aunque seria trivial empaquetar una Tokyo Cabinet Implementacion de C empleando tablas hash arbol B o estructuras de matriz de longitud fija de FAL Labs Tiene mejoras en el paralelismo 5 Kyoto Cabinet implementacion de C que emplea tablas hash arbol B o estructuras de matriz de longitud fija de FAL Labs Tiene mejoras en el paralelismo 6 Tkrzw sucesor con licencia de Apache 2 0 del gabinete de Kyoto WiredTiger base de datos con almacenamiento tradicional orientado a filas y a columnas Disponibilidad EditarEn 2001 la implementacion ndbm de DBM era estandar en Solaris e IRIX donde gdbm es ubicuo en Linux Las implementaciones Berkeley DB eran comunes en algunos sistemas operativos gratuito 7 Despues de un cambio de licencia de Berkeley DB a GNU AGPL en 2013 proyectos como Debian se han trasladado a LMDB 8 Fiabilidad EditarEn 2018 un test de fuzzing AFL usado en muchas bases de datos de la familia DBM expuso bastantes problemas en la implementacion cuando se intenta corromper o invalidar ficheros de la base de datos Solo freecdb de Daniel J Bernstein no tuvo problemas Los autores de gdbm tdb y lmdb respondieron rapidamente Berkeley DB se quedo atras debido a la gran cantidad de otros problemas 7 las correcciones serian irrelevantes para los usuarios de software de codigo abierto debido a que el cambio de licencia los bloqueaba en una version anterior 8 Ver tambien EditarBase de datos incrustada Base de datos de archivos planos ISAM Base de datos de valores clave Base de datos movil NoSQL Semaforo programacion Referencias Editar yigit ozan sdbm bun cse yorku ca Consultado el 8 de mayo de 2019 class SDBM Documentation for Ruby 2 4 0 Note that Ruby comes with the source code for SDBM while the DBM and GDBM standard libraries rely on external libraries and headers QDBM Quick Database Manager fallabs com 2006 tdb Main Page tdb samba org Tokyo Cabinet第1版基本仕様書 Fundamental Specifications of Tokyo Cabinet Version 1 Fall Labs en japones 5 August 2010 Archivado desde el original el 28 October 2018 Consultado el 25 de mayo de 2019 Tokyo CabinetはGDBMやQDBMの後継として次の点を目標として開発されました これらの目標は達成されており Tokyo Cabinetは従来のDBMを置き換える製品だと言えます Tokyo Cabinet第1版基本仕様書 Fundamental Specifications of Tokyo Cabinet Version 1 Fall Labs en japones 5 August 2010 Archivado desde el original el 28 October 2018 Consultado el 25 de mayo de 2019 Tokyo CabinetはGDBMやQDBMの後継として次の点を目標として開発されました これらの目標は達成されており Tokyo Cabinetは従来のDBMを置き換える製品だと言えます a b Debroux Lionel 16 de junio de 2018 oss security Fun with DBM type databases openwall com a b June 19 2014 Error en la cita La etiqueta lt ref gt definida en las lt references gt con nombre 2001 hazel exim no se utiliza en el texto anterior Error en la cita La etiqueta lt ref gt definida en las lt references gt con nombre 2001 ladd odonell xhtml no se utiliza en el texto anterior Error en la cita La etiqueta lt ref gt definida en las lt references gt con nombre 2007 kew apache no se utiliza en el texto anterior Bibliografia EditarHazel Philip 2001 Exim The Mail Transfer Agent O Reilly Ladd Eric O Donnell Jim 2001 Using XHTML XML and Java 2 Platinum Edition Que ISBN 9780789724731 Kew Nick 2007 The Apache Modules Book Application Development with Apache Prentice Hall Professional ISBN 9780132704502 Biblioteca SDBM Apache Matthew Neil Stones Richard 2008 Databases Beginning Linux Programming Wiley Olson Michael A 1999 Berkeley DB Proceedings of the FREENIX Track 1999 USENIX Annual Technical Conference Obtenido de https es wikipedia org w index php title DBM informatica amp oldid 133434652, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos