ZODB

Zope Object Database

Információ
Fejlesztette Zope Corporation
Utolsó verzió 5.6.0 (2020. június 11)
Letét github.com/zopefoundation/ZODB
Beírva Python (nyelv)
Környezet Cross-platform
Olvassa el a formátumokat Zope export fájl ( d )
Írásos formátumok Zope export fájl ( d )
típus Objektumorientált adatbázis
Engedélyek Zope Public License
Weboldal https://zodb-docs.readthedocs.io/

A ZODB ( Zope Object DataBase ) orientált adatbázis-objektum, a Zope alkalmazáskiszolgáló . Bár a Zope fájlrendszerként használja, ettől függetlenül mégis felhasználható például Python- objektumok tárolására .

A relációs adatbázistól eltérően az objektumorientált adatbázis hierarchikus, vagyis fa, mint a számítógép fájlrendszere:

root / \ objet A objet B

A relációkat úgy lehet használni, hogy azonosítót adunk azoknak az objektumoknak, amelyekre szükségük van, és úgy kezeljük, mint egy relációs adatbázisban, olyan azonosítóval, amely automatikusan növekszik, amikor egy objektum létrejön.

Gyakorlatban

A ZEO ( Zope Enterprise Objects ) arra szolgál, hogy versenyképes hozzáférést biztosítson a ZODB-hez a hálózaton.

$ runzeo -a localhost:8080 -f /home/user/Data.fs <zodb> <zeoclient> server localhost:8080 </zeoclient> </zodb> import ZODB.config, transaction db = ZODB.config.databaseFromURL('/home/user/zeo.conf') conn = db.open() root = conn.root() #root est le dictionnaire racine qui contient tous les objets de la base root['variable'] = 'mon objet' transaction.commit() # enregistre les changements dans la ZODB

Célszerű a BTrees objektumokat a ZODB-vel együtt szállítani, a BTree objektum egy konténer, egy fa csomópont, egy kicsit olyan, mint egy szótár vagy egy Python lista, de amely nincs teljesen betöltve a memóriába, ha van. Például :

from BTrees.IOBTree import IOBTree root = IOBTree() root[0] = "Python" root[1] = "Zope"

A nyomtatási gyökér nem a ['Python', Zope] fájlt adja ki , hanem valami hasonlót: <BTrees.IOBTree.IOBTree objektum a 0x87ecb24-nél>

Az érdeklődés abban az esetben rejlik, amikor több ezer előfordulás van az adatbázisban, amelyek ráadásul gyakran egymásba ágyazódnak:

print root[1] # ne chargera pas en mémoire tout l'objet root mais juste l'occurrence numéro 1

Több BTree létezik  : OOBTree , IOBTree , OIBTree , IIBTree és IFBTree . Az első betű a kulcsnak felel meg, a második pedig az O értéknek az objektumnál , az I az egész számnak és az F az úszó értéknek . Így az IOBTree megfelel egy BTree-nek , amelyet egész számmal azonosítunk, és amely objektumokat tartalmazhat.

Belső linkek

  1. 5.6.0. Kiadás  " ,2020. június 11(megtekintés : 2020. június 17. )