Post_Detail

9 tipos de banco de dados que você precisa conhecer

Multimédia

9 tipos de banco de dados que você precisa conhecer

Os tipos de banco de dados atendem a diferentes propósitos e são uma base para sistemas modernos.

O conceito de banco de dados é um dos principais para entender como funciona uma aplicação digital moderna. Um sistema de software é um que envolve entradas, saídas e também estruturas que armazenam dados como uma espécie de memória para uso posterior.

Por mais clássicas que sejam as tecnologias de banco de dados, ultimamente temos visto um debate acirrado acerca das ferramentas ideais para lidar com o Big Data — um novo paradigma para o armazenamento. O desafio é construir arquiteturas robustas o suficiente para lidar com o volume e a complexidade dessas categorias de dados e desenvolver uma cultura data-driven.

Acompanhe o artigo se quiser mergulhar no universo dos tipos de banco de dados e na definição desse importantíssimo conceito!

Para começar, o que é um banco de dados?

Bancos de dados nada mais são do que uma coleção e um conjunto de registros de dados. Também chamados de bases de dados, são estruturas de armazenamento de informações importantes para uma aplicação em um determinado contexto. Todo sistema de software utiliza esse conceito como base para automatizar tarefas e agilizar processos.

Pense em um exemplo simples: um formulário. Digamos que você preencha um formulário hipotético de cadastro com dados de login, senha, nome e endereço. Em qualquer aplicação moderna, só existe uma forma de fazer esses dados serem funcionais: registrá-los em um local específico para uso posterior.

O uso posterior nesse caso pode ser quando você tentar fazer login ou precisar autenticar o seu acesso. A lógica do sistema então vai comparar as informações digitadas com as informações que já estão salvas no banco, de modo a permitir um acesso seguro.

Ou ainda o sistema pode utilizar o nome e o endereço já salvos como uma forma de agilizar o processo de checkout de uma compra online. Nesse caso, busca gerar praticidade ao recuperar informações que já foram cedidas. O nome também pode ser usado em uma comunicação da empresa por e-mail.

Uma aplicação de streaming de áudio/vídeo, por sua vez, salva os arquivos que colocamos em listas de favoritos nos seus bancos de dados. Nossas informações de pagamento e dados referentes a nossa conta também são salvos nessas bases.

Em suma: quando utilizamos um sistema, ele solicita algumas informações sobre nós para atingir um determinado fim. Esses dados são o que o software sabe acerca de nós. O banco de dados é o local onde esse tipo de dado é armazenado de uma forma segura.

Caso não tivéssemos bancos de dados à nossa disposição, o uso dos sistemas seria somente volátil. Não poderíamos salvar nenhuma informação, e os softwares não aprenderiam nada sobre nós, tornando a utilização extremamente difícil. Nesse sentido, é como se precisássemos nos cadastrar em uma aplicação toda vez que quiséssemos logar, por exemplo.

Bancos de dados também registram dados sobre os dados, que são informações relacionadas que enriquecem a compreensão de cada dado nas análises. Da mesma forma, registram dados sobre o uso de uma aplicação e outros.

Para gerenciar bancos de dados, contamos com um conceito central: o SGBD (Sistema Gerenciador de Bancos de Dados).

Trata-se de uma aplicação gerencial que permite controlar o acesso e a manipulação do banco de dados, bem como administrar questões fundamentais como backups e recursos de segurança e privacidade. É como um sistema geral para acessar e cuidar do banco de dados físico. O software trabalha com uma linguagem específica, como o SQL, que é padrão para a maioria dos BDs.

Vamos avançar agora para estudar os dois principais tipos de banco de dados.

Bancos relacionais

Chamamos de relacionais os bancos mais tradicionais, construídos sobre uma lógica de relações entre dados. A estrutura deles apresenta geralmente tabelas, com um conjunto de linhas e colunas, bem como chaves que conectam diferentes tabelas. A partir disso, é possível compreender um dado em um contexto maior para aprofundar no entendimento de suas implicações.

A característica principal do banco de dados relacional é que ele apresenta um esquema muito bem-definido. Para chegar até ele, uma pessoa que trabalha com BDs deve modelar o banco a partir de relações do mundo real (uma pessoa e suas playlists, por exemplo) e projetar de fato o sistema com o apoio de tecnologias específicas.

Por sua característica organizada, o modelo relacional é muito comum em aplicações do mundo corporativo, como CRMs e ERPs. O foco dessas aplicações é o registro de dados de uma forma simplificada, de modo que as equipes consigam se concentrar mais nas análises e no que farão com esses dados. Todos os dados atendem a um padrão e não demandam preocupação com seu formato.

Bancos não relacionais

Se você imaginou que o modelo relacional parece ser organizado demais para um fluxo enorme de dados, você acertou. Para lidar com um fluxo muito grande, típico do que chamamos de Big Data, é preciso contar com um banco de dados não relacional.

Os não relacionais não apresentam esquemas, nem demandam relações entre os dados. Geralmente, usam chave-valor, grafos, colunas ou documentos como forma de organização dos dados.

Assim, são perfeitos para salvar informações em formatos não convencionais, como imagens, áudios, vídeos, outros tipos multimídia ou tweets, por exemplo. Ou seja, são ótimos para lidar com dados oriundos da internet, que surgem desestruturados, em alto volume e são atualizados em tempo real.

A lógica não relacional se preocupa mais com os dados, estabelecendo como prioridade o tratamento deles. Como não há uma ordem clara, é necessário pensar em como estruturá-los para análises posteriores. Nesse contexto, entram em cena as soluções analíticas que se dedicam exclusivamente a lidar com esses dados para extrair insights deles.

Os bancos não relacionais estão no centro das discussões sobre aprendizado de máquina, Business Intelligence, internet das coisas, etc. Estruturas maiores como um Data Warehouse podem conter vários bancos não relacionais para análises e consultas rápidas, com um poder de desempenho maior do que BDs relacionais justamente pela falta de um esquema específico.

9 tipos de banco de dados

Veremos agora os principais SGBDs do mercado. Analisaremos opções de bancos de dados relacionais e não relacionais.

1. Oracle

O sistema tradicional da Oracle é um sistema para banco de dados relacional que funciona perfeitamente em softwares operacionais usuais, como Linux e Windows. Além disso, apresenta uma ótima documentação para ajudar quem precisa utilizá-lo.

2. SQL Server

O SGBD da Microsoft se destaca por recursos robustos de segurança. Adota mecanismos importantes de criptografia para controlar a confidencialidade dos dados, ou seja, que eles só estejam disponíveis para pessoas autorizadas. Ademais, esse banco de dados SQL traz algumas regras interessantes para proibir que os dados se percam com ações negligentes ou descuidadas.

3. MySQL

Provavelmente o mais famoso dos tipos de banco de dados relacional, o MySQL é um SGBD simples e fácil de controlar, inclusive com a integração com o PHP (principal linguagem para back-end). Foi criado pela Oracle como uma opção inclusive para ser de código aberto (modificável por qualquer pessoa em repositórios públicos). Hoje, é usado por grandes empresas como Twitter e Google.

No meio dos relacionais, o MySQL é geralmente usado para ensinar pessoas que não têm tanto contato com BDs e é uma das primeiras opções de quem está estudando esse tema. Justamente por ser uma opção tão comum e menos complexa de aprender.

4. NoSQL

O conceito de NoSQL surgiu quase como uma filosofia para lidar com algumas limitações da linguagem SQL no tratamento de bancos de dados.

O esquema que a linguagem SQL requer atrapalhava algumas aplicações que precisavam crescer rapidamente. No nosso mundo, com os dados massivos não estruturados que crescem instantaneamente, conseguimos compreender essa questão de forma mais natural.

Os bancos não relacionais, ou NoSQL, não apresentam um esquema rígido de tabelas. Por isso, conseguem se adaptar melhor a dados desestruturados, como já falamos.

Em suma, é mais do que um nome de SGBD, mas merece uma menção por sua importância como uma classe de ferramentas.

5. PostgreSQL

Outro dos mais famosos entre os relacionais. O Postgre é importante por trazer mecanismos de consulta mais complexos, chaves estrangeiras e outros recursos avançados para projetos de maior escala. Suporta diferentes tipos de dados e é também muito escalável.

6. DB2

A opção da IBM é segura, versátil e apresenta ótimo desempenho com bases menores e grandes. Por isso, se adapta bem a diferentes tipos de projetos — o que normalmente se espera de uma tecnologia como o banco de dados.

7. MongoDB

Um dos líderes do mercado de banco de dados não relacional, o MongoDB lida sempre com documentos JSON. Possui recursos que auxiliam na manipulação de Big Data e na escalabilidade sempre que necessário.

8. Redis

O Redis também é não relacional. Estrutura-se pelo formato chave-valor, similar ao conceito de dicionário em muitas linguagens de programação (como em Python). É fácil de usar e apresenta uma ótima versatilidade para atender a projetos que precisam de um BD com boa performance.

9. Dynamo DB

O DynamoDB é outra alternativa interessante no universo NoSQL. Foi projetado pela Amazon e é a base de empresas como a Netflix. Traz ótimos recursos de segurança e de desempenho, como cache, soluções de recuperação e tolerância a falhas e backups.

Segundo a Amazon, pode suportar um pico de 20 milhões de consultas em um segundo e 10 trilhões de solicitações em dia. É uma ótima opção para gerenciar microsserviços, algo que é muito requerido em aplicações web modernas.

….

Os tipos de banco de dados existentes variam bastante, a depender do que se precisa em cada projeto. Como vimos, a tecnologia de banco de dados é necessária em aplicações diversas, dos web a aplicações mobile. Por isso, é crucial conhecer os principais sistemas para saber suas características e escolher o ideal.

Gostou desse conteúdo e dessa abordagem? Então, continue aprendendo: entenda as diferenças entre analistas e cientistas de dados.

Artigo da SQL Magazine 34 - Banco de Dados Multimídia

Anotar Marcar como concluído

Artigos Banco de Dados Artigo da SQL Magazine 34 - Banco de Dados Multimídia

ustify>

Clique aqui para ler todos os artigos desta edição

Banco de dados multimídia

Desenvolvendo uma aplicação com BD Multimídia

Com o avanço da tecnologia e a progressiva informatização no gerenciamento dos dados nas empresas, o banco de dados não pode mais apenas armazenar informações no formato de texto, deve também armazenar outros tipos de informações, por exemplo, multimídia. Podemos citar como exemplo a área hospitalar que utilizaria este recurso para o armazenamento de imagens dos exames de um paciente.

Neste artigo vamos conhecer um pouco mais sobre este assunto através da discussão sobre os principais conceitos relacionados a esse tema nos principais SGBDs: MySQL, Oracle e SQL Server. Em seguida falaremos como armazenar um arquivo no MySQL 5.0 através da própria interface do MySQL. Ao final, descreveremos uma aplicação prática de um banco de dados multimídia no SQL Server 2000.

O que é um banco de dados multimídia?

Podemos considerar um banco de dados como sendo multimídia quando este armazena além de textos, outros tipos de informações como imagens, vídeos, sons e etc. Dentre os SGBDs mais utilizados (SQL Server 2000, Oracle e MySQL), todos oferecem suporte para este recurso.

Para armazenarmos este tipo de informação, utilizamos um campo do tipo BLOB (Binary Large Object – Grande Objeto Binário). Este é um tipo criado para armazenar qualquer informação (documentos, pdf, executáveis, e também arquivos multimídias) no formato binário dentro de uma tabela em um banco de dados. A seguir vamos ver como os três SGBDs citados tratam este tipo de informação, começando pelo MySQL.

Tipos de campos BLOB no MySQL

No MySQL existem quatro tipos de campos BLOB que diferem apenas pelos valores máximo de informação que podem armazenar, como mostrado na Tabela 1.

Tabela 1. Característica dos tipos BLOB oferecidos palo MySQL versão 5.0 Segundo o site oficial do produto (veja endereço na sessão de links).

Existem também no MySQL quatro tipos TEXT: TINYTEXT, TEXT, MEDIUMTEXT, e LONGTEXT, sendo que eles correspondem aos quatro tipos BLOB, ou seja, possuem o mesmo tamanho máximo. A única diferença entre os tipos BLOB e TEXT é que a ordenação e a comparação são realizadas no modo case-sensitive para valores BLOB e no modo case-insensitive para valores TEXT. Ou seja, um TEXT é um BLOB no modo case-insensitive. Dessa forma, você pode utilizar tanto o TEXT quanto o BLOB para gravar seus arquivos no banco de dados.

Características:

• Se você atribuir um arquivo a uma coluna BLOB ou TEXT que exceda o tamanho máximo do tipo da coluna, o valor é truncado para servir ao campo.

• Não há remoção de espaços extras para campos BLOB e TEXT quando os valores são armazenados, como há em campos VARCHAR.

• Colunas BLOB e TEXT não podem ter valores padrões.

• Colunas BLOB e TEXT não podem ser um índice ou uma chave primaria.

O tamanho máximo de uma objeto BLOB ou TEXT é determinado pelo seu tipo, mas o maior valor que você pode, atualmente, transmitir entre o cliente e o servidor é determinado pela quantidade de memória disponível e o tamanho dos buffers de comunicação, uma vez que, como poderemos ver mais adiante, o que gravamos na tabela do banco de dados é o código binário do arquivo a ser armazenado.

Tipos de campos BLOB no SQL Server 2000

Banco de dados – Wikipédia, a enciclopédia livre

output (saída) de uma interrogação Exemplo de(saída) de uma interrogação SQL a uma base de dados.

Bancos de dados (português brasileiro) ou bases de dados (português europeu)[1] são conjuntos de arquivos relacionados entre si com registros sobre pessoas, lugares ou coisas. São coleções organizadas de dados que se relacionam de forma a criar algum sentido (informação) e dar mais eficiência durante uma pesquisa ou estudo científico.[2][3][4] São de vital importância para empresas e, há mais de duas décadas, se tornaram a principal peça dos sistemas de informação e segurança. Normalmente, existem por vários anos sem alterações em sua estrutura sistemática.[5][6]

Os bancos de dados são operados pelos Sistemas Gerenciadores de Bancos de Dados (SGBD), que surgiram na década de 1970.[7][8] Antes destes, as aplicações usavam sistemas de arquivos do sistema operacional para armazenar suas informações.[8][9] Na década de 1980, a tecnologia de SGBD relacional passou a dominar o mercado, e atualmente é utilizada em praticamente todos os bancos de dados.[7][8] Outro tipo notável é o SGBD Orientado a Objetos, implementado em bancos de dados com estruturas complexas ou aplicações que mudam constantemente.[5]

A principal aplicação de banco de dados é o controle de operações empresariais.[10][11][12] Outra aplicação também importante é o gerenciamento de informações de estudos, como fazem os Bancos de Dados Geográficos, que unem informações convencionais a espaciais.[2]

Modelos de base de dados [ editar | editar código-fonte ]

Composição de cinco modelos de banco de dados.

Existem vários Modelos de Base de Dados: Modelo Plano (ou tabular), Modelo em Rede, Modelo Hierárquico, Modelo Relacional, Orientado a objetos e Objeto-Relacional.

O modelo plano (ou tabular) consiste de matrizes simples, bidimensionais, compostas por elementos de dados: inteiros, números reais, etc. Este modelo plano é a base das planilhas eletrônicas;

O modelo em rede permite que várias tabelas sejam usadas simultaneamente por meio do uso de apontadores (ou referências). Algumas colunas contêm apontadores para outras tabelas ao invés de dados. Assim, as tabelas são ligadas por referências, o que pode ser visto como uma rede;

O modelo hierárquico é uma variação particular do modelo em rede, limitando as relações a uma estrutura semelhante à de uma árvore (hierarquia - tronco, galhos), ao invés do modelo mais geral direcionado por grafos;

Bases de dados relacionais consistem, principalmente de três componentes: Uma coleção de estruturas de dados, conhecidas como relações, ou informalmente tabelas; Uma coleção dos operadores, a álgebra e o cálculo relacionais; e Uma coleção de restrições da integridade, definindo o conjunto consistente de estados de base de dados e de alterações de estados. As restrições de integridade podem ser de quatro tipos: de domínio (também conhecidas como type ), de atributo, relvar (variável relacional) e restrições de base de dados.

Bases de dados relacionais [ editar | editar código-fonte ]

Bem diferente dos modelos hierárquico e de rede, não existem quaisquer apontadores, de acordo com o Princípio da Informação: toda a informação deve ser representada como dados; qualquer tipo de atributo representa relações entre conjuntos de dados. As bases de dados relacionais permitem aos utilizadores (incluindo programadores) escreverem consultas (queries) que não foram antecipadas por quem projetou a base de dados. Como resultado, bases de dados relacionais podem ser utilizadas por várias aplicações em formas que os projetistas originais não previram, o que é especialmente importante em bases de dados que são utilizadas por longos períodos. Isto tem tornado as bases de dados relacionais muito populares no meio empresarial.

O modelo relacional é uma teoria matemática desenvolvida por Edgar Frank Codd para descrever como as bases de dados devem funcionar. Embora esta teoria seja a base para o software de bases de dados relacionais, poucos sistemas de gestão de bases de dados seguem o modelo de forma restrita ou a pé da letra - lembre-se das 12 leis do modelo relacional - e todos têm funcionalidades que violam a teoria, desta forma variando a complexidade e o poder. A discussão se esses bancos de dados merecem ser chamados de relacional ficou esgotada com o tempo, com a evolução dos bancos existentes. Os bancos de dados hoje implementam o modelo definido como objeto-relacional. Os primeiros sistemas comerciais baseados no modelo relacional foram disponibilizados em 1980, e desde então ele vem sendo implementado em muitos sistemas, tais como Access, Oracle, MySQL, entre outros.[13]

Aplicações de bancos de dados [ editar | editar código-fonte ]

Sistemas Gerenciadores de Bancos de dados são usados em muitas aplicações, atravessando virtualmente a gama inteira de software de computador. Os Sistemas Gerenciadores de Bancos de dados são o método preferido de armazenamento/recuperação de dados/informações para aplicações multiusuárias grandes onde a coordenação entre muitos usuários é necessária.[14] Até mesmo usuários individuais os acham conveniente, entretanto, muitos programas de correio eletrônico e organizadores pessoais estão baseados em tecnologia de banco de dados standard.

Uma transação é um conjunto de procedimentos, executados num banco de dados, que o usuário percebe como uma única ação.

A integridade de uma transação depende de quatro propriedades, conhecidas como ACID:[15]

Atomicidade Todas as ações que compõem a unidade de trabalho da transação devem ser concluídas com sucesso, para que seja efetivada. Se durante a transação qualquer ação que constitui unidade de trabalho falhar, a transação inteira deve ser desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação pode ser efetivada e persistida em banco (commit).

Consistência Todas as regras e restrições definidas no banco de dados devem ser obedecidas. Relacionamentos por chaves estrangeiras, checagem de valores para campos restritos ou únicos devem ser obedecidos para que uma transação possa ser completada com sucesso.

Isolamento Cada transação funciona completamente à parte de outras transações. Todas as operações são parte de uma transação única. O principio é que nenhuma outra transação, operando no mesmo sistema, possa interferir no funcionamento da transação corrente (é um mecanismo de controle). Outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento (ainda em respeito à propriedade da atomicidade).

Durabilidade Significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subsequente. Por exemplo: todos os dados e status relativos a uma transação devem ser armazenados num repositório permanente, não sendo passíveis de falha por uma falha de hardware.

A transação possui os seguintes estados:

Ativa É o estado inicial de toda transação e, enquanto está ativa ela executa uma ou mais operações read e write.

Em processo de efetivação A transação irá entrar nesse processo quando executar sua última operação, a solicitação do commit. É nesse processo onde o sistema precisa garantir que a transação ocorra com êxito, e em caso de falhas deve ser utilizada alguma técnica de recuperação.

Efetivada Uma transação entra nesse estado após ela ter sido realizada com sucesso.

Em processo de aborto Caso uma transação não consiga proceder em sua execução ela entra nesse estado. Só é possível que passe para esse estado caso esteja ativa ou em processo de efetivação. Em caso de uma transação que não foi concluída com sucesso, ela pode ser reiniciada automaticamente.

Concluída Estado final da transação. Suas informações mantidas em catálogo já podem ser excluídas. Em caso de uma transação que não foi concluída com sucesso, ela pode ser reiniciada automaticamente.

Controle de concorrência [ editar | editar código-fonte ]

Controle de concorrência é um método usado para garantir que as transações sejam executadas de uma forma segura e sigam as regras ACID. Os SGBD devem ser capazes de assegurar que nenhuma ação de transações completadas com sucesso (committed transactions) seja perdida ao desfazer transações abortadas (rollback).

Uma transação é uma unidade que preserva consistência. Requer-se, portanto, que qualquer escalonamento produzido ao se processar um conjunto de transações concorrentemente seja computacionalmente equivalente a um escalonamento produzido executando essas transações serialmente em alguma ordem. Diz-se que um sistema que garante esta propriedade assegura a seriabilidade, ou também serialização[16].

Em vez de bloquear um banco de dados inteiro, uma transação pode bloquear apenas os itens de dados que ela acessa. Sobre tal política, a transação precisa manter bloqueios por tempo suficiente para garantir a serialização, mas por um período curto o suficiente para não prejudicar o desempenho excessivamente.[17]

Segurança em banco de dados [ editar | editar código-fonte ]

Os bancos de dados são utilizados para armazenar diversos tipos de informações, desde dados sobre uma conta de e-mail até dados importantes da Receita Federal. A segurança do banco de dados herda as mesmas dificuldades que a segurança da informação enfrenta, que é garantir a integridade, a disponibilidade e a confidencialidade. Um sistema gerenciador de banco de dados deve fornecer mecanismos que auxiliem nesta tarefa.

Uma forma comum de ataque à segurança do banco de dados é injeção de SQL, em bancos de dados que façam uso desta linguagem, mas bancos de dados NoSQL também podem ser vítimas. Para evitar estes ataques, o desenvolvedor de aplicações deve garantir que nenhuma entrada possa alterar a estrutura da consulta enviada ao sistema.

Os bancos de dados SQL implementam mecanismos que restringem ou permitem acessos aos dados de acordo com papéis ou roles fornecidos pelo administrador. O comando GRANT concede privilégios específicos para um objeto (tabela, visão, banco de dados, função, linguagem procedural, esquema ou espaço de tabelas) para um ou mais usuários ou grupos de usuários.

Tipos de falhas [ editar | editar código-fonte ]

Em um bancos de dados pode haver falhas, elas podem ser falhas de transação, de sistema ou de mídia. Na falha de transação, (falha mais comum) a transação é finalizada irregularmente. Ela normalmente é causada por falta de dados necessários ou programação equivocada. Na falha de sistema (probabilidade de ocorrência mediana), a execução do sistema é interrompida por causa de problemas como falta de energia, falha no hardware ou mau funcionamento do sistema operacional. Em falha de mídia, o banco de dados não fica plenamente acessível, fazendo com que parte do disco perca dados. Normalmente ocorrido por causa de disfunções na leitura ou parte do disco danificado.[17]

Recuperação de bancos de dados [ editar | editar código-fonte ]

Existem alguns mecanismos capazes de permitir a recuperação de um banco de dados de alguma inconsistência causada por falhas internas (erros de consistência, como recuperação de um estado anterior a uma transação que deu erro) e externas (queda de energia, catástrofe ambiental).[16]. Entretanto, não é um método 100% seguro.

Os mecanismos mais comuns são o Log de dados, no qual é usado em conjunto dos outros métodos; utilização de Buffer no qual, apesar de normalmente ser feito pelo próprio sistema operacional, é controle por rotinas de baixo nível pelo Sistema de gerenciamento de banco de dados. Possui também as possibilidades de Write-ahead logging [en] e informações das transações possibilitando o REDO (refazer) e o UNDO (desfazer), assim sempre possibilitando a volta do banco de dados a um estado anterior consistente, além de cópias de sombra dos logs e dos últimos dados alterados do banco de dados.

Ações básicas da recuperação de banco de dados:

Transaction UNDO Ocorre caso uma transação não conclua suas operações, nesse caso, todas as alterações feitas por ela são desfeitas.

Global UNDO Ocorre quando mais de uma transação não consiga concluir suas operações, nesse caso, todas as alterações feitas por tais transações são desfeitas.

Partial REDO Em caso de falha, alguma transação pode ter sido concluída porém sem que suas ações fosse refletidas na base de dados. Nesse caso, as modificações realizadas por essa transição são refeitas.

Global REDO Ocorre caso a base de dados seja corrompida e todas as transações commited no banco de dados são perdidas. Nesse caso, todas as alterações vindas dessas transações que foram perdidas são refeitas.

A tecnologia de banco de dados tem sido um tópico de pesquisa ativo desde 1960, tanto na academia como nos grupos de pesquisa e desenvolvimento de empresas (por exemplo IBM Research). A atividade de pesquisa inclui teoria e desenvolvimento de protótipos. Tópicos de pesquisa notáveis incluem modelos, o conceito de transação atômica e técnicas relacionadas controle de concorrência, linguagens de consulta e métodos otimização de consulta, RAID e muito mais.

A área de pesquisa de banco de dados tem vários periódicos acadêmicos dedicados (por exemplo, ACM Transactions on Database Systems - TODS, Data and Knowledge Engineering - DKE) e conferências anuais (por exemplo, ACM SIGMOD, ACM PODS, VLDB , IEEE ICDE).

Funções internas comuns em BDs [ editar | editar código-fonte ]

Referências