Enquete sobre banco de dados para aplicações web

Pessoal de uma forma geral gostaria de propor um tipo de enquete sobre quais bancos de dados utilizam em suas aplicações web.

Por exemplo eu utilizo Firebird, onde acredito que seja um SGBD não usual para fins web.

E vocês quais SGBD SQL ou noSQL tem utilizado em suas aplicações? Mais alguém fora do fluxo utiliza Firebird para esses fins?

Desde já agradeço todos os comentários, abraços!

Geralmente eu uso o Firebase ou o MongoDB Atlas, ambos NoSQL, para aplicações de teste ou pessoais, pois são serverless e gratuitas. Se couber para sua necessidade, recomendo! Também há um bom plano gratuito no PlanetScale, se você precisar de SQL.

Todas essas opções vão suprir muito bem projeto de hobbies ou de pequenos negócios!

Uma outra opção que está surgindo é o D1, da CloudFlare, ainda em alpha (no momento em que escrevo), baseado em SQLite.

Amigo, obrigado por compartilhar. Não conhecia o PlanetScale e o D1, vou olhar essas opções... Abraço!

Qual é o objetivo? Fazer amizade com alguém? Ver se mais alguém usa o Firebird? Saber o que é mais usado?

Não acho que pedir para a pessoa falar o que usa te dará informação útil, só serve para GTKY.

Se o objetivo for o que mais usam, eu acho que é fácil falar que é o MySQL, especialmente para web. Na verdade boa parte das pessoas usam o MariaDB, e as pessoas contam os dois como se fosse uma coisa só. Não sei dizer qual dos dois está sendo mais usado, espero que o segundo. Ele é o mais usado mais por inércia do que qualquer motivo técnico, que tem também. Existem cenários que ele é a melhor opção.

Lembrando que o My/Maria tem vários mecanismos de storage e muda bastante o uso, por isso mesmo dentro dele podemos segmentar o uso, então é como se existissem outros DBs, como o InnoDB, MyISAM, etc.

O SQLite é muito usado também, mas para web menos (poderia ser bem mais). Ele é muito vantajoso para baixo volume de acesso de escrita concorrente, de preferência zero escrita concorrente.

O que vem depois não é tão simples de dizer. Pode ser o SQL Server ou o PostgreSQL.

Como a utilização dos demais começa a baixar, se usa Oracle, Firebird, MongoDB, ou outro se torna mais difícil de identificar na ordem certa. Mas também importa pouco.

As tendências de mercado estão bem dinâmicas e quanto menor a participação de mercado, mais fácil é ele subir ou descer em uso. Os de maior uso devem mudar bem pouco.

Existem rankings, mas eles não fazem sentido, da mesma forma que o Tiobe e outros índices de popularidade de linguagens de programação, não fazem.

https://db-engines.com/en/ranking

Imagine Oracle em primeiro lugar. Não precisa ser gênio para saber que isso não é real. Eu postei, mas sei que ele fará mais mal do que bem, algumas pessoas passarão a tratá-lo como algo confiável.

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Maniero, comecei utilizando Interbase nos anos 2000 durante a faculdade, após isso, desde 2005 até hoje uso o firebird em um ERP (desenvolvido por terceiro onde sou DBA) e também em meus desenvolvimento web (backend PHP) e uso muito pouco MariaDB(MyISAM) (estou chutando, mas acredito que o MariaDB hoje reina nas aplicações web). Meu post é mais por curiosiade se alguém usa o firebird para web... Estou inclinado a começar com algo noSQL (MongoDB c/ NodeJS), mas ainda estou avaliando tempo de maturação de aprendizado vs custo/benefício. Visto que cobol com DB2 continua ativo no mercado finaceiro em sistemas legados, talvez manter focado na tecnologia que você tem segurança em desenvolver em vez de usar o *hype* do momento não seja tão ruim. Não conhecia o ranking do DBEngines, mas como você mesmo disse, Oracle rankeado em primeiro deixa toda a lista corrompida! Obrigado por compartilhar seus conhecimentos. Abraço!
Acho que você se dará melhor com Firebird mesmo. Mas só acho. Cuidado com *hypes*.
Olá Maniero, Não percebo a admiração da Oracle em primeiro lugar. O que te leva a pensar que os dados estão errados? Trabalho com Oracle há muitos anos e posso-te dizer que é lider de mercado. Tem vindo a perder mercado nos ultimos anos, mas ainda assim continua lider.
Eu disse do que é mais usado, Oracle pode ter o maior faturamento, e esse é o críterio para ela ser líder de mercado. Para cada licença da Oracle deve ter dezenas de uso do MySQL, que obviamente tem faturamente muito menor porque quase ninguém paga para usar, o que ajuda ser o mais usado. Se você acha que isso é falso, me mostre algo que dê para confiar que eu mudo de ideia.
Atenção que o ranking que indicaste tem a ver com popularidade, não com faturação. Até porque a segunda da lista é a mysql, e como tu dizes muitos não pagam para usar. Os rankings por si só não dizem nada, mas se consultares uns quantos vais perceber que Oracle está sempre no topo e não só por faturação. Se for só relativamente a aplicações Web, concordo contigo, mysql está no topo, mas este ranking não tinha esse fator em consideração. Não quero de maneira nenhuma mudar as tuas ideias, apenas quis referir que não me surpreende que Oracle esteja em primeiro. Não quero começar uma guerra das BDs :-) , é apenas discussão de topico. Abraço!
Foi o que eu disse (e questionei justamente isso). A questão é que o *ranking* ou é de popularidade ou de faturamento, qual dos dois o Oracle é líder? Eu só estou procurando alguma lógica na argumentação. Me diga o motivo de achar normal Oracle estar em primeiro lugar já que o *ranking* é sobr quantidade de uso e não faturamento.
O ranking apresentado não é sobre quantidade de uso... Este ranking, da db-engines, é de popularidade no site deles, não sobre quantidade de utilização. No teu post questionaste o facto de Oracle estar em primeiro neste ranking e a meu ver não há qualquer admiração nisto. Porque Oracle não pode estar em primeiro? Não deves esquecer que o mercado não se resume a aplicações WEB, é muito maior... Abraço e bom fim de semana!!!
Eles especificam como é feito o ranking em: https://db-engines.com/en/ranking_definition
Sim, por isso não dá para confiar :) E até por esse critério Oracle em primeiro lugar não faz sentido. É o mesmo problema do TIOBE.

Bom dia Usamos o banco de dados postgres para gravar os dados Em conjunto o redis para acesso rapido e reduzir acesso ao banco principal

Nesse caso aí o redis é usado mais como cache, correto?

Hoje utilizo o Postgres, Oracle e MongoDb para persistência de dados.

Qual vai ser o banco a ser utilizado depende muito das nossas aplicações, mas em geral é Postgres.

Firebird é um banco pouco falado! Sugiro você fazer um post sobre Firebird.

O que é? Como surgiu? Onde usar? Quem usa? benchmarks? Concorre com quem? Licenças?

Essas paradinhas todas. Por ser um banco pouco conhecido frente: Mariadb/mysql, mongodb ou postgres

Seria muito bom um bom post sobre o mesmo! Quem sabe até ajude a trazer mais gente pro mesmo?

Abraços!

Uriel, segue algumas informações básicas sobre o Firebird. **Disclaimer** não sou evangelista deste db, apenas um usuário desenvolvedor... *O que é?* Firebird é um sistema gerenciador de banco de dados. Roda em Linux, Windows, Mac OS, em grandes sistemas operacionais e uma variedade de plataformas Unix. A Fundação FirebirdSQL coordena a manutenção e desenvolvimento do Firebird, sendo que os códigos fonte são disponibilizados sob o CVS da SourceForge. O Firebird é gratuito em todos os sentidos: não há limitações de uso, e seu suporte amplamente discutido em listas na Internet, o que facilita enormemente a obtenção de ajuda técnica. O Firebird receberá também uma versão mobile para Android, o sistema operacional da Google para dispositivos móveis, atualmente em testes. O produto suporta sistemas com centenas de usuários simultâneos e bases de dados com centenas de gigabytes. Há suporte gratuito na Internet através de vários sítios. Desde sua primeira versão, oferece recursos como: compatibilidade ACID, transações MVCC, triggers, procedures, collations, UDFs, etc. O Firebird tem a maior base de usuários no Brasil, Rússia e Europa. *Como surgiu?* Baseado no código do InterBase da Borland, quando da abertura de seu código na versão 6.0 (em 25 de Julho de 2000), alguns programadores em associação assumiram o projecto de identificar e corrigir inúmeros defeitos da versão original, surgindo aí o Firebird 1.0, que se tornou um banco com características próprias, obtendo uma aceitação imediata no círculo de programadores. A versão mais recente estável é a 3.0, lançada dia 19/Abril/2016, e que traz como principais novidades o suporte total a máquinas multiprocessadas (SMP) no SuperServer e grandes melhorias em segurança. *Licenças?* Firebird® modules are released under the Initial Developer's Public License. InterBase® was released by Inprise under InterBase Public Licence. Both are variants of the Mozilla Public Licence V.1.1 (MPL). Firebird Project documentation is released under the Public Documentation License unless stated otherwise. Initial Developer's Public License Version 1.0 InterBase Public License Public Documentation License ECCN classification: 5D002 (no restrictions). *Site do firebird* https://firebirdsql.org/en/firebird-rdbms/ *Comunidade no Brasil sobre firebird* https://www.firebase.com.br/ *YT expecífico sobre firebird* https://www.youtube.com/@mqfs Informações *Quem usa?, Benchmarks?, Concorre com quem?*: vou ficar devendo. Abraços

Vi que você tem dúvidas sobre usar o Firebird para "web", então vou compartilhar aqui a minha experiência:

Eu já precisei usar o Firebird com Node.js, achei um pouco restritivo. Meu caso de uso não era Web, mas você mencionou Node.js em outros comentários.

Não tenho experiência o suficiente pra saber se existe alternativa melhor, mas eu utilizo a comunicação com o banco de dados através da biblioteca node-firebird, sem ORM. Pode ver que a biblioteca não é muito popular (238 estrelas, 5.500 downloads semanais), mas é a única que encontrei que parecia satisfazer a comunicação com o Firebird pelo Node.js.

Outro detalhe, esse você provavelmente já sabe: toda dúvida que pesquiso sobre o Firebird possui pouco conteúdo na Internet. É comum achar publicações do início do milênio em fóruns brasileiros, mesmo procurando em inglês. Me parece que o público brasileiro adotou com mais força o Firebird do que outros países, principalmente por causa do Delphi, na época. Quando me deparo com algo em inglês, são respostas do Mark Rotteveel ou a própria documentação do Firebird.

Importante ressaltar que eu precisei trabalhar com sistemas legados, então utilizei o Firebird 2.5.

Se eu fosse criar um novo projeto em Node.js e tivesse que escolher um banco, procuraria algum relacional, pois já tenho familiaridade, e estudaria as diferenças entre os mais populares. Se você não tem tanta experiência, é ruim ficar "na mão" quando acontecem alguns erros mais profundos, um exemplo aqui. Se você tem experiência com o banco e a linguagem, possivelmente poderia corrigir sozinho, então talvez isso não fosse um empecilho relevante.

PostgreSQL como central e caso precise de algo offline uso o indexdb

cara ja trabalhei com firebird, mysql, oracle, sqlserver, sqlite e mongoDB. atualmente uso o mysql na web com nodejs. Com tudo que aprendi nestes anos, acho o mysql ou postgree (apesar de nao ter usado) os mais adequados, mas tambem depende muito do que vc pretende fazer. a unica coisa que sofri bastante com firebird e que meu acendeu uma luz quanto ao firebird, é que ele pode corromper com mais facilidade, mas isso não é necessariamente culpa do banco, e sim do mau uso dele, a facilidade de mover o arquivo pode levar a esse tipo de problema. Com relação a NoSQL acho o mongoDB o mais indicado devido ter sido um dos principais bancos nosql.

segue um video q pode ajudar a esclarecer mais sobre o mongodb que é realmente muito interessante: https://www.youtube.com/watch?v=8RJohgzziLI

Danilo, obrigado pelo seu feedback. Realmente corrompimento do bd é um dos pontos fracos do firebird e já passei por esse problema com cliente, justamente por mau uso e tbm desligamento indevido da maquina, ai temos que rodar um gfix e gbak para resolver... verei o video sobre mongodb. Valeu a dica, abraço
Alguns gostam de deixar a opção *Forces Writes* como false. Isso fará com que o banco ganhe velocidade em leitura e tornando a escrita mais eficiente e muito mais rápida. Apesar de mais eficiente, desligar Forced-Writes é extremamente perigoso. Aquelas páginas em memória já fazem parte oficialmente do seu banco de dados. Se o Firebird for terminado de forma inesperada, o arquivo do banco de dados ficará num estado inválido conhecido como corrupção. É também provável que você perca dados no processo de recuperação. Extraído de https://www.firebase.com.br/artigo.php?id=1971