Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Zodb

"Un database ad oggetti scritto in Python (e C)". Presentation of zodb used in non-zope applications.
Talk done at Pycon4 (2010)

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Zodb

  1. 1. ZODB Un database ad oggetti scritto in Python (e C) Riccardo Lemmi
  2. 2. Chi siamo Riccardo Lemmi Antonio Tirabasso Riccardo Lemmi
  3. 3. Tips Se devi usare un ORM allora usa lo ZODB Riccardo Lemmi
  4. 4. Cos'è lo ZODB ● È un database ad oggetti ● I dati vengono gestiti con lo stesso paradigma dell'applicazione: – Non si è legati allo storage: ● Nessun mapping ● Nessun 'glue code' – Codice più semplice, più robusto e più facile da testare Riccardo Lemmi
  5. 5. Cosa fornisce lo ZODB ● Persistenza oggetti – Tramite il modulo pickle ● Supporto transazioni – ACID: atomicity, consistency, isolation, durability ● Storage alternativi ● History/Undo – Se lo storage lo supporta ● Scalabilità: ZEO Riccardo Lemmi
  6. 6. Come funziona ● L'oggetto viene serializzato tramite il modulo pickle e vengono aggiunte informazioni sulla transazione ● ZODB si preoccupa di leggere e scrivere gli oggetti sullo storage ● ZODB si occupa della gestione della cache Riccardo Lemmi
  7. 7. Regole per scrivere classi "persistenti" ● Classi: – Persistent: gestito automaticamente ma se contiene riferimenti a: ● Integer, string, float, boolean: non si deve fare nulla ● List and dict: da gestire con l'attributo _p_changed Riccardo Lemmi
  8. 8. Regole per scrivere classi "persistenti" ● Le classi devono ereditare da Persistent – in caso contrario si generano serializzazioni multiple ● Per serializzare un oggetto è necessario connetterlo con un altro oggetto persistente – al limite la radice del DB ● Fai sempre un commit delle transazioni ● Se modifichi sotto-oggetti non-Persistent devi settare _p_changed a True. ● Usa PersistentList, PersistentMapping e BTree Riccardo Lemmi
  9. 9. L'esempio: l'albero genealogico Riccardo Lemmi
  10. 10. L'esempio: l'albero genealogico ● Inizializzazione zodb ● Operazioni – Creazione – Cancellazione – Aggiunta – Undo ● La ricerca – come si fa Riccardo Lemmi
  11. 11. Links ● http://www.zodb.org/overview.html ● http://faassen.n--tree.net/blog/view/weblog/2008/06/20/0 Riccardo Lemmi

    Be the first to comment

    Login to see the comments

  • sauzher

    Apr. 18, 2016

"Un database ad oggetti scritto in Python (e C)". Presentation of zodb used in non-zope applications. Talk done at Pycon4 (2010)

Views

Total views

1,682

On Slideshare

0

From embeds

0

Number of embeds

8

Actions

Downloads

6

Shares

0

Comments

0

Likes

1

×