Índice:
- Menos necessidade de ETL
- Suporte para texto não estruturado
- Capacidade de lidar com a mudança ao longo do tempo
- Nenhuma confiança no SQL magic
- Capacidade de escalar horizontalmente em hardware de mercadorias
- Brethth da funcionalidade
- Suporte para estruturas de dados múltiplas
- Escolha do fornecedor
- Nenhum código legado
- Código de execução ao lado dos dados
Vídeo: What is a Materialized View? 2024
Os bancos de dados NoSQL não são uma substituição direta para um sistema de gerenciamento de banco de dados relacional (RDBMS). Para muitos problemas de dados, porém, o NoSQL é uma combinação melhor do que um RDBMS.
Menos necessidade de ETL
Os bancos de dados NoSQL suportam armazenar dados "tal como estão. "As principais lojas de valores oferecem a capacidade de armazenar estruturas de dados simples, ao passo que os bancos de dados do documento NoSQL fornecem a capacidade de lidar com uma gama de estruturas planas ou aninhadas.
A maioria dos dados que voam entre sistemas faz isso como uma mensagem. Normalmente, os dados levam um desses formatos:
-
Um objeto binário a ser passado através de um conjunto de camadas
-
Um documento XML
-
Um documento JSON
Ser capaz de lidar com esses formatos nativamente em uma variedade de Os bancos de dados NoSQL diminuem a quantidade de código que você precisa converter do formato de dados de origem para o formato que precisa ser armazenado. Isso é chamado extrair, transformar e carregar (ETL).
Usando essa abordagem, você reduz consideravelmente a quantidade de código necessária para começar a usar um banco de dados NoSQL. Além disso, porque você não precisa pagar atualizações para este código de "encanamento", os custos de manutenção em andamento são significativamente diminuídos.
Suporte para texto não estruturado
A grande maioria dos dados em sistemas corporativos não está estruturada. Muitos bancos de dados do NoSQL podem processar indexação de texto não estruturado como recurso nativo (MarkLogic Server) ou um conjunto integrado de serviços, incluindo Solr ou Elasticsearch.
Ser capaz de gerenciar texto desestruturado aumenta consideravelmente a informação e pode ajudar as organizações a tomar melhores decisões. Por exemplo, os usos avançados incluem suporte para vários idiomas com pesquisa facetada, funcionalidade de snippet e suporte de derivação de palavras. Os recursos avançados também incluem suporte para dicionários e tesauros.
Além disso, usando ações de alerta de pesquisa na ingesta de dados, você pode extrair entidades nomeadas de diretórios como aqueles que listam pessoas, lugares e organizações, o que permite que os dados de texto sejam categorizados, marcados e pesquisados melhor categorizados.
Os serviços de enriquecimento de entidades, como SmartLogic, OpenCalais, NetOwl e TEMIS Luxid que combinam informações extraídas com outras informações, fornecem uma rica tela de informações entrelaçadas e melhoram a análise e o uso eficientes.
Capacidade de lidar com a mudança ao longo do tempo
Devido à natureza agnóstica do esquema dos bancos de dados NoSQL, eles são muito capazes de gerenciar a mudança - você não precisa reescrever as rotinas ETL se a estrutura da mensagem XML entre os sistemas mudar.
Algumas bases de dados NoSQL dão um passo adiante e fornecem um índice universal para a estrutura, os valores e o texto encontrados nas informações.Microsoft DocumentDB e MarkLogic Server fornecem essa capacidade.
Se uma estrutura de documento mudar, esses índices permitem que as organizações usem as informações imediatamente, em vez de esperar por vários meses antes de testar e reescrever sistemas.
Nenhuma confiança no SQL magic
Structured Query Language (SQL) é o idioma predominante usado para pesquisar sistemas de gerenciamento de banco de dados relacionais. Ser capaz de estruturar as consultas para que elas funcionem bem se tornou, ao longo dos anos, uma arte espinhosa. As junções complexas complexas não são fáceis de escrever a partir da memória.
Embora vários bancos de dados do NoSQL ofereçam suporte ao acesso ao SQL, eles o fazem para compatibilidade com aplicativos existentes, como ferramentas de Business Intelligence (BI). Os bancos de dados NoSQL suportam seus próprios idiomas de acesso que podem interpretar os dados armazenados, em vez de exigir um modelo relacional no banco de dados subjacente.
Esta mentalidade mais centrada no desenvolvedor para o design de bancos de dados e suas interfaces de programação de aplicativos de acesso (API) são a razão pela qual os bancos de dados NoSQL tornaram-se muito populares entre os desenvolvedores de aplicativos.
Os desenvolvedores de aplicativos não precisam saber o funcionamento interno e os caprichos dos bancos de dados antes de usá-los. Os bancos de dados NoSQL capacitam os desenvolvedores a trabalhar no que é necessário nos aplicativos em vez de tentar forçar bancos de dados relacionais a fazer o que é necessário.
Capacidade de escalar horizontalmente em hardware de mercadorias
Os bancos de dados NoSQL processam o particionamento ( sharding ) de um banco de dados em vários servidores. Assim, se os seus requisitos de armazenamento de dados crescem demais, você pode continuar a adicionar servidores de baixo custo e conectá-los ao seu cluster de banco de dados ( escala horizontal ) fazendo com que eles funcionem como um único serviço de dados.
Contraste isso com o mundo do banco de dados relacional onde você precisa comprar um hardware novo, mais poderoso e, portanto, mais caro para aumentar a escala ( escala vertical ). Se você duplicasse a quantidade de dados que você armazena, você faria facilmente quadruplicar o custo do hardware que você precisa.
Fornecer durabilidade e alta disponibilidade de um banco de dados NoSQL usando hardware e armazenamento baratos é um dos principais recursos da NoSQL. Ser capaz de fazê-lo, ao mesmo tempo que oferece escalabilidade generosa para muitos usos também não prejudica!
Brethth da funcionalidade
A maioria dos bancos de dados relacionais suporta os mesmos recursos, mas de uma maneira ligeiramente diferente, de modo que todos eles são semelhantes.
Os bancos de dados NoSQL, em contraste, vêm em quatro tipos principais: lojas de valores-chave, colunas, documentos e triplos. Nesses tipos, você pode encontrar um banco de dados para atender às suas necessidades particulares (e peculiares!). Com tanta escolha, você encontrará um banco de dados NoSQL que solucionará os problemas de sua aplicação.
Suporte para estruturas de dados múltiplas
Muitas aplicações precisam de armazenamento de objetos simples, enquanto outras exigem armazenamento de estrutura altamente complexo e inter-relacionado. Os bancos de dados NoSQL oferecem suporte para uma variedade de estruturas de dados.
-
Os valores, listas, mapas e strings binários simples podem ser manipulados em alta velocidade em lojas de valor-chave.
-
Os valores de informações relacionadas podem ser agrupados em famílias de colunas dentro de clones Bigtable.
-
Estruturas hierárquicas pai-filho altamente complexas podem ser gerenciadas nos bancos de dados de documentos.
-
Uma teia de informações inter-relacionadas pode ser descrita de forma flexível e relacionada em lojas triplas e graficas.
Escolha do fornecedor
A indústria do NoSQL está inundada com bancos de dados, embora muitos tenham estado em torno de menos de dez anos. Por exemplo, a IBM, a Microsoft e a Oracle apenas mergulharam seus dedos recentemente neste mercado. Conseqüentemente, muitos vendedores visam públicos específicos com sua própria inovação. As variantes de origem
Open-] estão disponíveis para a maioria dos bancos de dados NoSQL, o que permite que as empresas explorem e comecem a usar bancos de dados NoSQL com um risco mínimo. Essas empresas podem então levar seus novos métodos para uma plataforma de produção usando ofertas de empresas.
Nenhum código legado
Por serem tão novos, os bancos de dados NoSQL não possuem código legado, o que significa que eles não precisam fornecer suporte para plataformas antigas de hardware ou manter a funcionalidade estranha e pouco utilizada atualizada.
As bases de dados NoSQL gozam de um ritmo acelerado em termos de desenvolvimento e maturação. Os novos recursos são lançados o tempo todo, e os recursos novos e atuais são atualizados com freqüência (portanto, os fornecedores do NoSQL não precisam manter uma base de código muito grande). Na verdade, novos lançamentos importantes ocorrem anualmente, em vez de cada três a cinco anos.
Código de execução ao lado dos dados
Os bancos de dados NoSQL foram criados na era do Hadoop. O sistema de arquivos altamente distribuído do Hadoop (HDFS) e o ambiente de processamento em lote (Map / Reduce) mudaram a maneira como os dados são armazenados, consultados e processados.
Consultas e processamento de trabalho agora passam para vários servidores, o que fornece altos níveis de paralelização para ambas as cargas de trabalho ingeridas e de consulta. Ser capaz de calcular agregações ao lado dos dados também se tornou a norma.
Você não precisa mais de um sistema de data warehouse separado atualizado durante a noite. Com agregações rápidas e tratamento de consultas, a análise é passada para o banco de dados para execução ao lado dos dados, o que significa que você não precisa enviar muitos dados em uma rede para obter análises combinadas localmente.