thinkbrunus Posted May 6, 2009 at 10:20 PM Report #262001 Posted May 6, 2009 at 10:20 PM Viva! Estou a desenvolver um portal para uso interno no meu trabalho, e ando a estudar algumas matérias antes de começar a desenvolver alguma coisa. Gostaria de saber a vossa opinião relativamente ao tipo de tabela a utilizar, visto que com o acumular do tempo o volume de informação deve ser grande e certamente haverão situações em que vários utilizadores executaram o mesmo procedimentos em simultâneo (não sei se esta situação implica alguma precaução em especial).
estrucida Posted May 6, 2009 at 10:39 PM Report #262008 Posted May 6, 2009 at 10:39 PM Olá! Olha, muito mais importante que o tipo de tabelas vai ser realmente o desenho da base de dados. Um bom esquema e tens 90% dos problemas solucionados. Uma regra que eu sigo é a seguinte: eu não apago nada da BD. Isto é, eu posso ter algo activo/inactico, em curso/cancelado. Acredito que é boa política não se perder informação. Relativamente ao número de acessos para modificar um registo de uma tabela, tens sistemas de "semáforos" que te fazem essa gestão. Pessoalmente nunca tive de resolver essa questão, por isso não sou a pessoa que te deve aconselhar. Quando falas que o volume pode ser grande significa a quantidade de informação ou por exemplo, o facto de trabalhares com imagens ou ficheiros? Já agora, qual o servidor de bd que estás pensar em usar? Há duas coisas infinitas: o Universo e a estupidez humana... embora não haja certezas quanto ao primeiro.
thinkbrunus Posted May 6, 2009 at 10:47 PM Author Report #262011 Posted May 6, 2009 at 10:47 PM Olá! A modelação da base de dados já tenho feita, estou agora a passar à fase da implementação. A quantidade de informação, para já, é apenas a quantidade de registos nas várias tabelas...apenas texto Vou utilizar o MySQL.
M6 Posted May 7, 2009 at 11:24 AM Report #262084 Posted May 7, 2009 at 11:24 AM Faz uma estimativa de quantos registos terás por tabela e do tamanho de cada registo. Assim saberás o tamanho físico de cada tabela e a da base de dados. Mas não te preocupes com o tamanho da base de dados, a menos que vás desenvolver um data warehouse, vais demorar muitos anos até atingires as centenas de megas por tabela. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
thinkbrunus Posted May 7, 2009 at 11:52 AM Author Report #262094 Posted May 7, 2009 at 11:52 AM Pelas opiniões que já li, vou utilizar o tipo de tabelas InnoDB e o charset=utf8_general_ci. Já agora aproveito para deixar uma situação que me aconteceu no ar, quando faço o export da base dados e quando vou importar noutro PC, os campos são preenchidos até ao 1º caracter acentuado...para já não me faz diferença, mas no futuro quem sabe? Estou a fazer o export/import no phpMyAdmin, conhecem alguma solução para isto?
estrucida Posted May 7, 2009 at 12:23 PM Report #262098 Posted May 7, 2009 at 12:23 PM Olha, o que estás a dizer é muito estranho... e realmente ainda bem que levantas a questão. Já agora, que ferramentas estás a usar para fazer a exportação? Outra coisa, já utilizaste o mysql administrator e o query browser? Pessoalmente prefiro-os do que ao PHPmyAdmin. Diz-me a tua opinião. Há duas coisas infinitas: o Universo e a estupidez humana... embora não haja certezas quanto ao primeiro.
thinkbrunus Posted May 7, 2009 at 01:13 PM Author Report #262106 Posted May 7, 2009 at 01:13 PM Segui a tua dica e fui atrás do mysql administrador e do query browser, já os testei e à primeira vista achei-os bastante eficazes e práticos! Vou passar a utilizar estes. Obrigado!
thinkbrunus Posted May 21, 2009 at 03:16 PM Author Report #266170 Posted May 21, 2009 at 03:16 PM No seguimento deste tópico andei a fazer alguns testes no backup à base de dados, e deparei-me com o seguinte, acedendo ao phpMyAdmin selecciono a base dados e surge a listagem das tabelas Tabela | Acções | Registos | Tipo ------------------------------------ teste | ......... | 0 | InnoDB teste1 | ......... | 0 | InnoDB 2 tabela(s) | Soma | 0 | MyISAM Como exemplo na tabela acima, na coluna tipo os tipos de tabelas estão certos, apenas no fim aparece MyISAM. Esta situação implica alguma coisa no funcionamento da base dados? Já tentei criar uma tabela e tal como nas tabelas colocar a linha TYPE = InnoDB, mas não está a resultar....
estrucida Posted June 1, 2009 at 04:27 PM Report #269017 Posted June 1, 2009 at 04:27 PM Olha que na norva versão do mysql mudou um pouco a nomenclatura. Creio que agora usas ENGINE=InnoDB e não Type=InnoDB O facto de ser do tipo InnoDB permite-te garantires a integridade da base de dados. Isso faz sentido quando começas a trabalhar com chaves estrangeiras. Há duas coisas infinitas: o Universo e a estupidez humana... embora não haja certezas quanto ao primeiro.
falco Posted June 2, 2009 at 03:14 PM Report #269318 Posted June 2, 2009 at 03:14 PM Gostaria de saber a vossa opinião relativamente ao tipo de tabela a utilizar, visto que com o acumular do tempo o volume de informação deve ser grande e certamente haverão situações em que vários utilizadores executaram o mesmo procedimentos em simultâneo (não sei se esta situação implica alguma precaução em especial). Os diferentes motores disponíveis para serem utilizados em tabelas do mysql, têm características bastante diferentes. Com a informação que disponibilizaste não se pode recomendar nada. Cada caso é um caso muito particular. Por exemplo questões como a concorrência e a integridade referencial são relevantes, a rapidez com que se faz operações de escrita, ou de leitura também. No entanto até dentro da mesma base de dados, podemos ter tabelas com requisitos completamente distintos que nos fazem utilizar motores diferentes. Por exemplo estou num projecto em que utilizamos vários motores diferentes, porque temos problemas muito diferentes para resolver e quantidades muito grandes de dados para lidar (ainda sem termos tudo em produção lidamos com aproximadamente com mais de uma dezena de GB por dia), para tabelas que têm necessidades diferentes. Se só utilizasse-mos um dos motores não conseguiríamos ter a aplicação a funcionar de forma aceitável. Precisamos de utilizar o motor certo para a tarefa certa. E tu tens que identificar bem as necessidades que vais ter com o teu modelo de dados e aplicar o motor certo na tabela certa. A necessidade de concorrência, a capacidade de recuperar de falhas, a frequência de operações de escrita, ou de consulta são das coisas mais importantes a ter em conta.
falco Posted June 2, 2009 at 03:18 PM Report #269320 Posted June 2, 2009 at 03:18 PM Já agora recomendo que utilizes as ferramentas da MySQL, o Query Browser, o Administrator e o Workbench...
thinkbrunus Posted June 8, 2009 at 10:59 AM Author Report #270664 Posted June 8, 2009 at 10:59 AM Olá, falco! Obrigado pela tua resposta tão esclarecedora. O projecto que estou a trabalhar é um portal que estou a desenvolver de raiz, e claro implica auto estudo e como a experiência não é muita gosto de ouvir algumas opiniões de forma a direccionar o meu trabalho para a direcção certa. Este portal irá substituir algumas rotinas, diminuindo o volume de papel e redução do tempo despendido. Estou a desenvolver algumas aplicações, entre as quais sistema de autenticação (front e back office), painel de administração das aplicações que vou desenvolvendo e também a gestão de utilizadores. Num futuro próximo será desenvolvida uma aplicação para gerir pedidos de helpdesk e outras do genero, acho que vai ter algum fluxo de informação, mas não chegará certamente ao GB por dia...acho eu! Já estou a utilizar as ferramentas que sugeriste, e diga-se que têm dado um jeitão valente. Vou estudar bem a situação, e depois tomar uma decisão. Mais uma vez obrigado!
falco Posted June 18, 2009 at 10:40 AM Report #273299 Posted June 18, 2009 at 10:40 AM Já estou a utilizar as ferramentas que sugeriste, e diga-se que têm dado um jeitão valente. Sim apesar das suas limitações, são muito úteis. Com tanta coisa que existe precisavas mesmo de desenvolver algo de raiz?
thinkbrunus Posted June 18, 2009 at 10:58 AM Author Report #273304 Posted June 18, 2009 at 10:58 AM Tentei ver alguns CMS's, talvez pudesse utilizar algum.... Utilizei um, mas não conseguia utilizar de forma clara algumas tags, assim como AJAX...perdi quase um mês de volta disso e não fiz nada que se visse, para além de teste e tentativas. Assim optei por aventurar-me a desenvolver algo de raiz, talvez seja mais complicado e não tão fácil personalizar, estou a desenvolver o portal e várias aplicações a implementar neste que se adaptam completamente às necessidades do organização onde trabalho.... Verdade seja dite, tá a ser um quebra cabeças, andar a planear como vai ser tudo, sistema de autenticação, permissões, restrição a informação conforme as permissões, e agora painel de administração...tem dado um trabalho valente e ainda na vai a meio...enfim, na verdade estou a gostar do desafio. Desta forma permite aprofundar os meus conhecimentos e aumentar a partilha do mesmo, assim como leva-me a estudar a fundo questões como estas da tabela e trabalhar à volta disto. Como te digo, é uma aventura!
falco Posted June 18, 2009 at 12:00 PM Report #273324 Posted June 18, 2009 at 12:00 PM O que tu queres não é um CMS... Queres algo do género de um ERP, um RT e/ou um sistema de gestão documental...
thinkbrunus Posted June 18, 2009 at 02:09 PM Author Report #273360 Posted June 18, 2009 at 02:09 PM talvez seja isso, na verdade sei pouco acerca do assunto. O que na verdade se pretende com este portal é disponibilizar aplicações que vão sendo desenvolvidas no sentido de optimizar alguns processos internos (mais propriamente requisição de serviços), partilha de informação (neste caso pretende-se desenvolver tipo um arquivo para armazenar docs pdf, powerpoint e docs texto) e com o tempo ir acabando com as bases de dados existente em access e importar estas para MySQL.... Talvez isto seja esse tipo de aplicações te referes, no entanto se tiveres alguma sugestão será bem vinda. Estamos sempre a aprender!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now