sábado, 4 de diciembre de 2021

Big Data

Big data significa que estamos trabajando con grandes cantidades de datos. Y eso es especialmente cierto en gran parte debido a la revolución de Internet. Desde mediados y finales de la década de 1990, de repente, el uso de Internet ha crecido exponencialmente. Hasta el punto en que solía ser algo que podíamos usar para buscar información en la web o tal vez para enviar algún correo electrónico ocasional. Pero hoy en día se usa para servicios de transmisión. Y las empresas realmente no pueden hacer negocios sin conectividad a Internet en todos sus dispositivos informáticos. Los expertos estiman que aproximadamente el 90% de los datos actuales tienen solo dos años.

Eso realmente pone las cosas en perspectiva, para mostrar que el volumen de datos sigue creciendo. Y así, de alguna forma, necesitamos una forma de capturar, recopilar, almacenar y procesar estos datos para que tengan sentido. Y eso es parte de lo que se tratan con Big data. Cuando tenemos datos que se organizan y obtenemos conocimientos de ellos, realmente estamos hablando de información. Así que todos hemos escuchado el antiguo término, la información es poder. Y eso es tan cierto ahora como siempre. Con Big data, estamos hablando de utilizar soluciones informáticas modernas que son realmente necesarias para procesar y organizar datos en información a esta escala.

Los sistemas tradicionales de administración de bases de datos simplemente podrían no ser capaces de manejar este volumen de datos. Las bases de datos tradicionales pueden manejar millones de filas o registros, y podemos ejecutar consultas en ellas y devuelven resultados con bastante rapidez. Pero, ¿qué pasa cuando se trata de miles de millones o billones de artículos almacenados? Bueno, los sistemas tradicionales simplemente no están diseñados para eso, y ahí es donde realmente entra el Big data. Con el Big data, también tenemos que considerar de dónde provienen los datos.

Estos datos pueden provenir de cámaras de vigilancia de seguridad, de dispositivos de IoT, o del uso de aplicaciones de teléfonos inteligentes, o de datos financieros, estamos hablando de los datos recopilados a lo largo del tiempo. Y sabemos que eso sigue creciendo exponencialmente. Los datos realmente pueden venir de cualquier lugar. Podrían ser feeds de redes sociales, registros militares, registros de llamadas telefónicas. Realmente, podrían provenir de cualquier parte. Y esa es una de las razones por las que estamos hablando de Big data. Porque hay mucho y muchas fuentes.

Big data tiene una serie de características, una de las cuales es la cantidad de datos con los que estamos trabajando. Tenemos que considerar no solo el espacio de almacenamiento, que podría estar en terabytes para grandes conjuntos de datos. Pero también cuántos datos se pueden procesar a la vez. Y eso puede ser especialmente importante si estamos utilizando una solución de almacenamiento en caché en memoria de base de datos como Redis. Solo podemos almacenar una cantidad determinada de datos en caché a la vez para acelerar las operaciones. La siguiente característica que tenemos que considerar es el ritmo al que se producen los datos. Eso va a variar de una organización a otra. Donde realmente depende de qué tipo de datos se consideran valiosos en una organización profesional, una agencia gubernamental o incluso una base de datos individual. Así que tenemos que pensar en cuántos datos se producen y de dónde proceden.

Existe una amplia variedad de tipos de datos. También tenemos que pensar en esto. Ya se trate de feeds de redes sociales o registros de llamadas telefónicas, medios de audio y video. Tenemos que considerar qué es lo que queremos recopilar, almacenar y procesar. La siguiente característica de Big data es, ¿cómo de precisos son los datos? ¿Se puede confiar en ellos?  ¿De dónde provienen los datos? ¿Fue de un registro interno u otra base de datos, o se proporcionó externamente? ¿Se proporcionó de forma automatizada o lo proporcionaron los usuarios, lo que significa que podría estar sujeto a errores? O podríamos querer ejecutar algún tipo de reglas de transformación. Para asegurarnos de que cuando las personas ingresen, por ejemplo, diferentes variaciones de Estados Unidos ,E.E.U.U o EE.UU., Lo transformemos para que sea algo consistente para facilitar la búsqueda y obtener información significativa.

La precisión de los datos también es importante cuando se trata de transmitir datos a través de la red y almacenarlos. En otras palabras, protegerlo de manipulaciones, ya sea mediante cifrado y / o firmas digitales. Idealmente, deberían usarse ambos. La característica más importante de los datos es ¿cómo obtenemos valor de esos datos? Porque entonces se convierte en información. Así que tenemos que pensar, por ejemplo, en millones de transacciones de clientes minoristas por hora. Está bien, si estamos capturando esa información. Pero si no hacemos nada con ella, ¿cuál es el valor?, el valor vendría al mirarlo y determinar si hay alguna tendencia a lo largo del tiempo. O patrones para comprar, en diferentes lugares, diferentes momentos del día, diferentes tipos de productos. Además, mirar información, como de dónde son las personas. Y si existe algún tipo de correlación con nuestros hábitos de compra que sean similares para las personas de la misma zona. Ahí es donde el procesamiento de 

Big Data y la obtención de valor de esos datos se vuelve muy frecuente.

Implementar una solución SQL en AWS

Vamos a implementar una instancia de base de datos de Microsoft SQL Server en la nube con Amazon Web Services. Para ello abrimos la consola de AWS 

Tenemos una cuenta de Amazon Web Services o AWS, y hemos iniciado sesión en la Consola de administración de AWS. Nos desplazamos hacia abajo y debajo del encabezado Base de datos hacemos clic en RDS, que significa sistema de base de datos relacional.

Implementar una solución SQL en AWS

Los servicios de base de datos de AWS tienen: RDS, DynamoDB, Neptune, etc. Lo que queremos es crear una nueva base de datos, así que hacemos clic en el botón Crear base de datos (Create database).

Implementar una solución SQL en Amazon Web Services
Con lo que aparece una nueva página para seleccionar el motor de BBDD. Entre otras tiene para elegir:  Amazon Aurora, MySQL, MariaDB, etc. Elegimos Microsoft SQL Server, así que lo seleccionamos. De las opciones que nos permite elegimos SQL Server Express Edition. Y en la parte inferior derecha hacemos clic en Siguiente. 

SQL Server en Amazon Web Services

Hacemos clic en el botón Siguiente (Next). Se muestra una nueva página para especificar detalles de la base de datos. Tiene las siguientes secciones: Especificaciones de la instancia y Configuración. Las especificaciones de la instancia tienen un menú desplegable. 

SQL Server en Amazon Web Services
Para SQL Server Express, no tenemos todas las opciones disponibles, elegimos la clase de instancia de base de datos de la lista desplegable, elegimos db.t2.micro como la clase de instancia, que admite 1 vCPU y aproximadamente 1 gigabyte de RAM.

implementar SQL Server en Amazon Web Services
Y no cambiamos nada más en esta primera página, aparte de ir a Configuración (Settings), para  especificar un identificador de instancia de base de datos que llamamos  db1. Especificamos un nombre de usuario maestro de dbadmin, introducimos una contraseña y  pulsamos continuar (next). 

Escribimos db1, en el cuadro de entrada para el identificador de instancia de base de datos, dbadmin en el cuadro de entrada para el nombre de usuario y escribimos la contraseña en el cuadro de entrada para la contraseña.

Con esto vamos al tercer paso donde aparece una nueva página titulada Configurar página de configuración avanzada (Configure advanced settings).

SQL Server en Amazon Web Services

Especificamos una red virtual en la nube en la que queremos implementar esto. Elegimos VPC-East.  

SQL Server en Amazon Web Services
Bajamos por la pantalla hasta accesibilidad pública (Public accessibility), seleccionamos Yes para poder acceder a la base de datos desde nuestra estación local para administrar la instancia de base de datos de SQL Server. 

Podemos ver aquí que va a usar el puerto de escucha 1433, que Microsoft SQL Server normalmente utiliza. Pero no cambiamos nada aquí más, excepto que desactivaremos la protección contra eliminación. 

SQL Server en Amazon Web Services

Hacemos clic en Crear base de datos. Desactivamos la protección contra eliminación porque después de haber probado esta instancia de base de datos, queremos eliminarla rápidamente. De lo contrario, si la dejamos funcionando, incurriremos en grandes facturas mensuales por ejecutar una base de datos en la nube. 

Aparece una nueva ventana con el siguiente mensaje: Se está creando su instancia de base de datos.

SQL Server en Amazon Web Services

Pulsamos sobre el botón ver detalles de instancia de base de datos, (View DB instance details) Que nos lleva a la configuración de la instancia de la base de datos que se está creando. Al hacer clic en Bases de datos a la izquierda, vemos nuestra instancia de base de datos, db1. 

SQL Server en Amazon Web Services

Le damos unos minutos hasta que termine de crearse y después hacemos clic sobre Bases de datos en el panel de navegación. Verificamos el estado de la base de datos db1. Hacemos clic en el enlace db1 y aparece la hoja de detalles de db1 nos desplazamos hacia abajo en la hoja y copiamos la dirección del Endpoint de la parte de Conectividad (Connectivity)

SQL Server en Amazon Web Services

Después abrimos el IDE de Microsoft SQL Server Management Studio (Administrador). Y pegamos el nombre del servidor que acabamos de copiar. 

SQL Server en Amazon Web Services

Utilizamos el autenticación de SQL Server. Especificamos un ID de inicio de sesión de dbadmin y le ponemos la contraseña que hemos especificado al principio al crearla, y finalmente hacemos clic en Conectar (Connect), esto permite conectamos a la nube con nuestra instancia de base de datos de SQL Server.

Implementar una solución NoSQL en AWS

A veces, nuestros requisitos de almacenamiento de datos aconsejarán el uso de una base de datos NoSQL. si sospechamos que vamos a almacenar una gran cantidad de datos y una variedad de diferentes tipos de datos en la misma ubicación.

Implementar una solución NoSQL en AWS

Entramos en AWS Management Console (enlace a AWS in a Nutshell 1) nos desplazamos hacia abajo en la sección Base de datos y elegimos DynamoDB, que es un tipo de base de datos NoSQL.

solución NoSQL en AWS
Hacemos clic en el botón Crear tabla (Create table)

solución NoSQL en AWS

Introducimos un nombre de tabla (MiTabla)  y especificamos una clave para identificar de manera única los datos. Le ponemos ItemID como nombre, y lo marcamos como de tipo String.

solución NoSQL en AWS

Utilizaremos las configuraciones predeterminadas para esta implementación, por lo que no pondremos índices adicionales para acelerar la búsqueda. Hacemos clic en Crear (Create). Después de crear la tabla podemos cambiar los valores elegidos si lo deseamos.

NoSQL en AWS

Entonces, en este punto, vemos que nuestra tabla DocumentDB está creada a medias.

Vamos a la pestaña Items para agregar elementos a nuestra tabla definida, que en realidad es  equivalente a una fila en un tipo de tabla SQL estándar. Hacemos clic en Crear elemento (Create item). 

NoSQL en AWS

Elegimos un nombre para el objeto al que va asignando los números 001, 002 etc  y hacemos clic en Guardar(Save).  Para añadir una nueva fila pulsamos en el combo desplegable sobre añadir (Append) y elegimos el tipo de dato también.

Con NoSQL cada elemento almacenado en una tabla puede tener diferentes tipos de datos de almacenamiento. Esto significa, que cada vez que hacemos clic en Crear elemento y agregamos, digamos, un segundo ItemID de 002 de otro elemento para nuestra columnas, este elemento puede ser de un tipo diferente al anterior. Así que ahora tenemos dos elementos completamente diferentes que comparten el mismo tipo de valor de clave principal, pero eso es todo.

La clave principal debe ser única. Si hacemos clic en Crear elemento e intentamos crear un nuevo ItemID de 001 nos dará un error.


No hay comentarios:

Publicar un comentario