A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

M6714 - Fernando Forte2005 TRANSACÇÕES HSQL - Hypersonic SQL TECNOLOGIA DE BASES DE DADOS.

Apresentações semelhantes


Apresentação em tema: "M6714 - Fernando Forte2005 TRANSACÇÕES HSQL - Hypersonic SQL TECNOLOGIA DE BASES DE DADOS."— Transcrição da apresentação:

1 M6714 - Fernando Forte2005 TRANSACÇÕES HSQL - Hypersonic SQL TECNOLOGIA DE BASES DE DADOS

2 M6714 - Fernando Forte2TBD 2005 INTRODUÇÃO Modos de inicializar a HSQLDB –Server Modes *Hsqldb Server »java -cp../lib/hsqldb.jar org.hsqldb.Server -database.0 mydatabase - dbname.0 xdb *Hsqldb Webserver (só ligação JDBC, protocolo HTTP) »java -cp../lib/hsqldb.jar org.hsqldb.WebServer -database.0 mydatabase -dbname.0 xdb *Hsqldb Servlet (instalado no AppServer Tomcat liga à BD) –In-Process (Stand Alone) Mode *usada por uma aplicação –Memory-Only Databases *nenhuma informação é escrita em disco. Tipos de Tabelas –TEMP (não é escrita no disco), MEMORY, CACHED e TEXT

3 M6714 - Fernando Forte3TBD 2005 SISTEMA DE FICHEIROS (1) Ficheiros da Base de Dados (2 a 5 +1) –nomeBD.properties *modified= yes, no –nomeBD.script *snapshot último checkpoint (comandos SQL antes de committed), recria memory tables no arranque da BD. –nomeBD.data *para tabelas CACHED (pode ficar corrompido se os dados não foram escritos totalmente da memória - usar.backup) –nomeBD.backup *ficheiro comprimido do.data que corresponde ao.script –nomeBD.log *comandos SQL que modificaram a BD depois do último checkpoint. *se SHUTDOWN ok não há.log –nomeBD.lck (LockFile.java - para saber se a BD está activa)

4 M6714 - Fernando Forte4TBD 2005 SISTEMA DE FICHEIROS (2)

5 M6714 - Fernando Forte5TBD 2005 TRANSACÇÕES Efectuadas assegurando integridade da BD –propriedades ACID (Atomicity, Consistency, Isolation, Durability) –usa um SCN (System Change Number) para identificar e ordenar as T i (um por cada linha) Nível de consistência da BD –read uncommitted (permite dirty reads - registos uncommitted podem ser lidos) *não é levantada nenhuma excepção se T i e T j commit a menos que se use: »SET PROPERTY "sql.tx_no_multi_rewrite" TRUE

6 M6714 - Fernando Forte6TBD 2005 GESTÃO DE TRANSACÇÕES O canal de ligação rastreia as T is uncommitted. –Todos os objectos de cada Ti têm uma referência para os objectos dos dados antigos. Os rollbacks são executados por ordem inversa de entrada. –não é possível fazer roolback a T i se T j fizer ALTER TABLE ou INSERT COLUMN ou DROP COLUMN da mesma tabela pois estes comandos fazem logo commit

7 M6714 - Fernando Forte7TBD 2005 RECUPERAÇÃO Baseada em log *o.log contêm as modificações feitas à BD quando da execução da transacção (commit). –Checkpoints *T is executadas em série. *depois de um checkpoint podem existir T is uncommitted, committed ou rollback. *se não houver um SHUTDOWN adequado estas T is são parcialmente committed (no estado do último checkpoint). *ao reiniciar é lido o ficheiro.log para recuperação das T is committed depois do último checkpoint.

8 M6714 - Fernando Forte8TBD 2005 CÓDIGO JAVA *Database.java ¤(inicializa a BD e lê o sistema de ficheiros) *ScriptReaderBase.java ¤(prog base para os leitores de scripts, verifica DDLs) *ScriptRunner.java ¤(lê.log e verifica se rollbacks) *Log.java ¤(gere o sistema de ficheiros da BD quando SHUTDOWN, volta ao estado do último checkpoint, apaga ficheiros.old e.new de T is não terminadas) *Logger.java ¤(assegura ACID - verifica o estado da BD, regista e rescreve as entradas de.log DDL e DML apenas necessários) *PersistentStore.java ¤(gere os objectos das tabelas cached) *Transaction.java, TransactionManager.java ¤(gerem cada registo - commit, rollback das T is )

9 M6714 - Fernando Forte9TBD 2005 FUTURAMENTE Melhorar mecanismos de log e estatísticas. Possibilidade de criar novos níveis de isolamento nas transacções. Capacidade de suportar concorrência na execução de comandos SQL.

10 M6714 - Fernando Forte10TBD 2005 REFERÊNCIAS BIBLIOGRÁFICAS Silberschatz, Abraham; Korth, Henry; Sudarshan - “Database System Concepts 5th Edition”. United States of America: McGraw Hill Companies Inc., 2006. ISBN 007-124476-X. p609-719. http://hsqldb.org Simpson, Blaine; Toussi, Fred - “Hsqldb User Guide”. Julho 2005. 145p.


Carregar ppt "M6714 - Fernando Forte2005 TRANSACÇÕES HSQL - Hypersonic SQL TECNOLOGIA DE BASES DE DADOS."

Apresentações semelhantes


Anúncios Google