Codificación de puestos de trabajo para el almacenamiento de datos en bases de datos sql y nosql

Sitio web y aplicaciones utilizan bases de datos para almacenar datos de forma permanente para ser recuperados en un momento posterior. Los datos a almacenar podría ser credenciales de usuario, imágenes, información de productos, actualizaciones de estado, tweets, o cualquier otra cosa. La consideración clave para cualquier tipo de base de datos es su escalabilidad, o la capacidad para manejar más datos con mayor frecuencia. Durante los últimos cuarenta años, dos tipos de bases de datos han surgido para almacenar datos - bases de datos SQL y bases de datos NoSQL.

bases de datos SQL

SQL, o Lenguaje de consulta estructurado, es el lenguaje estándar para bases de datos relacionales. UN dat relacionalunbase almacena los datos en tablas de columnas y filas, con una clave única asignada a cada fila. Esta clave única se utiliza entonces para crear relaciones entre los datos de tablas relacionadas. Por ejemplo, si una universidad estaban construyendo una base de datos de los estudiantes, que podrían crear lo siguiente:

  • Tabla de alumnos con el estudiante de nombres y apellidos, información de la dirección, número de teléfono e información de contacto de emergencia. Cada estudiante también tendría una clave única (identificación del estudiante).

  • Student_Courses tabla con la clave de cada estudiante único, clave única (por supuesto ID) del curso, y la calificación final del alumno.

    Video: Bases de Datos con Android, Ingresar y Listar

  • mesa de cursos con las llaves de su curso único, nombre del curso, el nombre del profesor, la ubicación y la hora de la reunión.

Las mesas y la relación entre los elementos de datos predefinida hacen una base de datos relacional. Usted podría preguntarse por qué se necesitan varias tablas, cuando en lugar que podría representar a toda la información en una tabla grande. Dos razones son consistencia de los datos y la precisión de datos.

Si el nombre de un curso cambió y que estaba usando una mesa grande, que tendría que buscar y cambiar todas las instancias del nombre del curso. Con una mesa supuesto, puede cambiar el nombre del curso una sola vez. bases de datos SQL funcionan mejor cuando los datos no se repite y en su lugar se enlazan utilizando varias tablas.

Una base de datos relacional estudiante con información de los estudiantes y la clase.
Una base de datos relacional estudiante con información de los estudiantes y la clase.

El lenguaje de programación SQL accede y modifica las bases de datos mediante el uso de consultas SQL. Una consulta SQL se inserta en el código del lenguaje de programación que está utilizando (Ruby, Python o PHP), y los resultados de la consulta son entonces la salida a su sitio web o programa de análisis de datos. Si va a configurar la base de datos usted mismo, es posible que desee instalar un sistema de gestión de bases de datos populares como MySQL o PostgreSQL. Alternativamente, si usted está utilizando un proveedor BAAS para su aplicación, la base de datos se puede instalar automáticamente.

bases de datos NoSQL

NoSQL bases de datos se aprovechan de los avances en el hardware para construir las bases de datos más rápida y eficiente. Históricamente, las CPU y el almacenamiento son caros, por lo que las bases de datos fueron diseñados para minimizar el costo y los recursos utilizados. Si la base de datos se hizo demasiado grande, o las consultas comenzó a correr lentamente, la base de datos se trasladó a un ordenador más potente con almacenamiento adicional.

Hoy en día, dos cosas han sucedido que cuestionar las suposiciones utilizadas por las bases de datos SQL. En primer lugar, los precios del hardware de almacenamiento y CPU han disminuido, mientras que los discos duros se han convertido en más grande y CPUs han vuelto más poderosos. En segundo lugar, la cantidad de datos que necesita ser almacenada ha aumentado, y no siempre está claro de antemano qué datos serán recogidos y almacenados.

Por ejemplo, Google procesa 24 petabytes (1000 terabytes) de datos de diario - el disco duro consumidor medio es un poco más de 1 terabyte.

bases de datos NoSQL se distribuyen, lo que significa que se almacenan y se procesan a través de múltiples servidores. bases de datos NoSQL populares incluyen MongoDB, CouchDB, y Redis. Un sistema de base de datos NoSQL tiene las siguientes ventajas:

  • Ningún esquema: A diferencia de una base de datos SQL, no define las relaciones entre los datos de antemano. bases de datos NoSQL le permiten cambiar el formato o el tipo de datos que se almacenan en cualquier momento.

  • escalable: Si su base de datos es demasiado grande, se puede agregar fácilmente otro servidor relativamente barata sin ningún tiempo de inactividad. Para bases de datos SQL, la ampliación de su base de datos requiere la compra de un servidor caro y períodos de inactividad para migrar e instalar la base de datos en un nuevo sistema.

  • Barato: Puede usar el hardware de nivel de consumo de bajo costo para una base de datos NoSQL. Para una mayor facilidad, se puede utilizar un producto como Amazon Web Services (AWS) para alquilar espacio de almacenamiento barato y establecer una base de datos NoSQL con sólo un clic, sin necesidad de comprar servidores físicos.

Video: BASES DE DATOS SQL Y NOSQL

bases de datos NoSQL también repartir la carga de procesamiento a través de múltiples CPUs. En un proceso llamado MapReduce, un gran conjunto de datos se divide en conjuntos de datos más pequeños, que están cada uno procesa independientemente. Los resultados de estos conjuntos de datos individuales se reducen de nuevo en un único conjunto de datos o resultado.

Por ejemplo, supongamos que desea encontrar el usuario de Facebook con más amigos. En lugar de utilizar un ordenador para buscar 1,5 mil millones de usuarios de Facebook, se puede dividir a los usuarios en quince conjuntos de datos de 100.000 usuarios cada uno, y luego asignar cada conjunto de datos a uno de los quince ordenadores.

Video: Diferencia Base de datos Sql y NoSql

Cada equipo procesaría la lista para encontrar el usuario con la mayor cantidad de amigos, después de lo cual cada resultado se reduciría en un dato más pequeños conjunto de quince nombres. La operación final encontraría el usuario con el mayor número de amigos de esta lista más pequeña de quince usuarios.

bases de datos NoSQL tienen muchas ventajas, pero hay algunos obstáculos también. El sistema de base de datos es relativamente nuevo, por lo que hay menos apoyo técnico y un menor número de personas con experiencia para establecer, administrar y desarrollar bases de datos NoSQL. Además, dado que se ejecutan consultas sencillas en las bases de datos NoSQL pueden ser difíciles, haciendo análisis y presentación de informes de negocios para las bases de datos NoSQL no está tan desarrollado y es mucho más difícil que hacer un trabajo similar para bases de datos SQL.

Artículos Relacionados