Introdução ao Banco de Dados NoSQL

Visão global: Banco de dados NoSQL é a palavra de ordem no setor de software atual. Banco de dados NoSQL também é amplamente aceito, Mas não é uma substituição para o sistema de gerenciamento de banco de dados relacional tradicional (RDBMS), que armazena dados em tabelas relacionais. Assim, podemos simplificar isso dizendo que NoSQL está lá para superar as lacunas encontradas no tradicional RDBMS.

In this article, Vou discutir sobre o banco de dados NoSQL e seus vários aspectos.

Introdução: NoSQL - interpretado como "Não só SQL ' é uma base de dados que fornece um mecanismo para armazenar e recuperar dados de um modo que é diferente da tradicional RDBMS, que depende fortemente sobre as relações tabulares. Esta abordagem foi iniciada e aceites, com base nos seguintes factos -

  • Simplicidade Design / Performance - Em NoSQL a estrutura de dados é ou valor-chave ou arquivo. Devido à sua estrutura de dados simples e fácil de administrar, NoSQL é mais rápido do que suas peças contrárias. Assim, o desempenho é importante diferencial.
  • Escalabilidade horizontal - NoSQL implementações de banco de dados pode ser facilmente escalado para cima ou para baixo como e quando necessário.

Assim, os dois fatores mais influentes de bancos de dados NoSQL são 'Atuação' e 'escalabilidade '. banco de dados NoSQL é projetado para combater as desvantagens do modelo relacional.

Diferentes tipos de banco de dados NoSQL:

Existem diferentes tipos de bases de dados NoSQL disponíveis no mercado. Vamos ter um olhar para ter uma idéia.

  • Valor banco de dados chave emparelhado - Este é o tipo mais simples e mais comumente usado de banco de dados baseado NoSQL. In this category, cada item no banco de dados é armazenado no banco de dados como um atributo chamado chave, juntamente com o seu valor. Por isso, é basicamente um par de valores-chave.
  • Stores Gráfico - Esta categoria de NoSQL é usado para armazenar informações sobre a rede por exemplo. dados de rede social. E.g. Neo4J e HyperGraphDB etc.
  • Banco de dados de documentos - Esta é uma forma estendida de valor de chave emparelhada DB onde cada tecla está associada com uma estrutura de dados complexo. Esta estrutura de dados é conhecida como documento. Os documentos podem conter ainda um par de valores-chave ou até mesmo documentos aninhados.
  • armazenamento Coluna Wide - Estes são otimizados para consultas sobre grandes registros de dados. Estas colunas armazenar bancos de dados em vez de linhas. E.g. Cassandra, HBase.

Vantagens de noSQL:

Em comparação com as bases de dados relacionais tradicionais, NoSQL bancos de dados baseados são mais escalável e oferecer um melhor desempenho. Bancos de dados relacionais estão a ser dito não é competente para lidar com os seguintes cenários -

  • Bancos de dados relacionais muitas vezes não conseguem lidar com dados de grandes volumes seja estruturado, dados semiestruturados ou não estruturados.
  • Relational databases have failed in the agile environment which are sprint based and require raid iteration and frequent code publishing.
  • Relational databases are not designed to be compatible with object oriented programming which is very simple, flexible and easy to use.
  • If you want to store hierarchical objects with query capabilities, then RDBMS is not the recommended solution. Only NoSQL can perform well.
  • For a cloud deployment, which is a distributed environment, RDBMS is not suitable.

So in the above scenarios NoSQL is the only solution to fill the gaps. NoSQL data model is efficient and has a scalable architecture as compared to relational model which is expensive and follows a monolithic architecture.

NoSQL allows us to have dynamic schema for the database: In relational database; precisamos definir o esquema no início. Qualquer banco de dados relacional vai gostar de saber com antecedência, os dados que deseja armazenar por exemplo. se queremos armazenar o registro de um empregado como nome, departamento, número de telefone, endereço etc. Nós também precisa saber o tipo de dados e seu possível tamanho de antecedência. Esta abordagem apresenta desafios em metodologia de desenvolvimento ágil como cada vez que precisa para incluir nova funcionalidade, é preciso modificar o esquema que pode resultar em fazer a aplicação instável. E.g. se tomarmos uma chamada para adicionar os cônjuge e filhos detalhes de todos os funcionários na aplicação, vamos exigir para adicionar mais algumas colunas e, em seguida, uma migração é necessária para migrar os dados antigos na nova tabela. Nesta situação, Se o tamanho da base de dados é grande, que irá exigir uma quantidade significativa de tempo para migrar o banco de dados que pode resultar em um grande tempo para baixo. Se temos de abordar esses tipos de mudanças frequentes, então ele vai ser bastante problemático para gerenciar essas paradas.

NoSQL com base bases de dados são projetados e desenvolvidos para lidar com esses tipos de situações. Em bancos de dados NoSQL, podemos inserir dados sem ter um esquema pré-definido que torna a nossa vida mais fácil ao fazer mudanças no nível de banco de dados. Assim, ele ajuda no desenvolvimento rápido e também à integração de código é mais fácil nesta abordagem.

Assim, em NoSQL, a vantagem de 'esquema dinâmica'Nos dá uma grande flexibilidade para a gestão sempre mudando demandas de aplicações web.

Mecanismo sharding: Devido à sua forma de estruturação, bancos de dados relacionais pode escalar verticalmente i. if we need to scale the database of an application; we need to host a single server having the entire database loaded on it. This is to ensure data availability. This approach is relatively expensive and the chances of failure are also high. To come out of this bottleneck it is advised to scale horizontally rather than vertically. Sharding mechanism allows us to have the database across multiple server instances which are done on SQL based databases. This is accomplished with the help of Storage Area Networks or SANs. Since the databases don’t provide this feature it becomes the responsibility of the developer to deploy multiple relational databases across different systems. Each and every single data is stored on all the database instances. O desenvolvedor precisa para desenvolver o código do aplicativo, a fim de distribuir dados, consultas e ordenar os resultados dos dados em todas as instâncias de banco de dados. In addition to this, código deve ser desenvolvido para lidar com as falhas de recursos. Isto pode ser feito através da realização de junta entre as diferentes bases de dados. Esta abordagem é chamada de reequilíbrio de dados e replicação. Além desta muitos benefícios do banco de dados relacional como integridade transacional é comprometida ao empregar sharding Manual.

On the other hand, bancos de dados NoSQL geralmente suportar sharding automática. i. esses bancos de dados têm a capacidade de se espalhar os dados através de qualquer número de instâncias de banco de dados automaticamente. Este mecanismo não requer a aplicação para ser mesmo ciente da composição pool de servidores. De dados e carga de consulta são automaticamente equilibrada entre servidores, and when a server goes down, it replaced immediately causing no disruption in the application.

With Cloud computing in place, we can have this approach significantly in an easy way. Cloud Providers like Amazon Web Services or AWS have the ability to provide virtually unlimited capacity on demand and also takes care of all the important database administration tasks. Now the developers are no longer required to build complicated and expensive platform to support their applications, and hence are free to concentrate on writing application code which requires more attention given the complexity of the business. This approach is also cost effective.

Data Replication: The commonly used NoSQL databases support automatic data replication. Assim, temos a alta disponibilidade dos dados e também a recuperação contra desastres e não requerem envolvendo aplicações separadas para gerir estas tarefas.

banco de dados de execução NoSQL:

A maioria das organizações começam a ter uma implementação de teste do banco de dados NoSQL que os ajuda a desenvolver uma compreensão do software e da tecnologia, uma vez que torna-se muito difícil para os DBAs tradicionais para digerir a abordagem de NoSQL. A maioria dos bancos de dados NoSQL são de código aberto, permitindo assim que os desenvolvedores para baixar o software e iniciar o desenvolvimento de POC sem se preocupar com os desafios de licenciamento. Uma vez que os ciclos de desenvolvimento são mais curtos e desenvolvedores mais rápidos pode ter a vantagem de inovar e explorar novas áreas que possam produzir melhores resultados.

Summary:

Nós discutimos sobre o banco de dados NoSQL e seus vários aspectos. Now, é claro que NoSQL não é um substituto para o tradicional RDBMS. Mas tem um conjunto diferente de casos de uso que não são adequados para RDBMS. bancos de dados NoSQL estão em constante evolução e ele virá com mais novidades em breve. To conclude the discussion, vamos ter um rápido olhar para as seguintes balas.

  • NoSQL significa "Not Only SQL '.
  • NoSQL bancos de dados baseados difere com os bancos de dados tradicionais na abordagem de armazenamento e recuperação de dados.
  • NoSQL com base bases de dados são muito mais rápidos em comparação com o seu homólogo relacional.
  • Diferentes tipos de bancos de dados NoSQL são -
    • Chave Valor emparelhados
    • gráfico armazenado

============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share