N.World
Bancos de dados NoSQL

Tras la comparación entre las Bancos de dados NoSQL e SQLNa seção seguinte, explicamos os três primeiros tipos de bancos de dados NoSQL: valor chave, documentário e colunar.

1. bancos de dados de valores-chave noSQL

Características generales, ventajas e inconvenientes

Se trata del modelo más simple y flexible, basado en estructuras de pares clave-valor. La clave puede ser sintética o autogenerada, así como tener diferentes formatos, pero en todos los casos tiene que ser única. De todos modos, en un modelo particionado, los datos se dividen en baldespara que diferentes baldes sí que pueden contener la misma clave. Esto significa que los elementos únicos se identificarán mediante la tupla (balde, chave).

Los valores, por otro lado, van a tener una estructura sencilla, pudiendo aceptar formatos string, numéricos, JSON o incluso estructuras más complejas. Su uso se basa en las operaciones básicas obter (obter dados associados a uma chave), colocar (associando um valor a uma chave) e excluir (borrar entrada con una clave específica).

Sus principales ventajas son 3: simplicidad, eficiencia y flexibilidad, que permiten unas búsquedas rápidas en lecturas a toda la base de datos, así como funciones de agregación efectivas. Por otro lado, la simplicidad también marcará sus principales inconvenientes: al carecer de estructura no es posible lanzar consultas mediante consultas, y solo lo constan de una colección, complicado la implementación modelos complejos.

Possíveis aplicações

  1. Memorias caché de páginas web, donde la URL es la clave y el contenido el valor.
  2. Registros de operações, com o timestamp como chave e conteúdo como valor.

Principais bases de dados de valores-chave

Riak KV (AP)

Banco de dados licenciado código aberto (Apache) y Enterprise, diseñada para el seguimiento de información relacionada con sesiones y usuarios. Permite operaciones de búsqueda de valores concretos, uso de índices secundarios y operaciones mapa-reduzir. Permite la eliminación de datos antiguos de manera automática. Con conectores de centelha, apache mesos framework e integración con redis. Partición mediante de estilhaçamento.

Redis (CP)

Banco de dados licenciado código aberto y procesamiento en memoria. Útil para caché, sesiones de usuario y monitorización de mensajes, aunque posee módulos adicionales para el procesamiento de datos, como búsquedas, índices secundarios, transacciones o aprendizagem de máquinas modeling. Partición mediante sharding y sistemas de replicación maestro-esclavo y multi-master. Control de acceso basado en usuario-contraseña.

2. bancos de dados documentais NoSQL

Características generales, ventajas e inconvenientes

Derivan de las bases de datos clave-valor, pero permiten mayor nivel de complejidad a través del uso de metadatos. La unidad de organización de datos es el documento, que se compone de una serie de pares clave-valor cuyo valor puede tomar diferentes formatos. Cada documento consta de un ID único para facilitar métodos de indexación, y a menudo tienen un esquema predefinido, aunque éste será flexible. Dado que existe un esquema preestablecido, los datos se agrupan en colecciones, que usualmente tendrán esquema similar.

Estableciendo un símil con SQL, las colecciones equivaldrán a las tablas, y los documentos a las filas. Generalmente estas bases de datos seguirán dos tipos de estructura: JSON y XML, siendo los JSON el formato más utilizado.

La principal ventaja de estas bases de datos es su organización. Al tener unas estructuras predefinidas, muchos proveedores han implementado lenguajes similares a SQL para la realización de consultas, permitiendo en algunos casos incluso el uso de adere a entre colecciones. Además, gracias al carácter estructurado de los documentos y al uso de índices, estas bases de datos responden bien a consultas y operaciones de filtrado y agregación.

Por otro lado, y sobre todo cuando se comparan estas bases de datos con SQL, el uso de un esquema flexible las hace propensas a errores de introducción de datos, estableciendo la necesidad de implementar procedimientos de saneado y limpieza de datos

Possíveis aplicações

  1. Dados de sensores de diferentes fabricantes
  2. Fichas de clientes con diferentes características
  3. Catálogos de inventario de productos para una tienda o fábrica

Principais bases de dados documentais NoSQL

MongoDB (CP)

Una de las más usadas en el mercado. Código aberto con almacenamiento de datos en formato BSON (binary JSON). Permite índices secundarios, partición mediante sharding y replicación mediante sistemas maestro-esclavo. Versiones nuevas permiten adere a entre coletas, consultas via consultas e o uso de 2 estruturas para operar em paralelo: mapreduce y estruturas de agregação.

CouchDB (AP)

Código aberto que usa JSON de forma nativa, aunque permite formatos binarios. Especializada en replicación master-master en diferentes dispositivos y plataformas, tiene variantes para browsers web (pouchDB) y sistemas iOS y Android (couchbase lite). Permite el uso de protocolos HTTP. Óptimo para plataformas que normalmente funcionan off-line gracias a este sistema de replicación. Particionado mediante sharding.

CouchBase (AP)

Derivada de couchDB con memcache integrada, es también una base de datos documental basada en ficheros JSON. Se definen como una ‘engagement database’, donde prima la alta accesibilidad en diferentes tipos de dispositivos y apps. Como con couchDB, ofrece replicaciones master-master, así como particiones mediante sharding.

MarkLogic (CP)

Base de datos multiplataforma basada principalmente en un sistema de ficheros XML y JSON. De pago. Permite transacciones ACID y la implementación de sistemas de seguridad basado en roles a nivel de documentos y subdocumentos. Partición mediante sharding y permite la aplicación de rutinas mapa-reduzir.

3. Bancos de dados Columnar NoSQL

Características generales, ventajas e inconvenientes

A nivel conceptual, son el modelo más similar a las bases de datos SQL (junto con las documentales), ya que los datos siguen una estructura de filas y columnas. Sin embargo, a diferencia de las SQL, éstas bases de datos NoSQL agrupan funcionalmente las celdas en columnas, donde cada columna es una tupla de valores (correspondientes a las filas), mientras que las SQL organizan sus datos en filas. Aunque luego se extendiesen a otros formatos de Bases de datos NoSQL, las rutinas mapa-reduzir fueron diseñadas basándose en este tipo de banco de dados, por lo que, si nuestras consultas se basan en este paradigma, esta opción será la más óptima.

Como ventajas, las bases de datos columnares contienen un esquema conceptualmente simple, aunque todavía flexible, que permite el uso de lenguaje SQL para consultas. Su estructura columnar favorece consultas que requieran lecturas completas de la tabla, como extracción y agregación de datos. Consultas que son agilizadas mediante la aplicación de rutinas map-reduce. Además, permiten el uso de adere a, siendo más efectivos que SQL (aunque estas bases de datos sigan sin estar optimizadas para su uso).

A principal desvantagem é que eles permitem dados não estruturados, pero las inconsistencias creadas van a ser problemáticas a la hora de realizar operaciones y consultas.  Además, están diseñadas generalmente como bases de datos persistentes que efectúan lecturas sobre toda la bases de datos, por lo que no estarán optimizadas para consultas a tiempo real (aunque pueden ser muy efectivas a la hora de establecer transacciones dada su similitud con SQL).

Possíveis aplicações

  1. Catálogos de productos con características predefinidas
  2. Datos de sensores homogéneos y con altas frecuencias de muestreo
  3. Aplicaciones de mensajería

Principais bases de dados colunares

Cassandra (AP)

Open source bajo licencia Apache. Su principal baza es una escalabilidad robusta y flexible, con una disponibilidad continua y seguridad robusta a nivel de objeto. Permite la aplicación de rutinas map-reduce y es fácil de usar mediante lenguajes SQL-like.

Hbase (CP)

Open source sob a licença Apache, ele funciona sob a infra-estrutura HDFS do Hadoop. Al igual que Cassandra, su punto fuerte es la escalabilidad, con sistemas de particionamiento mediante shardings y modelos de replicación en servidores regionales. También permiten el uso de rutinas map-reduce.

Bosonit

Bosonit

Técnica e Dados

Você pode estar interessado em

Dê o salto
tecnológico.

Entre em contato conosco.