PostgreSQL Diff INSERT and COPY, performance
PostgreSQL Diff INSERT and COPY, performance
PostgreSQL Diff INSERT and COPY, performance

Quite a number of reasons, actually, but the main ones are:

  • Typically, client applications wait for confirmation of one INSERT’s success before sending the next. So there’s a round-trip delay for each INSERT, scheduling delays, etc (pREST supports pipelineing INSERTs in batches, open source project). This point is the most significant, It’s all about network round-trips and rescheduling delays;
  • Each INSERT has to go through the whole executor. Use of a prepared statement bypasses the need to run the parser, rewriter and planner, but there’s still executor state to set up and tear down for each row.

Avelino (CEO from structy) is creator and maintainer (along with an incredible community of people around the world) of a project called awesome-go List cured by the community of frameworks, libraries and software written in Go.

When I started contributing and creating an Open Source project thought that the main focus was code, over the years I started to perform that the project was a way to get somewhere, that is, code has its importance, but it’s not enough to have a project with impeccable code seeing that “nobody” or few people can use.

That’s why we maintainers should create community around the open source project and always encourage other people to contribute. …

Image for post
Image for post

Atualizamos recentemente um complexo projeto Ruby on Rails para irmos do MongoDB 2.6 até o MongoDB 3.6. Saiba aqui nesse post o caminho das pedras que foi trilhado.

Além do projeto Rails, também atualizamos um serviço em Elixir saindo da mesma versão 2.6 rumo ao banco de dados versão 3.6, num processo envolvendo detalhes que falamos a seguir.

Elixir e database Wrapper

Vários projetos em Elixir, incluindo o Phoenix Framework, utilizam o Ecto como database wrapper, que traz como padrão suporte aos bancos PostgreSQL, MySQL, MSSQL, SQLite e Mnesia.

O MongoDB não é suportado por padrão pelo Ecto, então alguns membros da equipe do elixir-ecto e core team do elixir criaram pacotes para esse suporte, como por exemplo mongodb_ecto e . …

Image for post
Image for post

O cenário é complexo e desesperador, mas infelizmente muito comum na área de software: A equipe vai trabalhando com um projeto legado, com vários débitos técnicos, até chegar o momento inevitável em que algo dá errado em produção, e é necessário parar tudo e necessariamente evoluir/alterar partes cruciais do projeto. Quando a mudança não afeta a estrutura e/ou arquitetura do software, menos mal. Se o problema estiver no coração do projeto, vulgo banco de dados? Vamos tratar dessa situação crítica especificamente, no cenário de um projeto Ruby on Rails 3.2 utilizando o MongoDB 2.6, através do Mongoid 3.1.

Não é pretensão substituir nenhum guia oficial, mas sim complementar, uma vez que não se acham muitas referências pela web além do upgrade “padrão” do Rails — Active Record como ORM do PostgreSQL ou MySQL. Além do Mongoid não utilizar Active Record, a documentação oficial da biblioteca — antiga ou nova — não traz nenhum detalhe sobre um grande upgrade de versões. A pretensão com esse post, então, é servir de guia para que alguém em situação semelhante não se veja perdido no limbo das referências, como foi nosso caso. …

People > Technology, be human when receiving contribution
People > Technology, be human when receiving contribution
People > Technology, be human when receiving contribution

Many engineers forget when contributing to Open Source projects that behind all projects we have people.

We don’t know the people on the other side (project maintainers) and how they will receive our contribution, this generates the need for communication to be clear, and we don’t assume that the maintainers (contributors) have the same knowledge as us (we have no way to know what other people have knowledge), even concepts that we find obvious is important to make clear in communication (issue, pull request and so on).

Don’t be attached to code — code is a way to get to the solution of a problem. It may be that your implementation of code or communication is not clear, do not take negative feedback to the personal side, in general contributors look at the implementation that is coming — but remember that this is not a rule, I cannot speak for all projects and/or people. …

Image for post
Image for post

A preparação para IRONMAN 70.3 não é um processo simples (requer dedicação e disciplina), principalmente quando resolvemos fazer essa loucura com 3 dias de antecedência em uma fazer que meu volume de treino esta extremamente baixo por conta do COVID19 (treino com alta intensidade e com grandes volumes faz a imunidade cair, nesse momento não podemos vacilar com nossa imunidade), foi assim que aconteceu com #IRONMANVR1 (primeiro IRONMAN Virtual, 5km de corrida, 90km de pedal e 21km de corrida tudo dentro de casa em esteira e rolo).

Tinha ciência que não seria uma prova fácil, pedalar e correr grandes volumes não é fácil quando estamos na estrada (outdoor), agora imagina fazer isso indoor? Quando disso sim para o desafio minha preparação foi 100% mental — física sabia que não teria tempo hábito — com muita meditação, técnica de mentalização e descontração (aprendido no DeROSE Method). …

Image for post
Image for post

Vamos começar com um assunto complicado, expor nossas fraquezas não são muito fácil né? Mas depois de supera-lá acho importante compartilhar como foi aquela luta.

Qual é seu atual IRONMAN? Nesse texto usarei o nome “IRONMAN” como um sinônimo de “desafio” que você julga muito complicado, onde envolve muito treino, dedicação e perseverança.

Agora senta que lá vem textão: No carnaval resolvi não ir para Salvador (como já tinha planejado 1 ano a traz), nem ir para bloquinhos em São Paulo e sim ir para o Lobo Tri Experience (aka mini Camp), onde passaríamos 4 dias treinando no período da manhã. No dia 25/12 (último dia do camp) fecharíamos com 4 simulados, ou seja, nadar, pedalar correr e voltava tudo novamente. E lá vou eu mais uma vez para um lugar onde teria que vencer uma das aflições internas a tal Águas Abertas, pois é falo de Triathlon a +- 3 anos e águas abertas ainda era (vamos rasgar o verbo do presente e usar passado) um desafio interno, nunca queria estar ali e sempre negligenciando os treinos de natação. …

Image for post
Image for post

Constantemente recebo mensagem perguntando o que me fez mudar minha vida, praticar esporte, fazer academia, acordar 4:30am e outras coisas que acabo publicando que soa maluquice. Vou tentar responder alguns questionamentos.

O estopim sem sombra de dúvida foi medo de morrer, após alguns exames no cardiologista recebi a notícia “nas últimas 2 horas tive 3 começo de infarto”, sei o que é um infarto, mas o que é um começo de infarto?

Após +- 2 meses da cirurgia bariátrica o médico falou que já poderia ir para academia, minha resposta para ele foi “como assim ir para academia? Não era só fazer a cirurgia e perderia peso?”, nesse momento que tive a sensação de ser enganado 🤔. Lá fui eu, chegando na academia vem uma pessoa toda animada e perguntou qual era meu propósito, mentalmente veio a resposta “sei lá, minha mãe mandou”, na tentativa de cortar o assunto ali, falei que queria correr (confesso que não sei porquê dessa resposta), porém ele continuou o assunto, “mais quer correr prova de 5, 10, 21, 42km? …

Image for post
Image for post

A pergunta que os atletas que segue dieta baseada em plantas recebe é a suposição de que os alimentos de origem animal são a única fonte de proteína, isso é um equívoco, mas infelizmente muitas pessoas têm essa visão por falta de informação.

Na verdade:

  • Uma porção de brócolis cozido ou espinafre tem tanta proteína como um ovo médio (6 gramas)
  • Espirulina (alga azul-esverdeada) é o alimento mais denso em proteínas do planeta
  • 3 colheres de sopa de sementes de cânhamo têm proteína igual a 1/2 xícara de iogurte grego (10 gramas), além de 6 gramas de ácidos graxos ômega…
Image for post
Image for post

De arrepios de dores musculares a amor, acredito que essa seja a evolução que tive dentro da modalidade de bike.

Quando comecei pedalar eu sentia diversas dores muscular e muita dor na “bunda” (na real é no períneo), começar pedalar era uma tortura, chegava no “escritório” (local que fica minha bike) e demorava muito tempo para começar (em alguns dias chegava a horas). Lembro como se fosse hoje eu indo comprar minha primeira bicicleta para o triathlon, quando cheguei em casa comentei com minha esposa “pedalar é tranquilo, nem transpirei”. …

About

Avelino

Triathlete 🏊‍♂️🚴‍♂️🏃‍♂️, Curious to understand why and raise data to help decision-making, Open Source brought me discipline, CEO at @postgresres

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store