Fiz um servidor de "SQL"?? | Entendendo Banco de Dados
Fabio Akita
O que tecnologias de compiladores e estruturas de dados tem a ver com banco de dados? Resolvi brincar de fazer um pequeno banco "stupid" pra vocês terem uma visão diferente sobre o que é um banco de dados por baixo dos panos. Disclaimer: isso não vai ser um tutorial de SQL, mas acho que pode mudar a visão de vocês sobre bancos.
CONTEÚDO
00:00:00 Intro 00:00:35 Problema de Tutoriais/Cursos 00:02:51 Banco de Dados de Usuários 00:03:29 "Simulando" banco de dados 00:04:58 "Fake" SQL? 00:07:16 Construindo o Fake SQL 00:10:59 Experimente com Código! 00:15:39 Testando Fake SQL com Jest 00:19:38 Adicionando "SQL" no "Fake SQL" 00:22:01 Conhecendo Antlr4 00:24:39 Copiando do SQLite3 00:30:34 Criando meu Listener de Parse Tree 00:39:41 O que é um Índice? 00:49:10 Bancos de Dados tem Interpretadores! 00:49:51 Transaction Log! 00:55:33 Como "grava" um banco de dados em disco?? 01:05:57 B-Trees 01:08:30 Fazendo Cliente-Servidor! 01:09:55 Conclusão 01:12:26 Bloopers!
Links
- GitHub do Stupid Database - código do episódio (https://github.com/akitaonrails/akitando_episode_0118)
- GitHub do repositório de gramáticas do Antlr (https://github.com/antlr/grammars-v4)
- SQLite Amalgamation (https://www.sqlite.org/amalgamation.html)
- Visualização de AVL Tree (https://www.cs.usfca.edu/~galles/visualization/AVLtree.html)
Transcript: https://www.akitaonrails.com/2022/05/09/akitando-118-fiz-um-servidor-de-sql-entendendo-banco-de-dados Podcast: https://anchor.fm/akitando/episodes/aAkitando-118---Fiz-um-servidor-de-SQL----Entendendo-Banco-de-Dados-e1i9f49 ... https://www.youtube.com/watch?v=_7nISfpofec
649281268 Bytes