Parece algo estranho, não é mesmo? Uma linguagem de acesso a dados criada nos anos setenta do século passado ainda muito utilizada em tempos assolados por zettabytes. A responsável por tal façanha atende pelo nome de Structured Query Language (SQL), cujo sucesso pode ser compreendido pelas razões a seguir.

Diferente de outras linguagens ditas procedurais (Java, Python, etc.), SQL se baseia no QUE se deseja, ao invés do COMO. Por exemplo, imagine o problema:

Mostre todo cliente cadastrado

Em uma linguagem dita procedural, deveríamos criar algo do tipo:

 

Loop

Já com SQL, faríamos:

SELECT * FROM CLIENTE

 

No primeiro caso foi necessário montar um “laço”, recurso desnecessário quando elaborando consultas utilizando SQL. Precisamente, esta seria a primeira vantagem: já que não especificamos o COMO, bastando o QUE, há menos dificuldades ao utilizar SQL.

Uma segunda vantagem seria a razoável padronização existente entre os inúmeros produtos. Assim, aprendendo SQL com Oracle, você também aprende a interagir com SQL Server, MySQL ou PostgreSQL. Há pequenas diferenças, mas a estrutura é a mesma.

Neste ponto, você deve estar pensando: “Ok, SQL é usada por muitos. Mas, estamos em tempos de Big Data! E o tal NoSQL, onde entra?

Bem colocado. O termo NoSQL foi cunhado em 11 de junho 2009, durante uma conferência reunindo diversos desenvolvedores interessados em fugir da “ditadura” dos Gerenciadores de Bancos Relacionais (Oracle, SQL Server, DB2, etc.). Sim, pois, até muito pouco tempo atrás, quaisquer problemas envolvendo bancos de dados eram resolvidos com SGBDR, que aliás, foram os primeiros a utilizarem SQL.

Acontece que o problema não estava na linguagem SQL e sim na forma como os SGBDRs armazenavam dados. Logo a comunidade percebeu tal engano e tratou de “ressuscitar” a “velha” SQL criando camadas de acesso a dados não relacionais utilizando SQL. A Microsoft criou o DocumentDB, um gerenciador de dados orientado a documentos, porém permitindo a realização de consultas em SQL. O Facebook criou o Apache Hive permitindo a consulta de dados armazenados no HDFS (sistema de arquivos do Hadoop), via SQL. Linguagens como R e Python possuem pacotes que permitem executar comandos SQL diretamente em programas criados com estas linguagens.

Antes de prosseguir, duas ressalvas: o DocumentDB já não existe mais, tendo sido incorporado pelo novíssimo Azure Cosmos DB, um serviço de bancos de dado multi modelo na nuvem. E o Apache Hive foi, na verdade, criado em 2007.

Outro ponto relevante é a franca aceitação da linguagem SQL no mercado. Por exemplo, analise a figura abaixo, revelando o ranking dos 10 gerenciadores de bancos de dados mais utilizados no mercado:

Big Data e Linguagem SQL

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

 

Perceba que no grupo dos 10 primeiros, nada menos do que 6 trabalham nativamente com SQL. Na verdade, muito devido à adaptação aos novos tempos promovida pelos líderes, agora aceitando outros tipos de dados e não apenas os ditos relacionais. Por exemplo, PostgreSQL agora trabalha com JSON e o SQL Server entende grafos!

Mesmo investindo em produtos não relacionais, tais como Cassandra (multi-colunar) ou Neo4J (puramente orientado a grafos), eles têm uma linguagem de acesso aos dados bastante similar ao SQL. No caso do Cassandra, a linguagem chama-se CQL (Cassandra Query language) e no caso do Neo4j, Cypher.

Concluindo, se hoje você não faz ideia como acessar dados, comece investindo na linguagem SQL! Além de facilitar a interação com os principais produtos de mercado, você ainda estará estabelecendo as bases para a compreensão de outras linguagens semelhantes.

E com o objetivo de levar aos nossos alunos o que há de mais avançado em Big Data, Data Science e Inteligência Artificial, a Data Science Academy oferece o curso SQL para Big Data, no qual você aprenderá SQL utilizando MySQL, PostgreSQL, SQL Server, Oracle e, a cereja do bolo, Apache Hive! Você fará as mesmas consultas em bases ditas relacionais e em dados armazenados no ecossistema do Hadoop! Acesse o link abaixo, faça sua matrícula e comece hoje mesmo, 100% online e 100% em português.

 

SQL Para Big Data

 

Equipe DSA