[okfn-br] Dúvidas com BD; Cuidando + Gastos Abertos; Servidor OK-Br
Andres MRM
andres em inventati.org
Segunda Julho 6 22:45:58 UTC 2015
Migrei os dados atuais do GA para o Postgres. Aparentemente está funcionando:
http://gastosabertos.org/receitas
http://demo.gastosabertos.org/contratos
(Havia um probleminha de ints que passaram a ser floats e apareceram assim
na interface. Arrumei, mas pode ter outras falhas que não vi.)
Vamos se assim para o erro aleatório que estava dando também...
Luiz e Edgar, importei os contratos usando o "import_contrato.py". O
"import_contrato_urls.py" não consegui fazer funcionar, não sei se era para
usá-lo também, mas pelo que vi o site está normal.
Mudei a pasta da instância para a home. Espero que assim não dê problema caso
a máquina seja reiniciada...
Quoting Peter Krauss (2015-07-06 13:00:04)
> A minha proposta é a mesma de antes (falta definirmos Wiki's links perdidos), e
> me parece compatível com o seu levantamento:
>
> * sem pensar: <ID, JSON> ou <ID, TEXT[]> ou seja, "FLEX";
>
> * pensando (planejando o conjunto completo de dados, se surgirem demandas joins
> e indexações): <ID, chave1, chave2, restoFLEX>
>
> O segundo parece mais chatinho, mas tem como automatizar no PostgreSQL.
>
>
>
>
> Em 6 de julho de 2015 11:46, Andres MRM <andres em inventati.org> escreveu:
>
>
> Dei um "apt-get -f install" que aparentemente arrumou as dependências do
> MariaDB.
>
> Consegui então instalar o Postgres 9.4 seguindo isso aqui:
> http://www.postgresql.org/download/linux/ubuntu/
> Vou ver agora se migro os dados do GA para ele e começo a colocar os novos
> dados de execução nele também.
>
> Sobre esses últimos conversei no canal do IRC do SQLAlchemy sobre a questão
> e
> me recomendaram ou usar uma coluna no BD para cada coluna da planilha
> (mesmo
> que várias delas vazias para alguns anos) ou usar o tipo JSON. Ainda não
> sei,
> mas acho que vou pelo JSON...
>
>
> Quoting Peter Krauss (2015-07-03 13:10:33)
> >
> >
> > Em 3 de julho de 2015 12:33, Andres MRM <andres em inventati.org> escreveu:
> >
> >
> > Quoting Peter Krauss (2015-07-03 11:57:28)
> > > O primeiro para o coletivo aqui poder ajudar é documentar: se
> precisar
> > ajudo,
> > > sugiro na
> > > https://github.com/okfn-brasil/cuidando2/wiki
> > > é fundamental saber o perfil dessas tabelas (cabeçalho de colunas
> basta),
> > e ter
> > > uma legenda no que for relevante.
> > Basicamente são Integers e Strings. Mas tem datas também, menos
> relevantes.
> >
> > > Em seguida entender o que seria "chave primária" (candidatos) de
> cada
> > uma, para
> > > avaliarmos se ao menos isso foi preservado ao longo dos anos.
> > As colunas basicamente são códigos (int) e a descrição de cada código
> > (str).
> > Aparentemente todos esses códigos são necessários para construir uma
> chave
> > primária. Um jeito seria construir uma str que é a somatória de todos
> esses
> > ints e colocar em uma nova coluna:
> >
> > 2015.23.49.8787.73898798
> >
> > Mas, como disse antes, o número de códigos varia ao longo dos anos,
> então
> > algumas chaves seriam compostas por mais ou menos ints.
> >
> >
> > Se tá difícil documentar na Wiki, pode ser um simples Excel (GoogleDocs)
> > mostrando exemplo dos cabeçalhos (não interessa tanto o tipo do valor mas
> ter
> > uma ideia da semântica para consolidar as chaves-candidatas ... Eu
> costumo
> > documentar com uma linha de cabeçalho e uma linha de exemplo, ou seja,
> duas
> > linhas a cada tipo de tabela).
> >
> >
> >
> >
> > > PostgreSQL v9.3: por favor não perca tempo com versões anteriores,
> pois
> > sei que
> > > todos curtem JSON (!) na OKBr.
> >
> > Esse é outro problema, a versão que há para instalar no servidor é o
> 9.1.
> > Teria que puxar um mais recente dos outros repositórios e rezar para
> não
> > quebrar outro pacote...
> >
> > > Se deixar as colunas "de chave" SQL-normais, e as demais colunas
> > codificadas
> > > num campo só com JSON, terá tudo de bom que já tinha no Mongo.
> > > ... e antes de bater o martelo num tabelão universal,
> >
> > Teria que ver qual o suporte do SQLAlchemy para JSON no Postgres.
> Porque se
> > não for para usar SQLAlchemy teria que reescrever a API atual do GA
> também.
> > E se fosse para ir por ai, me parece mais razoável migrar tudo para o
> > MongoDB
> > e pronto...
> >
> >
> > SQLAlchemy (ou o framework-SQL que for) não vai diferenciar tabela bruta
> de
> > VIEW-SQL,
> > a modelagem de dados inclui conceber as VIEWs.
> >
> >
> >
> >
> > E outra coisa, deixando uma parte em JSON dá para cruzar os dados
> depois
> > com
> > as outras tabelas (ex: receita) "de boa"? Será que não vai dar tanto
> > trabalho
> > quanto interfacear com o Mongo via FDW?
> >
> > > - Além disso, pelo que consegui entender no servidor, os dados
> atuais
> > de
> > > receita e contratos não estão em um Postgres, mas sim num
> MariaDB.
> > Logo
> > > teríamos que migrá-los também para um Postgres... A não ser
> que
> > alguém ai
> > > defenda deixar tudo no MariaDB. Não sei como é o NoSQL/GIS
> dele...
> > >
> > > Essa parte é tranquila, posso ajudar.
> >
> > Em teoria o SQLAlchemy cuidaria disso sozinho. Seria só mudar o link
> para o
> > BD
> > nele e reimportar os dados. Mas nunca se sabe o que pode acontecer...
> >
> >
> > Mais uma vez, vamos documentar: outra coisa simples de colocar na Wiki é
> uma
> > descrição sucinta do atual modelo de dados, para conferir o grau de
> impacto (se
> > zero ou mais) das mudanças propostas.
> >
> >
> >
> > > Infra da OKBr: é um problema sério que nasce com os problemas de
> > governança.
> > > Na minha opinião deveria haver uma infra mínima unificada, decente
> e para
> > todos
> > > os projetos.
> >
> > Bom, esse servidor É uma infra mínima unificada, e esse é o problema:
> puxa
> > de
> > um lado, quebra do outro... Isso quando não quebra sem nem ninguém
> entender
> > o
> > que foi.
> >
> >
> > Servidores com bom suporte a PostreSQL custam nos EUA o máximo US$10/mês
> (!!)
> > (para esse volume de dados e freq. de acesso que temos)
> > é um absurdo a OKBr não ser capaz de oferecer isso para os projetos..
> Mais
> > absurdo ainda um projeto de ~R$500k
> > não poder oferecer isso ao desenvolvedor.
> > ... Como eu coloquei antes, é uma questão de governança-OKBr (todos os
> > projetos)...
> > Eu sugiro uma reunião técnico-deliberativa (deliberativa!) sobre o
> assunto...
> > :-)
> >
> >
> >
> >
> > _______________________________________________
> > okfn-br mailing list
> > okfn-br em lists.okfn.org
> > https://lists.okfn.org/mailman/listinfo/okfn-br
> > Unsubscribe: https://lists.okfn.org/mailman/options/okfn-br
> >
> >
> _______________________________________________
> okfn-br mailing list
> okfn-br em lists.okfn.org
> https://lists.okfn.org/mailman/listinfo/okfn-br
> Unsubscribe: https://lists.okfn.org/mailman/options/okfn-br
>
>
Mais detalhes sobre a lista de discussão okfn-br