Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Lectura Fundamental 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

Unidad 1 / Escenario 2

Lectura fundamental

Nuevas tecnologías de bases


de datos - NoSQL

Contenido

1 Introducción

2 Tipología de inconvenientes con las bases de datos relacionales

3 Clasificación de bases de datos NoSQL

4 Ventajas de las bases de datos NoSQL

5 Desventajas de las bases de datos NoSQL

6 Funciones de los SGBD

Palabras clave: bases de datos, NoSQL, accesibilidad, crecimiento, Web 2.0, SGBD.
1. Introducción
Las bases de datos tradicionales, a partir de 2004, con el nacimiento de la Web 2.0
como fenómeno social colaborativo, se vienen enfrentando a nuevos retos, tales como
manejar miles de usuarios concurrentes, con millones de consultas diarias sobre datos
semi-estructurados -que no se ajustan a un modelo formal de bases de datos-, también
conocidos como estructura autodescriptiva o tipos de datos polimórficos -aquellos que
contienen al menos un elemento cuyo tipo no está formalmente especificado, según afirma
Peter (2002)-.
Un ejemplo de lo anteriormente mencionado es YouTube, que aparece en 2005 y hoy ya
cuenta con casi mil millones de vistas a sus videos que equivale a un tercio de los usuarios
de internet, con más de 70 millones de horas de reproducción. Otro ejemplo puede ser el
instituto del colisionador de partículas CERN -Organización Europea para la Investigación
Nuclear- que almacena más de 200 Petabytes – 204800 Terabytes en sus discos duros.

2. Tipología de inconvenientes con las bases de datos relacionales


En ese momento se plantearon varios tipos de inconvenientes:

• El primero es el costo de operación para resolver el problema de crecimiento o escalabilidad


de la base de datos, ya que los SGBD o DBMS necesitan crecer verticalmente, lo que significa
comprar o repotenciar una máquina más potente que incluye mayor memoria, aumento de la
velocidad de la CPU y discos más grandes y rápidos. Siempre teniendo en cuenta que hay un
límite, en la literatura también se le denomina “Scaling Up”.

• El segundo es el inadecuado tiempo de respuesta o rendimiento en el procesamiento de grandes


volúmenes de datos al tener que efectuar operaciones complejas inherentes a los SGBD o
DBMS, lo que también implica costos excesivos para las empresas.

• El tercero asociado a las nuevas tendencias tecnológicas, según afirma Oliva (2017), que están
adoptando las empresas es utilizar de código abierto, servidores especializados (commodity
server) y procesamiento en la nube (cloud computing) en lugar de usar los grandes servidores
con inmensas unidades de almacenamiento que generalmente son las soluciones de las bases de
datos relacionales.

POLITÉCNICO GRANCOLOMBIANO 2
• El cuarto es la reducción de los tiempos de ciclos de desarrollo para las aplicaciones en internet
usando metodologías ágiles (sprints), en donde los tipos de datos están cambiando, desde
totalmente estructurados a no estructurados e inclusive llegando a datos polimórficos, lo
anterior muy enfocado al tipo de audiencia que ha surgido de la Web 2.0. Mientras que las
bases de datos relacionales exigen que el modelo tenga definidas las estructuras de datos antes
de ingresarlos con el fin de minimizar el impacto en el desarrollo que tiene las modificaciones a
dichas estructuras.

En síntesis...
»» La tecnología de las bases de datos ha cambiado de informatizar los sistemas de
archivos manuales.

»» Sirven cuando la eficiencia no es crítica, cuando el tamaño de los archivos no es


demasiado grande.

»» Era una buena solución cuando cada área de negocio de la empresa era
responsable de sus propios datos y accedía a ellos con sus propios programas.

»» La desventaja más grande es que requiere mucho trabajo y coordinación de los


programadores de aplicaciones cuando cambia el negocio.

Con el fin de solucionar estos problemas surgen los modelos alternativos para gestionar las
bases de datos que son las NoSQL, Cloud o no relacionales, donde los conceptos básicos
sobre los cuales se operan estos sistemas consisten en: librerías utilitarias o Common utilities
que generalmente son de código abierto, un gestor de recursos para manejar los nodos
(máquinas) que componen el sistema distribuido, un sistema manejador de los archivos
físicamente distribuidos que debe estar instalado en cada nodo y dependiendo.

POLITÉCNICO GRANCOLOMBIANO 3
3. Clasificación de bases de datos NoSQL
Las bases de datos NoSQL se diferencian de las relacionales en tres aspectos fundamentales:
el primero es el tipo de datos que almacenan, el segundo es cómo están construidas y el
tercero es cómo se almacenan dichos datos permitiéndoles manejar volúmenes gigantescos.
Según afirma Castro-Zamora (2015), también se incluyen características tales como las
APIs simples, para el manejo de la base, cuentan con esquemas libres, el soporte permite una
replicación libre de las bases, los lenguajes más comunes para interactuar con ellas son Java,
C++, PHP, PHYTON y no todas garantizan consistencia de los datos (punto débil).
Generalmente la clasificación de estas bases de datos se hace de acuerdo con el primer
aspecto mencionado, o sea la forma en que almacenan los datos, donde las más populares
son: bases de datos de almacenes de mapeo de columnas, bases de datos de almacén
documental, bases de datos de grafos, bases de datos de almacén de llave-valores, bases de
datos XML.
Sin embargo, actualmente se acepta que hay 15 clasificaciones, de las cuales se muestran las
diferentes tecnologías utilizadas, ordenadas alfabéticamente y resaltando en amarillo las más
utilizadas en el mercado actualmente:

» Mapeo de Columnas (Wide Column Store / Column Families)

Accumulo, Amazon SimpleDB, Apache Flink, Bigtable, Cassandra, Cloudata, ConcourseDB,


Druid, Elassandra, eXtremeDB Financial Edition, Hadoop / HBase, HPCC, Hypertable, IBM
Informix, KUDU, MonetDB el primero, Scylla, Splice Machine.

» Almacén Documental (Document Store)

AmisaDB, ArangoDB, OrientDB, gunDB, Azure DocumentDB, BagriDB, BergDB, Cloud


Datastore, Clusterpoint Server, Couchbase Server, CouchDB, densodb, djondb, EJDB,
Elastic, IBM Cloudant, iBoxDB, JasDB, JSON ODM, MarkLogic Server, MongoDB,
NeDB, NosDB, NoSQL embedded db, RaptorDB, RavenDB, ReasonDB, RethinkDB, SDB,
SequoiaDB, SisoDB, Terrastore, ThruDB, ToroDB.

POLITÉCNICO GRANCOLOMBIANO 4
» Grafos (Graph Databases)

AllegroGraph, ArangoDB, OrientDB, Bigdata, BrightstarDB, BrightstarDB, Execom IOG,


Fallen 8, FlockDB, GraphBase, HyperGraphDB, Infinite Graph, InfoGrid, Meronymy, Neo4J,
Onyx Database, OpenLink Virtuoso, Sparksee, TITAN, Trinity, VertexDB, weaver, WhiteDB.

» Llave / Valores (Key Value / Tuple Store)

Aerospike, allegro-C, Azure Table Storage, BangDB, Berkeley DB, BinaryRage, BoltDB,
Cachelot, Chordless, Chronicle Map, DBreeze, DynamoDB, Dynomite, Elliptics, Faircom
C-Tree, filejson, GenieDB, Genomu, Hibari, HyperDex, InfinityDB, KAI, KitaroDB, LevelDB,
LightCloud, LSM, Maxtable, MemcacheDB, Mnesia, NCache, nessDB, OpenLDAP,
PickleDB, Pincaster, quasardb, RaptorDB, Redis, Riak, RocksDB, Scalaris, Scalien, SCR
Siemens Common Repository, Serenety, SharedHashFile, Sophia, STSdb, Symas LMDB,
Tarantool/Box, TayzGrid, TIBCO Active Spaces, Tokyo Cabinet / Tyrant, TreodeDB,
upscaledb, Voldemort.

» XML (XML Databases)

BaseX, Berkeley DB XML, EMC Documentum xDB, eXist, JEntigrator, Qizx, Sedna.

» Objetos (Object Databases)

acid-state, CoreObject, EyeDB, FramerD, GemStone/S, HSS Database, JADE, Magma,


MarcelloDB, Morantex, NDatabase, NEO, Newt DB, Ninja Database Pro, ObjectDB,
Objectivity, Perst, PicoLisp, siaqodb, Starcounter, Sterling, VelocityDB, Versant, ZODB.

» Multimodelo (Multimodel Databases)

AlchemyDB, ArangoDB, CortexDB, Datomic, FoundationDB, gunDB, Oracle NOSQL


Database, OrientDB, RockallDB, WonderDB.

» Soluciones en la web (Grid & Cloud Database Solutions)

Crate Data, GemFire, GigaSpaces, GridGain, Hazelcast, Infinispan, Oracle Coherence,


Queplix.

POLITÉCNICO GRANCOLOMBIANO 5
» Multidimensionales (Multidimensional Databases)

DaggerDB, Globals, GT.M, Intersystems Cache, MiniM DB, rasdaman, SciDB.

» Multivalores (Multivalue Databases)

ESENT, jBASE, Model 204 Database, OpenInsight, OpenQM, Reality, Tieto TRIP,
TigerLogic PICK, U2.

» Fuente de Eventos (Event Sourcing)

Event Store, Eventsourcing for Java (es4j).

» Series de tiempo (Time Series / Streaming Databases)

Axibase, eXtremeDB, Informix Time Series Solution, influxdata, pipelinedb, kdb+, Riak TS.

» Especializadas y/o Científicas (Scientific and Specialized DataBases)

BayesDB, GPUdb.

» Otras (Other NoSQL related databases - unresolved and uncategorized)

Applied Calculus, eXtremeDB, IBM Lotus/Domino, ISIS Family, Moonshadow, Prevayler,


RDM Embedded, SpreadsheetDB, VaultDB, Vyhodb, Yserial, Btrieve, CodernityDB, FileDB,
KirbyBase, MentDB, Recutils, Tokutek.

POLITÉCNICO GRANCOLOMBIANO 6
4. Ventajas de las bases de datos NoSQL
Las ventajas más predominantes, y por lo cual fueron creadas, son:

• Como no requieren mucho procesamiento, se pueden ejecutar en máquinas de bajo costo que
utilizan pocos recursos, debido a que no necesitan transcribir cada sentencia (requerimiento)
para poder ser ejecutadas.

• Cuando se necesita mejorar el rendimiento de estas bases se utiliza el concepto de escalabilidad


horizontal, esto significa que, en lugar de hacer crecer una máquina, se adicionan más máquinas
en la red que respondan a los requerimientos (redundancia de máquinas) junto con “commodity
server” o equipos exclusivos de servicios que indican cuáles son los nodos o máquinas que están
disponibles para responder.

• Pueden manejar inmensas cantidades de datos (BigData), mediante estructuras distribuidas, en


muchos casos con estructuras de tablas “Hash”. Lo que está de acuerdo con la nueva revolución
industrial de los datos.

• Se reducen los costos de los ciclos de desarrollo -al hacerlos más cortos- y utilizando software
de código abierto, aprovechando de esa manera el esfuerzo de equipos de trabajo distribuidos
por todo el mundo.

• Se comporta de manera eficiente cuando hay gran cantidad de consultas o peticiones de


los usuarios evitando los cuellos de botella, ya que no acepta consultas muy complejas y que
generalmente se pregunta por la llave o identificación única o creando redundancia de los datos
o desnormalización.

5. Desventajas de las bases de datos NoSQL


Las desventajas que permanecen hoy en día, y que se espera sean materia de estudio y
solución por parte de las comunidades que promueven estas tecnologías, son:

• La falta de generación de un lenguaje estándar de manejo para estas bases (como es el SQL), ya
que los desarrollos o soluciones de software existentes tienen inconvenientes para migrar de una
base a otra, o inclusive presentan problemas entre versiones de la misma base.

• La comunidad de desarrolladores en esas bases no se encuentra bien definida.

POLITÉCNICO GRANCOLOMBIANO 7
• Existen pocas herramientas de seguimiento, como los reportes de análisis o de rendimiento o
seguimiento a esas bases.

• Los problemas de seguridad y de administración de estas bases es complejo debido a la falta de


conocimiento y experiencia por parte de la comunidad.

• Estas bases de datos no manejan sentencias complejas, ni soportan restricciones y su manejo


depende de la pericia del desarrollador, aspecto resuelto por las bases de datos relacionales.

En síntesis...
Aunque existen muchas ventajas de estas nuevas tecnologías de manejo
de bases de datos, no significa que vayan a volver obsoletas las bases de
datos relacionales, sino que se complementan, ya que las bases de datos
relacionales siguen teniendo importancia en la industria, sobre todo por el
manejo de la seguridad, consistencia y disponibilidad de los datos.

6. Funciones de los SGBD


Como vimos en el anterior escenario, los Sistemas de Gestión de Bases de Datos SGBD
o DBMS son los encargados de la ejecución de TODAS las operaciones sobre la base de
datos. Este conjunto de operaciones se puede clasificar en 4 grandes grupos: la definición
de datos, la manipulación de datos, el control de datos y funciones de manejo de integridad
y la seguridad de los datos.
Para el caso de los Sistemas de gestión de bases de datos relacionales SGBDR o RDBMS
se crearon 3 tipos de lenguajes de acuerdo con el grupo de funciones a desarrollar:

» Lenguaje de definición de datos o Data Definition Language –DDL-: es el conjunto de


operaciones que sirve para poder definir los tipos de objetos que se pueden manejar en la base
de datos tales como tablas, vistas, a partir de definiciones de alto nivel.

POLITÉCNICO GRANCOLOMBIANO 8
» Lenguaje de manipulación de datos o Data Manipulation Language –DML-: como su nombre lo
indica es el conjunto de operaciones que responde a las solicitudes de los usuarios tales como
consulta, inserción, modificación y eliminación de los datos que estén contenidos en la base de
datos.

» Lenguaje de control de datos o Data Control Language –DCL-: es el conjunto de instrucciones


que aplica las medidas de seguridad frente a posibles ataques o restringe los accesos no
autorizados a la base de datos.

Más adelante se tratará este tema a fondo cuando estemos aplicando el SQL en los ejercicios.

POLITÉCNICO GRANCOLOMBIANO 9
Referencias
Castro-Zamora, C. y Flores-Valdés, E. (2015). Capacidad de Orquestación de Servicios Web en
las Herramientas MULE ESB y Oracle Service Bus. Recuperado el 11 de noviembre de 2017 de
https://login.loginbiblio.poligran.edu.co/login?url=http://search.ebscohost.com/login.aspx?dir
ect=true&db=fua&AN=110618637&lang=es&site=eds-live
Oliva, D. (2017). Propuesta de herramientas para la integración de datos en un entorno
empresarial. La Habana, CU: D - Instituto Superior Politécnico José Antonio Echeverría.
Recuperado el 4 de noviembre de 2017 de
http://site.ebrary.com.loginbiblio.poligran.edu.co:2048/lib/bibliopoligransp/detail.
action?docID=10609169&p00=enterprise+service+bus+esb
Peter, R. y Coronel, C. (2002). Sistemas de Bases de Datos: diseño, implementación y
administración (quinta edición). Stamford: Thomson.

POLITÉCNICO GRANCOLOMBIANO 10
INFORMACIÓN TÉCNICA

Módulo: Bases de Datos


Unidad 1: Generalidades de las bases de datos
Escenario 2: Nuevas tecnologías de bases de datos -
NoSQL

Autor: Néstor David González Navarro

Asesor Pedagógico: Jeimy Lorena Romero Perilla


Diseñador Gráfico: Juan Sebastián Moreno
Asistente: Laura Delgado

Este material pertenece al Politécnico Grancolombiano.


Prohibida su reproducción total o parcial.

POLITÉCNICO GRANCOLOMBIANO 11

También podría gustarte