Lar Finanças Pessoais 10 Razões Developers Love NoSQL - dummies

10 Razões Developers Love NoSQL - dummies

Índice:

Vídeo: To Realtime or Not? | Get to Know Cloud Firestore #10 2024

Vídeo: To Realtime or Not? | Get to Know Cloud Firestore #10 2024
Anonim

A popularidade dos bancos de dados NoSQL surge do grande número de desenvolvedores que estão entusiasmados com a sua utilização. Os desenvolvedores vêem o NoSQL como uma tecnologia habilitadora e liberadora. Ao contrário da abordagem tradicional relacional, o NoSQL oferece uma maneira de trabalhar com dados mais próximos do aplicativo do que o modelo de dados relacionais.

Os desenvolvedores adotam tecnologias NoSQL por muitos motivos, alguns dos quais são destacados aqui:

Não é necessário escrever SQL

Escrevendo Structured Query Language (SQL) - e fazê-lo bem - é a perdição da existência de muitos desenvolvedores corporativos. Essa dor é porque escrever consultas muito complexas com múltiplas junções em tabelas relacionadas não é fácil de fazer. Além disso, à luz das mudanças regulares do banco de dados ao longo do tempo, manter o código de consulta complexo é um trabalho por si só.

Os desenvolvedores corporativos inventaram várias maneiras de evitar a escrita de SQL. Uma das maneiras mais populares é através do uso da biblioteca Object-Relational Mapping (ORM), Hibernate. O Hibernate leva um arquivo de configuração e um ou mais objetos e abstrai o SQL desagradável para que os desenvolvedores não precisem usá-lo. Isto vem em um custo em termos de desempenho, é claro, e não resolve todos os casos de uso de consulta. Às vezes você deve voltar para o SQL.

Os bancos de dados NoSQL fornecem seus próprios idiomas de consulta, que são sintonizados na forma como os dados são gerenciados pelo banco de dados e para as operações que os desenvolvedores geralmente realizam. Esta abordagem fornece um mecanismo de consulta mais simples do que as instruções SQL aninhadas.

Alguns bancos de dados NoSQL também fornecem uma interface SQL para consultar bancos de dados NoSQL, caso os desenvolvedores não possam quebrar o hábito do SQL!

Não precisa passar meses projetando o esquema

O agnosticismo de esquema em bancos de dados NoSQL permite que você carregue dados rapidamente sem ter que criar um esquema relacional durante um período de meses. Você não precisa analisar a frente todos os itens de dados que você precisa armazenar no NoSQL, como você faz com um RDBMS.

Menos código de transformação de dados (ETL)

Um problema comum com bancos de dados relacionais que vem de um projeto de esquema avançado é que você deve forçar dados não relacionados em linhas e colunas. Este mecanismo de trituração, juntamente com outros métodos de código que preprocessam informações para armazenamento e pós-processamento para recuperação, são referidos como extrair, transformar e carregar (ETL) .

Este código obriga os desenvolvedores a levar seus bons modelos brilhantes de objetos e documentos e escrever código para armazenar cada último elemento. Fazer isso é desagradável e também leva a desenvolvedores altamente qualificados escrevendo um código de encanamento deficiente e desinteressante.

Os bancos de dados NoSQL permitem que você mantenha as estruturas de dados armazenadas muito mais próximas da sua forma original. O fluxo de dados entre os sistemas geralmente está em formato XML, enquanto que quando se trata de aplicativos da web, os dados são formatados em um documento JSON. Ser capaz de armazenar, gerenciar e pesquisar de forma nativa JSON é um grande benefício para os desenvolvedores de aplicativos.

Mais fácil de manter o código

Todo o código que você escreve deve ser mantido. Ao manter as estruturas do banco de dados próximas aos formatos de dados do código do aplicativo, você minimiza a quantidade de código, o que, por sua vez, minimiza a manutenção dos testes de código e regressão que você precisa fazer ao longo do tempo.

Quando as estruturas de dados mudam em um RDBMS, você deve revisar todos os códigos SQL que podem usar as tabelas alteradas. No NoSQL, você simplesmente adiciona suporte para os novos elementos, ou simplesmente ignore-os! Muito mais fácil de manter, graças à natureza agnóstica do esquema dos bancos de dados NoSQL.

Execute o código próximo dos dados para o melhor desempenho

Um RDBMS fornece procedimentos armazenados para a execução de código em um servidor de banco de dados. Este código é executado em um só lugar. Esta abordagem útil é a base de muitos aplicativos de gerenciamento de dados analíticos e complexos.

Muitos bancos de dados NoSQL permitem que esse tipo de código seja distribuído em todos os servidores que armazenam dados relevantes, o que permite uma maior paralelização da carga de trabalho. Esta abordagem é especialmente importante para grandes ingesções de dados que precisam ser processadas e para análise de agregação complexa no tempo de consulta.

Funções definidas pelo usuário (UDFs) e scripts do lado do servidor em uma variedade de bancos de dados NoSQL fornecem essa capacidade distribuída. Os UDFs são semelhantes ao recurso MapReduce do Hadoop, exceto que os UDFs podem acontecer em tempo real em vez de em modo batch e não requerem o mesmo desembolso na infraestrutura que o Hadoop mais um banco de dados exigiria.

Muitas opções de código aberto

Em muitas áreas de software corporativo, falta a escolha de uma solução sólida de código aberto. Somente uma ou duas opções generalizadas podem existir. A disponibilidade de habilidades e o suporte local no país são problemas ainda maiores.

No entanto, há uma miríade de bancos de dados de código aberto noSQL. Muitos deles têm empresas comerciais de pleno direito que oferecem suporte e possuem escritórios em todo o mundo. Então, se você precisar de suporte ou mais recursos, você pode passar para essas versões eventualmente.

Isso reduz o custo de adotar a tecnologia NoSQL e permite que você "tente antes de comprar. "Esta disponibilidade de alternativas de código aberto causou que as empresas comerciais no espaço NoSQL ofereçam versões gratuitas, mas bem apresentadas, de seus softwares ou ofereçam licenças especiais de inicialização a pequenas organizações.

Fácil de dimensionar

Você não precisa obter um DBA caro para passar dias refatorando o SQL e criando visões materializadas, a fim de minimizar todas as polegadas de desempenho dos sistemas NoSQL.

As lojas de valor-chave podem lidar com centenas de milhares de operações por servidor. Todos os tipos de NoSQL podem escalar horizontalmente em servidores de commodities relativamente baratos.Portanto, é muito mais fácil escalar seu cluster de banco de dados com o NoSQL do que com os bancos de dados relacionais tradicionais.

Além disso, devido à sua capacidade de escala, os bancos de dados NoSQL também se encaixam bem em nuvens públicas e privadas. Os bancos de dados NoSQL são projetados para serem flexíveis e expandir e contratar como os usos para a mudança de sua aplicação. Essa capacidade geralmente é chamada elasticidade .

Modelo de dados de consistência eventual

Embora os casos de missão crítica requerem conformidade com ACID, nem todas as aplicações precisam fazê-lo. Ser capaz de relaxar consistência em clusters muito grandes pode ser útil para algumas aplicações.

Os bancos de dados NoSQL permitem relaxar essas restrições ou misturar e combinar consistência forte e consistência fraca no mesmo banco de dados, para diferentes tipos de registro.

Suporte de idioma esotérico

Praticamente todos os bancos de dados suportam as principais linguagens de programação, como Java e C #. LÍQUIDO. Muitos bancos de dados suportam os gostos de PHP, Python e Ruby on Rails.

O NoSQL possui um conjunto florescente de drivers de idiomas para uma gama ainda maior de linguagens de programação. Se sua organização possui um idioma específico do domínio, você pode encontrar suporte para isso em um banco de dados NoSQL.

JavaScript de ponta a ponta

O uso de JavaScript explodiu nos últimos anos. É uma linguagem de script conveniente na web e, graças ao nó. js, no lado do servidor.

Muitos bancos de dados NoSQL agora oferecem suporte a desenvolvimento completo de JavaScript de ponta a ponta. Isso significa que sua organização agora pode usar o mesmo conjunto de habilidades de linguagem de programação para criar aplicativos da Web e APIs de dados de camada intermediária e lógica de negócios, além de lidar com disparadores de banco de dados back-end e processamento analítico baseado em MapReduce ao lado dos dados.

Como resultado, em comparação com outras tecnologias de banco de dados, o custo total de propriedade (TCO) do NoSQL é menor.

10 Razões Developers Love NoSQL - dummies

Escolha dos editores

Origem e Design de Hadoop - dummies

Origem e Design de Hadoop - dummies

Então, o que é exatamente isso com o nome engraçado - Hadoop? No seu núcleo, o Hadoop é uma estrutura para armazenar dados em grandes clusters de hardware de commodities - hardware de computador todos os dias acessível e facilmente disponível - e executando aplicativos contra esses dados. Um cluster é um grupo de computadores interligados (conhecido como ...

A arquitetura do porco em Hadoop - dummies

A arquitetura do porco em Hadoop - dummies

"Simples" geralmente significa "elegante" quando se trata de desenhos arquitetônicos para Essa nova mansão do Vale do Silício que você planejou quando o dinheiro começa a rolar depois de implementar o Hadoop. O mesmo princípio se aplica à arquitetura de software. O porco é composto por dois componentes (count 'em, two): O próprio idioma: como prova de que os programadores ...

MapReduce Application Flow em Hadoop - dummies

MapReduce Application Flow em Hadoop - dummies

No seu núcleo, MapReduce é um modelo de programação para o processamento de conjuntos de dados que são armazenados de forma distribuída nos nós de escravo de um cluster Hadoop. O conceito-chave aqui é dividir e conquistar. Especificamente, você deseja quebrar um grande conjunto de dados em muitas peças menores e processá-las em paralelo com o mesmo algoritmo. ...

Escolha dos editores

Apoiando a sua campanha PPC com análise de palavras-chave - manequins

Apoiando a sua campanha PPC com análise de palavras-chave - manequins

A base de todo o trabalho do mecanismo de pesquisa é uma análise de palavras-chave. Fazer uma análise de palavras-chave realmente não é tão complicado e pode significar a diferença entre sucesso e falha em sua campanha PPC. Comece digitando as palavras-chave óbvias em um editor de texto ou processador de texto - aqueles que você já pensou ou, se você ...

Envie seu site para Yahoo! Search Directory - dummies

Envie seu site para Yahoo! Search Directory - dummies

Envios para o Yahoo! O diretório costumava ser muito difícil. Pesquisas mostraram que as pessoas que conseguiram obter seus sites listados no diretório tiveram que tentar várias vezes em questão de meses. Era grátis, mas era um aborrecimento. A boa notícia: você pode obter seu site listado em Yahoo! Diretório ...

Dicas para criar e otimizar conteúdo para objetos e indústrias difíceis - manequins

Dicas para criar e otimizar conteúdo para objetos e indústrias difíceis - manequins

Em A superfície, a criação de conteúdo não soa tão difícil até você se sentar e tentar escrever. Sua estratégia de SEO depende desse conteúdo. É ainda pior se você estiver escrevendo conteúdo para o que muitas pessoas podem considerar uma indústria chata. A boa notícia é que é possível transformar indivíduos potencialmente chatos em bons ...

Escolha dos editores

Componentes eletrônicos: transistores como um potenciômetro mágico - manequins

Componentes eletrônicos: transistores como um potenciômetro mágico - manequins

Um transistor dentro de um O circuito eletrônico funciona como uma combinação de um diodo e um resistor variável, também chamado de potenciômetro ou pote. Mas isso não é apenas um pote comum; é um pote mágico cujo botão é misteriosamente conectado ao diodo por raios invisíveis, tipo desse tipo: quando a tensão direta é aplicada em ...

Componentes eletrônicos: Resistores - manequins

Componentes eletrônicos: Resistores - manequins

Um resistor é um pequeno componente projetado para fornecer um específico quantidade de resistência em um circuito eletrônico. Como a resistência é um elemento essencial de quase todos os circuitos eletrônicos, você usará resistores em quase todos os circuitos que você constrói. Embora os resistores venham em uma variedade de tamanhos e formas, o tipo mais comum ...