Pergunta

Estou desenvolvendo um plano de projeto pouco e cheguei a um ponto em que eu preciso para decidir o sistema de databse local para uso.

Os dados de entrada vai ser armazenado no servidor web (DNS - MySQL DB). A idéia é construir um processo para transferir todos os dados necessários (por exemplo, à meia-noite) e processá-los. No entanto, não vão ser muitas entradas e estágios de processamento, então eu preciso usar algum tipo de banco de dados local para armazenar o semi-produto da aplicação

O sistema de banco de dados local que você recomendaria para trabalhar com aplicação C # (.NET)?

edit:. O produto final (informação) deve ser facilmente sendo exportado de volta para hospedagem MySQL DB

Como Will mencionou em sua resposta - sim, eu sou para um desempenho e conforto de utilização

.
Foi útil?

Solução

Eu quero dizer Microsoft SQL Server 2005 Express, uma vez que (quase) surge como a escolha óbvia quando a desenvolver em .NET.

Mas tudo depende de quais são as competências db anteriores que você tem. Se você já sabe MySql e como você já disse, os dados devem ser exportados de volta para MySql. Por que não usar MySql todo o caminho?

Outras dicas

Para rápido e sujo eu iria com Sql Server Compact Edition. Seu uma implementação em processo de Sql Server, para que ele não exige que você instale quaisquer outras aplicações.

De volta ao dia, você pode usar um banco de dados para este tipo de coisa. Mas bases de dados Access soprar meio.

Não demoraria muito para fazer upload de suas costas dados acabado para o servidor de produção. Se você está procurando uma solução que automatiza esse processo, você provavelmente vai precisar de olhar para hospedar uma instância de MySql localmente e usar qualquer serviços de replicação que ele proporciona.

Eu digo vá com o SQL Server Compact Edition. É real semelhante à versão soprado completa do SQL Server, e VS2008 tem suporte embutido para tabelas projetar, consultas etc. (Management Studio 2008 também tem suporte para isso). A maior desvantagem é que você perder em procedimentos armazenados, mas a cabeça é grande como não há necessidade de instalar nada na máquina utilizadores locais, e ele funciona muito rápido para a seleção de dados. Ainda mais legal, é que com o SQL Metal, você pode criar um arquivo DBML e uso LINQ, tal como faria com o SQL Server.

Que tal usar db4o? É uma OODB você pode incorporar em sua aplicação. Também apoia replicação . Edit: Como um lado nota - No meu projeto de estimação atual usando db4o Eu tenho uma linha (C # 3.5):

IList<Users> list = Persistence.Database.Query<Users>(u => u.Name == "Admin");

Usando forte expressão lambda digitado para obter uma lista (preguiçoso) de objetos do banco de dados. Ele também utiliza índices para recuperar a lista rapidamente.

Suporte MS SQL Server sai da caixa, sem quaisquer outros drivers ou configuração necessária. Além disso, MS SQL Server Express é gratuito.

Você pode gerar scripts que irá exportar os dados para / a partir do MySQL.

A escolha "óbvia" seria MS SQL Server Express. VS e .net tanto apoiá-lo nativamente e se você tem experiência com ele já (para o DB principal), eu certamente ser tentado a ficar com ela (ou sua versão expresso).

Mas isso certamente não é o fim de suas opções. Eu uso SQLite muito para aplicações multi-plataforma e web-apps. É de olho-wateringly-rápido e se integra muito bem através System.Data.SQLite - embora não tão bem como MS SQL Server.

Há também uma edição Compact do SQL Server que compara muito bem com SQLite.

Escolha qualquer coisa que está disponível, mas o código contra apenas interfaces, de que maneira você pode facilmente alternar entre elas.

Para a produção, eu diria que o MS SQL para grandes projectos, (ou expressar para nível médio) simplesmente por causa da estreita integração com VS e SQLite para projetos menores.

Dada a descrição, eu poderia pensar que Sqlite seria uma boa escolha, já que é o mais simples / menor sobrecarga.

Eu não sei de um bom banco de dados in-processo que está totalmente sintaxe e tipo compatível com o MySQL. Com isso em mente, você tem três opções:

  1. Escolha algo como SqlLite, Access, ou SQL Server Compact. O problema é que você vai acabar escrevendo alguma lógica de conversão complexo com qualquer um desses e tem que escrever todas as suas consultas duas vezes.
  2. Instale MySQL localmente. Então você tem que colocar-se com ter um servidor de banco de dados completo em execução no sistema local. Você definitivamente quer evitar isso para qualquer coisa que você vai enviar para um cliente, mas para seu próprio uso, pode ser ok. Felizmente, o MySQL não utiliza tantos recursos como alguns outros servidores de banco de dados modernos, mas isso ainda é menos do que o ideal.
  3. Mudar para edição SQL Server Express no servidor e usar o SQL Server Compact no cliente. É tão barato como MySQL (talvez ainda mais barato, uma vez que é suposto compra MySQL para qualquer uso comercial). Considerando que você está usando C # no final do cliente, você pode querer usá-lo com ASP.Net no lado do servidor também. E se você estiver usando o lado do servidor ASP.Net, então não é difícil encontrar um host que oferece SQL Server Express. Agora os bancos de dados são do tipo compatível e qualquer dúvida que escrever para você cliente tem a garantia de trabalho para o servidor também.

IMO, um dos grandes pontos fortes da pilha de banco de dados MS (excluindo o acesso) é que eles têm uma solução compatível para o que você está fazendo todo o caminho a partir do desktop até clusters de multi-datacenter. Se as mudanças de escala de seu aplicativo ou você precisa de enviar dados entre duas classes diferentes de aplicação, a camada de banco de dados é cuidado.

Eu tenho feito alguns testes como de tarde e, embora eu também recomendo SQL Server 2005 (Express, se necessário) porque trabalha fora da caixa, embora o SQL Server 2008 é novo e RTM'd agora.

SQL Server como a maioria ter mencionado ... Minha razão seria porque você pode usar o controle de origem para integrar os casos de teste a partir de C # ao banco de dados ....

fundação Team (TFS) é um tal de Microsoft com GUI ...

Uma vez que este já foi respondida. Eu tenho que falar quando se trabalha com linguagens CLR, .NET Integração CLR / Framework define MS SQL Server 2005/2008 para além do descanso. Seguinte trecho de aqui .

Ao usar linguagens como o Visual Basic .NET e C #, você pode capitalizar na integração CLR para escrever código que tem uma lógica mais complexa e é mais adequado para tarefas de computação. Além disso, Visual Basic .NET e C # oferecem recursos orientados a objeto tal como encapsulamento, herança e polimorfismo. Você pode facilmente organizar o código relacionado em classes e namespaces, o que significa que você pode mais facilmente organizar e manter o seu investimentos de código quando você está trabalhando com grandes quantidades de código. o capacidade de lógica e fisicamente organizar o código em conjuntos e namespaces é um enorme benefício que permite-lhe melhor encontrar e relacionar diferentes partes do código em uma grande banco de dados de implementação.

Para que você descreveu, definitivamente MS SQL Server. Bom desempenho, boas ferramentas. Livre.

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