Conocer y comprender c贸mo se realizan las conexiones hacia los servidores a trav茅s de internet y sus implicaciones en el desarrollo de servidores

1

Bienvenida y presentaci贸n del curso

2

Qu茅 es Node y c贸mo instalarlo

3

驴Qu茅 son y c贸mo se usan las peticiones HTTP?

4

M茅todos, cabeceras y estados

5

Cuerpo y query de la petici贸n

Crear un servidor HTTP en Javascript, y comenzar a escuchar y responder peticiones desde un cliente .

6

Crear un servidor HTTP desde NodeJS

7

驴C贸mo pueden venir las peticiones?

8

Recibir informaci贸n desde el cliente: Body y Query

9

Informaci贸n contextual: Leer las cabeceras

10

Tipos de respuesta: Vac铆a, plana, con datos y estructurada

11

Respuestas coherentes

12

Servir archivos est谩ticos

13

Errores: C贸mo presentarlos e implicaciones en la seguridad

Comprender y desarrollar la arquitectura b谩sica de un backend en NodeJS, y comunicarse entre m贸dulos

14

Conceptualmente: Rutas, controladores y bases de datos

15

Rutas y capa de red: Responsabilidades y l铆mites

16

Controladores: Definiendo la l贸gica de negocio

17

Almacenando la informaci贸n en una base de datos

Utilizar una base de datos para definir, modelar, almacenar y recuperar la informaci贸n de nuestra aplicaci贸n

18

Tipos de Bases de Datos: Relacionales y No Relacionales

19

Crear y Configurar tu Base de Datos con MongoDB

20

MongoDB: Almacenar y leer datos

21

MongoDB: Actualizar datos

22

MongoDB: Consultar datos

23

MongoDB: Eliminar Datos

24

Gestionar conexiones a la base de datos desde la API

Uso de entidades para crear aplicaciones escalables

25

Escalando la arquitectura: M煤ltiples entidades

26

Relacionando nuestras entidades

27

C贸mo recibir ficheros desde NodeJS

28

Guardar el fichero en el servidor

Conocer el protocolo de websockets, e implementar comunicaci贸n cliente/servidor con SocketIO.

29

WebSockets: Qu茅 son, por qu茅 son interesantes y c贸mo usarlos

30

Manejo de Websockets con NodeJS

31

Conectar la API al servidor de WebSockets

Revisi贸n de lo aprendido, y pr贸ximos pasos

32

Revisi贸n y pr贸ximos pasos

33

Tips para escalar nuestro proyecto

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Tipos de Bases de Datos: Relacionales y No Relacionales

18/33
Recursos

Bases de Datos Relacionales: no es una base de datos muy flexible, pero tiene a favor su gran soporte y el enorme desarrollo en herramientas para su uso. Si necesitamos cambiar un valor de un campo debemos hacerlo con todos los campos de nuestra BD, en cambio con NoSQL o No Relacional no es as铆.

Bases de Datos No Relacionales: son de bases de datos sin una tabla fija como las que s铆 se encuentran en las bases de datos relacionales, lo que permite una alta escalabilidad en ellas. Adem谩s, es abierta y, por lo tanto, flexible a diferentes tipos de datos y no necesita tantos recursos para ejecutarse; de hecho, el hardware necesario no cuesta mucho.

En este art铆culo podemos encontrar m谩s a fondo qu茅 tipos de bases de datos existen.

Aportes 38

Preguntas 5

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Hola como aporte y escuchando las clases de este excelente profesor.
NoSQL en realidad es (No Only SQL)
Saludos

Seria mejor que representara las bases de datos de forma gr谩fica y sin gestos

Dato curioso: La palabra NoSQL viene del acr贸nimo 鈥淣ot Only SQL鈥, el 鈥淣o鈥 no es una negaci贸n de SQL.

Hola Devs:
-Aca tienen un video explicativo del tio Freddy,** 驴Que es SQL y NoSQL?**: Click Aqui

En vez de que el profesor explique con las manos haciendo se帽as, ser铆a mejor que lo explicara de forma gr谩fica.

Base de datos basada en grafos https://neo4j.com/ , la usan para IA.

隆Interesante! Un compa帽ero me dice que hacer b煤squedas con MongoDB es una mamera y dif铆cil pero ahora veo que es una muy buena opci贸n cuando las bases de datos tienden a cambiar mucho.

驴Es muy complicado migrar datos de Mongo a una base de datos relacional?

En el curso de fundamentos de bases de datos esta informacion la amplian muchisimo mas y es super bueno!

https://platzi.com/clases/bd/
este es el curso

Creo que lo m谩s utilizado con Node es Mongo :3

Otra base de datos genial que esta basada en grafos es Dgraph:
https://dgraph.io

Como dice el profesor las bases de datos relacionales son mejores para trabajar con logicas de negocio bien definidas como por ejemplo un sistema contable, de facturacion, etc, mientras que las no relacionales son mejores para trabajar con logicas de negocio cambiantes como aplicaciones de domicilios, chats, etc; y hay otros casos en los que una parte de la aplicacion trabajar谩 con bases de datos relacionales y otra con no relacional.

Las bases de datos SQL son fundamentales y todo desarrollador de bases de datos deber铆a saber SQL.

Y las no SQL son bastante variadas, hay una ruta espec铆ficamente para bases de datos aqu铆 en Platzi: https://platzi.com/base-de-datos/

Vamos a Mongo

cada vez todo tiene mas sentido para el backend el manejo de base de datos es muy importante

Vamos con MongoDB 馃槈

MongoDB

SQL=>Basada en tablas, NoSQL=>Basada en documentos, en clave-valor, relaciones entre nodos

SQL Structured Query Language
NoSQL Not Only Structured Query Language

En realidad no es JSON Javascript Object Notation, sino BSON Binary JSON, el cual es parecido pero tiene representaci贸n binaria de estructuras de datos y mapas

Notas de la clase
Si hablamos de base de datos, lo m谩s com煤n era MySQL, se usaba en todas partes pues tiene un feat perfecto con PHP, uno de los lenguajes m谩s usado en backend.
.
MySQL es una base de datos relacional, igual que Postgres. Ahora est谩 de moda base de datos no relacionales.
.
Relacional , que significa , como se usa y por que
Relacional es que tiene relaciones, MySQL se basa en tablas, se crea una tabla para cada tipo de informaci贸n y en esa tabla creamos columnas para los datos y filas para los registros.
.
Ejemplo: si tengo la tabla de personas, en las columnas podemos tener nombre, apellido, edad, etc. Y cada persona a帽adida ser谩 una nueva fla. Si tenemos una tabla de mensajes cuando queramos indicar quien creo el mensaje no es suficiente con poner el nombre, se crea un identificador 煤nico para la persona. Los motores de base de datos relacionales se encargan de crear relaciones atr谩s para traer la informaci贸n.
.
Esta forma de traer datos no escala, la capacidad de computa necesaria se eleva al buscar de lugares diferentes. Aqu铆 aparecen las base de datos no relacionales o NoSQL.
.
Se llama NoSQL porque el lenguaje de consulta para las base de datos relacionales es SQL. Tiene su propio lenguaje y sus propias librer铆as de consulta. Tipos de base de datos no relacionales: documentos, donde escribimos en un formato determinado, json por ejemplo y a esta.

  • Documentos relacionados, donde nos permite tener relaciones. MongoDB es un ejemplo.
  • Clave valor: tenemos una clave y un valor. Un ejemplo es kasandra
  • De grafos: guarda informaci贸n en nodos entre ellos, y crea relaciones entre nodos. Son importantes

cuando vamos a guardar informaci贸n de red social o an谩lisis de informaci贸n complejos. Se usa bastante para detectar patrones extra帽os en envi贸 de email, patrones de comportamiento extra帽os, detectar fraude bancario.
.
Un ejemplo es Neo4j
Para nuestro proyecto de mensajes y usuarios y MySQL no va a encajar bien, porque las BD relacionales se basan en esquemas s贸lidos. Estos esquemas implican que al hacer un cambio en el esquema, como se organiza mis base de datos, tengo que cambiar toda la base de datos. Eso suele ser un problema grave.
.
MongoDB es un BD que no tiene esquema y podemos con un software definir los esquemas, el tipo que tienen, la validaci贸n, etc.
Tendremos unos documentos y si alg煤n momento queremos cambiar el esquema, lo hacemos y todo sigue funcionando.

En bases de datos no relacionales falto incluir las bases de datos columnares

vamos a por mongo !!!

Nunca he usado Mongo, solo SQL y PostgreSQL, a aprender MongoDB

Mongo DB es muy muy potente y e incre铆blemente f谩cil de entender.
Para mi es una de las mejores bases de datos NO-SQL que hay

Por lo regular las bases de datos relacionales bien hechas siempre tienen efecto en cadena!

En ocasiones escalar una base de datos en MySQL llega a ser muy tedioso cuando tienes una aplicaci贸n compleja y veo o por lo que he leido MongoDB suele ser sencillo de uso, ya lo veremos, excelente clase.

yo ocupo mysql :C

Solo he usado SQL Server

馃槈馃憣

Siempre he trabajado con bases de datos racionales, a la hora que empieza a crecer el proyecto las consultas se vuelven lentas, nunca he trabajado con base de datos no relacionales, veamos como funciona

Interesante tema acerca de las bases de datos!!!
Muy emocionada de comenzar.

Seg煤n tengo entendido, las bases de datos relacionales presentan una estructura definida como con mysql y los no relacionales no.

No cargan los videoos 鈥

Perfectamente explicado.

Genial!! ya conozco Mysql pero no conoc铆a los pros y contra, me han hablado de MongoDB y quiero conocerla, esto va a estar genial!!

Por que usaremos mongo(no sql) en vez de mysql(relacional) te lo esplica bien claro y es la mejor explicacion que e escuchado en el minuto 4:46