Diferència entre revisions de la pàgina «Bases de dades»
Línia 4: | Línia 4: | ||
== BBDD no-SQL == | == BBDD no-SQL == | ||
− | És la més recent generació de bases de dades. Han sorgit de la necessitat | + | És la més recent generació de bases de dades. Han sorgit un conjunt heterogeni de tècniques de la necessitat d'alta disponibilitat per sites web molt visitades i amb gran quantitat d'informació (Twitter, Facebook, Amazon, etc.). |
+ | |||
+ | El gran objectiu de les BBDD no-SQL és l''''escalabilitat'''. Normalment s'aconsegueix mitjançant '''replicació'''. En el paradigma SQL resulta molt difícil d'implementar, en particular a nivell de '''''sharding''''' (distribució de contingut en diferents nodes). En aquest camp és on les no-SQL són molt avantatjoses, permetent escalar mitjançant replicació i sharding. | ||
+ | |||
+ | Hi ha diferents tipologies de BBDD no-SQL: | ||
+ | * Key-value store (les més senzilles) | ||
+ | * Document store | ||
+ | * Graph database | ||
+ | * Wide column stores | ||
En aquest curs tractarem: | En aquest curs tractarem: |
Revisió del 23:09, 5 feb 2014
Mòdul de bases de dades. Les 3 primeres UFs son comunes a DAW i ASIX. La UF4 és només per DAW
Contingut
BBDD no-SQL
És la més recent generació de bases de dades. Han sorgit un conjunt heterogeni de tècniques de la necessitat d'alta disponibilitat per sites web molt visitades i amb gran quantitat d'informació (Twitter, Facebook, Amazon, etc.).
El gran objectiu de les BBDD no-SQL és l'escalabilitat. Normalment s'aconsegueix mitjançant replicació. En el paradigma SQL resulta molt difícil d'implementar, en particular a nivell de sharding (distribució de contingut en diferents nodes). En aquest camp és on les no-SQL són molt avantatjoses, permetent escalar mitjançant replicació i sharding.
Hi ha diferents tipologies de BBDD no-SQL:
- Key-value store (les més senzilles)
- Document store
- Graph database
- Wide column stores
En aquest curs tractarem:
- MongoDB
- Google Appstore (Google App Engine)
També son molt importants les següents:
- AWS DynamoDB (veure referències més avall).
- Apache Cassandra
- Redis
- HBase
MongoDB
Referències:
- Cacauet:
- MongoDB site: http://www.mongodb.org/
- Python: pymongo: http://api.mongodb.org/python/current/
- Curs: https://education.mongodb.com/courses/10gen/M101P/2013_November/about
AWS DynamoDB
Treballarem BBDD d'alta disponibilitat en AWS: DynamoDB. Permet escalar projectes per gran quantitat de demandes per segon, però té algunes peculiaritats en la seva organització.
- Doc AWS:
- boto (llibreria per Python):
- ...
BBDD SQL
- Cacauet: Curs de SQL
- MySQL amb Python:
- SQLite
- El relleu de MySQL serà MariaDB? : https://mariadb.org/
- PostgreSQL
- Python i AWS: boto library
- ...
BBDD orientades a objecte
- ZODB: ODB per Python amb ZEO (servidor per xarxa).
- ...
BBDD objecte-relacionals
Teoria:
- http://en.wikipedia.org/wiki/Object-relational_database
- Comparativa: http://en.wikipedia.org/wiki/List_of_object-relational_database_management_systems
Bases de dades Objecte-Relacionals:
- Oracle
Teòricament s'inclou a PostgreSQL com a BBDD objecte-relacional. Però en realitat, a data de Març de 2013 no és del tot cert. Disposa d'objectes amb atributs, però no permet crear mètodes (member functions). Si volem utilitzar una aproximació procedural, sense encapsular les funcions en objectes, podem utilitzar PostrgreSQL.
- PostgreSQL: http://postgresql.org
- Setup: http://linuxpoison.blogspot.com.es/2012/01/how-to-install-configure-postgresql.html
- PostgreSQL i Python (tb explica setup): http://zetcode.com/db/postgresqlpythontutorial/
- Tutorial: http://www.postgresql.org/docs/9.1/static/tutorial.html
- phppgadmin