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. Desarrolladores ver NoSQL como una tecnología habilitadora y liberadora. A diferencia del enfoque relacional tradicional, NoSQL le da una manera de trabajar con los datos que se acerca más a la aplicación que el modelo de datos relacional.

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

No hay necesidad de escribir SQL

Escribir Structured Query Language (SQL) - y hacerlo bien - es la perdición de la existencia muchos desarrolladores empresariales. Este dolor se debe escribir consultas muy complejas con múltiples une a través de 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.

Los 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 de objeto-relacional Mapping (ORM), Hibernate. Hibernación toma un archivo de configuración y uno o más objetos y resúmenes de distancia del SQL desagradable para que los desarrolladores no tienen que utilizarlo. 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 las operaciones que los desarrolladores con más frecuencia 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 todos los elementos de datos único que necesita para almacenar en NoSQL, como lo hace con un RDBMS.

Menos datos 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 a la fuerza de 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 que para la recuperación se conoce como extraer, transformar 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 último elemento. 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 almacenados mucho más cercanas a su forma original. Los 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.

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

Todo el código que usted escribe debe mantenerse. Al mantener las estructuras de base de datos cerca de los formatos de datos del código de la aplicación, a minimizar la cantidad de código, que a su vez minimiza el mantenimiento de código y pruebas de regresión que usted 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 cambiadas. 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 del esquema de bases de datos NoSQL agnóstico.

Ejecutar código de cerca 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 de gestión de datos analíticos y complejos.

Muchas bases de datos NoSQL permiten este tipo de código para ser distribuido en 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 grandes ingestiones de datos que necesitan el procesamiento y para el análisis de agregación de 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 pueden suceder en tiempo real y no en modo batch y no requiere la misma inversión en infraestructura que Hadoop además de 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ólidos es insuficiente. Pueden existir sólo una o dos opciones extendidas. Disponibilidad de habilidades y apoyo local en el país son problemas aún mayores.

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

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 destacados, de su software o de ofrecer licencias de inicio especiales para las 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.

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 baratas. Por lo tanto, es mucho más fácil de escalar el clúster de base de datos con NoSQL que con las 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 según los usos para su cambio de aplicación. Esta capacidad se llama a menudo elasticidad.

Modelo de datos consistencia eventual

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

Bases de datos NoSQL le permiten relajarse 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 idiomas 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.

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 de dominio específico, bien puede encontrar apoyo para él en una base de datos NoSQL.

javascript de 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 soportan el desarrollo completo de extremo a extremo de 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 los factores desencadenantes de bases de datos 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.




» » » » 10 Razones desarrolladores aman nosql