Banco de dados no servidor de arquivos (Windows)
-
12-09-2019 - |
Pergunta
Eu estou trabalhando para uma empresa e eu preciso para criar um programa muito rápido. Meu programa será executado com 100 usuários e eles vão fazer cerca de 100 transações por dia per. Como estou sob pressão de tempo, e várias outras restrições que não é possível configurar uma corrida banco de dados apropriado no servidor. Por isso, estou à procura de alternativas que têm algum tipo de suporte a transações sem correr em um servidor. Eu acredito que este poderia ser resolvido usando o Microsoft Access, que é uma solução bem, embora eu acredito que vai correr em problemas de bloqueio. É não é assim que a tabela inteira é bloqueada assim como um usuário tenta ler a partir dele? De qualquer forma ... A minha pergunta é o que outras alternativas existem.
Solução
Confira SQLite .
Outras dicas
A verdadeira resposta é susceptível de variar significativamente, dependendo do que quantidade de dados está sendo falado aqui.
eu dar uma olhada SQLite . Ele suporta transações, triggers, etc e é apoiado por coisas como NHibernate que pode fazer o seu mapeamento de banco de dados vida muito mais fácil.
É sqlite uma solução adequada? Não tenho certeza como o armazenamento remoto é suportado, no entanto. Isso não é uma característica comum.
Você pode olhar para SQL CE , é uma muito bom banco de dados local da Microsoft.
Existem muitas opções. Como os outros, a criação eo funcionamento com SQLLite, SQL Server Express, ou qualquer um de uma série de outros bancos de dados pequenos, leves e livres.
Assumindo que você precisa disso hoje, eu iria com o que você mais sobre saber. Além disso, gostaria de ficar longe de qualquer coisa parecida com o Access. Se você não tiver experiência em usá-lo para acesso de usuário multi, você vai queimar muito tempo para descobrir os problemas.
Dito isso, eu inclinar-se para SQL Server Express em primeiro lugar. É gratuito e pode escalar até sql server completo sem alterações no código.
Eu acho que Firebird pode ser uma alternativa muito boa. Firebird está disponível em incorporado e também pode trabalhar com o servidor. Ele tem muitos recursos.
Eu acredito que este poderia ser resolvido usando o Microsoft Access, que é uma solução bem, embora eu acredito que vai correr em problemas de bloqueio.
Eu diria bloqueio e filas seria a menor das suas preocupações. Com 100 usuários simultâneos, Acesso provavelmente corrupto-se em minutos. Com 10k + registros / dia, ele provavelmente vai atolar sua rede inteira em um mês ou assim.
Como estou sob pressão de tempo, e várias outras restrições que não é possível a criação de uma base de dados adequada rodando em um servidor.
Você pode trazer um servidor de banco de dados-se em uma hora. Muito menos tempo do que você vai gastar haquear Access. Há imagens de código aberto de máquina virtual, MSSQL Express, soluções hospedadas, etc. Tempo e custo deve ser não-questões.
Sobre a única coisa que posso pensar que você tem usando o Access é o apoio Forms (que pode ser ligado a MSSQL Server) ou manutenção DBA. Francamente, porém, a 100 usuários de acesso produz tanto babá que você pode pagar uma instância do SQL hospedado e ainda sair na frente.