Pergunta

Stack Overflow Arquitetura eu li sobre algo chamado nosql, eu não entendi o que significa, e eu tentei procurar no google, mas costuras que eu não pode obter exatamente o que está-lo.

Alguém pode explicar o que NoSQL meio em palavras simples?

Foi útil?

Solução

Se você já trabalhou com um banco de dados, você provavelmente já trabalhou com um relacional banco de dados. Exemplos seriam um banco de dados Access, SQL Server, ou MySQL. Quando você pensa sobre tabelas no esses tipos de bancos de dados, você geralmente pensam de uma grade, como no Excel. Você tem que nomear cada coluna de sua tabela de banco de dados, e você tem que especificar se todos os valores dessa coluna são inteiros, cordas, etc. Finalmente, quando você quer procurar informações na tabela, você tem que usar uma linguagem chamada SQL.

Uma nova tendência está se formando em torno de bancos de dados não relacionais, ou seja, bancos de dados que não se enquadram em uma grade arrumado. Você não tem que especificar quais as coisas são números inteiros e strings e booleans, etc. Estes tipos de bancos de dados mais flexíveis, mas eles não usam SQL, porque eles não estão estruturados dessa forma.

Em termos simples, é por isso que eles são bancos de dados "NoSQL".

A vantagem de usar um banco de dados NoSQL é que você não tem que saber exatamente o que seus dados será semelhante antes do tempo. Talvez você tem uma tabela de contatos, mas você não sabe que tipo de informação que você deseja armazenar sobre cada contato. Em um banco de dados relacional, você precisa fazer colunas como "Nome" e "Endereço". Se você descobrir mais tarde que você precisa de um número de telefone, você tem que adicionar uma coluna para isso. Não há nenhuma necessidade para este tipo de planejamento / estruturação em um banco de dados NoSQL. Há também vantagens potenciais de escala, mas isso é um pouco controverso, por isso não vou fazer nenhuma reclamação lá.

Desvantagens de bancos de dados NoSQL é realmente a falta de SQL. SQL é simples e onipresente. SQL permite-lhe cortar e cortar seus dados mais fácil obter resultados agregados, enquanto que é um pouco mais complicado em bancos de dados NoSQL (você provavelmente vai usar coisas como MapReduce, para o qual há um pouco de uma curva de aprendizagem).

Outras dicas

A partir da NoSQL Homepage

NoSQL é um sistema rápido, portátil, relacional de gerenciamento de banco de dados sem limites arbitrários, (diferente de memória e velocidade do processador) que é executado sob, e interage com o sistema operacional UNIX 1. Ele usa o "operador-Stream Paradigm" descrito em "Unix Review", de março de 1991, página 24, intitulado "A 4GL Language". Há uma série de "operadores" que cada executam uma função única sobre os dados. O "stream" é fornecida pelo mecanismo de redirecionamento UNIX Input / Output. Por conseguinte, cada operador processa alguns dados e, em seguida, passa-lo ao longo do lado do operador através da função de canal UNIX. Isto é muito eficiente como tubos UNIX são implementados na memória. NoSQL é compatível com o "Modelo Relacional".

Também gostaria de ver esta resposta em Stackoverflow .

NoSQL é a nova filosofia de banco de dados, que fala sobre todas as deficiências do projeto de banco de dados relacional, em particular os problemas que eles têm em ampliação para ambientes web exigentes de hoje.

NoSQL está rapidamente evoluindo para um movimento com novas ferramentas, software e formatos surgindo como alternativa para SQL.

RDBMS é tão onipresente quanto OOP e enquanto ambas as metodologias de projeto resolver alguns problemas maravilhosamente, eles não resolvem todos.

Então, pense de NoSQL como o Progra funcional do mundo do banco de dados.

Foi este bastante simples?

NoSQL é a ideia de que os bancos de dados SQL do tipo não satisfazer as demandas / necessidades de uma base de dados muito usado que requer operações de ser confiável e à prova de falhas (ou perto disso). Isto está para as idéias de ácido e CAP, tanto as coisas vale a pena investigar, mas não algo a perder o sono durante a menos que você tem um site muito popular que é transação-pesado (ie Amazon ou Ebay). Para obter um bom começo sobre estes temas, eu sugiro:

http://www.eflorenzano.com/blog/post/ meus pensamentos-nosql /

e

http://www.julianbrowne.com/article/viewer/brewers CAP-teorema

Em termos simples, isso significa não usar um banco de dados relacional para armazenamento de dados.

Aqui está um artigo relevante: http://www.computerworld.com/s/ artigo / 9135086 / No_to_SQL_Anti_database_movement_gains_steam_

Algo todos considerando uma abordagem "NoSQL" deve considerar:

(eu não correr o risco de colocar a imagem em este post, pois contém um palavrão, e eu não quero bandeiras ofensivos Então clicker cuidado -. Há uma f-word lá Apenas clique se você tiver um. senso de humor.)

http://browsertoolkit.com/fault-tolerance.png

Encontrei este href="http://www.25hoursaday.com/weblog/2009/09/10/BuildingScalableDatabasesDenormalizationTheNoSQLMovementAndDigg.aspx" rel="nofollow noreferrer"> belo artigo

e isso também: NoSQL, Yes Pesquisar

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top