Loading ...

Usare UnQLite in Python

Usare UnQLite in Python

Non ero minimamente a conoscenza dell'esistenza di un embedded-database di tipo NoSQL, e devo dire che l'ho trovato molto interessante: UnQLite!

Può essere usato sia come db key:value che come document store.

Oggi vediamo un esempio del suo utilizzo in Pyhon!

Prima di tutto installiamo la libreria con pip:

# pip install unqlite

Verrà installato ance cython (in quanto il db è scritto interamente in C++ se ho capito bene).

Possiamo creare sia db in memory che db persistenti su file; la differenza sta nel parametro che passiamo all'oggetto UnQLite:

from unqlite import UnQLite

db = UnQLite()
db = UnQLite('/home/matte/Desktop/test.db')

Scegliete voi quale usare in base a quello che vi serve.

Questo un esempio di db di tipo key:value:

from unqlite import UnQLite

db = UnQLite('/home/matte/Desktop/test.db')

db['foo'] = 'bar'
print(db['foo'])

db.close()

Qui invece un esempio di document store:

from unqlite import UnQLite

db = UnQLite('/home/matte/Desktop/test.db')

users = db.collection('users')
users.create()
print(users.exists())

users.store([
    {'name': 'matteo', 'age': 33},
    {'name': 'federica', 'age': 40},
    {'name': 'marco', 'age': 60}]
)
print(users.all())
print(users.fetch(1))
print(users.filter(lambda obj: obj['name'].startswith('m')))

db.close()

Trovo veramente molto interessante la possibilità di avere un db NoSQL di tipo embedded; tanto che mi metterò alla ricerca di supporto per altri linguaggi (oltre Python e C++).

Enjoy!