Bienvenida conceptos básicos y contexto histórico de las Bases de Datos

1

Bienvenida conceptos básicos y contexto histórico de las Bases de Datos

2

Playground: tu primera consulta en bases de datos

Introducción a las bases de datos relacionales

3

Historia de las bases de datos relacionales

4

Qué son entidades y atributos

5

Entidades de Platzi Blog

6

Relaciones

7

Múltiples muchos

8

Diagrama ER

9

Diagrama Físico: tipos de datos y constraints

10

Diagrama Físico: normalización

11

Formas normales en Bases de Datos relacionales

12

Diagrama Físico: normalizando Platziblog

RDBMS (MySQL) o cómo hacer lo anterior de manera práctica

13

¿Qué es RDB y RDBMS?

14

Instalación local de un RDBMS (Windows)

15

Instalación local de un RDBMS (Mac)

16

Instalación local de un RDBMS (Ubuntu)

17

Clientes gráficos

18

Servicios administrados

SQL hasta en la sopa

19

Historia de SQL

20

DDL create

21

Playground: CREATE TABLE

22

CREATE VIEW y DDL ALTER

23

DDL drop

24

Playground: VIEW, ALTER y DROP en SQL

25

DML

26

Playground: CRUD con SQL

27

¿Qué tan standard es SQL?

28

Creando Platziblog: tablas independientes

29

Creando Platziblog: tablas dependientes

30

Creando Platziblog: tablas transitivas

Consultas a una base de datos

31

¿Por qué las consultas son tan importantes?

32

Estructura básica de un Query

33

SELECT

34

Playground: SELECT en SQL

35

FROM y SQL JOINs

36

Utilizando la sentencia FROM

37

Playground: FROM y LEFT JOIN en SQL

38

WHERE

39

Utilizando la sentencia WHERE nulo y no nulo

40

Playground: Filtrando Datos con WHERE

41

GROUP BY

42

ORDER BY y HAVING

43

Playground: Agrupamiento y Ordenamiento de Datos

44

El interminable agujero de conejo (Nested queries)

45

¿Cómo convertir una pregunta en un query SQL?

46

Preguntándole a la base de datos

47

Consultando PlatziBlog

48

Playground: Prueba Final con PlatziBlog

Introducción a la bases de datos NO relacionales

49

¿Qué son y cuáles son los tipos de bases de datos no relacionales?

50

Servicios administrados y jerarquía de datos

Manejo de modelos de datos en bases de datos no relacionales

51

Top level collection con Firebase

52

Creando y borrando documentos en Firestore

53

Colecciones vs subcolecciones

54

Recreando Platziblog

55

Construyendo Platziblog en Firestore

56

Proyecto final: transformando tu proyecto en una db no relacional

Bases de datos en la vida real

57

Bases de datos en la vida real

58

Big Data

59

Data warehouse

60

Data mining

61

ETL

62

Business intelligence

63

Machine Learning

64

Data Science

65

¿Por qué aprender bases de datos hoy?

Bonus

66

Bases de datos relacionales vs no relacionales

67

Elegir una base de datos

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Qué son y cuáles son los tipos de bases de datos no relacionales?

49/67
Recursos

Respecto a las bases de datos no relacionales, no existe un solo tipo, aunque se engloben en una sola categoría.

Tipos de bases de datos no relacionales:

  • Clave - valor: Son ideales para almacenar y extraer datos con una clave única. Manejan los diccionarios de manera excepcional. Ejemplos: DynamoDB, Cassandra.
  • Basadas en documentos: Son una implementación de clave valor que varía en la forma semiestructurada en que se trata la información. Ideal para almacenar datos JSON y XML. Ejemplos: MongoDB, Firestore.
  • Basadas en grafos: Basadas en teoría de grafos, sirven para entidades que se encuentran interconectadas por múltiples relaciones. Ideales para almacenar relaciones complejas. Ejemplos: neo4j, TITAN.
  • En memoria: Pueden ser de estructura variada, pero su ventaja radica en la velocidad, ya que al vivir en memoria la extracción de datos es casi inmediata. Ejemplos: Memcached, Redis.
  • Optimizadas para búsquedas: Pueden ser de diversas estructuras, su ventaja radica en que se pueden hacer queries y búsquedas complejas de manera sencilla. Ejemplos: BigQuery, Elasticsearch.

Aportes 186

Preguntas 25

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Sería interesante tener un curso por cada tipos de bases de datos no relacionadas.

BASES DE DATOS NO RELACIONES*

  • Solo responden diferentes necesidades cada una, ya que con las RDB surgen problemas al ir creciendo

Clave - valor:
- Son ideales para almacenar y extraer datos con una clave unica.
- Manejan diccionarios de manera excepcional
- Se basan en algoritmos de hash o hashmap
- EJEMPLOS: DynamoDB (maneja AWS), Cassandra (Los usa FB)

Basadas en documentos:
- Basadas en objetos de tipo JSON. Ideal para almacenar datos JSON y XML
- Son las más utilizadas despues de los RDBMS
- Son una implementación de clave valor que varía en la forma semiestructurada en que se trata la información
- Guarda la forma actual de una aplicación, no son buenas para hacer consulta complejas.
- EJEMPLOS: MongoDB, Firestore (servicio en la nube, es un ambiente grafico)

Basadas en grafos:
- Nodos o entidades que tienen multiples relaciones. Estan relacionadas TODOS CON TODOS
- Se usan en el mundo de la inteligencia artificial, para formar redes neuronales
- EJEMPLOS: neo4j, TITAN DB

En memoria:
- Su mayor ventaja es que son sumamente rapidas
- La respuesta llega en el minimo de tiempo
- Su desventaja es que son limitadas y hay que guardar cosas en disco
- Otra desventaja es que son volatiles (si se reinicia, hay que indexar, volver a traer la información del disco)
- EJEMPLOS: Memcached, Redis

Optimizadas para búsqueda:
- Se usa para hacer queries complejos
- Sirven como grandes repositorios de datos, muchas veces historicos
- Son utilizadas en Business Inteligent y Machine learning
- EJEMPLOS: Elasticsearch BigQuery (la ofrece Google)

Tipos de bases de datos no relacionales:

Clave - valor: DynamoDB, Cassandra.
Basadas en documentos: MongoDB, Firestore.
Basadas en grafos: neo4j, TITAN.
En memoria: Memcached, Redis.
Optimizadas para búsquedas: BigQuery, Elasticsearch.

Apuntes:
Las bases de datos no relacionales (a veces llamadas NoSQL, es decir no solo SQL) contienen una amplia gama de DBMSs que difieren del modelo de bases de datos relacionales y como característica mas destacada es que no usan SQL como su lenguaje principal para consultas. Entre todas estas tenemos:

Clave - valor
Se basan en algoritmos de hash (o hash map), que quiere decir diccionario de datos. Son buenas para la extracción de información a partir de llaves y valores.

Basados en documentos
Documento se le llama a un objeto tipo JSON (JavaScript Object Notation), también tienen una implementacion de Clave – Valor y son muy eficaces almacenando datos de tipo JSON y XML.
Desventaja: Si tratas de hacer queries muy complejos, se te va a dificultar

Basadas en grafos
Se usan para IA, para crear redes neuronales. Este tipo de bases de datos se basan en nodos y son ideales para guardar relaciones complejas.

Basadas en memoria
Son ideales para la rapidez a la hora de extraer consultas, puesto que los datos se almacenan en memoria y al ejecutar consultas, la rapidez con la que responden es casi simultanea.

Optimizadas para busquedas
Son muy usadas en bussiness inteligence y machine learning, son famosas por ejecutar busquedas complejas.

Creo que este ha sido mi curso preferido hasta ahora, por el profesor ya que explica muy bien y porque el contenido del curso abarca contenidos muy buenos.

Qué buena clase, yo pensé que mongoDB era la que se utilizaba para todo.

El que persevera alcanza, increible la metodologia de enseñanza del Ing. Israel Vázquez, es de suma importancia prestar atención a las aplicaciones de las tecnologias que se mencionan, dan una increible noción del mundo al que nos enfrentamos los que vamos comenzando. 😃

Cloud Firestore es uno de los tipos de base de datos NoSQL ofrecidos por Firebase para almacenar los datos de nuestras aplicaciones.

Respecto a las bases de datos no relacionales, no existe un solo tipo aunque se engloben en una sola categoría.
.
Tipos de bases de datos no relacionales:

  • Clave - valor: Son ideales para almacenar y extraer datos con una clave única. Manejan los diccionarios de manera excepcional. Se basan en algoritmos de HASH Ejemplos: DynamoDB (AWS), Cassandra.
  • Basadas en documentos: Son una implementación de clave valor que varía en la forma semiestructurada en que se trata la información. Ideal para almacenar datos JSON y XML. Ejemplos: MongoDB, Firestore.
  • Basadas en grafos: Basadas en teoría de grafos, sirven para entidades que se encuentran interconectadas por múltiples relaciones. Ideales para almacenar relaciones complejas. _Ejemplos: neo4j, TITAN. _
  • En memoria: Pueden ser de estructura variada, pero su ventaja radica en la velocidad, ya que al vivir en memoria la extracción de datos es casi inmediata. Ejemplos: Memcached, Redis.¬
  • Optimizadas para búsquedas: Pueden ser de diversas estructuras, su ventaja radica en que se pueden hacer queries y búsquedas complejas de manera sencilla. _Ejemplos: BigQuery, Elasticsearch. _

Postgres (no sé si otros también) como BD relacional acepta un tipo de dato JSON. Además ofrece herramientas especiales para manejar ese tipo de datos. ¿Cómo saber si nos conviene usar esa función o usar simultaneamente una BD no relacional basada en documentos?

  • Clave - Valor: Guarda gran cantidad de información con un campo id, solo ligado a dicho campo.
    Se pueden extraer datos de forma rápida si se conoce el id, de lo contrario es difícil acceder a estas.
  • Basados en documentos: Están guardados como clave valor. Tienen estructura mas definida con respecto a clave-valor.
    Más usadas fuera del estándar SQL.
    No responden bien a queries complejos.
  • Basadas en grafos: Nodos o entidades con relaciones complejas, todos relacionados con todos. N:N.
  • En memoria: Tienen cierto limite y deben estar guardando algunos datos en disco.
    Son volátiles, además se debe realizar un gran trabajo para mantener sincronía.
  • Optimizadas para búsqueda: Ayudan a que se puedan tener grandes repositorios de datos para hacerle preguntas complejas.
    Se puede realizar visualización de tendencias históricas y otro tipo de datos.
    Usadas comúnmente en BI.

BigQuery, Elasticsearch.para Marchine learning y business intelligence áreas apasionantes de las cuales quiero aprender.

BASES DE DATOS NO RELACIONALES Y QUE SON

TIPOS DE BASES DE DATOS

• CLAVE-VALOR:
	1. Ideal para extraer y almacenar datos con una clave unica
	2. Pueden hacerse consultas muy rapidas si conocemos esa clave
	3. Basado en algoritmos de Hash -diccionarios de datos-.
4. DynamoDB y Cassandra son ejemplos de BD clave-valor.
	5. Maneja los diccionarios de manera excepcional
• BASADAS EN DOCUMENTOS
	1. Documentos se les llama a un objeto de tipo JSON
	2. Son una implementacion de clave-valor que varia en la forma semiestrucurada en que se trata la informacion
	3. MongoDB y Firestore (Nube y Administrado) son ejemplos de estas bases de datos.
	4. Ideal para guardar datos JSON y XML
	5. Es bueno a mantener guardado el estado actual de la aplicacion
	6. No es bueno para hacer busquedas del tipo de SQL.
• BASADAS EN GRAFOS
	1. Sirven para entidades que se encuentran interconectadas por multiples relaciones, todos entre todos y uno a uno como en SQL
	2. Neo4J y TITAN son ejemplos de estas bases de datos
	3. Ideal para almacenar relaciones complejas
• EN MEMORIA
	1. Su ventaja es que son sumamente rapidas 
	2. El problema es que tienen cierto limite y tienen que estar guardando algunos datos en disco y que son volatiles
	3. Memcached y Redis son ejemplos de estas bases de datos
• OPTIMIZADAS PARA BUSQUEDAS
	1. Ayudan hacer querys muy complejos muy rapidamente y de manera sencilla
	2. Muy utilizadas en Bussines Intelligence y en Machine Learning
	3. BigQuery (tiene lenguaje similar a SQL, generando modelos de ML muy facilmente) y ElasticSearch son 
  • Todos estos diferentes tipos de bases de datos se consideran NO RELACIONALES (Aunque son muy diferentes entre ellos).

  • Antes utilizabamos las bases de datos relacionales para responder a todo, estas solo responden diferentes necesidades cada una porque las bases de datos relacionales al tener muchos datos empiezan a tener muchos problemas para responder en tiempo y para manejar todas las relaciones tan complejas que tienen.

Estupenda clase, no sabía que existían tantos tipos de bases de datos no relacionales, la clasificación que más me llamo la atención fueron las basadas en grafos, ya que están diseñadas para abarcar las entidades que tienen múltiples relaciones y también porque me gustaría ver algún día cómo funciona el mapeo que se genera en base a una red neuronal.

Para un ranking y más detalle sobre cada categoría: https://db-engines.com/en/ranking

alguien me puede explicar por qué Big Query esta dentro de las bases de datos no relacionales si se utiliza para hacer consultas a bases de datos relacionales ?

De mi experiencia, me ha tocado revisar otro tipo de base de datos no relacionales como son las base de datos de series de tiempo (time series database - TSDB), como es influxdb.

Este tipo de base de datos son muy útiles para procesos de IOT enfocado a procesos, ya que el tiempo juega un papel fundamental para entender el comportamiento de un sistema.

Sería interesante que existiera algún curso sobre ese tipo de base de datos aquí en platzi.

Saber SQL y bases de datos relacionales te permitirá moverte en cualquiera de éstas, claro será necesario aprender detalles y funciones de cada uno.

el profe debería de sacar un curso de mongoDB!!!

Tipos de Base de datos NoSql:

  • Clave valor

  • Documentales

  • Grafos

  • En memoria

  • Optimizada para Búsquedas

Excelente explicacion. Muy clara y sencila.

Base de datos no relacionales.
1. Clave-valor: Este tipo de base de datos guardan la información y la acceden utilizando un hash map que vincula un conjunto de datos a una clave.
Ejemplos: DynamoDB (AWS) y Cassandra (Facebook).
2.Basadas en documentos: Son las más utilizadas fuera del estándar SQL. Son, básicamente, una implementación de las bases clave-valor pero con una estructura mas definida ya que almacenan los datos como objetos de tipo JSON.
Ejemplos: MongoDB (MongoDB) y Firestore (Google)
**3. Basadas en Grafos: **. están basadas en nodos (entidades) que tienen múltiples relaciones y son ideales para almacenar datos que presentan interconexiones complejas.
Ejemplos: Neo4j y Titan
**4. En memoria: ** Su estructura puede ser muy variada, pero tienen como factor diferencial su increíble velocidad de acceso. Dado que viven en la memoria principal del dispositivo que la corre, la lectura y escritura de datos es prácticamente inmediata.
Ejemplos: Memcached y Redis
5.- Optimizadas para búsquedas: su estructura puede ser variada, pero tienen como factor común el hecho de que están optimizadas para la realización de querys sumamente complejas de una forma mas simple.
Ejemplos: BigQuery (Google) y Elasticsearch

Optimizadas para búsquedas: Pueden ser de diversas estructuras, su ventaja radica en que se pueden hacer queries y búsquedas complejas de manera sencilla. Ejemplos: BigQuery, Elasticsearch

Excelente explicación de los diferentes tipos de bases de datos que hay para diferentes usos, muy buen ejemplo de los servicios, explican los principales representantes de cada uno de sus tipos

Tenía el conocimiento de que MongoBD es un tipo de base de datos no relacional basada en documentos BJSON.
Cuando pasé por NodeJS, especificamente por Expressjs muchos autores mencionaban la base de datos Memcached o Redis.
Ahora con esta clase entiendo dicha clasificación.

y yo limitandome a MongoDB

Excelente clase, parece que las bases de datos relacionales era solo el comienzo.

Vamos con todo a aprender este nuevo mundo de Las bases de datos no relacionales.

arriba el SQL 😂

Las bases de datos no relacionales son sistemas de gestión de bases de datos que difieren de las bases de datos relacionales tradicionales al no utilizar una estructura tabular con filas y columnas interconectadas. En cambio, se centran en modelos de datos más flexibles para manejar volúmenes grandes y variados de información.

Este video (Para los que saben en inglés) refuerza esta clase visualmente:

https://youtu.be/W2Z7fbCLSTw

¿Qué son y cuáles son los tipos de bases de datos no relacionales?

1. Clave - valor

Se hicieron para almacenar datos de forma rápida, y se obtienen mediante un identificador. Se pueden juntar grupos de datos con una sola clave. El identificador que se usa es el HASH. Se utiliza más en:

  • DynamoDB - AWS
  • Cassandra - Facebook

2. Basadas en documentos

Se almacenan datos en objetos de tipo JSON y XML, los cuales son estándar. También tienen una identificación Clave - valor

  • MongoDB
  • Firestore

Sirve principalmente para

Creación de videojuegos o aplicaciones, para poder guardar el estado de estas y poder recuperarlo rápidamente.

No sirve tanto para

Realizar búsquedas con distintos parámetros complejos como los queries de las Bases de Datos Relacionales.

3. Basadas en grafos

Se tratan de nodos con relaciones complejas en las que todos están completamente relacionadas entre si.

Es utilizada en

Principalmente Inteligencia Artificial, debido a la complejidad de esta tecnología, la conexión entre todos los nodos permite una capacidad de información eficiente para este uso.

  • neo4j
  • TITAN

4. En memoria

Son muy rápidas debido al uso de la memoria RAM, debido a esto hay una capacidad de información y por lo tanto es necesario el uso de Discos para poder mantener la información al largo plazo y luego poder indexar está para recuperarla y utilizarla.

  • Memcached
  • Redis

5. Optimizadas para búsquedas

Permite hace queries muy complejas en lapsos rápidos en el tiempo. Son grandes repositorios de datos en los que se pueden responder preguntas de negocio en tiempo muy rápidos.

  • BigQuery
  • Elasticsearch

ayuda memoria

Hay varios tipos de bd no relacionales y dependen de los autores;

Clave - Valor
basadas en documentos tipo json
basadas en grafos
basadas en memoria
optimizadas para busquedas y querys complejos

Clave – Valor:
Estan hechas para almacenar de datos de manera rapida
y extraerlos si tienes la clave para ello.

Son ideales para almacenar y extraer datos con una clave unica. Manejan los diccionarios de manera excepcional.

Dynamo bd (Aws)- Cassandra.

Basados en Documentos no en archivos:

Son una implementación de clave valor que varia en la forma semiestrucuturada en que se trata la información. Ideal para almacenar datos Json y xml.

Mongo DB- firestore

basadas en grafos
Son Nodos o entidades que tienen multiples relaciones , que tienen relaciones muy complejas y que generalmente estan relacionadas entre todos.

Ejemplo: Se utilizan en la inteligencia artificial, para formar redesneuronales, que justamente simulan este tipo de relaciones complejas.

Neo4j-Titan

basadas en memoria:

Son muy rapidas,aunque volatiles, pueden ser de estructura variada, pero su ventaja radica en la velocidad, ya que al vivir en memoria la extracción de datos es casi inmediata.

Memcached – Redis

optimizadas para busquedas

(querys complejos en cuestion muy rapida de tiempo).

Pueden ser diversas estructuras, su ventaja radica en que se pueden hacer queries y busquedas complejas de manera sencilla.

BigQuery- Elasticsearch

Se utilizan en Bussiness intelligent y machine learning

Bases de datos no realcionales

No es un sólo tipo de Bases de Datos, pero se caracterizan por ser diferentes a las relacionales.

  • BD basadas en Clave - Valor:
    Están hechas para almacenar datos de manera rápida y extraerlos. Podemos extraer la información rápidamente si conocemos el id, pero con consultas más complejas es más difícil.
    Ejemplos: DymonDB y Cassandra

  • BD basadas en documentos
    Ideal para almacenar datos json y xml. Ayuda a mantener el estado actual de la aplicación. No es tan bueno para querys complejos.

Ejemplos: MongoDB y Firestore

  • **BD Basadas en grafos **
    Sirven para entidades que se encuentran interconectadas por múltiples relaciones. Ideales para almacenar relaciones complejas. Se usan para IA y redes neuronales.

Ejemplos: neo4j y TitanDB

  • BD basadas en memoria
    Son muy rápidas. Tienen cierto límite, y son volátiles. Si se reinicia el servidor se tienen que traer nuevamente los datos.

Ejemplos: Redis

  • BD optimizadas para búsquedas
    Ayudan a realizar querys complejos en mínimo tiempo. Son grandes repositorios de datos.

Ejemplos: BigQuery y Elasticsearch

Pienso que aún siendo un curso de fundamentos se hace pesado ver SQL y NoSQL en un mismo curso

Me parece interesante Cassandra , encontre este sitio que nos da una introducción más detallada (https://www.paradigmadigital.com/dev/cassandra-la-dama-de-las-bases-de-datos-nosql/)

No entendí para que se usan las bases de datos EN MEMORIA.
Alguien que pueda dar más ejemplos?

Bases de datos no relacionales = clave, valor

Descubriending que Uber usa Cassandra y otro tipo de bases de datos. 😮

https://www.geeksforgeeks.org/system-design-of-uber-app-uber-system-architecture/

Basadas en grafos: Basadas en teoría de grafos, sirven para entidades que se encuentran interconectadas por múltiples relaciones. Ideales para almacenar relaciones complejas. Ejemplos: neo4j, TITAN.

Debido a la evolución de la tecnología encontramos ahora diversidad de bases de datos para múltiples usos y aplicaciones, si ya hemos aprendido cosas muy interesantes de las BD lo que iniciamos en este modulo y los que vienen serán aun mejor.

Super interesante que facebook haya creado a Cassandra como respuesta al “quedarse corto” usando bases de datos no relacionales. Muy fuertes e innovadores.

Basadas en documentos: Son una implementación de clave valor que varía en la forma semiestructurada en que se trata la información. Ideal para almacenar datos JSON y XML. Ejemplos: MongoDB, Firestore.

Es bien interesante conocer los diferentes tipos de bases de datos no relacionales, y en que casos se utiliza de mejor manera cada uno de ellos.

Comparto igual que mis compañeros que este tema puede ser un curso aparte, ya que se puede profundizar mucho más y tiene su área de estudio.
Pero increíble curso y excelente profesor.

Salu2!

Quizá os estéis preguntando “si las bases de datos relacionales son tan prácticas, ¿en qué situaciones es buena idea trabajar con las no relacionales?”. Si algo tienen de malo las bases de datos relacionales, es que son como Sheldon Cooper, tienen que saber de antemano qué es y cómo es lo que van a almacenar. En cambio, las bases de datos no relacionales son más flexibles, se lo tragan todo, sin importar su estructura.

Imaginemos que hemos mandado unas máquinas al espacio para que nos reporten qué es lo que encuentran en su viaje. Obviamente, no sabemos a ciencia cierta qué se van a encontrar. De alguna forma, tienen una inteligencia artificial instalada que reconoce los objetos con los que se va encontrando y también tienen sensores instalados. Pero no sabemos bien qué miden, ya que cada máquina tiene sensores diferentes. Cada 24 horas envían un resumen de lo que han visto durante el día.

TIPOS DE BASES DE DATOS NO RELACIONALES:

CLAVE VALOR:
Grandes tipos de datos con una clave única.
Manejan los diccionarios de manera excepcional.
Gran cantidad de información con un id.
Basados en algoritmos de hash maps o de bases de datos.

	○ DYNAMO DB. AWS.
	○ CASSANDRA. FACEBOOK.

DOCUMENTOS DE TIPO JSON:
Tipo Json y XML.
TIPO CLAVE / VALOR PERO ESTRUCTURA MAS DEFINIDA.
○ MONGODB.
○ FIRESTORE. (Nube y administrado.
Mejor para estados de datos / aplicaciones web. Muy eficientes.

BASADAS EN GRAFOS:
Nodos o entidades con relaciones.
Todos se relacionan con todos.
Se Utilizan en IA, para formar redes NEURONALES.
○ NEO4J.
○ TITAN

EN MEMORIA.
Sumamente rápidas, para realizar consultas.
Son volátiles / si el servidor se reinicia se pierden los datos.
○ MEMCASHED.
○ REDIS.

OPTIMIZADOS PARA BUSQUEDA.
Pueden ser de diversas estructuras.
Pueden hacer query en búsquedas complejas de manera sencilla.
○ BIGQUERY.
○ ELASTICSEARCH.

Google Big Query es un servicio bastante interesante, con el he podido realizar consultas a grandes cantidades de datos de una manera rapida, además de ello tambien pude entrenar unos modelos de ML sencillos de acuerdo a los datos consultados y el uso de Google Big Query ML.

Este curso es prerequisito para la carrera de wordpress. Pero wordpress hasta donde se, no soporta base de datos NOSQL.
Xq no parten el curso en Base de datos Relacionales y Base de Datos No SQL , en lugar de poner de prerequisitos temas no relacionados con la carrera ?

Respecto a las bases de datos no relacionales, no existe un solo tipo aunque se engloben en una sola categoría.

<h3>Links (2021):</h3>

Clave-valor
dynamodb
cassandra

Basadas en documentos
mongodb
firestore

Basadas en grafos
neo4j

En memoria
memcached
redis

Optimizadas para busquedas
elastic
big query

Basada en documentos

buena la clase falto las funciones if else

excelente clase, información muy valiosa. El conocimiento es poder

basada en Grafos

optimizadas para busqueda

No tenia conocimiento que existía varias BD no relacionales

Muy interesante estos tipos de bases de datos no relacionales y sus ejemplos

Valla, que claro queda esto, genial la explocación

Las bases de datos que son mas usadas son en documentos usadas primordialmente por medio de MongoDB y Firestore

Excelente clase

En memoria: Pueden ser de estructura variada, pero su ventaja radica en la velocidad, ya que al vivir en memoria la extracción de datos es casi inmediata. Ejemplos: Memcached, Redis.

Qué significa mapear?

Tenía una idea muy rwuivo

Entre las mas usadas:

MongoDB
Redis
Cassandra
CouchDB
Firebase

Seguimos aprendiendo.

Buen video, me intereso mucho las base de datos optimizadas para busquedas

Me interesa basadas en grafos y optimizadas para busqueda

Basadas en grafos

**Tipos de bases de datos no relacionales:** * **Clave - valor:** Son ideales para almacenar y extraer datos con una clave única. Manejan los diccionarios de manera excepcional. Ejemplos: **DynamoDB**, **Cassandra**. * **Basadas en documentos:** Son una implementación de clave valor que varía en la forma semiestructurada en que se trata la información. Ideal para almacenar datos JSON y XML. Ejemplos: **MongoDB, Firestore**. * **Basadas en grafos:** Basadas en teoría de grafos, sirven para entidades que se encuentran interconectadas por múltiples relaciones. Ideales para almacenar relaciones complejas. Ejemplos: **neo4j, TITAN**. * **En memoria:** Pueden ser de estructura variada, pero su ventaja radica en la velocidad, ya que al vivir en memoria la extracción de datos es casi inmediata. Ejemplos: **Memcached, Redis**. * **Optimizadas para búsquedas:** Pueden ser de diversas estructuras, su ventaja radica en que se pueden hacer queries y búsquedas complejas de manera sencilla. Ejemplos: **BigQuery, Elasticsearch**.
Comparto mis apuntes: Existen diversos tipos de bases de datos no relacionales, cada una con características específicas que se adaptan a diferentes necesidades: 1. **Clave-valor**: Este tipo de base de datos es especialmente útil cuando se necesita almacenar y recuperar datos utilizando una clave única. Funcionan de manera excepcional para manejar estructuras de datos similares a diccionarios. Ejemplos populares incluyen DynamoDB y Cassandra. 2. **Basadas en documentos**: Estas bases de datos son una variante de las clave-valor, pero permiten una estructuración semiestructurada de la información. Son ideales para almacenar datos en formatos como JSON y XML. Ejemplos notables son MongoDB y Firestore. 3. **Basadas en grafos**: Inspiradas en la teoría de grafos, estas bases de datos son idóneas cuando se trata con entidades interconectadas por múltiples relaciones. Son especialmente útiles para representar y gestionar relaciones complejas entre datos. Ejemplos incluyen neo4j y TITAN. 4. **En memoria**: A diferencia de las bases de datos tradicionales que almacenan datos en disco, las bases de datos en memoria mantienen los datos en la RAM, lo que proporciona una velocidad de acceso extremadamente rápida. Aunque pueden tener estructuras variadas, su principal ventaja radica en su velocidad. Ejemplos notables son Memcached y Redis. 5. Optimizadas para búsqueda: nos permite hacer queries y búsquedas complejas de manera sencilla. Ejemplos: BigQuery, Elasticsearch.

🧑🏻‍🚀 Le pregunté a la IA si se pueden usar varias DBs en un proyecto y esto me respondió:
Sí, es posible combinar varios tipos de bases de datos en un mismo proyecto, y en algunos casos puede ser recomendable según las necesidades y requisitos específicos del proyecto. Aquí hay algunas consideraciones:

  1. Política de datos:

    • Algunas aplicaciones pueden requerir diferentes políticas de datos para diferentes tipos de información. Por ejemplo, podrías optar por almacenar datos de usuario y sesiones en una base de datos en memoria para un acceso rápido, mientras que datos más permanentes podrían almacenarse en una base de datos basada en documentos o en una base de datos relacional.
  2. Requisitos de rendimiento:

    • Si tu aplicación tiene requisitos de rendimiento específicos para ciertas operaciones o consultas, podrías utilizar una base de datos diseñada para satisfacer esas necesidades. Por ejemplo, podrías utilizar una base de datos en memoria para operaciones de lectura y escritura extremadamente rápidas, mientras que utilizas una base de datos basada en grafos para consultas complejas de relaciones.
  3. Escalabilidad y tolerancia a fallos:

    • Algunas bases de datos NoSQL están diseñadas para escalar horizontalmente y manejar grandes volúmenes de datos y cargas de trabajo distribuidas. Puedes combinar este tipo de bases de datos con bases de datos relacionales o en memoria para obtener una solución que combine rendimiento y escalabilidad.
  4. Integración con herramientas y servicios existentes:

    • A veces, utilizar diferentes tipos de bases de datos puede facilitar la integración con otras herramientas y servicios existentes en tu infraestructura. Por ejemplo, podrías utilizar una base de datos NoSQL que sea compatible con la nube para integrarla fácilmente con servicios de almacenamiento en la nube o análisis de datos.
  5. Complejidad y mantenimiento:

    • Es importante considerar la complejidad y el mantenimiento asociados con el uso de múltiples bases de datos en un proyecto. Asegúrate de tener la capacidad de administrar y mantener eficazmente cada sistema de base de datos que elijas utilizar.

En resumen, la combinación de varios tipos de bases de datos en un mismo proyecto puede ser una estrategia efectiva para satisfacer diferentes requisitos y optimizar el rendimiento y la escalabilidad de tu aplicación. Sin embargo, es importante evaluar cuidadosamente tus necesidades y considerar los aspectos de complejidad y mantenimiento antes de tomar decisiones finales.

Respecto a las [bases de datos](https://platzi.com/blog/bases-de-datos-que-son-que-tipos-existen/) no relacionales, no existe un solo tipo, aunque se engloben en una sola categoría. ## T**ipos de bases de datos no relacionales** * **Clave - Valor:** * Son ideales para almacenar y extraer datos con una clave única. * Manejan los diccionarios de manera excepcional. * No son muy buenos para realizar consultas complejas, debido a que se necesita de su Clave para acceder. * Se basan en el algoritmo de Hash. * Ejemplos: **DynamoDB (AWS)**, **Cassandra**. * **Basadas en documentos:** * Son una implementación de clave valor que varía en la forma semiestructurada en que se trata la información. * Ideal para almacenar datos JSON y XML. * Ideal para datos en tiempo real como en streaming, juegos, etc. * No es muy bueno para realizar querys complejas mediantes parametros como en sql. * Ejemplos: **MongoDB, Firestore (Google)**. * **Basadas en grafos:** * Basadas en teoría de grafos, sirven para entidades que se encuentran interconectadas por múltiples relaciones. * Ideales para almacenar relaciones complejas. * Muy utilizado en IA. * Ejemplos: **neo4j, TITAN**. * **En memoria:** * Pueden ser de estructura variada, pero su ventaja radica en la velocidad, ya que al vivir en memoria la extracción de datos es casi inmediata. * So muy limitadas en cuanto a espacio de almacenamiento y en algunos caso requiere de almacenar datos en disco. * Es de memoria volatil. * Ejemplos: **Memcached, Redis**. * **Optimizadas para búsquedas:** * Pueden ser de diversas estructuras, su ventaja radica en que se pueden hacer queries y búsquedas complejas de manera sencilla. * Muy utilizada en BI y Machine Learning. * Nace de la necesidad de manejar enormes cantidades de datos. * Ejemplos: **BigQuery (GCP), Elasticsearch**.

Así es!

yo necesito saber que información tiene le profesor en esos discos duros.

La elección de una base de datos NoSQL depende de los requisitos específicos de una aplicación o sistema. Algunas de las ventajas comunes de las bases de datos NoSQL incluyen escalabilidad, flexibilidad de esquema, manejo de datos no estructurados y un alto rendimiento en ciertas aplicaciones. Sin embargo, no todas las bases de datos NoSQL son adecuadas para todas las situaciones, y es importante seleccionar la que mejor se adapte a las necesidades de tu proyecto.

Las bases de datos no relacionales, también conocidas como bases de datos NoSQL (no solo SQL), son sistemas de gestión de bases de datos que almacenan y recuperan datos de manera diferente a las bases de datos relacionales tradicionales. Se utilizan para abordar desafíos específicos que pueden ser difíciles de manejar con bases de datos relacionales. Los tipos de bases de datos no relacionales se pueden clasificar en varias categorías principales:

Bases de Datos de Documentos:

  • Almacenan datos en documentos similares a JSON o XML. Cada documento puede contener datos con una estructura flexible. Ejemplos populares incluyen MongoDB y CouchDB.

Bases de Datos de Columnas:

  • Almacenan datos en columnas en lugar de filas, lo que permite una alta escalabilidad y una recuperación eficiente de datos específicos. Ejemplos son Apache Cassandra y HBase.

Bases de Datos Clave-Valor:

  • Son las más simples y almacenan datos en pares clave-valor. Son eficaces para almacenar y recuperar datos rápidamente. Ejemplos incluyen Redis y Riak.

Bases de Datos en Grafo:

  • Están diseñadas para representar y almacenar datos con relaciones complejas, como redes sociales o sistemas de recomendación. Ejemplos son Neo4j y OrientDB.

Bases de Datos de Tiempo Real:

  • Están optimizadas para la recopilación y el análisis de datos en tiempo real, como los datos de sensores o registros de eventos. Ejemplos son Apache Kafka y Amazon Kinesis.

Bases de Datos Multimodelo:

  • Permiten almacenar datos en varios formatos (por ejemplo, documentos y columnas) dentro de la misma base de datos. Ejemplos incluyen ArangoDB y Couchbase.

Bases de Datos de Almacén de Objetos:

  • Están diseñadas para almacenar objetos, estructuras y tipos de datos complejos. Ejemplos son db4o y Versant.
Tipos de base de datos no relacionales: * **Clave - Valor:** Son ideales para almacenar datos de manera rapida. Pero no se pueden acceder a ellos sin conocer su clave. (DynamoDb, Cassandra) * **Basadas en documentos:** (no son archivos). Objetos de tipo Json y XML posiblemente las mas utilizadas aparte de las SQL ( MongoDB, Firestore) * **Basadas en grafos:** Como su nombre lo indica son nodos que tiene relaciones complejas (todos con todos) muy utlilizdas en IA para crear redes neuronales (neo4j,TITAN) * **En memoria:** Son sumamente rápidas,viven en memoria de igual manera son volátiles. (Memcached,Redis). * **Optimizadas para búsquedas:** Este tipo nos ayuda a hacer Queries muy complejos, son muy utilizadas en BI y Machine Learning. ( BigQuery, Elasticsearch).

SPOILER

Pongan mucha atención a esta parte!!

¿No es un poco contradictorio que las bases de datos de Grafos que son las que usan las relaciones más complejas se clasifiquen como bases de datos no relacionadas?

49. ¿Qué son y cuáles son los tipos de bases de datos no relacionales?

  • Clave - valor: son ideales para almacenar y extraer datos con una clave única. DynamoDB, Cassandra. Manejan los diccionarios de manera excepcional.
  • Basadas en documentos: Son una implementación de clave valor que varía en la forma semiestructurada en que se trata la información. MongoDB, Firestore. Ideal para almacenar datos JSON y XML. Más utilizadas después de SQL.
  • Basadas en grafos: Basadas en teoría de grafos, sirven para entidades que se encuentran interconectadas por múltiples relaciones. Ideales para almacenar relaciones complejas. Redes neuronales. neo4j, TITAN
  • En memoria: Pueden ser de estructura variada, pero su ventaja radica en la velocidad, ya que al vivir en memoria la extracción de datos es casi inmediata. Memcached, Redis.
  • Optimizadas para búsquedas: Pueden ser de diversas estructuras, su ventaja radica en que se pueden hacer queries y búsquedas compolejas de manera sencilla. BigQuery, Elasticsearch. Business Intelligence, Machine Learning.

Surgen a los problemas de rendimiento de SQL

nooo otro israel metaverso platzi

“Hola, me encantó el último cueri ya que fue algo complicado y salieron datos demasiado interesantes de la base de datos.”

Que interesante todo lo que aquí se enseña

Base de datos no relacionales


Tipos de bases de datos no relacionales:

  • Clave - valor: Son ideales para almacenar y extraer datos con una clave única. Manejan los diccionarios de manera excepcional. Ejemplos: DynamoDB, Cassandra.
  • Basadas en documentos: Son una implementación de clave valor que varía en la forma semiestructurada en que se trata la información. Ideal para almacenar datos JSON y XML. Ejemplos: MongoDB, Firestore.
  • Basadas en grafos: Basadas en teoría de grafos, sirven para entidades que se encuentran interconectadas por múltiples relaciones. Ideales para almacenar relaciones complejas. Ejemplos: neo4j, TITAN.
  • En memoria: Pueden ser de estructura variada, pero su ventaja radica en la velocidad, ya que al vivir en memoria la extracción de datos es casi inmediata. Ejemplos: Memcached, Redis.
  • Optimizadas para búsquedas: Pueden ser de diversas estructuras, su ventaja radica en que se pueden hacer queries y búsquedas complejas de manera sencilla. Ejemplos: BigQuery, Elasticsearch.
yo para la base de datos de tipo documento pense como si fuera un juego y querés CARGAR la partida, me explotó la cabeza. imagine combinar distintas base de datos en una aplicación ya sea para que una parte sola ocupe una base de datos y otra ocupe otra base de datos... MUY BUEN CURSO FELICIDADES.

Debido a mi especiadad, usualmente me encuentro en situaciones donde debo almacenar documentos variados para posteriormente extraerlos y trabajar con ellos. Luego de esta clase ya se por que opciones puedo optar para almacenar mi extraer eficientemente mi información.

Excelente…!!!

Buen resumen del tema

Excelente, explicación pero te hizo falta cosmos db de Microsoft

Yo pensaba que todas se basaban en documentos, existe una gran cantidad para cada necesidad.

Base de datos no relacionales (NoSQL)

Fáciles de manejar cuando hay muchos datos con un ID, pero débiles para hacer cosas interesantes con ellos.

BASES DE DATOS NO RELACIONALES
.
Las bases de datos relacionales marcaron un antes y un después en la industria de la tecnología y en la historia de como se manejan los datos en la historia humana.
.
Las bases de datos no relacionales no son únicamente un tipo de bases de datos, todas ellas se dividen y se diferencias unas de otras. Todas estas bases de datos por muy diferentes que sean se engloban en una única categoría distinta a las bases de datos relacionales.

El mundo de las bases de datos no relacionales es mucho mas grande de lo que en mi mente podia dimensionar. 🤯

Basicamente las bases Clave Valor, son Hash Tables.

saliéndome del tema, reproduzco todas las clases en 1.25x. El profesor habla bastante despacio.

vee, estas bases de datos, es muuuuy nuevo para mi, ufff Dios boom exploto mi cabeza jajaja

Sería bueno tener un curso de bases de datos para Machine Learning