Está en la página 1de 15

Tarea 4: Desarrollo de base

de datos NoSQL
Nombre del estudiante:
Otilia Quiñones Ochavano
QUE SON LAS BASES DE DATOS NoSQL
3. Ventajas de una base de datos NoSQL

Las bases de datos NoSQL son bases de datos (BBDD) no relacionales,


pensadas para aplicaciones que necesitan baja latencia y modelos
flexibles para gestionar grandes volúmenes de datos. Incluyen una
amplia variedad de tecnologías de BBDD diseñadas para cumplir con los
requisitos de desarrollo de las aplicaciones modernas —que generan
constantemente enormes cantidades de datos nuevos— Debido a las
limitaciones algunas empresas decidieron usar alternativas a las bases de
datos relacionadas. Este fue el caso de Google y Amazon, que
desarrollaron sistemas de almacenamiento basado en el uso de clústeres:
las Big Tables de Google y Dynamo de Amazon . estos sistemas Descripción de la imagen: Describa la imagen sólo si es de contenido, si es decorativa no.
Aplique normas APA vigente en la UNAD
permitían gestionar grandes cantidades de datos en ambientes
distribuidos y llevar a cabo su procesamiento, por lo que se consideran
el origen de las denominadas “bases de Datos NoSQL”
2. QUE TIPOS DE BASES DE DATOS NoSQL EXISTEN?

Clave-valor: las bases de datos clave-valor son altamente
divisibles y permiten escalado horizontal a escalas que
otros tipos de bases de datos no pueden alcanzar. Los
casos de uso como juegos, tecnología publicitaria e IoT se
prestan particularmente bien con el modelo de datos
clave-valor. Amazon DynamoDB está diseñado para
proporcionar una latencia de milisegundos constate de un
solo dígito para cualquier escala de cargas de trabajo. Este
rendimiento sistemático es uno de los principales
elementos que explican por qué la características de (Riak, Redis, Dynamo, Voldermort)
historia de Snapchat, que incluye la carga de trabajo de
escritura de almacenamiento más grande de Snapchat, se
trasladó a DynamoDB
• Documentos: en el código de aplicación, los datos se
representan a menudo como un objeto o un documento de
tipo JSON porque es un modelo de datos eficiente e intuitivo
para los desarrolladores. Las bases de datos de documentos
facilitan a los desarrolladores el almacenamiento y la
consulta de datos en una base de datos mediante el uso del
mismo formato de modelo de documento que emplean en el
código de aplicación. La naturaleza flexible,
semiestructurada y jerárquica de los documentos y las bases
de datos de documentos permite que evolucionen según las
necesidades de las aplicaciones. El modelo de documentos
funciona bien con catálogos, perfiles de usuario y sistemas
de administración de contenido en los que cada documento MongoDB, CouchDB
es único y evoluciona con el tiempo. Amazon DocumentDB
(con compatibilidad para MongoDB)y MongoDB son bases
de datos de documentos conocidas que proporcionan API
poderosas e intuitivas para un desarrollo flexible e iterativo.

Gráficos: el propósito de una base de datos de
gráficos es facilitar la creación y la ejecución de
aplicaciones que funcionan con conjuntos de
datos altamente conectados. Los casos de uso
típicos para una base de datos de gráficos
incluyen redes sociales, motores de
recomendaciones, detección de fraude y gráficos
de conocimiento. Amazon Neptune es un
servicio de base de datos de gráficos
completamente administrado. Neptune admite
Neo4J, Infinie Graph
tanto el modelo de Property Graph como el
Resource Description Framework (RDF), que
ofrece la opción de dos API de gráficos:
TinkerPop y RDF/SPARQL. Las bases de datos
de gráficos populares incluyen Neo4j y Giraph
• En memoria: las aplicaciones de juegos y
tecnología publicitaria tienen casos de uso como
tablas de clasificación, tiendas de sesión y análisis
en tiempo real que requieren tiempos de respuesta
de microsegundos y pueden tener grandes picos de
tráfico en cualquier momento.
MemoryDB está especialmente diseñado para
ofrecer un rendimiento y una durabilidad de alta
velocidad, de modo que pueda utilizarlo como su
base de datos primaria para aplicaciones de
microservicios modernas.
• Buscar: muchas aplicaciones generan registros para
ayudar a los desarrolladores a solucionar problemas.
Amazon openSearch Service está diseñado para
proporcionar visualizaciones en tiempo real y
análisis de datos generados por máquinas al indexar,
agregar y buscar registros y métricas
semiestructuradas. Amazon OpenSearch Service
también es un motor de búsqueda potente y de alto
rendimiento para casos de uso de búsquedas con
texto completo. Expedia está utilizando más de 150
dominios de Amazon OpenSearch Service, 30 TB de
datos y 30 mil millones de documentos para una
variedad de casos de uso críticos, que van desde el
monitoreo operativo y la resolución de problemas, Descripción de la imagen: Describa la imagen sólo si es de contenido, si es decorativa

hasta el seguimiento de la pila de aplicaciones no.


Aplique normas APA vigente en la UNAD

distribuidas y la optimización de precios


VENTAJAS DE UNA BASE DE DATOS NoSQL

• A diferencia de las bases de datos relacionales, las bases de datos NoSQL están basadas en key-value
pairs
• Algunos tipos de almacén de bases de datos NoSQL incluyen diferentes tipos de almacenes como
por ejemplo el almacén de columnas, de documentos, de key value store, de gráficos, de objetos, de
XML y otros modos de almacén de datos.
• Algunos tipos de almacén de bases de datos NoSQL incluyen almacenes de columnas, de
documentos, de valores de claves, de gráficos, de objetos, de XML y otros modos de almacén de
datos.
• Podría decirse que las bases de datos NoSQL de código abierto tienen una implementación rentable.
Ya que no requieren las tarifas de licencia y pueden ejecutarse en hardware de precio bajo.
• Cuando trabajamos con bases de datos NoSQL, ya sean de código abierto o tengan un propietario, la
expansión es más fácil y más barata que cuando se trabaja con bases de datos relacionales. Esto se
debe a que se realiza un escalado horizontal y se distribuye la carga por todos los nodos. En lugar de
realizarse una escala vertical, más típica en los sistemas de bases de datos relacionales.
DESVENTAJAS DE UNA BASE DE DATOS NoSQL
• La mayoría de las bases de datos NoSQL no admiten funciones de fiabilidad, que
son soportadas por sistemas de bases de datos relacionales. Estas características de
fiabilidad pueden resumirse en: “atomicidad, consistencia, aislamiento y
durabilidad.” Esto también significa que las bases de datos NoSQL, que no soportan
esas características, ofrecen consistencia para el rendimiento y la escalabilidad.
• Con el fin de apoyar las características de fiabilidad y coherencia, los desarrolladores
deben implementar su propio código, lo que agrega más complejidad al sistema.
• Esto podría limitar el número de aplicaciones en las que podemos confiar para
realizar transacciones seguras y confiables, como por ejemplo los sistemas
bancarios.
• Otras formas de complejidad encontradas en la mayoría de las bases de datos
NoSQL, incluyen la incompatibilidad con consultas SQL. Esto significa que se
necesita un lenguaje de consulta manual, haciendo los procesos mucho más lentos y
complejos.
MENCIONE ALGUNAS DIFERENCIAS CON
LAS BASES DE DATOS SQL

 Muchas de las bases de datos NoSQL nacieron por la necesidad


de ejecutarse sobre clúster lo que ha influid en su modelo de datos
como su aproximación a cerca de la consistencia. Las bases de
datos, sin embargo, esto choca con un entorno de clúster, de
manera que ofrecen diversas opciones para implementar la
consistencia y la distribución, sin embargo, no todas las bases de
datos NoSQL están orientadas a correr sobre clúster.
 En general se tratan de proyecto de código abierto
¿Que es MongoDB ?
MongoDB es una base de datos libre de esquemas,
orientada a documentos, escrita en C ++. La base de datos
está basada en el almacén de documentos, lo que significa
que almacena valores (denominados documentos) en forma
de datos codificados.
La elección del formato codificado en MongoDB es JSON.
Es muy potente, porque incluso si los datos están anidados
dentro de los documentos JSON, seguirá siendo
consultable e indexable.
¿COMO Y CUANDO UTILIZARLO?
MongoDB está escrito en C++, aunque las consultas se hacen pasando objetos JSON como
parámetro. Es algo bastante lógico, dado que los propios documentos se almacenan en BSON. Por
ejemplo:
db.Clientes.find({Nombre:"Pedro"});
La consulta anterior buscará todos los clientes cuyo nombre sea Pedro.
MongoDB viene de serie con una consola desde la que podemos ejecutar los distintos comandos. Esta
consola está construida sobre JavaScript, por lo que las consultas se realizan utilizando ese lenguaje.
Además de las funciones de MongoDB, podemos utilizar muchas de las funciones propias de
JavaSciprt. En la consola también podemos definir variables, funciones o utilizar bucles.
Si queremos usar nuestro lenguaje de programación favorito, existen drivers para un gran número de
ellos. Hay drivers oficiales para C#, Java, Node.js, PHP, Python, Ruby, C, C++, Perl o Scala. Aunque
estos drivers están soportados por MongoDB, no todos están en el mismo estado de madurez. Por
ejemplo el de C es una versión alpha. Si queremos utilizar un lenguaje concreto, es mejor revisar los
drivers disponibles para comprobar si son adecuados para un entorno de producción
¿Dónde se puede utilizar MongoDB?
Aunque se suele decir que las bases de datos NoSQL tienen un ámbito de aplicación
reducido, MongoDB se puede utilizar en muchos de los proyectos que desarrollamos en la
actualidad.
Cualquier aplicación que necesite almacenar datos semi estructurados puede usar MongoDB. Es
el caso de las típicas aplicaciones CRUD o de muchos de los desarrollos web actuales.
Eso sí, aunque las colecciones de MongoDB no necesitan definir une esquema, es importante
que diseñemos nuestra aplicación para seguir uno. Tendremos que pensar si necesitamos
normalizar los datos, denormalizarlos o utilizar una aproximación híbrida. Estas decisiones
pueden afectar al rendimiento de nuestra aplicación. En definitiva el esquema lo definen las
consultas que vayamos a realizar con más frecuencia.
MongoDB es especialmente útil en entornos que requieran escalabilidad. Con sus opciones de
replicación y sharding, que son muy sencillas de configurar, podemos conseguir un sistema que
escale horizontalmente sin demasiados problemas.
REALIZAR UN EJEMPLO DE UNA BASE DE
DATOS NoSQL EN MONGODB
Referencias bibliográficas
• Joe Celko. (2013). Joe Celko’s Complete Guide to NoSQL : What Every SQL Professional Needs to Know About Non-Relational
Databases. Morgan Kaufmann. (pág. 1 - 14). https://search-ebscohost-com.bibliotecavirtual.unad.edu.co/login.aspx?
direct=true&db=e000xww&AN=485322&lang=es&site=ehost-live
• Sarasa, Antonio. (2016). Introducción a las bases de datos NoSQL usando MongoDB. Capitulo 1, 2 y 3. Barceola. ESPAÑA, Editorial
UOC. https://elibro-net.bibliotecavirtual.unad.edu.co/es/ereader/unad/58524?page=1
• Vaish, Gaurav. (2013). Getting Started with NoSQL : Your Guide to the World and Technology of NoSQL. Birmingham: Packt
Publishing. Chapter 2. https://search-ebscohost-com.bibliotecavirtual.unad.edu.co/login.aspx?
direct=true&db=nlebk&AN=562024&lang=es&site=eds-live&scope=site

También podría gustarte