10 Razones desarrolladores aman nosql

La popularidad de las bases de datos NoSQL surge de la gran cantidad de desarrolladores que están entusiasmados con su uso. Los desarrolladores ven NoSQL como una tecnología que permite y liberador. A diferencia del enfoque relacional tradicional, NoSQL le da una manera de trabajar con datos que está más cerca de la aplicación que el modelo de datos relacional.

Los desarrolladores adoptan tecnologías NoSQL por muchas razones, algunas de las cuales se destacan aquí:

No es necesario escribir SQL

Escribiendo Structured Query Language (SQL) - y hacerlo bien - es la pesadilla de la existencia muchos desarrolladores de la empresa. Este dolor se debe a escribir consultas muy complejas con varias combinaciones entre tablas relacionadas no es fácil de hacer. Por otra parte, a la luz de los cambios regulares de bases de datos a través del tiempo, el mantenimiento de código de consulta compleja es un trabajo en sí mismo.

desarrolladores de la empresa han inventado una serie de maneras de evitar la escritura de SQL. Una de las maneras más populares es a través del uso de la biblioteca Mapeo Objeto-Relacional (ORM), Hibernate. Hibernate toma un archivo de configuración y uno o más objetos y abstrae el SQL desagradable para que los desarrolladores no tienen que usarlo. Esto tiene un costo en términos de rendimiento, por supuesto, y no resuelve todos los casos de uso de la consulta. A veces hay que recurrir a SQL.

bases de datos NoSQL proporcionan sus propios lenguajes de consulta, que están sintonizados a la forma en que los datos se gestiona la base de datos y para las operaciones que los desarrolladores lo más a menudo realizan. Este enfoque proporciona un mecanismo de consulta más simple que las sentencias SQL anidadas hacen.

Algunas bases de datos NoSQL también proporcionan una interfaz SQL para consultar las bases de datos NoSQL, en los desarrolladores de casos no puede romper el hábito de SQL!

No tienen que pasar meses diseñando el esquema

agnosticismo esquema en las bases de datos NoSQL le permite cargar datos de forma rápida y sin tener que crear un esquema relacional en un período de meses. Usted no tiene que analizar por adelantado cada elemento de datos única que necesita para almacenar en NoSQL, como lo hace con un RDBMS.

Menos datos se transforman código (ETL)

Un problema común con las bases de datos relacionales que viene de tener un diseño de esquema por adelantado es que usted tiene que forzar los datos no relacionales en filas y columnas. Este mecanismo de trituración, junto con otros métodos de código que preproceso información para el almacenamiento y post-proceso para la recuperación se denomina extraer, transformación y carga (ETL).

Este código obliga a los desarrolladores a tomar sus buenos modelos de objetos y documentos brillantes y escribir código para almacenar cada elemento pasado. Si lo hace, es desagradable y también conduce a los desarrolladores altamente cualificados escritura pobre rendimiento y código de plomería poco interesante.

bases de datos NoSQL le permiten mantener las estructuras de datos almacenadas mucho más cerca de su forma original. Datos que fluyen entre sistemas es típicamente en un formato XML, mientras que cuando se trata de aplicaciones web, los datos tiene el formato de un documento JSON. Ser capaz de almacenar de forma nativa, administrar y buscar JSON es un gran beneficio para los desarrolladores de aplicaciones.

Video: Modeling Data for NoSQL Document Databases

Más fácil de mantener el código

Todo el código que se escribe debe ser mantenido. Al mantener las estructuras de base de datos cerca de los formatos de datos del código de la aplicación, se minimiza la cantidad de código, que a su vez minimiza el mantenimiento del código y pruebas de regresión que se tiene que hacer con el tiempo.

Cuando las estructuras de datos cambian en un RDBMS, hay que revisar todo el código SQL que pueden utilizar las tablas modificadas. En NoSQL, sólo tiene que añadir soporte para los nuevos elementos, o simplemente ignorarlos! Mucho más fácil de mantener, gracias a la naturaleza independiente del esquema de bases de datos NoSQL.

Ejecutar código cerca de los datos para el mejor desempeño

Un RDBMS proporciona procedimientos almacenados para ejecutar código en el servidor de base de datos. Este código se ejecuta en un solo lugar. Este enfoque útil es la base de muchas aplicaciones analíticas y de gestión de datos complejos.

Muchas bases de datos NoSQL permiten este tipo de código que se distribuye a través de todos los servidores que almacenan los datos relevantes, lo que permite una mayor paralelización de la carga de trabajo. Este enfoque es especialmente importante para las grandes ingestiones de datos que necesitan para el procesamiento y análisis de agregación complejos en tiempo de consulta.

funciones definidas por el usuario (UDF) y secuencias de comandos del lado del servidor en una variedad de bases de datos NoSQL proporcionan esta capacidad distribuida. UDF son similares a la capacidad de MapReduce de Hadoop, excepto UDF puede ocurrir en tiempo real, en lugar de en el modo por lotes y no requiere la misma inversión en infraestructura que Hadoop además una base de datos requerirían.

Un montón de opciones de código abierto

En muchas áreas de software empresarial, la elección de una solución de código abierto sólida es insuficiente. pueden existir sólo una o dos opciones extendidas. La disponibilidad de habilidades y local de apoyo en el país son problemas aún mayores.

Sin embargo, hay una gran variedad de bases de datos NoSQL de código abierto. Muchos de ellos tienen las empresas comerciales de pleno derecho los que ofrecen apoyo y tienen oficinas en todo el mundo. Por lo tanto, si necesita ayuda o más características, puede mover a esas versiones con el tiempo.

Esto reduce el costo de la adopción de la tecnología NoSQL y le permite “probar antes de comprar.” Esta disponibilidad de alternativas de código abierto ha provocado que las empresas comerciales en el espacio NoSQL para ofrecer versiones gratuitas pero bien destacadas de su software o para ofrecer inicio especial licencias a organizaciones pequeñas.

Fácil de escalar

No es necesario para obtener un DBA costosa para pasar unos días refactorización SQL y la creación de vistas materializadas con el fin de eek cada pulgada de rendimiento de los sistemas NoSQL.

Video: Amazon DynamoDB Overview, a fully managed NoSQL database service.mp4

tiendas de valores clave pueden manejar cientos de miles de operaciones por servidor. Todos los tipos de NoSQL pueden escalar horizontalmente a través de los servidores de las materias primas relativamente baratos. Por lo tanto, es mucho más fácil de escalar el clúster de base de datos con NoSQL que con bases de datos relacionales tradicionales.

Además, debido a su capacidad para escalar, bases de datos NoSQL también encajan bien en las nubes públicas y privadas. bases de datos NoSQL se han diseñado para ser flexible y expandirse y contraerse como los usos para su cambio de aplicación. Esta capacidad se denomina a menudo elasticidad.

modelo de datos de consistencia eventual

Aunque los casos de misión crítica requieren el cumplimiento de ACID, no todas las aplicaciones necesitan para hacerlo. Ser capaz de relajarse consistencia a través de grandes grupos puede ser útil para algunas aplicaciones.

Video: Distributed, NoSQL database

bases de datos NoSQL para que se relaje estas limitaciones o para mezclar y combinar una fuerte coherencia y consistencia débil en la misma base de datos, para diferentes tipos de registros.

soporte de lenguaje esotérico

Prácticamente todas las bases de datos compatibles con los principales lenguajes de programación como Java y C # .NET. Muchas bases de datos compatibles con los gustos de PHP, Python y Ruby on Rails.

Video: Introduction to NoSQL Databases

NoSQL tiene un conjunto florecimiento de los conductores de idiomas para una gama aún más amplia de lenguajes de programación. Si su organización tiene un lenguaje específico de dominio, es muy posible encontrar apoyo para él en una base de datos NoSQL.

javascript extremo a extremo

el uso de javascript se ha disparado en los últimos años. Es un lenguaje de scripting conveniente tanto en la web y, gracias a Node.js, en el lado del servidor.

Muchas bases de datos NoSQL ahora son compatibles con el desarrollo completo de extremo a extremo javascript. Esto significa que su organización puede ahora utilizar el mismo conjunto de habilidades de lenguaje de programación para diseñar aplicaciones web y las API de datos de nivel medio y la lógica de negocio, así como manejar trigger de back-end y procesamiento analítico basado en MapReduce junto a los datos.

Como resultado, en comparación con otras tecnologías de bases de datos, el coste total de propiedad (TCO) de NoSQL es menor.

Artículos Relacionados