Pgpymongo y pgpycouch

265 views

Published on

extensiones de postgresql para acceder a BD mongoDB y couchDB

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Pgpymongo y pgpycouch

  1. 1. Anthony R. Sotolongo León(asotolongo@uci.cu)Dpto. PostgreSQL- Universidad de Ciencias Informáticas
  2. 2. • Introducción a NoSQL.• Características de mongoDB y couchDB.• PostgreSQL y las NoSQL.• Extensiones en PostgreSQL.• Pgpymongo y Pgpycouch.
  3. 3.  Como se clasificanNOSQL tendencias actuales en el uso de TI (Qcon,2012)
  4. 4.  Clasificación * * Von der Weth. (2012) C.; Datta, A. Multiterm Keyword Search in NoSQL Systems, Internet Computing, IEEE
  5. 5. BIGTABLE Cassandra Redis y HbaseCouchDB mongoDB
  6. 6. Documentos enformato JSON
  7. 7. • Tipo de dato Hstore
  8. 8. • Tipo de dato Hstoreaudit_log-> Jaime Casanova
  9. 9. • Tipo de dato Hstoreaudit_log-> Jaime Casanova• FDW para Redis y couchDB (extensiones).
  10. 10. • Tipo de dato Hstoreaudit_log-> Jaime Casanova• FDW para Redis y couchDB (extensiones).Descargar de www.pgxn.org93 Extensiones9 extensiones de FDW
  11. 11. •Multicorn (python extension)Permite crear FDW desde python
  12. 12. • Permiten agregar al gestor nuevas funcionalidades, suelen incluir múltiples objetos de SQL, por ejemplo, un nuevo tipo de datos o nuevas funciones. 35.15. Packaging Related Objects into an Extension• Dos archivos como mínimo .control .SQL• Incluirlas en directorio extension.CREATE EXTESION nombre_de_extensión
  13. 13. • pgmongo.control # extensioncomment = extension …postgresqldefault_version = 0.1‘superuser = true•pgmongo--0.1.SQLClásicos comandos SQL(DDL, DCL, DML)
  14. 14. App gestión de App información ¿?
  15. 15. App gestión de App información Pgpymongo.
  16. 16. App gestión de App información Pgpymongo y Pgpycouch.
  17. 17. Lenguaje Plpython.Funcionalidades de las extensiones. Gestión de una Base de datos (creación, eliminación, obtención). Gestión de documentos (creación, eliminación, modificación y obtención). Ejecución de funciones Map/Reduce.
  18. 18. Listado de funciones.• collectionfind: Buscar documentos en una colección.• collectionfindone: Buscar un documentos específico en una colección.• collectioninsert: Insertar un documento en una colección.• createcolleccion: Crear una colección.• createdb: Crear una base de datos.• getdatabases: Obtener las bases de datos.
  19. 19. CREATE OR REPLACE FUNCTION pgpymongo.createdb(pserver text, pport integer, pname text) RETURNS text AS $$from pymongo import Connection#servidor puertoservidor=Connection(pserver,pport)for bd in servidor.database_names(): if bd == pname: return ""“La BDs ya existe!!!"""servidor[pname].collection_names()return Base de datos creada : + str(servidor[pname])$$ LANGUAGE plpythonu VOLATILE;
  20. 20. Ejemplos:select pgpymongo.createdb(localhost, 27017, nueva)Resultado- "Base de datos creada: - Database(Connection(localhost, 27017), unueva)“select pgpymongo.collectionfindone(localhost, 27017, nueva, micoleccion,{"valor2":"prueba"})Resultado-"{uvalor1: 1, uvalor2: uprueba, u_id: ObjectId(5027cbf32229710460000002)}"select pgpymongo.collectioninsert(localhost, 27017, nueva, micoleccion, {"valor1":2,"valor2":"prueba2"})Resultado- "5027cbf32229710460000003"
  21. 21. • Existe un uso creciente de las bases de datos NoSQL.• Se evidenció la capacidad de extensibilidad que tiene PostgreSQL incluso en otros lenguajes diferentes al que fue creado.• Pgpymongo y Pgpycouch ejemplos de extensiones para PostgreSQL.
  22. 22. Anthony R. Sotolongo León(asotolongo@uci.cu)Dpto. PostgreSQL- Universidad de Ciencias Informáticas

×