a aplicação ou pacotes a serem distribuídos: • BerkeleyDB C Edition; • BerkeleyDB Java Edition; • BerkeleyDB XML Edition. • Armazena pares arbitrários chave/dado; • Possui interface para outras linguagens: C++, PHP, Java, Perl, Ruby, TCL, Smalltalk, .Net e muitas outras; • Oferece um ambiente de armazenamento de dados de alta performance.
em Berkeley; • 1986 – 1994: Processo de transição do sistema operacional BSD 4.3 para o 4.4; • 1996: Netscape requisita melhorias e modificação para adequá-la ao Netscape e servidor LDAP . É fundada a Sleepcat Software. • 2006: A Sleepcat é comprada pela Oracle.
no gerenciamento do armazenamento dos pares chave/dado (DA – Data Access); • 2.x – adicionado sistema de bloqueio, possibilitando acesso concorrente aos dados (CDA – Concurrent Data Access); • 3.x – adicionado sistema de logging para transações e recuperação de dados (TDS – Transactional Data Store); • 4.x – adicionado sistema de replicação de dados permitindo alta disponibilidade (HA -- High Availability).
de dados e a infraestrutura BerkeleyDB; • Base de dados – coleção de itens que compartilham: • Estrutura de índices; • Conjunto de índices secundários; • Ordem das chaves ou tabela de hash. • Arquivo – contem uma ou mais base de dados e seu caminho é sempre relativo ao ambiente (Environment).
possuem chaves primárias e secundárias podem ser especificadas; • Estruturas de indexação disponíveis: BTree, Recno, Queue, Hash; • A aplicação gerencia a estrutura de dados , BerkeleyDB só “enxerga” os pares chave/dado.
*data; size_t size; } DBT; int *put(const DB *db, DBT *key, const DBT *data, u_int flags); int *close(DB *db); Estrutura da chave ou dado Alguns protótipos
um grupo de operações são aplicadas à base de dados como uma única unidade; • C onsistência – cada transação tem uma visão consistente dos dados; • I solamento – transações são isoladas uma das outras como se elas fossem executadas sequencialmente; • D urabilidade – uma vez encerradas, as transações persistem após o término da aplicação e falha do sistema.