Proyecto Final Base de Datos II
Proyecto Final Base de Datos II
Proyecto Final Base de Datos II
▪ Software:
▪ El programa principal que necesitamos considerar en un sistema de base de datos distribuida es el DDBMS.
▪ En un SGBD distribuido, la base de datos se almacena en varios computadores que se pueden comunicar a su vez
por distintos medios de comunicación. Se denomina con el término de emplazamientos o nodos a todos aquellos
computadores que pertenecen a un sistema distribuido.
▪ Datos: Una base de datos distribuida puede no estar duplicada, parcialmente duplicada o totalmente
duplicada. Una base de datos parcialmente duplicada contiene ciertos elementos de datos que están
duplicados y algunos que no lo están.
▪ Procedimientos: Los sistemas de base de datos distribuidos contienen una multitud de componentes de
procesamiento. En los sistemas distribuidos más sencillos, los datos no están duplicados, y sólo el nodo
que almacena los datos puede actualizarlos.
▪ Personal: Los sistemas con un DDBMS complejo y poderoso imponen pocas demandas especiales sobre
los usuarios. De hecho, los usuarios no saben que están procesando datos distribuidos.
▪ FRAGMENTACIÓN HORIZONTAL (HF): La fragmentación horizontal se realiza sobre las tuplas de la
relación. Cada fragmento será un subconjunto de las tuplas de la relación. Existen dos variantes de
la fragmentación horizontal: la primaria y la derivada. La fragmentación horizontal primaria de una
relación se desarrolla empleando los predicados definidos en esa relación. Por el contrario, la
fragmentación horizontal derivada consiste en dividir una relación partiendo de los predicados
definidos sobre alguna otra
Los sistemas OLAP son bases de datos orientadas al procesamiento analítico. Este análisis suele
implicar, generalmente, la lectura de grandes cantidades de datos para llegar a extraer algún tipo de
información útil: tendencias de ventas, patrones de comportamiento de los consumidores, elaboración
de informes complejos… etc. Este sistema es típico de los datamarts.
▪ ROLAP:
La arquitectura ROLAP, accede a los datos almacenados en un datawarehouse para proporcionar los
análisis OLAP. La premisa de los sistemas ROLAP es que las capacidades OLAP se soportan mejor
contra las bases de datos relacionales. El sistema ROLAP utiliza una arquitectura de tres niveles. La base
de datos relacional maneja los requerimientos de almacenamiento de datos, y el motor ROLAP
proporciona la funcionalidad analítica. El nivel de base de datos usa bases de datos relacionales para el
manejo, acceso y obtención del dato. El nivel de aplicación es el motor que ejecuta las consultas
multidimensionales de los usuarios.
▪ MOLAP:
La arquitectura MOLAP usa unas bases de datos multidimensionales para proporcionar el análisis, su
principal premisa es que el OLAP está mejor implantado almacenando los datos
multidimensionalmente. El sistema MOLAP utiliza una arquitectura de dos niveles: las bases de datos
multidimensionales y el motor analítico. La base de datos multidimensional es la encargada del manejo,
acceso y obtención del dato.
Base para la comparación ROLAP MOLAP
ROLAP significa procesamiento analítico MOLAP significa procesamiento analítico
Forma completa
relacional en línea. multidimensional en línea.
Los datos se almacenan y se obtienen del Los datos se almacenan y se obtienen de
Almacenamiento y obtenido
almacén de datos principal. las MDDB de la base de datos propietaria.
Los datos se almacenan en la gran matriz
Los datos se almacenan en forma de
Formulario de datos multidimensional formada por cubos de
tablas relacionales.
datos.
Los datos de resúmenes limitados se
Volúmenes de datos Grandes volúmenes de datos.
guardan en MDDB.
El motor MOLAP creó cubos de datos
precalculados y prefabricados para vistas
Utiliza consultas SQL complejas para
Tecnología de datos multidimensionales.
obtener datos del almacén principal.
La tecnología de matriz dispersa se utiliza
para gestionar la escasez de datos.
MOLAP ya almacena la vista
ROLAP crea una vista multidimensional de
Ver multidimensional estática de datos en
datos de forma dinámica.
MDDB.
Acceso Acceso lento. Acceso más rápido.
El esquema de estrella es un enfoque de modelado maduro ampliamente adoptado por los
almacenes de datos relacionales. Requiere que los modeladores clasifiquen las tablas del
modelo como dimensiones o hechos.
▪ Las tablas de dimensiones describen entidades empresariales (las cosas que se modelan).
Las entidades pueden incluir productos, personas, lugares y conceptos, incluido el propio
tiempo. La tabla más coherente de un esquema de estrella es una tabla de dimensiones de
fecha. Una tabla de dimensiones contiene una columna (o columnas) de clave que actúa
como identificador único y columnas descriptivas.
▪ Las tablas de hechos pueden almacenar observaciones o eventos, y pueden ser pedidos de
ventas, existencias, tasas de cambio, temperaturas, etc. Una tabla de hechos contiene
columnas de clave de dimensiones relacionadas con las tablas de dimensiones y columnas
de medida numéricas. Las columnas de clave de dimensiones determinan
la dimensionalidad de una tabla de hechos, mientras que los valores de clave de
dimensiones determinan la granularidad de una tabla de hechos.
A continuación, se destacarán las principales
características del Esquema en Estrella:
• Es el más simple de interpretar .
• Posee los mejores tiempos de respuesta.
• Es soportado por todos los visores OLAP.
• Su diseño es sencillo de mantener y
actualizar.
• Existe paralelismo entre su diseño y la
forma en que l@s usuari@s visualizan y
manipulan los datos.
• Es el modelo elegido para prototipado
rápido.
Esquema en copo de nieve (bola de nieve) es una variedad más compleja del esquema
estrella. El afinamiento está orientado a facilitar mantenimiento de dimensiones.
Lo que distingue a la arquitectura en copo de nieve del esquema estrella, es que las tablas
de dimensiones en este modelo representan relaciones normalizadas (3NF) y forman parte
de un modelo relacional de base de datos.
Con varios usos del esquema en bola de nieve, el más común es cuando las tablas de
dimensiones están muy grandes o complejos y es muy difícil representar los datos en
esquema estrella.
Los esquemas de copo de nieve están hechos para consultas flexibles sobre relaciones y
dimensiones más complicadas. Es ideal para las relaciones uno a muchos y muchos a
muchos entre los niveles de dimensión y, por lo general, se asocia con almacenes de datos y
almacenes de datos dimensionales, en los que la velocidad de recuperación de datos es más
crítica que la eficiencia en la manipulación de datos. Los esquemas de copo de nieve se usan
más comúnmente con herramientas de consulta avanzadas, que crean una capa de
abstracción entre usuarios y tablas sin formato para escenarios que tienen múltiples
consultas con especificaciones elaboradas.
A continuación, se destacarán las principales
características del Esquema Copo de Nieve:
• Posibilita la segregación de los datos de las
tablas de Dimensiones.
• Puede implementarse después de que se
haya desarrollado un Esquema en Estrella.
• Posee mayor complejidad en su estructura.
• Utiliza menos espacio de almacenamiento.
• Es más eficiente en el caso de tablas de
Dimensiones con gran cantidad de registros.
• Su semántica se ajusta a las representaciones
de las diferentes Jerarquías de Dimensiones.
• Se deben planificar correctamente las
uniones e el indexado, a fin de NO generar
sobrecarga en la resolución de consultas.
El concepto de jerarquía permite que la información sé que almacena en las bases de datos
multidimensionales se organice en base a diferentes niveles de abstracción.
• Nivel 1: Todos
• Nivel 2: Continentes > Europa, Asia
• Nivel 3: Países > Europa > Francia, Italia, España
• Nivel 4: Ciudades > España > Madrid, Barcelona, Sevilla
• Nivel 5: Oficinas > Madrid > Oficina 1, Oficina 2, Oficina 3
Un data warehouse es un repositorio unificado para todos los datos que recogen los diversos
sistemas de una empresa. El repositorio puede ser físico o lógico y hace hincapié en la
captura de datos de diversas fuentes sobre todo para fines analíticos y de acceso.
▪ Con una estructura básica, sistemas operativos y archivos planos proporcionan datos en
bruto que se almacenan junto con metadatos. Los usuarios finales pueden acceder a ellos
para su análisis, generación de informes y minería.
▪ Al añadir un área de ensayo que se puede colocar entre las fuentes de datos y el almacén,
ésta proporciona un lugar donde los datos se pueden limpiar antes de entrar en el almacén.
Es posible personalizar la arquitectura del almacén para diferentes grupos dentro de la
organización.
▪ Se puede hacer agregando data marts, que son sistemas diseñados para una línea de
negocio en particular. Se pueden tener data marts separados para ventas, inventario y
compras, por ejemplo, y los usuarios finales pueden acceder a datos de uno o de todos los
data marts del departamento.
▪ Un data mart es un sistema de almacenamiento de datos que contiene información
específica de la unidad de negocio de una organización. Contiene una parte pequeña y
específica de los datos que la empresa almacena en un sistema de almacenamiento más
grande. Las empresas utilizan un data mart para analizar la información específica de cada
departamento de manera más eficiente. Brinda datos resumidos que las partes interesadas
clave pueden utilizar para tomar decisiones informadas rápidamente.
Un data mart independiente no depende de un almacenamiento de datos central ni de ningún otro data mart.
Cada data mart recopila información de sus fuentes en lugar de hacerlo de un almacenamiento de datos. Los
data marts independientes son adecuados para las empresas más pequeñas, pero solo los departamentos en
específico deben acceder a la información y analizarla.
▪ Ventajas y desventajas: Las empresas pueden configurar data marts independientes con relativa facilidad. Sin
embargo, administrarlos puede resultar difícil. Esto se debe a que los analistas de negocios deben realizar
tareas administrativas de bases de datos en cada data mart. Es sencillo compartir datos entre diferentes data
marts por medio de estrategias como el uso compartido de datos. Los departamentos pueden leer los datos
de otro departamento e incluso aumentarlos con sus propios datos. Sin embargo, se debe implementar una
estrategia sólida de catalogación de datos para garantizar que cada departamento sepa lo que está
buscando.
El modelado de datos es el proceso de analizar y definir todos los diferentes datos que su
negocio recopila y produce, así como las relaciones entre esos bits de datos. Los conceptos
de modelado de datos crean representaciones visuales de los datos a medida que se utilizan
en su negocio, y el propio proceso es un ejercicio de conocimiento y aclaración de sus
requisitos de datos.
Al modelar sus datos, documentará los datos que tiene, cómo los usa y cuáles son sus
requisitos relacionados con el uso, la protección y la gobernanza. Mediante el modelado de
datos, su organización:
• Crea una estructura para la colaboración entre su equipo de TI y sus equipos comerciales.
• Expone oportunidades para mejorar los procesos comerciales, al definir las necesidades y los usos
de los datos.
• Ahorra tiempo y dinero en TI y en inversiones en procesos, mediante una planificación adecuada
por adelantado.
• Reduce los errores (y la entrada de datos redundantes propensa a errores), al tiempo que mejora la
integridad de los datos.
• Aumenta la velocidad y el rendimiento de la recuperación y el análisis de datos, al planificar la
capacidad y el crecimiento.
• Establezca y supervise indicadores clave de rendimiento adaptados a sus objetivos empresariales.
El minado de datos es un conjunto de técnicas y tecnologías que permiten explorar grandes
bases de datos, de manera automática o semiautomática, con el objetivo de encontrar
patrones repetitivos que expliquen el comportamiento de estos datos.
A pesar de que la idea del Data Mining puede parecer una innovación tecnológica muy
reciente, en realidad este término apareció en los años sesenta conjuntamente con otros
conceptos como, por ejemplo, el data fishing o data archeology. No obstante, no fue hasta los
años ochenta cuando empezó su consolidación.
La minería de datos surgió con la intención o el objetivo de ayudar a comprender una enorme
cantidad de datos y que estos pudieran ser utilizados para extraer conclusiones para
contribuir en la mejora y el crecimiento de las empresas. Sobre todo, por lo que hace a las
ventas o fidelización de clientes.
Su principal finalidad es explorar, mediante la utilización de distintas técnicas y tecnologías,
bases de datos enormes de manera automática. El objetivo es encontrar patrones repetitivos,
tendencias o reglas que expliquen el comportamiento de los datos que se han ido
recopilando con el tiempo. Estos patrones pueden encontrarse utilizando estadísticas o
algoritmos de búsqueda próximos a la Inteligencia Artificial y a las redes neuronales.
La Ciencia de Datos es una de las disciplinas con mayor demanda profesional, dado que la
cantidad de usos y aplicaciones en el mundo real es cada vez mayor. El reconocimiento
facial, las órdenes por voz a los asistentes virtuales, los chatbots, la prevención del fraude
bancario, el otorgamiento de préstamos y el diagnóstico médico nos dan una idea de las
oportunidades que se presentan en diferentes industrias.
Data science está intrínsecamente ligado con inteligencia artificial, machine learning, deep
learning, estadística y procesamiento de lenguaje natural, entre otras disciplinas. La ciencia
de datos está presente en nuestras vidas en todo momento, aunque no nos demos cuenta:
cuando hacemos una búsqueda en Google, cuando Netflix nos recomienda una película o
cuando LinkedIn nos sugiere una búsqueda laboral.
Los profesionales que cuenten con las herramientas adecuadas, visión de negocios,
creatividad y espíritu emprendedor estarán frente a una gran oportunidad para tener una
ventaja competitiva en el mundo laboral.
El análisis de datos es el proceso de exploración, transformación y examinación de datos para
identificar tendencias y patrones que revelen insights importantes y aumenten la eficiencia
para respaldar la toma de decisiones. Una estrategia moderna de análisis de datos les
permite a los sistemas y a las organizaciones trabajar a partir de análisis automatizados
en tiempo real, lo que garantiza resultados inmediatos y de gran impacto.
El proceso de análisis de datos se basa en varios pasos y fases. Es posible que las
conclusiones de fases posteriores requieran volver a trabajar en una fase anterior, lo que
implica un proceso más cíclico que lineal. Lo más importante es que el éxito de los procesos
de análisis de datos depende de la capacidad de repetición y automatización de cada uno de
estos pasos.
Es una base de datos en la que la información
está representada mediante objetos, como los
presentes en la programación orientada a
objetos.
▪ Base de datos de objetos:
El modelo de base de datos orientada a objetos agrupa la información en paquetes
relacionados entre sí: los datos de cada registro se combinan en un solo objeto, con todos sus
atributos. De esta manera, toda la información está disponible en el objeto, ya que sus datos
quedan agrupados en lugar de distribuidos en diferentes tablas. En los objetos no solo pueden
guardarse los atributos, sino también los métodos, lo que refleja la afinidad de estas bases de
datos con los lenguajes de programación orientados a objetos: al igual que en estos, cada
objeto presenta un conjunto de acciones que pueden llevarse a cabo.
Los objetos se dividen a su vez en clases. Más concretamente, un objeto es una unidad
concreta de una clase abstracta, lo que crea una jerarquía de clases y subclases. Dentro de esta
estructura, las subclases adoptan las propiedades de las clases superordinadas y las
complementan con sus propios atributos. Al mismo tiempo, los objetos de una clase también
pueden relacionarse con otras clases, lo que rompe la jerarquía estricta y permite formar redes.
Los objetos simples también pueden combinarse para crear objetos más complejos.
Para gestionar los diversos objetos, el SGBD orientado a objetos correspondiente asigna
automáticamente un código de identificación único a cada registro, que permite recuperar los
objetos una vez que se han guardado.
▪ Base de datos orientadas a objetos:
Una base de datos orientada a objetos es un sistema de gestión de base de datos mediante
el cual representamos la información en forma de objetos que son utilizados en
programación orientada a objetos.
Algunas bases de datos orientadas a objetos han sido diseñadas para trabajar bien con
lenguajes de programación orientados a objetos tales como Delphi, Ruby, Python, Perl, Java,
Visual Basic.NET, etc.
▪ Clases: Las clases son plantillas o prototipos que definen la estructura y el comportamiento de
un grupo de objetos relacionados.
▪ Asociaciones: Las asociaciones representan conexiones entre objetos sin una dependencia
directa de herencia.
▪ Herencia: Las BOO permiten la herencia entre clases, lo que significa que una clase puede
heredar atributos y métodos de otra clase superior, también conocida como superclase o clase
padre.
▪ Relaciones entre objetos: Las BOO pueden establecer relaciones entre objetos, estas relaciones
pueden ser uno a uno, uno a muchos o muchos a muchos.
▪ SQL de objetos:
Un objeto es cualquier recurso de SQL Server , como un bloqueo de SQL Server o un proceso
de Windows. Cada objeto contiene uno o más contadores que determinan diversos aspectos
de los objetos que se van a supervisar. Por ejemplo, el objeto Bloqueos de SQL
Server contiene los contadores Número de interbloqueos/seg. y Tiempos de espera de
bloqueos/seg.
Algunos objetos tienen varias instancias si existen varios recursos de un determinado tipo en
el equipo. Por ejemplo, el tipo de objeto Procesador tendrá varias instancias si un sistema
contiene varios procesadores. El tipo de objeto Bases de datos tiene una instancia para cada
base de datos de SQL Server. Algunos tipos de objetos (por ejemplo, el objeto Administrador
de memoria ) tienen solo una instancia. Si un tipo de objeto tiene varias instancias, puede
agregar contadores para realizar un seguimiento de las estadísticas relativas a cada instancia
o, en muchos casos, de todas las instancias a la vez. Los contadores de la instancia
predeterminada aparecen con el formato SQLServer:nombre> de< objeto. Los contadores de
las instancias con nombre aparecen con el formato MSSQL$<instance name>:<counter
name> o SQLAgent$<instance name>:<counter name>.
SQL ANSI 2003:
El estándar SQL:2003 hace pequeñas modificaciones sobre la versión
anterior, SQL:1999 (también conocido como SQL3), y oficialmente introduce algunas
características nuevas como:
Las características relacionadas con XML
• Funciones de ventana
• Generador de la secuencia, lo que permite secuencias estandarizadas
• Dos nuevos tipos de columna: valores auto-generados (auto-generated values) y la
identidad de columnas (identity-columns)
• La nueva sentencia MERGE
• Ampliaciones de la sentencia CREATE TABLE, para permitir "CREATE TABLE AS" y
"CREATE TABLE LIKE"
• Eliminación de los tipos de datos "BIT" y "BIT VARYING"
▪ Referencia objetos:
Un objeto de la base de datos que tiene un puntero a otro elemento de la base de datos se
conoce como objeto de referencia, por nombre o por otros medios de identificación, este
puntero se puede utilizar para acceder al objeto al que se hace referencia, las relaciones entre
varios elementos de la base de datos se establecen con frecuencia utilizando objetos de
referencia.
▪ Claves foráneas: Las claves foráneas se utilizan para crear relaciones de uno a varios entre
tablas, una clave externa en una tabla hace referencia a la clave principal de otra tabla, y
esto le permite acceder a todas las filas de la tabla a la que se hace referencia para
cualquier fila determinada de la tabla de referencia.
▪ Referencias definidas por el usuario: las referencias definidas por el usuario se utilizan para
crear relaciones arbitrarias entre dos objetos de base de datos cualesquiera, las referencias
definidas por el usuario no se limitan a relaciones de uno a varios y se pueden usar para
crear relaciones entre tablas, vistas, procedimientos almacenados y otros objetos de bases
de datos.
▪ Llaves primarias:
Una clave principal o llave primaria es una columna especial o conjunto de columnas en una
tabla de base de datos que identifica de manera única cada registro en la tabla. La clave
puede ser una cadena corta o una combinación de múltiples columnas. Cuando se usa en una
consulta SQL, la clave principal puede ayudar a recuperar los datos que está buscando más
rápidamente.
Crear una clave primaria es un aspecto importante del diseño de la base de datos. Idealmente,
la clave principal será la única columna en una tabla, pero puede ser útil definir una clave en
más de una columna. Esto ayuda a evitar la duplicación de registros en una base de datos.
Una llave primaria debe:
• Contener un valor único para cada registro de la tabla de datos
• No puede contener un valor nulo. Esto es, debe contener siempre un valor.
▪ Campos múltiples:
Podemos agregar muchos tipos de campos que formarán parte de nuestra base de datos. Cada
campo admite distintos tipos de datos, con diferentes interfaces. Después de crear los campos
deseados podemos añadir información en la base de datos.
Un campo es el nombre de la unidad de información. Cada entrada en una base de
datos puede tener múltiples campos de diversos tipos. Por ejemplo, un campo de texto llamado
'color favorito', que permite escribirlo, o un menú llamado 'población' que permita escoger de
un listado de poblaciones posibles. La combinación de campos diversos nos permitirá recabar
toda la información que consideremos relevante sobre los ítems que constituyen la base de
datos.
▪ Arrays:
Las bases de datos arrays son sistemas de gestión aplicados a matrices. Proporcionan
la aplicación de colecciones homogéneas de datos, ubicados en matrices o
cuadrículas rectangulares de una, dos o más dimensiones.
Generalmente estas matrices se utilizan en los procesos de representación de datos
provenientes de sensores, simulaciones, imágenes y resultados estadísticos.
Las bases de datos arrays ofrecen un nivel de escalamiento muy alto. Esto combinado
con su gran flexibilidad en la recuperación y manipulación de los datos a pesar de
tratarse de archivos de gran tamaño.
La administración de estos modelos de gestión requiere técnicas novedosas.
Particularmente debido al hecho de que, en las bases de datos tradicionales, tienden
a encajar en una sola etapa o página. En cambio, estos datos, pueden abarcar
diversos medios o páginas. La tarea principal del administrador de almacenamiento
de la matriz es dinamizar el acceso y garantizar su rapidez a matrices secundarias.
▪ Tablas anidadas:
Una tabla anidada se representa en la tabla de casos como una columna especial que tiene un
tipo de datos TABLE. En las filas específicas de caso, esta clase de columna contiene filas
seleccionadas de la tabla secundaria que forman parte de la tabla primaria.
Los datos de una tabla anidada se pueden utilizar para la predicción, como entrada o para
ambos. Por ejemplo, podría tener dos columnas de tabla anidada en un modelo: una podría
contener una lista de los productos que un cliente ha comprado, mientras que la otra podría
contener información sobre las aficiones e intereses del cliente, posiblemente obtenidas en un
estudio. Podría utilizar las aficiones e intereses del cliente como entrada para analizar el
comportamiento de compra y predecir las compras probables.
Una expresión de tabla anidada es la especificación de una subconsulta en la cláusula FROM de
una sentencia SELECT de SQL. El proceso de las expresiones de tablas es similar al de una vista.
▪ Jerarquías:
Los datos jerárquicos se definen como un conjunto de elementos de datos que se
relacionan entre sí mediante relaciones jerárquicas. Las relaciones jerárquicas existen
allí donde un elemento de los datos es el elemento primario de otro elemento. Entre
los ejemplos de datos jerárquicos que se almacenan normalmente en las bases de
datos se incluyen los siguientes:
• Una estructura organizativa
• Un sistema de archivos
• Un conjunto de tareas de un proyecto
• Una taxonomía de términos de idioma
• Un gráfico de vínculos entre páginas web
Las tablas anidadas y las jerarquías se pueden usar juntas para almacenar datos aún
más complejos.
Están diseñadas para modelos de datos
específicos y tienen esquemas flexibles
para crear aplicaciones modernas, son
ampliamente conocidas porque son fáciles
de desarrollar, por su funcionalidad y el
rendimiento a escala.
▪ La base de datos relacional es una recopilación de la información empresarial organizada de tal forma que se
puede consultar, actualizar, analizar y sacar los datos fácilmente. La información se encuentra en tablas y
campos relacionados entre sí.
▪ La base de datos orientada a objetos, o Object-Oriented Database, representa los datos en forma de objetos
y clases. El objeto puede ser desde un resultado de búsqueda a una tabla; y una clase es una colección de
objetos.
▪ En cuanto a la base de datos gráfica, también conocida como orientada a grafos, se diferencian de las
anteriores en que están especializadas en establecer relaciones entre los datos de forma visual y navegar por
dichas relaciones.
▪ Base de datos NoSQL proviene de Not only SQL o, en español, no solo SQL. Esto se debe a que este tipo de
base de datos suele evitar el uso del SQL o lo usa de apoyo, pero no como consulta. El hecho de evitar el
SQL es porque se usa para proyectos en los que se necesita trabajar en la base de datos con un gran
volumen.
NoSQL, también conocido como "no solo SQL", "no SQL", es un enfoque de diseño de base
de datos que permite almacenar y consultar datos fuera de las estructuras tradicionales que se
encuentran en las bases de datos relacionales. Aunque puede almacenar los datos que se
encuentran dentro de los sistemas de gestión de bases de datos relacionales (RDBMS, por sus
siglas en inglés), los almacena de manera diferente a un RDBMS. La decisión de utilizar una
base de datos relacional frente a una base de datos no relacional es en gran medida
contextual y varía según el caso de uso.
En lugar de la típica estructura tabular de una base de datos relacional, las bases de datos
NoSQL alojan datos dentro de una estructura de datos, como un documento JSON. Dado que
este diseño de base de datos no relacional no requiere un esquema, ofrece una rápida
escalabilidad para gestionar grandes conjuntos de datos normalmente no estructurados.
NoSQL es también un tipo de base de datos distribuida, lo que significa que la información se
copia y almacena en varios servidores, que pueden ser remotos o locales. De esta manera, se
garantiza la disponibilidad y la fiabilidad de los datos. Si alguno de los datos queda fuera de
línea, el resto de la base de datos puede seguir ejecutándose.
Ventajas:
• Flexibilidad: Con las bases de datos SQL, los datos se almacenan en una estructura predefinida
mucho más rígida. Sin embargo, con NoSQL se pueden almacenar de forma más libre sin la rigidez
de esos esquemas. Este diseño impulsa la innovación y el rápido desarrollo de aplicaciones. Los
desarrolladores pueden centrarse en crear sistemas que ofrezcan un servicio mejor a sus clientes
sin preocuparse por los esquemas. Las bases de datos NoSQL pueden manejar fácilmente
cualquier formato de datos, como estructurados, semiestructurados y no estructurados en un único
almacén.
• Escalabilidad: En lugar de escalar verticalmente agregando más servidores, las bases de datos
NoSQL pueden escalarse horizontalmente utilizando hardware básico. De esta forma se puede
admitir un mayor volumen de tráfico para satisfacer la demanda sin tiempo de inactividad. Con el
escalado horizontal, las bases de datos NoSQL pueden ganar en tamaño y potencia, por lo que se
han convertido en la opción preferida para la evolución de los conjuntos de datos.
• Alto rendimiento: La arquitectura con escalabilidad horizotnal de las bases de datos NoSQL puede
resultar especialmente valiosa cuando aumenta el volumen de datos o el tráfico. Como se muestra
en el gráfico siguiente, esta arquitectura garantiza tiempos de respuesta rápidos y predecibles de
milisegundos de un solo dígito. Las bases de datos NoSQL también pueden ingerir datos y
entregarlos de forma rápida y fiable. Por esta razón, las bases de datos NoSQL se utilizan en
aplicaciones que recopilan terabytes de datos todos los días y que requieren una experiencia de
usuario altamente interactiva.
• Disponibilidad: Las bases de datos NoSQL replican datos de forma automática en múltiples servidores,
centros de datos o recursos en la nube. A su vez, esto minimiza la latencia de los usuarios,
independientemente de dónde se encuentren. Esta función también sirve para reducir la carga de la
gestión de bases de datos. De esta forma, se libera tiempo para dedicarlo a otras prioridades.
• Altamente funcional: Las bases de datos NoSQL están diseñadas para almacenes de datos distribuidos
que precisan una capacidad de almacenamiento de datos extremadamente grande. Esta característica
hace que NoSQL sea la opción ideal para big data, aplicaciones web en tiempo real, cliente 360,
compras en línea, juegos en línea, Internet de las cosas, redes sociales y aplicaciones de publicidad en
línea.
Características:
• SQL no es el lenguaje de consulta/modificación de datos principal, aunque sí lo soportan, de ahí el
nombre No Solo SQL.
• Los datos no tienen que almacenarse en tablas.