QUE SISTEMA DEVO USAR PARA GERIR GRANDE QUANTIDADE

ALTAIR148 21/10/2011 20:19:38
#387371
Isso sem duvidas amigo. Mas vale lembrar que tem muita gente ainda não o utiliza de forma correta, nele para você ter um aproveitamento melhor a manipulação tem que ser feita via ADO.NET.

Até mais.
PROFESSOR 21/10/2011 20:38:33
#387375
O MS-Access(mdb ou accdb, ou seja, Jet 4.0 ou ACE) suporta sem problema algum até 2.3Gigabytes em dados, um pouco mais do que a Microsoft® garante. Em 1999, na empresa onde eu estava, a segunda maior do Brasil em sua área de atividade, utilizávamos um Access 97 com 1.8Gigabytes para administrar fretes marítimos, viagens, custeio de embarcações, conta gráfica (BACEN), avarias de contêineres e sobrestadia. Um único banco, e em três anos corrompeu uma única vez, por conta de um funcionário, que o acessou via MS-Office.

O MySQL, por sua vez, utilizando os drivers de terceiros (TOAD e cia ltda.), é sem dúvidas mais rápido que o MS-Access, dependendo da sua normatização de dados. Mas sofre de corrupção da mesma forma, só que com consequências mais drásticas, já de de uma só vez pode ser necessário recuperar ou recriar algumas dezenas de arquivos para um só banco de dados.

O problema é causado, em ambos, por falha de conexão. Aplicações onde Connections e Recordsets não encerram o acesso são os campeões. A perda de sinal de rede fica em segundo lugar.

Mas mais estáveis, robustos (até certo ponto) e igualmente pequenos existem, e podem ser uma alternativa bastante interessante.
1 - Oracle Express. Capacidade de até 4Gbytes, das quais, de fato, só ficam liberados ao usuário 2Gbytes, é um SGDB de custo zero, com interface administrativa no padrão WebForms, com alto desempenho e que não depende do Microsoft® Windows® para funcionar, sendo um Client/Server verdadeiro.
2 - De muito fácil manutenção, gratuito, Serverless (não requer servidor / não é um serviço) e embarcável, o SQL Server CE suporta até 4Gbytes em dados (reais) com suporte á criptografia de 256k de arquivo, sintaxe bastante próxima ao SQL Server, acessável em ambientes de rede via RDA e com um conjunto de procedimentos para compactação, atualização, restauração de índices e geração de backup. Integrável ao Visual Studio 2010, ao Web Developer e outros.
3 - SQLite é um banco também embarcável e Serverless, possui características [Ô]extravagantes[Ô], como permitir a gravação de tipos de informações diferentes daquele definido para a estrutura das colunas/campos, é extremamente rápido, pois trabalha muito com a RAM, mas apresenta o inconveniente do trabalhoso modelo de implementação em redes.

Não estou indicando nenhum deles, estou apenas comentando, com base no que vivenciei com cada um. Espero que ajude na decisão.

Em relação á linguagem de programação, qualquer linguagem das mais atuais, hoje, [Ô]trocam figurinhas[Ô] com muita facilidade, de modo que bibliotecas e componentes de uma estão disponíveis ás demais, com algumas poucas excessões. Assim, na minha opinião, qualquer uma delas, que se assemelhe á sintaxe com a qual você já esteja acostumado, será a melhor, pois vai permitir mais produtividade.

Um detalhe: Se o acesso ás informações é realizado por até 10 usuários diferentes, de fato não há a necessidade de um servidor, desde que a estação que compartilha a pasta de acesso aos dados possua espaço livre em HD e não consuma mais do que 30% da memória RAM, em média, durante o expediente. Acima disso,pode ser bom analisar.
Em regras gerais, pelo exposto, antes de pensar em servidor, como o acesso é remoto, prefira cabos coaxiais de alto desempenho OU placas de rede DE QUALIDADE com banda igual ou superior á 10/100.

Retomando o assunto do banco de dados, você cita 100 000 registros com 8 colunas, suponho que dentre essas colunas não haja nenhum campo do tipo Memorando / Imagem / Objeto OLE, e sendo assim, qualquer um dos mecanismos de dados que citei acima são muito mais do que o suficiente. Talvês não seja o caso de repôr o banco, nem de arrumar um servidor, mas simplesmente de fazer uma boa revisão das rotinas que usam o banco de dados.

é claro que, se o uso é feito pelo próprio Microsoft® Office, a situação é bem outra, pois a interface desse aplicativo não foi projetada para esse tipo de trabalho, mas para um universo de tarefas bastante mais amplo, sendo assim, são aplicações [Ô]custosas[Ô] aos recursos disponíveis. Ela exige muito mais da rede, das estações de trabalho e do próprio banco de dados. Via MS-Office, essa tarefa é para ser feita uma vez que outra, rapidamente, e olhe lá!

P.S. A empresa onde usávamos o Access 97 só o [Ô]abandonou[Ô] em definitivo em 2003, quatro anos depois de adquirirem as licenças de um SQL Server e nem mesmo implantar. Desse modo, respeitadas as boas regras de programação e manutenção da qualidade dos equipamentos, não falem mal desse [Ô]fusquinha[Ô], hehehe!
FLASHED 21/10/2011 20:52:33
#387377
Então em sintase para entender.

O problema de a minha aplicação estar lenta na hora de carregar dados é por estar a carregar os dados no access 2007.Certo?

Para gerir os meus dados com um bom SGBD posso utilizar o SQL Server CE que não requer servidor e é gratuito!
Sendo assim poupa-me o trabalho de montar servidor. Certo?

Utilizando o SQL Server CE ele gera um ficheiro? Que tipo de extensão? O que ponho na pasta de rede para o meu programa carregar?

Sendo assim vou continuar a utilizar o visual basic 2008
Que ainda não entendi se se chama vb.net ou só vb?!?!?!

Obrigado pela jauda pessoal.
Vamos lá fazer uma sintexe deste assunto para todos perceber-mos
ALTAIR148 21/10/2011 21:16:26
#387379
Citação:

Sendo assim vou continuar a utilizar o visual basic 2008
Que ainda não entendi se se chama vb.net ou só vb?!?!?!



Amigo, não tenho certeza, mas acho que o primeiro vb.net foi o VS 2003, depois disso todos são VB.NET, todos que utilizam o Framework são .NET.

Até mais.
FLASHED 21/10/2011 21:23:22
#387380
então eu progrma em vb.net.

Eu utilizo o visual basic 2008. Como é qu eu sei se estou a usar o framework?
ALTAIR148 21/10/2011 21:33:49
#387382
Vá em
Projeto > Propriedades > Referencias

Ai você procura System, na frente dele terá a coluna versão, essa versão vai significar qual framework está utilizando em seu projeto.

Amigo uma dica, já que estás começando na plataforma .NET eu aconselho a procurar o VS 2010, nele já tem o Framework 4 com muitas melhorias.

Até mais.
MARCOSLING 21/10/2011 23:27:36
#387389
Citação:

:
Então em sintase para entender.

O problema de a minha aplicação estar lenta na hora de carregar dados é por estar a carregar os dados no access 2007.Certo?

Para gerir os meus dados com um bom SGBD posso utilizar o SQL Server CE que não requer servidor e é gratuito!
Sendo assim poupa-me o trabalho de montar servidor. Certo?

Utilizando o SQL Server CE ele gera um ficheiro? Que tipo de extensão? O que ponho na pasta de rede para o meu programa carregar?

Sendo assim vou continuar a utilizar o visual basic 2008
Que ainda não entendi se se chama vb.net ou só vb?!?!?!

Obrigado pela jauda pessoal.
Vamos lá fazer uma sintexe deste assunto para todos perceber-mos



O fato de usar access não significa que a sua aplicação ficará lenta.
100.000 registros é pouca coisa. Já trabalhei com mais de 1 milhão de registros com uma performance bastante aceitável.
Várias coisas irão influenciar na velocidade: quantidade de usuários, qualidade da infraestrutura, modelagem do banco, a forma que você extrai as informações, a lógica, etc.
PROFESSOR 21/10/2011 23:32:38
#387390
FLASHED:
Sem dúvidas, não é preciso mudar a linguagem nem a IDE de desenvolvimento. Mas é preciso baixar o SQL Server CE 4.0, que instala as ferramentas necessárias.
Em seu novo projeto, para utilizar essas ferramentas, acrescente a referência á biblioteca System.Data.SqlServerCe.dll, que é instalada na pasta de arquivos de programas, mais ou menos como em: [Ô]X:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop[Ô]
Além do SQL Server CE 4.0, também é instalada a EF4 para o CE, de modo que será possível ater-se ao desenvolvimento da aplicação, já em 3 camadas, sem muita pêrda de tempo na criação de classes de objetos para o banco de dados.
Só um adendo: O SQL Server CE não disponibiliza gatilhos, consultas ou procedimentos armazenados, nem funções de usuário. Assim, trata-se de um repositório de dados estrutural, muito mais do que um serviço de dados.
Não há também muita leitura disponível para a versão 4, mas há suficiente material disponível até a versão 3.5, o que garante também um aprendizado mais suave, já que você vem do Access e há algumas diferenças, por exemplo GetDate() em lugar de Now(), CASE WHEN em lugar de IIF, dentre outras.
Uma dica, já que o acesso se dá á uma pasta compartilhada, é já aproveitar e formular o aplicativo para [Ô]rodar[Ô] pela Intranet, com acesso via Browser, pois desse modo, serão dispensadas instalações separadas, a manutenção fica mais tranquila e os recursos de rede (e das estações) são otimizados. O SQL Server CE 4.0, mesmo com senha de arquivo, pode ser utilizado como banco de dados para Web, bem como administrador de acesso (via porting do MembershipProvider, do RoleProvider e do ProfileProvider).


ALTAIR148:
Verdade, bem lembrado. O Visual Basic® (1.0) nasceu ainda na época do D.O.S. da Microsoft®. Em sua versão 3.0, já portado para o Windows, recebeu os primeiros componentes de acesso á dados, pois até então, o comum era o uso de arquivos de acesso aleatório e de acesso sequencial. Na versão 6.0 (Visual Studio 98), passou aos 32 bits, ainda que manteve vários componentes de 16 bits, e foi, na minha opinião, a versão mais duradoura e flexível.
Em 2002, a Microsoft anuncia o lançamento da .Net Framework, e do Windows XP e pouco tempo depois, do novo Visual Studio (chegou á ser distribuido junto ás revistas de informática, dois CDs de 600Mb cada).
Á partir desse ano, todas as edições do Visual Studio são .Net, ou seja, todo Visual Basic, de lá para cá, é VB.NET.
Em 2005, sai do forno a primeira versão realmente utilizável do Visual Studio (até então fazia-se mais, com menos esforço e mais rápido usando o VB6), que trazia consigo uma excelente IDE para a linguagem J#. Por questões de patente, a IDE da J# foi removida do pacote nas versões seguintes, mas suas bibliotecas continuam na .Net Framework, á exemplo da GZip (Compression) e das permissões de arquivos (Security), ambas utilizadas largamente na manipulação dos arquivos .JAR e mais recentemente, dos arquivos .XBP.

P.S.: A versão Preview (tem prazo de expiração) do Visual Studio 2011 está disponível no site da Microsoft®. Visualmente, não apresenta grandes mudanças, mas como sempre, há alterações nas bibliotecas, nos modelos etc. Vale á pena conferir. E depois de testar, usar o SharpDeveloper, hehehehe!
PROFESSOR 21/10/2011 23:44:59
#387392
MARCOSLING:

Muito bem colocado!
Modelagem do banco é fundamental ao desempenho. Infra é indispensável.
Acrescento aqui a atenção com o modelo de desenvolvimento e o design. Ainda existe a herança das telas [Ô]carregadas[Ô] de grades e dados por todos os lados (um amigo as chamava de [Ô]painel de avião[Ô], de [Ô]tanta luzinha que piscava[Ô]). E muitos aplicativos [Ô]carregam[Ô] dados utilizando um [Ô]SELECT * FROM[Ô], sem discriminar campos e muitas vezes, filtrando apenas em tempo de execução, após a carga. São práticas altamente desaconselháveis.
Telas objetivas, sem [Ô]confusão[Ô], são normalmente mais agradáveis, eficientes e rápidas.
E de fato, o MS-Access, comparativamente, ainda oferece comodidade e um bom ferramental (alguns tricks realmente incomparáveis, como, por exemplo a possibilidade de gerar tabelas e views totalmente [Ô]invisíveis[Ô] aos que acessam o banco via Office) Pena apenas a OleDb ser 32bits.

AJSO 22/10/2011 00:44:25
#387396
boa noite FLASHED

talves o que vc precise não necessáriamente seje aplicar uma tecnologia de ponta mas aplicar em seu sistemas conceitos, tais como:

OOP Orientação a Objeto;
Apenas os conceito no desenvolvimento para tornar sua aplicação fácil de fazer manutenção e melhorias.

Conceito de Camadas:

Camadas de Dados (Seria algo aos SGBD aplicados no mercado [Ô]Oracle, SQL Server, DB2, MySql, FireBird, PstGreSql[Ô])

Camadas de Negócio Criação de Seu sistema em Classes parametrizadas a simplificar o modelo seu negócio do sistema.

Camada de Interface ou se prefirir USER INTERFACEafim de tornar remanufaturável as telas de sua aplicação.


Conceito de plataforma x32 e x64 bits em webserver, desktop ou mobile.


Este conceitos é apenas para que vc possa tratar uma massa de dados robusta pois o que tem de ferramenta de desenvolvimento hoje no mercado permite tais aplicação.




Boa sorte........
Página 4 de 5 [48 registro(s)]
Tópico encerrado , respostas não são mais permitidas