Bloque2-Tema5-NoSQL Flashcards
Que significa NoSQL?
Not Only SQL
Cuales son las ventajas de los sistemas NoSQL?
-Productividad en desarrollo (Mejor ajuste al modelo relacional)-> (Esquemas flexibles y agregacion)
-Volumen de datos (Sistemas altamente distribuidos)-> Sharding
Cuales son las desventajas de los sistemas NoSQL?
-No garantizan completamente ACID (Tienen consistencia Eventual) Pero si BASE
-Falta de madurez, experiencia y compatibilidad (Aun no hay estandares)
Que es el sharding?
Informacion distribuida en nodos. El sharding es una técnica informática por la cual se busca dividir una base de datos o red para hacer que su funcionamiento sea mucho más escalable y descentralizado.
Que es BASE refiriendo a sistemas NoSQL?
Basically Available Soft State Eventually Consistent
Que dice el Teorema CAP o de Brewer?
Que de la Consistencia, Availability y Partition tolerance, solo se pueden cumplir 2 a la vez.
Que es la consistencia?
Que todos los nodos “ven” la misma informacion.
Que es la disponibilidad (Availability)?
Que toda peticion tiene que recibir una respuesta.
Que es partition tolerance?
El sistema debe seguir funcionando aunque haya fallos en las comunicaciones que segmenten la red de nodos.
Que sistemas gestores de BD cumplen CA(Consistency y Availability)
los Sistemas gestores de bases de datos relacionales (RDBMS)
-Oracle
-MySQL
-PostgreSQL
-SQLServer
Etc
Que sistemas gestores de BD cumplen AP (Availability y Partition Tolerance)
-Riak
-Voldemort
-Cassandra
-CouchDB
-SimpleDB
-Dynamo
Que sistemas gestores de DB cumplen CP (Consistency y Partition Tolerance)
-HBase
-MongoDB
-Redis
-BigTable
Hablando de sistemas SQL, clasificando segun modelo informacion (Como esta organizada la informacion) Cuales estan en la columna Documentos.
-MongoDB
-CouchDB
-RavenDB
-TerraStore
-OrientDB*
-ArangoDB*
-DynamoDB*
*-> Multimodelo
Hablando de sistemas SQL, clasificando segun modelo informacion (Como esta organizada la informacion) Cuales estan en la columna Familia Columnas
-Cassandra
-HBase
-HyperTable
-BigTable
Hablando de sistemas SQL, clasificando segun modelo informacion (Como esta organizada la informacion) Cuales estan en la columna Clave-Valor
-Redis
-Riak
-Voldemort
-ArangoDB*
-OrientDB*
-DynamoDB*
-SimpleDB
*-MultiModelo
Hablando de sistemas SQL, clasificando segun modelo informacion (Como esta organizada la informacion) Cuales estan en la columna grafos
-Neo4j
-FlockDB
-InfinityGraph
-HyperGraphDB
-OrientDB*
-ArangoDB(*)
-AllegroGraph
Que caracteristicas principal define al modelo clave/valor NoSQL?
Que cada fila no tiene un numero de columnas fijo.
En Redis(Clave/valor), cada clave tiene asociado un tipo de datos que puede ser:
-Strings (GET/SET)
-sets (SADD, SMEMBERS)
-lists (LPUSH, LRANGE)
-hashes (HMSET, HGET, HGETALL)
En que modelo NoSQL existen properties tanto en nodos como en las relaciones?
Modelo Basado en grafos (Ej: Neo4J)
Nombra alguno de los algoritmos implementados por el modelo basado en grafos NoSQL
-PageRank(Mide la influencia transitiva o la conectividad.
-Shortest Path con Dijkstra o A*
-Euclidean distance
-Strongly Connected components con Tarjan.
como se llama a las conexiones entre grafos en el modelo basado en grafos?
Relationship o Edge
Que modelo maneja colecciones de documentos(no hace falta definir esquema) con formato JSON?
Modelo documento (Ej. MongoDB)
Que sentencias CRUD conoces?
-db.users.InsertOne (documento-> Se genera un campo_ID)
-db.users.find
-db.users.updateOne
-db.users.deleteMany
Que modelo es desnormalizado?
El modelo basado en familias de columnas (Ej: Cassandra)
Cada columna va a tener un valor y un timestamp(indica el tiempo)
Cuantas dimensiones tiene el modelo basado en familias de columnas? y cuales son?
4 dimensiones = [KeySpace[[ColumnFamily][RowKey][Column]
Que es mahout?
Apache Mahout es un proyecto de Apache Software Foundation para producir implementaciones gratuitas de algoritmos de aprendizaje automático distribuidos o escalables centrados principalmente en el álgebra lineal.
Machine Learning.
Que aplicaciones de consultas conoces?
-Pig
-Hive
-Spark SQL
Que es Hadoop?
Sirve para programar aplicaciones distribuidas que manejen grandes volúmenes de datos.
Que es MapReduce?
mapea muchos nodos y reduce o trozea la informacion.
is a programming model and an associated implementation for processing and generating big data sets with a parallel, distributed algorithm on a cluster.
Que es Apache kafka?
Es una plataforma distribuida para la transmisión de datos
Que kernels administrador/gestor de cluster conoces?
-Hadoop Yarn
-Apache Mesos
Que es HDFS?
HDFS es el sistema de ficheros distribuido de Hadoop.
Paradigma Batch Processing
el objetivo era acumular todos los datos que se pudieran, procesarlos y producir resultados que se «empaquetaban» por lotes.
Solicitud por lotes
Esquema relacion de otras tecnologias con BigData
Que es gossip en Cassandra?
protocolo que permite a cada nodo realizar un seguimiento de la información de estado sobre los otros nodos en el clúster.
peer-to-peer communication protocol
Como esta estructurado Cassandra?
En un anillo formado por los nodos.
Esquema de mongoDB.
Esquema de cassandra
Puerto de MongoDB?
27017
Puerto de CassandraDB?
9042