Qual é a diferença entre as diferentes versões do Berkeleydb e qual devo escolher?
-
26-09-2019 - |
Pergunta
Muitas coisas dependem do BDB. Quando vou instalar o software pré -embalado para o meu servidor, cada software parece querer uma versão diferente do BerkeleyDB. Mas parece que quando eu os compilo, posso especificar uma versão BDB específica. (O software envolvido inclui Postfix, OpenlDAP e Cyrus IMAP.)
Eu uso o BDB em projetos Python octaionalmente e não tenho idéia do impacto que as diferentes versões têm no arquivo de banco de dados criado.
Eu gostaria de saber a diferença entre todas as diferentes versões do Berkeley DB. Parece difícil encontrar informações sobre as diferentes versões e quaisquer diferenças de formato de API ou arquivo, incompatibilidades entre versões, etc.
Eu sei no mínimo as seguintes versões:
1.85 (uma versão histórica?)
2.x
3.x
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
5.0
Solução
Geralmente, para cada lançamento, você pode encontrar um log de alterações na documentação que é baixada com a versão. Você também pode encontrar um histórico de lançamentos anteriores, bem como instruções de atualização no guia de construção, instalação e atualização aqui. Você também pode encontrar a lista de toras de mudança históricas aqui.
Como você descobriu, diferentes pacotes vinculam em diferentes versões da biblioteca Berkeley DB. Geralmente, o nome da biblioteca BDB inclui o número de lançamento, para que várias versões possam coexistir em um sistema ao mesmo tempo. Como o Berkeley DB é usado por tantos pacotes diferentes, não é incomum ter várias versões do Berkeley DB no seu sistema.
Um resumo rápido dos principais lançamentos/recursos:
- 1.85: Last UCB Release (1994)
- 2.0: Adiciona transações, recuperação (1997)
- 3.0: Adiciona fila AM, Posix Threads, Subdatabases (1999)
- 3.3: Adiciona get em massa, índices secundários, isolamento de grau 1 (leituras sujas)
- 4.0: Adiciona replicação (2001)
- 4.1: Adiciona exorpção e somas de verificação
- 4.2: Adiciona API de coleções Java
- 4.3: adiciona números de sequência, grau 2 isolamento
- 4.4: Adiciona compactação de banco de dados, bancos de dados em memória, HA ponto a ponto ha
- 4.5: Adiciona MVCC, API de REPLAÇÃO MGR
- 4.6: Adiciona prioridade do cache por operação
- 4.7: Adiciona API Java DPL, arquitetura neutra ha
- 4.8: Adiciona API C#, C ++ API STL, melhorias de escalabilidade SMP, particionamento de tabela, inserção e exclusão em massa, chaves estrangeiras
- 5.0: Adiciona API SQL, JDBC/ODBC, Text Full e R-Tree Search (2010)
Os lançamentos provisórios adicionam suporte para plataformas adicionais e outros recursos e aprimoramentos.
Eu espero que isso ajude.
Cumprimentos,
Dave