- Berkeley DB
-
Berkeley DB
Berkeley DB Desarrollador Oracle Corporation (diseñado por Universidad de Berkeley) Sitio web Información general Última versión estable 4.7.25
20 de mayo de 2008Sistema operativo Unix, Linux, Windows, AIX, Sun Solaris, SCO Unix, Mac OS Licencia Dual (Licencia pública Sleepycat y comercial) Berkeley DB (DB) es una base de datos embebida con API para C, C++, Java, Perl, Python, Ruby, Tcl y muchos otros lenguajes. Soporta múltiples datos para una misma clave. Berkeley DB permite miles de hilos de control manipulando bases de datos de hasta 256 terabytes en muchos sistemas, incluidos la mayoría de los tipo-UNIX y Windows, e incluso sistema operativos de tiempo real.
Berkeley DB pertenece y es desarrollado por la compañía Sleepycat Software. Está disponible con código fuente y licencia de libre distribución (free software). Los desarrolladores que quieran redistribuir DB con aplicaciones propietarias deberán pedir (y pagar) una licencia a Sleepycat Software.
Contenido
Características
- Los datos se almacenan en el formato nativo del lenguaje de programación.
- No tiene modo cliente-servidor.
- Caché configurable para modificar el rendimiento.
- Permite crear bloqueos de forma detallada. Esto es especialmente útil para trabajos concurrentes sobre la base de datos de forma que se bloquea una página de registros durante una transacción para evitar que se modifiquen hasta que termine pero permitiendo actuar sobre el resto de páginas.
- Posibilidad de realizar copias de seguridad y replicación en caliente.
- Transacciones y recuperación ante errores ACID. Esto es configurable de forma que se puede ir relajando en función de la aplicación.
- Es compatible con algunas interfaces históricas para bases de datos en UNIX como dbm, ndbm y hsearch.
- Permite utilizar la característica de snapshots para poder efectuar varias transacciones sobre los mismos registros de manera simultánea.
- Posee tres productos asociados a la marca:
- Berkeley DB: La base de datos original escrita en C.
- Berkeley DB Java Edition: Una versión de la anterior con algunas características menos pero con la ventaja de estar escrita en un lenguaje multiplataforma.
- Berkeley XML DB:[1] Edición especialmente ideada para almacenar documentos XML mediante colas XQuery. Esta versión actúa como una capa sobre Berkeley DB y tiene bindings para varios lenguajes (Java, C, PHP, etc.).
Breve historia
Berkeley DB fue desarrollada por la Universidad de Berkeley de California como parte de los esfuerzos para lograr eliminar el código de AT&T de BSD 4.3 para la versión 4.4. En 1996 se les preguntó a los creadores de Berkeley DB acerca de Netscape para mejorar y ampliar su biblioteca, en su versión 1.85 por entonces, para satisfacer los requisitos de un servidor LDAP y utilizarla en el navegador Netscape. La petición llevó a la creación de Sleepycat Software, que fue adquirida en febrero de 2006 por Oracle Corporation.
Condiciones de uso
Las versiones 2.0 y superiores de Berkeley DB están disponibles bajo licencia dual. Las versiones anteriores utilizan una licencia tipo BSD. La licencia pública Sleepycat obliga a quien hace uso de Berkeley DB a que libere el código de la aplicación bajo una licencia reconocida por la OSI (Open Source Initiative) que permita redistribución. Sin embargo, también permite licenciar el código de la aplicación con la licencia Sleepycat para evitar esta obligatoriedad de redistribuirlo. Si se desea utilizar Berkeley DB en una aplicación de código cerrado se debe adquirir una licencia comercial de Oracle, la empresa propietaria actualmente de los derechos.
El producto además se distribuye con el código fuente completo, las herramientas de compilación, la suite de pruebas y diversa documentación.
Productos que utilizan Berkeley DB
He aquí algunos de los productos (la mayoría bastante extendidos) que utilizan la base de datos Berkeley DB:
- Bogofilter: Un filtro antispam que almacena listas de palabras en Berkeley DB.
- Carbonado: Una capa de acceso a bases de datos relacionales.
- Cfengine: Un sistema de administración de configuraciones.
- Citadel: Una plataforma para trabajo colaborativo que almacena todos sus datos en Berkeley DB.
- KDevelop: IDE libre para C y C++ que funciona sobre GNU/Linux y otros sistemas operativos tipo-UNIX.
- KLibido: Un lector de grupos de noticias
- MySQL: BDB es de los muchos backends para almacenes de datos disponibles en MySQL; otros son MyISAM e InnoDB.
- OpenLDAP: implementación libre y open source de LDAP.
- Postfix
- RPM: El Gestor de paquetes RPM, utiliza Berkeley DB para almacenar su base de datos de paquetes instalados en el sistema.
- Spamassassin: Una aplicación antispam.
- Subversion: sistema de control de versiones diseñado para suplir las carencias de CVS.
- Sun Grid Engine: Un recurso para administración de sistemas.
Otros proyectos de código abierto y de software libre que la usan son: Caravel CMS, OpenOffice.org (suite de ofimática), etc.
Empresas que utilizan Berkeley DB
He aquí algunas de las empresas que utilizan Berkeley DB en sus productos:
- Airbus: compañía europea aeronáutica y aeroespacial.
- Amazon: empresa líder mundial en B2C.
- AOL
- Cisco Systems
- eBay: web de subastas on-line.
- EMC
- Google: compañía de búsquedas en la Internet.
- Hitachi
- HP
- Motorola
- Nortel: compañía de telecomunicaciones.
- RSA Security
- Sun Microsystems
- TIBCO
- VERITAS
Críticas
Berkeley DB no soporta SQL ni esquemas. A pesar de esto tiene un tamaño superior al de otras alternativas embebidas (es más o menos el doble que SQLite).
Referencias
Enlaces externos
- Página del producto (en Oracle Software)
Categoría: Sistemas de gestión de bases de datos libres
Wikimedia foundation. 2010.