10 Ventajas de nosql sobre rdbms
Bases de datos NoSQL no son un reemplazo directo para un sistema de gestión de bases de datos relacionales (RDBMS). Para muchos problemas de datos, sin embargo, NoSQL es un partido mejor que un RDBMS.
Conteúdo
- Menor necesidad de etl
- Soporte para texto no estructurado
- Capacidad para manejar el cambio con el tiempo
- No depende de la magia de sql
- Capacidad para escalar horizontalmente en hardware
- Amplitud de funcionalidad
- Soporte para múltiples estructuras de datos
- Elección de proveedores
- Sin código heredado
- La ejecución de código junto a los datos
Menor necesidad de ETL
NoSQL bases de datos de soporte de almacenamiento de datos " como es ". Almacenes de claves de valor le dan la capacidad para almacenar estructuras de datos simples, mientras que las bases de datos NoSQL documento le proporcionan la capacidad de manejar una amplia gama de estructuras planas o anidados.
La mayor parte de los datos de vuelo entre los sistemas hace como un mensaje. Por lo general, los datos toma uno de estos formatos:
Un objeto binario a pasar a través de un conjunto de capas
Un documento XML
Un documento JSON
Ser capaz de manejar estos formatos de forma nativa en una gama de bases de datos NoSQL disminuye la cantidad de código que tiene que convertir de formato de datos de origen al formato que necesita almacenar. Se llama extraer, transformar y cargar (ETL).
Con este enfoque, se reduce considerablemente la cantidad de código necesario para empezar a utilizar una base de datos NoSQL. Por otra parte, porque usted no tiene que pagar por las actualizaciones de este " plomería " código, los costos de mantenimiento se reducen significativamente.
Soporte para texto no estructurado
La gran mayoría de los datos en los sistemas de la empresa no es estructurado. Muchas bases de datos NoSQL pueden manejar indexación de texto no estructurado, ya sea como una característica nativa (MarkLogic Server) o un conjunto integrado de servicios que incluyen Solr o Elasticsearch.
Ser capaz de manejar texto no estructurado aumenta en gran medida la información y puede ayudar a las organizaciones a tomar mejores decisiones. Por ejemplo, los usos avanzados incluyen soporte para múltiples idiomas con la búsqueda facetado, funcionalidad fragmento, y el apoyo de palabras derivadas. Las características avanzadas incluyen soporte para diccionarios y tesauros.
Por otra parte, mediante la búsqueda de acciones de alerta en la ingesta de datos, puede extraer entidades de directorios llamado como esas anuncio personas, lugares y organizaciones, que permite que los datos de texto a ser mejor clasifican, etiquetado, y buscaron.
Servicios de enriquecimiento Entidad como SmartLogic, OpenCalais, Netowl y TEMIS Luxid que combinan la información extraída con otra información proporcionan una rica información intercalada web y mejorar el análisis y uso eficiente.
Capacidad para manejar el cambio con el tiempo
Debido a la naturaleza agnóstica esquema de bases de datos NoSQL, son muy capaces de gestionar el cambio - usted no tiene que volver a escribir rutinas ETL si la estructura de mensajes XML entre los cambios de sistemas.
Algunas bases de datos NoSQL llevan un paso más allá y ofrecer un índice universal de la estructura, los valores, y el texto que se encuentra en la información. Microsoft DocumentDB y MarkLogic Servidor ambos proporcionan esta capacidad.
Si una estructura de documento cambia, estos índices permiten a las organizaciones utilizan la información de inmediato, en lugar de tener que esperar varios meses antes de que pueda probar y volver a escribir sistemas.
No depende de la magia de SQL
Structured Query Language (SQL) es el idioma predominante utilizado para consultar los sistemas de gestión de bases de datos relacionales. Ser capaz de estructurar las consultas para que realicen bien tiene con los años se convierten en un arte espinoso. Multitable Complejo une no son fáciles de escribir de memoria.
Aunque las bases de datos NoSQL varios apoyar el acceso de SQL, lo hacen para la compatibilidad con las aplicaciones existentes, tales como inteligencia de negocios (BI) herramientas. Bases de datos NoSQL apoyan a sus propios idiomas de acceso que pueden interpretar los datos que se almacenan, en lugar de requerir un modelo relacional dentro de la base de datos subyacente.
Esta más mentalidad desarrollador centrado en el diseño de bases de datos y sus interfaces de programación de aplicaciones (API) de acceso son la razón bases de datos NoSQL se han convertido en muy popular entre los desarrolladores de aplicaciones.
Los desarrolladores de aplicaciones no necesitan saber el funcionamiento interno y caprichos de las bases de datos antes de usarlos. Bases de datos NoSQL facultan a los desarrolladores para trabajar en lo que se requiere en las aplicaciones en lugar de tratar de obligar a las bases de datos relacionales que hacer lo que se requiere.
Capacidad para escalar horizontalmente en hardware
Bases de datos NoSQL manejan partición (sharding) De una base de datos a través de varios servidores. Por lo tanto, si sus requerimientos de almacenamiento de datos crecen demasiado, usted puede seguir para agregar servidores de bajo costo y conectarlos con el clúster de base de datos (la escala horizontal) Hacer que funcionen como un único servicio de datos.
Contraste esto con el mundo base de datos relacional donde tiene que comprar hardware nuevo, más potente y por lo tanto más caro para ampliar (escalado vertical). Si se va a duplicar la cantidad de datos que almacena, usted fácilmente cuadruplicar el costo del hardware que necesita.
Proporcionar durabilidad y alta disponibilidad de una base de datos NoSQL utilizando hardware y de almacenamiento de bajo costo es uno de los principales activos de NoSQL. Ser capaz de hacerlo al tiempo que proporciona generosos escalabilidad para muchos usos también no hace daño!
Amplitud de funcionalidad
La mayoría de las bases de datos relacionales soportan las mismas características, pero de una manera ligeramente diferente, por lo que son todas similares.
Bases de datos NoSQL, por el contrario, vienen en cuatro tipos principales: clave-valor, columnares, documentos, y almacena triples. Dentro de estos tipos, se puede encontrar una base de datos para satisfacer sus necesidades particulares (y peculiares!). Con tantas opciones, usted está obligado a encontrar una base de datos NoSQL que va a resolver sus problemas de aplicación.
Soporte para múltiples estructuras de datos
Muchas aplicaciones necesitan almacenamiento de objetos simples, mientras que otros requieren muy complejo e interrelacionado de almacenamiento estructura. Bases de datos NoSQL proporcionan soporte para una amplia gama de estructuras de datos.
Valores simples binarios, listas, mapas, y las cadenas se pueden manejar a alta velocidad en las tiendas de clave-valor.
Valores de la información relacionadas se pueden agrupar en las familias de columna dentro de clones BigTable.
Estructuras jerárquicas altamente complejas entre padres e hijos pueden ser manejados dentro de las bases de datos de documentos.
Una red de información relacionados entre sí puede ser descrito de manera flexible y relacionado en las tiendas triples y gráfico.
Elección de proveedores
La industria NoSQL está inundado de bases de datos, aunque muchos han sido de alrededor de menos de diez años. Por ejemplo, IBM, Microsoft y Oracle bajó sólo recientemente sus dedos del pie en este mercado. En consecuencia, muchos vendedores se dirigen a audiencias particulares con su propia cerveza de la innovación.
Abrir # 8208- # 93 variantes de código están disponibles para la mayoría de las bases de datos NoSQL, lo que permite a las empresas a explorar y empezar a utilizar las bases de datos NoSQL con un riesgo mínimo. Estas empresas pueden tomar sus nuevos métodos a una plataforma de producción mediante el uso de las ofertas de la empresa.
Sin código heredado
Debido a que son tan nuevos, bases de datos NoSQL no tienen código heredado, lo que significa que no es necesario para proporcionar apoyo a las plataformas de hardware antiguos o conservar la funcionalidad extraña y utiliza con poca frecuencia actualiza.
Bases de datos NoSQL disfrutan de un ritmo más rápido en términos de desarrollo y maduración. Las nuevas características se liberan todo el tiempo, y de nuevo y las características existentes se actualizan con frecuencia (por lo que los vendedores NoSQL no necesitan mantener una base de código muy grande). De hecho, las nuevas versiones principales se producen anualmente en lugar de cada tres a cinco años.
La ejecución de código junto a los datos
Bases de datos NoSQL fueron creados en la era de Hadoop. Sistema de archivos de Hadoop altamente distribuida (HDFS) y el procesamiento por lotes medio ambiente (Mapa / Reducir) señalaron cambios en la forma de datos se almacena, preguntó, y procesado.
Consultas y trabajo de procesamiento ahora pasan a varios servidores, lo que proporciona un alto nivel de paralelización tanto para cargas de trabajo de ingesta y de consulta. Ser capaz de calcular agregaciones junto a los datos también se ha convertido en la norma.
Ya no es necesario un sistema de almacenamiento de datos independiente que se actualiza durante la noche. Con agregaciones rápidos y el manejo de consultas, el análisis se pasa a la base de datos para su ejecución junto a los datos, lo que significa que usted no tiene que enviar una gran cantidad de datos en torno a una red para lograr análisis combinado local.