![Meta resolve o problema dos objetos não tão imutáveis do Python](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706236927_Meta-resolve-o-problema-dos-objetos-nao-tao-imutaveis-do-150x150.jpg)
Meta resolve o problema dos objetos não tão imutáveis do Python
25 de janeiro de 2024![Automatizando solicitações de acesso sob demanda para Google Cloud Platform](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706238559_Automatizando-solicitacoes-de-acesso-sob-demanda-para-Google-Cloud-Platform-150x150.jpg)
Automatizando solicitações de acesso sob demanda para Google Cloud Platform
26 de janeiro de 2024Quando Tony Grant, um profissional de marketing digital baseado no Reino Unido, começou a analisar dados de empresas locais, ele achou o Excel muito limitado e com muita memória, mesmo em uma máquina Windows poderosa.
Se alguém procurasse um encanador em sua cidade natal, Lincoln, por exemplo, ele queria encontrar automaticamente os outros três encanadores mais próximos.
“Isso parece fácil, mas quando você começa a entender como funcionam os códigos postais do Reino Unido, torna-se menos útil. Você não pode simplesmente presumir que códigos postais semelhantes estão próximos uns dos outros, e você também precisa levar em consideração que existem quase 2,25 milhões de códigos postais diferentes somente na Inglaterra, sem incluir País de Gales, Escócia ou Irlanda do Norte”, explicou ele por e-mail.
Depois, havia o problema de que os códigos postais não são naturalmente adjacentes e não equivalem a uma área de terreno definida. Um código postal do Reino Unido pode referir-se a apenas uma casa ou a várias centenas, senão milhares.
A resposta lógica era recorrer às coordenadas geográficas, mas isso triplicaria o conjunto de dados, tornando esta tarefa impossível com os limites do Excel de cerca de 1 milhão de linhas.
Então ele decidiu encontrar uma ferramenta on-line para o projeto, mas também a achou limitada e cara. Amazon Web Services ele achou muito técnico e jargão para um leigo, Airtable muito focado em vendas. Então ele se deparou com o bit.io, que prometia resolver esses problemas e ser simples.
“Bit.io foi um sonho. Até a tabela inicial gratuita tinha algo em torno de 10 milhões de linhas. Mesmo se eu adicionasse a Escócia e o País de Gales, ainda estaria apenas 25% cheio”, disse ele.
Aproveitando o ecossistema Postgres
Bit.io permite que os usuários criem rapidamente um banco de dados Postgres sem servidor completo e o compartilhem facilmente com membros da equipe ou clientes.
“Você pode acessar o Bit hoje e, sem se inscrever, arrastar um arquivo e obter um banco de dados”, disse o cofundador e CEO da Bit, Adam Fletcher. “Queremos apenas que as pessoas usem o software e descubram o valor imediatamente. Esse foi um princípio fundamental para nós.”
Esses bancos de dados funcionam com qualquer ferramenta que funcione com Postgres. Os usuários nem precisam configurar uma conta, embora isso desbloqueie mais recursos.
Você pode carregar dados arrastando e soltando arquivos, inserindo a URL de um arquivo de dados, enviando dados de aplicativos R ou Python ou usando praticamente qualquer outro cliente Postgres ou HTTP. Possui um editor SQL no navegador ou você pode trabalhar em ferramentas como R, Python, notebooks Jupyter, linha de comando e muito mais.
Obtendo valor rapidamente
Fletcher foi anteriormente chefe de tecnologia do fornecedor de segurança cibernética BlueVoyant, diretor de engenharia da plataforma de análise de saúde Nuna e engenheiro de confiabilidade de sites no Google. O cofundador Jonathan Mortensen, cientista de dados em Stanford, liderou a ciência de dados em empresas médicas e de segurança cibernética. BlueVoyant comprou sua empresa de ferramentas para desenvolvedores Gyroscope Software.
“Em todos os lugares que estivemos, encontramos os mesmos problemas de dados”, disse Fletcher. “Em particular, há o problema em torno da produtividade com dados e da eficácia com dados e velocidade de iteração.
“Quando saímos da empresa que comprou minha última empresa, dissemos: ‘Vamos construir isso, só uma última vez para todos, certo? Como se todo mundo parecesse ter esse problema.”
Basicamente, eles queriam aliviar as dores de cabeça da ingestão e compartilhamento de dados. Torná-lo sem servidor significa que os usuários não precisam gerenciar a infraestrutura.
Lidando com a ingestão
Bit.io usa algoritmos para determinar a estrutura de CSV, JSON e outros dados para carregamento no Postgres.
“Na verdade, é muito difícil obter dados em qualquer banco de dados relacional tradicional”, disse Fletcher. “Você tem que fazer isso em uma linguagem de programação. Você tem que fazer isso com ferramentas de linha de comando que são difíceis de usar e não nativas. E o que acabamos de dizer foi: ‘Olha, as pessoas têm esses conjuntos de dados. Tudo o que queremos que eles façam é arrastar e soltar os dados que possuem sem ter que fazer nenhum trabalho neles, e isso se transformará em um verdadeiro banco de dados Postgres.’
“Para fazer isso, tivemos que resolver alguns problemas, um com arquivos CSV em particular e arquivos Excel, você sabe, uma espécie de dados tabulares regulares que você vê em todo o lugar. … não há esquema, certo? E então usamos um monte de ferramentas de código aberto, e então as modificamos e escrevemos um monte de tecnologia em cima disso, para que possamos fazer coisas como dizer, ‘Oh, esta coluna é uma string, esta coluna é um número inteiro, esta coluna é, você sabe, tanto faz. E digite-o nas colunas do Postgres de forma que… você tenha um esquema real, colunas reais, tipos de dados reais e, em seguida, suporte todos os milhões de casos extremos que aparecem quando você faz isso”, disse ele.
“Portanto, trata-se apenas de enfrentar esse tipo de problema de engenharia / dados sujos antecipadamente e garantir que seja o mais fácil possível.”
Avião de controle sob medida
Depois, há o problema do compartilhamento, que Fletcher descreve como “difícil de uma maneira diferente”.
Compartilhar é difícil, disse ele, por causa dos modelos de autenticação e autorização que acompanham o Postgres. Eles decidiram pegar uma página do GitHub e incorporar autorização e autenticação em um plano de controle fora do Postgres.
Extrair informações do usuário e de segurança e enviá-las ao plano de controle Bit para garantir que os usuários tenham o acesso correto exigiu o que Fletcher chamou de “uma programação complexa nesse lado também”.
Os usuários podem tornar seus dados públicos ou privados. Os dados COVID, por exemplo, têm sido conjuntos de dados públicos populares que podem ser compartilhados com acesso somente leitura.
“Tivemos algumas coisas realmente interessantes, como o consumo de bebidas alcoólicas em Iowa. …como durante a pandemia, as pessoas bebem mais? Acontece que Iowa rastreia todas as garrafas de licor e cerveja vendidas e tudo mais, certo? Tipo, que dados divertidos! ele disse.
Mas compartilhar internamente também é importante. Como membro de uma equipe financeira, por exemplo, você pode compartilhar informações de cobrança como somente leitura. E quando um membro da equipe sai da empresa, o acesso pode ser revogado com o clique de um botão.
Abraçando a tecnologia sem servidor
Além de focar na ingestão e no compartilhamento, a equipe desenvolveu um proxy e uma API para que você possa fazer tudo isso de forma programática. Combinar o ecossistema Postgres com o serverless significa que os usuários não precisam gerenciá-lo ou se preocupar com o dimensionamento. Ele disse que o sistema foi testado para 25.000 transações por segundo.
“Ele simplesmente aumenta automaticamente. Ele simplesmente cresce conforme você avança e depois diminui. E se você não estiver usando, ele se desliga”, disse ele.
O ex-CEO do MongoDB, Max Shireson, investidor em bit.io da Battery Ventures, considera o serverless uma virada de jogo.
“Acho que as pessoas tinham a ideia de que a nuvem seria completamente elástica e flexível, e você não precisaria mais se preocupar com hardware. E, em muitos aspectos, isso ainda não é verdade”, disse ele em entrevista.
“O que a equipe da bit.io está fazendo é ajudar a nuvem a cumprir sua promessa de dados, criando uma oferta sem servidor, o que significa que quando você cria um banco de dados lá, você não precisa dizer quanto hardware deve ser usado. executá-lo ou em que tipo de hardware ele será executado. Ele apenas fornece um endpoint na nuvem que cresce e se expande conforme você precisa, sem ficar limitado à granularidade das máquinas.
“E, em particular, quando você tem muitas pequenas coisas experimentais, pode haver muita sobrecarga para isso, certo? Sua nova aplicação experimental pode precisar apenas de 3% de uma máquina e você não deseja alocar uma máquina inteira ou mesmo… o equivalente a um quarto de uma máquina — isso ainda pode ser muito mais do que você precisa. E isso não parece necessariamente um grande problema. Você ainda está alugando uma fatia bem pequena e não é tão cara. Mas em termos de promoção da experimentação e da inovação, poder realmente usar apenas o que você precisa faz uma grande, grande diferença. Você pode querer deixar 1.000 flores desabrocharem e não vale a pena gastar 100 dólares em cada flor (porque) você não sabe se algo vai resultar disso.
“É por isso que acho que muitas pessoas estão entusiasmadas com a ideia de um banco de dados sem servidor que você usa o quanto precisa. Talvez seja muito pequeno, talvez seja médio, eventualmente, talvez se transforme em algo grande. Mas é realmente ótimo para experimentação. É ótimo para começar.”
No entanto, o Bit.io está longe de ser o único banco de dados sem servidor. Ele compete com ofertas sem servidor, incluindo CockroachDB, PlanetScale, Amazon Aurora e DynamoDB, Google Firestore e Fauna DB.
Inicialização em crescimento
A startup com sede em São Francisco anunciou a disponibilidade geral de seu produto Database as a Service em outubro, bem como US$ 7,5 milhões em financiamento inicial liderado por Battery Ventures e GreatPoint Ventures. Fundado em 2019, o produto da empresa estava em beta privado desde 2021.
Desde então, cresceu para mais de 15.000 usuários, incluindo empresas como Ford, Visa e Morgan Stanley, e casos de uso incluindo cargas de trabalho de produção OLTP (processamento de transações on-line), construção de aplicativos da Web, back-ends com pouco ou nenhum código, análise de dados e dispositivos móveis. formulários.
O nível gratuito permite aos usuários criar até três bancos de dados gratuitos com 3 GB de armazenamento e consultar 1 bilhão de linhas com acesso a dados por meio de qualquer ferramenta compatível com Postgres. Ele oferece suporte a todas as principais linguagens de programação, ferramentas de business intelligence, como Tableau e PowerBI, e ferramentas ETL (extrair, transformar, carregar), como Airbyte, Airflow e Dagster. Ele também oferece a capacidade de migrar do banco de dados SQLite de código aberto.
“bit.io respondeu de forma muito simples a quase todas as minhas necessidades iniciais. Ele forneceu um serviço verdadeiramente simples que não confunde o usuário normal e não reclama quando tento lançar 2,5 milhões de linhas de dados nele”, disse Grant.
Quase como uma reflexão tardia, ele acrescentou que é cego e só pode acessar o computador através do teclado, não do mouse.
“Esta ferramenta funciona perfeitamente nesta situação de acessibilidade, então mais um sinal positivo da minha parte.”
A postagem Bit.io oferece Postgres sem servidor para facilitar o compartilhamento de dados apareceu pela primeira vez em The New Stack.