Alternativas à base de dados?
5 answers
Para algumas tarefas, a base de dados mais comum é a base de dados relacional. É uma base de dados baseada no modelo relacional. O modelo relacional assume que você descreve seus dados em linhas, pertencentes a tabelas onde cada tabela tem um dado e fixo número de colunas. Você envia dados em uma base "por linha", o que significa que você tem que fornecer uma linha em uma única tentativa contendo os dados em relação a todas as colunas da sua mesa. Cada linha submetida normalmente recebe um identificador que é único ao nível da tabela, às vezes ao nível do banco de dados. Você pode criar relações entre entidades no banco de dados relacional, por exemplo, dizendo que uma determinada célula em sua tabela deve se referir à linha de outra tabela, para preservar a chamada "integridade referencial".
Este modelo funciona bem, mas não é o único lá fora. Em alguns casos, os dados são mais bem organizados como uma árvore. O sistema de ficheiros é uma base de dados hierárquica. começa numa raiz, e tudo vai por baixo desta raiz, numa árvore como uma estrutura. Outro modelo é o par chave / valor. Sleepycat BDB é basicamente uma loja de entidades chave/valor.LDAP é outro banco de dados que tem duas vantagens: armazena dados bastante genéricos, é distribuído pelo design, e é otimizado para leitura.
Bases de dados de Grafos e triplestores permitem-lhe armazenar um grafo e realizar uma pesquisa de isomorfismo. Isto é tipicamente necessário se você tem um conjunto de dados muito genérico que pode abranger um amplo nível de descrição de suas entidades, tão amplo que é basicamente desconhecido. Isto está claramente em oposição ao modelo relacional, onde você cria suas tabelas com um conjunto muito preciso de colunas, e você sabe o que cada coluna vai conter.
Também existem bases de dados relacionais baseadas em colunas. Em vez de enviar dados por linha, você os envia por coluna inteira. Então, para responder à sua pergunta: uma base de dados é um método para armazenar dados. Tecnicamente, mesmo um arquivo de texto é uma base de dados, embora não seja particularmente agradável. A escolha do modelo por trás do seu banco de dados é principalmente relativa às necessidades típicas da sua aplicação.Definir a resposta como CW como eu provavelmente estou dizendo algo estritamente não correto. Sinta-se à vontade para editar.
Esta é uma questão bastante ampla, mas as bases de dados são adequadas para gerir os dados relacionais. Alternativas quase sempre implicam em projetar seu próprio motor de armazenamento e recuperação de dados, o que para a maioria das aplicações padrão/pequenas não vale a pena o esforço.
Um cenário típico que não é adequado para uma base de dados é o armazenamento de grandes quantidades de dados que são organizados como uma quantidade relativamente pequena de ficheiros lógicos, neste caso um sistema simples de Sistema de ficheiros pode ser o suficiente.
Atenciosamente,
SebastiaanUtilize uma base de dados se tiver dados para armazenar e consultar.
Tecnicamente, a maioria das coisas são adequadas para bases de dados. Os computadores são feitos para processar dados e os bancos de dados são feitos para armazená-los. A única coisa a considerar é o custo. Custo de implantação, custo de manutenção, investimento de tempo, mas geralmente valerá a pena.Se você só precisa armazenar dados muito simples, arquivos planos seria uma alternativa (arquivos de texto).
Nota: usou o termo genérico "base de dados", mas há muitos tipos diferentes e implementações destes.
Para aplicativos de pesquisa, texto completo motores de busca (alguns dos que estão integrados ao tradicional Sgbds, mas alguns dos quais não são), pode ser uma boa alternativa, permitindo que mais recursos (vários linguística consciência, capacidade de dados semi-estruturados, classificação...), bem como melhor desempenho.
Além disso, eu vi aplicações onde os dados de configuração são armazenados na base de dados, e enquanto isso faz sentido em alguns processos, usar ficheiros de texto simples (OR YAML, XML and such) and loading the underlying objects during initialization, may be preferible, due to the self-contained nature of such alternative, and to the ease of modificing and replicating such files.
A ficheiro de Registo plano, pode ser uma boa alternativa ao login para DBMS, dependendo do uso, é claro.