PY-TCDB.

um wrapper python para o banco de dados do Gabinete de Tóquio usando o CTYPES
Baixe Agora

PY-TCDB. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • LGPL
  • Preço:
  • FREE
  • Nome do editor:
  • Alberto Planas
  • Site do editor:
  • http://code.google.com/u/aplanas/

PY-TCDB. Tag


PY-TCDB. Descrição

Um wrapper python para o banco de dados do armário de Tóquio usando ctypes Tokyo Cabinet é uma implementação moderna do banco de dados DBM. Mikio Hirabayashi (o autor de Tokyo Cabinet) descrevem o projeto como: Tokyo Cabinet é uma biblioteca de rotinas para gerenciar um banco de dados. O banco de dados é um arquivo de dados simples contendo registros, cada um é um par de uma chave e um valor. Cada chave e valor é bytes de série com comprimento variável. Ambos os dados binários e a cadeia de caracteres podem ser usados como uma chave e um valor. Não há nenhum conceito de tabelas de dados nem tipos de dados. Os registos são organizados na tabela hash, B + árvore, ou de comprimento fixo array.py-tcdb é uma interface para o Python biblioteca usando o módulo ctypes Python e fornece um acesso de dois níveis para funções TC: um nível baixo e um nível alto. low Level APIWe pode fazer interface com a biblioteca TC diretamente usando o módulo tc. Este módulo declarar todas as funções e tipos de dados. Por exemplo, se quisermos criar um (objeto de banco de dados de hash) HDB podemos escrever: de tc tcdb importação de tcdb hdb importação se não tc.hdb_open (db 'example.tch', hdb.OWRITER | hdb.OCREAT): tc.hdb_errmsg impressão (tc.hdb_ecode (db)) se não tc.hdb_put2 (db, 'chave', 'valor'): tc.hdb_errmsg impressão (tc.hdb_ecode (db)) v = tc.hdb_get2 (db ' tecla ') print 'VALOR:', obras de API de baixo nível v.valueThe com ctypes tipos (como c_char_p ou c_int) .Alta Nível APIFor cada tipo de tipo de banco de dados permitido em TC, temos uma classe Python que encapsular toda a funcionalidade. Para cada classe que tentam imitar o bsddb interface de módulo Python. Esta interface é bastante semelhante a um tipo de dados dict com persistence.We também tentar melhorar esta API. Por exemplo, podemos trabalhar com transações usando o com Python keyword.Hash DatabaseWe pode usar a classe HDB para criar e gerenciar bancos de dados de hash TC. Esta classe se comporta como um objeto de dicionário, mas podemos usar colocar e obter métodos, a fim de ter mais controle sobre os dados armazenados. Numa base de dados de hash que pode armazenar serializados Python objetos como uma chave ou como um valor, ou dados em bruto (que podem ser recuperados a partir da base de dados utilizando C, Lua, Perl ou Java). de tcdb importação hdb # O método aberto pode mudar outros parâmetros, como íngreme cache ou # auto desfragmentação. db = hdb.HDB () db.open ( 'example.tch') objeto conserva # loja no banco de dados db = 10 Tipo de Assert (db ) == int db = 1 + 1-J tipo de assert (db ) == db complexo = 'text' assert tipo (db ) == str # Se usarmos colocar / get, nós pode armazenar dados em bruto # Equiv. para uso db.put_int ( 'chave', 10, as_raw = True) db.put ( 'chave', 10, raw_key = True, RAW_VALUE = True) # Equiv. para uso db.get_int ( 'chave', as_raw = True) assert db.get ( 'chave', raw_key = True, value_type = int) == 10 # Nós podemos remover registros usando 'del' palavra-chave # ou fora métodos dB. out ( 'chave', as_raw = True) # Nós podemos repetir os registros. para a chave, o valor de db.iteritems (): chave de impressão, ':', valor # A 'com' obras keywork como esperado com db: db = 'ten' assert db == 'ten' raise exceção # Porque nós abortar a transação, nós não # ter a nova tentativa de registro: db , exceto KeyError: passB + tree DatabaseWe pode usar a classe BDB para criar e gerenciar B + bancos de dados TC árvore. A API é bastante semelhante ao HDB. Uma coisa que nós podemos fazer com classe BDB é que podemos acessar usando um cursor. Com gama podemos aceder a um conjunto de chaves ordenadas de forma eficiente e com Cursor objeto podemos navegar sobre o database.Fixed de comprimento classe DatabaseFDB pode criar e gerenciar um banco de dados matriz de comprimento fixo. Neste tipo de banco de dados só pode usar as teclas int, como em uma dinâmica array.Table DatabaseTokyo Gabinete pode usar uma variação de um banco de dados de hash para armazenar mesa-como objeto. Em Python, podemos usar um objeto dict para representar uma única tabela. Com THD podemos armazenar essas tabelas e consultas fazer usando consulta objeto. de tcdb importação tdb # O método aberto pode mudar outros parâmetros, como íngreme cache ou # auto desfragmentação. db = tdb.TDB () db.open ( 'example.tct') # Store diretamente uma nova tabela alice = { 'user': 'alice', 'nome': 'Alice', 'idade': 23} db = alice assert db == alice assert tipo (db ) == int # Se usarmos colocar / get, podemos armazenar db.put dados brutos ( 'pk', alice, raw_key = True, raw_cols = True) # Equiv. para uso db.get_col_int ( 'pk', 'idade', raw_key = True) schema = { 'user': str, 'nome': str, 'idade': int} assert db.get ( 'pk', raw_key = É verdade, esquema = esquema) == 23 # Nós podemos remover registros usando 'del' palavra-chave # ou fora métodos del db Abstract DatabaseFor integralidade, que incluem a interface abstrata ADB para acessar de hash, B + árvores, de comprimento fixo e banco de dados tabela de objetos. Requisitos: · Pitão


PY-TCDB. Software Relacionado