Forum Pplware

Versão Completa: Qual a melhor Base de Dados para pequenos projectos ...
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Páginas: 1 2
Tenho uma dúvida que gostaria de esclarecer.

Imaginem que tenho um projecto em desenvolvimento usando Microsoft Visual Studio 2010 Express Edition.
Imaginem também que o meu objectivo final é arranjar alguma entidade que veja valor na ferramenta que estou a desenvolver e que a queira adquirir.

A minha questão é:
Do Universo de Bases de Dados gratuitas (tais como o MySQL, Access ou Microsoft SQL Server 2008 Express Edition) qual a que me aconselham e porquê?
E se em termos legais essas mesmas bases de dados podem ser usadas neste contexto?

Obrigado!
MySQL é o mais rápido e eficiente. Também não terás problemas de licenciamento nem de compatibilidades com Sistemas Operativos (como no caso das outras duas). PostgreSQL também é muito bom, mas um pouco mais pesado que o MySQL.
Convém não esquecer MaxDB.
O tal engine que foi feito nas horas livres dos programadores SAP.

Que inicialmente se chamava SAP DB, e depois passou a MaxDB quando saiu da esfera da SAP e passou apra a rapaziada da MySQL.
Depois, voltou "a casa" e está debaixo da SAP again.

http://maxdb.sap.com/

http://www.sdn.sap.com/irj/sdn/maxdb

Quanto à qualidade, eu por mim resumo a: "corre SAP e é certificado por eles" Wink
@Bruno Bernardino
Em relação ao MySQL, já o usei em tempos e gostei da experiência ... lembro-me vagamente, tal como indicas que o Serviço era extremamente leve e que corria sem problemas de maior.
Uma vez que programa predominantemente em C#, não tive queixas de maior em relação às ligações às Bases de Dados.
No entanto gostaria de saber a tua opinião mais concreta em relação ao SQL Server 2008 Express Edition, pois é um SGBD com o qual ainda não tive muito contacto e que gostaria também de aprofundar conhecimentos.

@JPedrosa
Para ser sincero, sinto-me tentado em experimentar o MaxDB, a titulo de curiosidade, mais por carolice que por outra coisa (pelo menos num primeiro momento)

A ideia hipotética que vos coloco seria a de desenvolver uma ferramenta que ligasse a essa Base de Dados, que numa primeira altura fosse proprietária da entidade que a adquirisse, mas que pudesse vir a transformar-se, com o passar do tempo, numa Base de Dados disponível através de ambiente web, ou VPN a outras entidades.
Imaginem a situação seguinte:
Momento 1:
- Aplicação e Base de Dados instaladas num servidor locar na empresa
- Apenas os utilizadores da rede, acederão à ferramenta e Base de Dados (inserções, consultas, reports, ...)

Momento 2:
- Aplicação e Base de Dados instaladas algures num Data Center (por exemplo da PT)
- Várias outras instituições e seus utilizadores a ligarem-se (Web, VPN, ..).

Visto que a escolha da Linguagem de Programação já está feita, queria optar por uma Base de Dados que me fosse leve, abrangente e com pedigree em simultâneo.
boas mysql não é a mais rapida, mas talvez seja a mais completa a nivel de tools etc. a mais rapida talvez seja sqllite.

cmps
O que devias saber acerca do SQL Server 2008 Express Edition:
Limitations

*SQL Server Express supports 1 physical processor, 1 GB memory, and 4 GB storage
in Microsoft

Para mim, é uma limitação aberrante.

Não sei que sistema queres construir, mas as limitações a nível de espaço das versões gratuitas do SQL Server são anedóticas.

São alias as mesmas limitações da versão gratuita da Oracle, e pelo menos ficavas a saber o que é uma DB Engine, em vez de um projecto.

Nos sistema que suporto, temos os seguintes cenários:
1 - DB Central Oracle + DB's Remotas (subsets menores distribuidos consoante regras de replicação) em Sybase
2 - DB Central Oracle + DB's Remotas em Sql Server Express
3 - DB Central SQL Server + DB's Remotas em SQL Server Express
4 - DB Central Oracle e acessos online à dita, sem DB's remotas.

As variantes estão relacionadas com vários produtos CRM e sistemas de pricing.

Condicionantes dos produtos que correm em cima aparte, as instâncias Oracle são outra fruta Wink

Tenho algumas instâncias, que pelas mais variadas circunstâncias estão em hardware que abençoo todos os dias ainda funcionar, o Oracle é o 8i ... and it keeps on running.

OS SQL Servers, lá temos que ir parando e arrancando os serviços para limpar os memory leaks, e DB's shrinks para aqui, restore para ali ...

Além disso, de cada vez que tenho que mexer em procedimentos SQL Server, e integrar dados que vêm de outras DB's, é sempre a mesma porcaria com as collations e o raio que as parta, é tão bom ter um engine inteligente como o Oracle que sabe que um varchar é um varchar.

Admito que o meu conhecimento em Oracle seja mais profundo e por isso mesmo tenha uma perspectiva biased, mas não consigo encarar com seriedade o SQL Server.

Quanto muito, invejo os DTS Wink

Dos vários serviços free, o que mais me deu o "feeling" Oracle foi o MaxDB, curioso Wink
JPedrosa, relativamente ao MaxDB fiquei com dúvidas se posso ou não usá-lo num projecto deste tipo.
Lembra-te de que o meu objectivo final será o de tentar comercializar a minha aplicação e eventualmente a Base de Dados associada.
Isto porque existe ainda um Terceiro Momento que anteriormente não mencionei, e que se coloca com a real possibilidade de vender a aplicação para uso interno de alguma entidade que a queira adquirir.

Assim sendo, num objectivo mais a médio/longo prazo o cenário pode ser o seguinte:
1- ter a aplicação numa Entidade que me adquiriu os direitos dela (inclusive de comercialização)
2- ter a aplicação em outras entidades que por sua vez adquiriram licenças à entidade descrita em 1

MaxDB pode ser usada neste contexto?

Quanto ao SQL Server 2008 Express Edition, já percebi que a maior parte de vós coloca outras alternativas à frente dele ... creio que o meu leque de opções neste momento se encontra dividido entre MySQL e talvez o MaxDB.
Não entendo porque acham que a versão Express do SQL Server não dá para pequenos projectos. 4GB numa base de dados não me parece um "pequeno projecto". Além do mais, se esse pequeno projecto crescer, podes sempre comprar a versão paga do SQL. MySql também é uma boa solução.
4GB não te parece um pequeno projecto?
basta que guardes logs, algum histórico, e a coisa cresce.
Basta que tenhas no teu modelo de dados queue's de entrada de dados e que guardes o que lá vem, mesmo depois de ter sido escrito nas tabelas finais.

Tenho várias insts na casa do 100GB, aliás, ainda ontem estive a alterar o scripting do HotBackup de uma que tinha 140GB, e precisamos mudar o backup de partição Wink

E francamente sem entrar em guerras de um versus o outro, simplesmente estou habituado a mimos do Oracle que não existem no SQL Server Wink, gosto muito do finetuning, das Hints, de ler o explain plan, de tabelas particionadas, do SQL Loader, os DB Links são mais user friendly, e mto mas mto mais "rock solid". Tem defeitos e muitos como todas as outras ... e portanto as guerras X vs Y são pointless.

Mas voltando ao tópico:
1 - MaxDB, estive a rever o licenciamento e não podes usar para sistemas de produção de forma gratuita.
2 - Esqueci-me de uma alternativa boa Berkeley DB, penso que na variante de licença OpenSource, podes usar em produção e cobrar, desde que publiques o código.

Edit: Outra coisa que me esqueci.
Se optares por usar metadata, é outra coisa que faz crescer a db, consoante o tamanho da aplicação. É o meu caso, e depois tens metadata para o PC, para o PDA, para diferentes versões para permitir o rollback, é sempre a somar gigas Tongue
boas...
epa ...sqlserver...esquece la isso pela pouca experiencia que tenho disto, epa ...nem de graça, alis se me pagassem ainda teria que pensar e muito, os problemas de corrupçao, etc que isto tem....e depois datas inferiores a 1900 e troco o passo não posso usar,epa...muito fraquinho que me desculpem os seguidores da microsoft, mas isto é fraco, além disso ainda por cima é pago, nem sei como se vende, alias sei porque a microsoft puxa por ele de resto....
Para mim mysql,sqllite(pequenas bases de dados com alguns gigas), extremamente rápido .
suporta a maioria de sql 92 apenas não suporta
RIGHT and FULL OUTER JOIN
Complete ALTER TABLE support
Complete trigger support
Writing to VIEWs
GRANT and REVOKE(o que para garantir acessos a users...assim seria mais fácil)
montes de servidores na net usam isto, pois e rápido como tudo, alias se existir digam-me uma bd mais rápida que esta.

cmps
Páginas: 1 2
URL's de Referência