uma transacao aninhada, todas as transacoes-filhas devem ser efetivadas para que a transacao de alto nivel se efetive. Cada subtransacao deve ser concluida ou abortada. Tambem, em aplicacoes avancadas, as tarefas normalmente envolve varios usuarios. As transacoes em cooperacao sao utilizadas para suportar essas tarefas em conjunto.ConcorrenciaVarios algoritmos de controle podem ser usados para garantir a capacidade de serializacao das transacoes e a coerencia do banco de dados. O mais notavel deles e o bloqueio. Nos bancos de dados orientados a objeto, o bloqueio pode ser associado a varios granulos que sao manipulados pelos usuarios, incluindo classes, instancias e objetos complexos.Nos bancos de dados orientados a objeto, ha dois aspectos de bloqueio que sao relevantes para o compartilhamento concorrente de objetos:Bloqueio de Hierarquia de classe: As classes nos bancos de dados orientados a objeto sao organizadas em hierarquias de heranca, de modo que cada classe da hierarquia tenha uma extensao ou instancia preexistente. Por isso e importante fornecer bloqueio de granularidade a essas estruturas. Por exemplo, uma superclasse poderia bloquear implicitamente todas as subclasses no mesmo modo de bloqueio. As subclasses incluem os descendentes diretos da superclasse e os descendentes de suas subclasses.Bloqueio de Objeto complexo: Os bancos de dados orientados a objetos contem objetos que podem referenciar ou incorporar outros objetos. Alem disso, alguns objetos sao "valores", enquanto outros possuem identidade. Para otimizar a concorrencia na presenca de modelos que envolvam objetos complexos, foram analisados varios esquemas de bloqueio de "objetos compostos" ou de "objetos dependentes" para objetos complexos.RecuperacaoA confiabilidade e a grata recuperacao de falhas sao importantes recursos de um sistema de gerenciamento de banco de dados. O gerenciador de recuperacao e o modulo que administras as tecnicas de recuperacao dessas falhas. Os tres importantes tipos de falhas que sao responsabilidade do gerenciador de recuperacao sao: as falhas de transacao, as falhas no sistema, as falhas no meio.Uma das estruturas mais utilizadas para o gerenciamento de recuperacao e o log. O log e utilizado para registrar e armazenar as imagens anteriores e posteriores dos objetos atualizados. A imagem anterior e o estado do objeto antes da atualizacao da transacao, e a imagem posterior e o estado do objeto apos a atualizacao da transacao.Quase todos os bancos de dados orientados a objeto suportam a recuperacao. A maioria dos SGBDOO utiliza o logging para a recuperacao do banco de dados a um estado coerente. Alguns utilizam a duplicacao ou espelhamento de dados.VercionamentoO acesso a estados anteriores ou a estados alterados de objetos e parte inerente de muitas aplicacoes. Ele e obtido por meio de varias versoes do mesmo objeto. O gerenciamento de versao em um banco de dados orientados a objeto consiste em ferramentas e construcoes que automatizam ou simplificam a construcao e a organizacao de versoes ou configuracoes. Sem essas ferramentas, caberia ao usuario organizar e manter as versoes.Podemos considerar a configuracao como um grupo de objetos tratados como uma unidade para bloqueio e Vercionamento. Os objetos individuais dentro da configuracao podem sofrer modificacoes, de modo que cada objeto pode Ter um historico das versoes. Varios objetos dentro da configuracao sao