UNIVERSIDADE ESTATUDAL DE MARINGÁ Programa de Pós-graduação em desenvolvimento de sistemas para web. João Eduardo Rosa da Fonseca

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE ESTATUDAL DE MARINGÁ Programa de Pós-graduação em desenvolvimento de sistemas para web. João Eduardo Rosa da Fonseca"

Transcrição

1 UNIVERSIDADE ESTATUDAL DE MARINGÁ Programa de Pós-graduação em desenvolvimento de sistemas para web João Eduardo Rosa da Fonseca Visão comparativa de gravação de arquivos em sistema de arquivos e em banco de dados utilizando servidor web Maringá 2013

2 UNIVERSIDADE ESTATUDAL DE MARINGÁ Programa de Pós-graduação em desenvolvimento de sistemas para web João Eduardo Rosa da Fonseca Visão comparativa de gravação de arquivos em sistema de arquivos e em banco de dados utilizando servidor web Trabalho de conclusão do programa de pósgraduação em desenvolvimento de sistemas web da universidade estatual de Maringá para obtenção do título de especialista em desenvolvimento web Orientador: Munif Gebara Junior 2 Maringá 2013

3 3 A minha família e amigos, Pela ajuda e incentivo durante minha trajetória

4 AGRADECIMENTOS A todos que contribuíram para a realização deste trabalho, fica expressa aqui a minha gratidão especialmente: Ao professor Munif Gebara Junior, pela orientação, aprendizado e apoio durante todo os momento necessários. Aos meus colegas de classe durante toda trajetória do curso e pelas amizades que permaneceram após o termino da etapa presencial. Aos meus amigos que me apoiaram e me ajudaram de alguma forma após o meu acidente de carro que ocorreu durante a etapa de escrita do presente trabalho, em especial aos senhores Alessandro Willian e Ulter Witte que me receberam em Florianópolis e me ajudaram. Ao mestre e grande amigo Alex Mattos que leu e revisou o presente trabalho por algumas vezes. Ao senhor Edilson Hipolito, o qual eu conheci durante o curso e tive a honra de ser seu padrinho de casamento. Ao metallica e aos discos death magnetic e S&M, pink floyd e aos discos dark side of the moon e pulse, assim como tantas outras bandas que compuseram obras primas que me animaram durante a escrita deste trabalho. A minha família que me apoiou sempre que necessário. A todos que de alguma forma apoiaram para esta construção. 4

5 Visão comparativa de gravação de arquivos em sistema de arquivos e em banco de dados utilizando servidor web João Eduardo Rosa da Fonseca 1 Resumo O presente trabalho apresenta uma estudo de análise de comparação da gravação de arquivo enviados pela web e armazenado de duas formas diferente, em sistema de arquivo e em banco de dados. Para isso foram escolhidos quatro diferentes banco de dados sendo três no modelo relacional e um do modelo NoSQL, no caso dos modelos relacionais, foram escolhidos banco de dados com licenças do tipo freeware, GPL, Comercial, que são os bancos de dados Postgres, MySql e oracle, já no modelo NoSql foi escolhido o MongoDB. Os resultado obtidos mostram que ambos os métodos de gravação de arquivos possuem suas vantagens e desvantagens. Entre as vantagens apresentadas no caso dos bancos de dados existem a manipulação de partes específicas dos arquivos, sistema de bakcup incremental nativo do próprio gerenciados do banco de dados, melhor performance na inserção e buscas dos dados no caso dos bancos NoSql. Já as desvantagens nos bancos de dados estão no aumento do espaço de armazenamento, perda de performance após a inserção de vários registros na tabela dos bancos relacionais. Já a vantagens na gravação de arquivos no sistema de arquivos são a fácil implementação, o arquivo ser uma cópia fiel ao arquivo de origem sem aumentar o tamanho ou adicionar bytes de controle e a não instalação de um software gerenciador. Já as desvantagens estão presente na hora de realizar backups, comprar diferença de versões de arquivo, gerenciamento e localização de arquivos. Palavra chave: banco de dados NoSql, banco de dados relacional, gravação de dados. 5

6 LISTA DE FIGURAS LISTA DE TABELAS 6

7 LISTA DE SIGLAS ASCII American Standard Code for Information Interchange BLOB Binary large object CD Compact disk CLOB Caracter larg object DVD Digital Versatile Disc IBOPE Instituto brasileiro de opinião pública e estatísticas LOB Large object HTTP Hypertext Transfer Protocol NCLOB - National Character Large Object NoSQL Not only SQL ORDBMS object-relational database management system PHP Hypertext Preprocessor SQL Structured Query Language SSD Solid state disk UOL Universo on-line 7

8 SUMÁRIO 1.INTRODUÇÃO DESENVOLVIMENTO SOBRE CLIENTE/SERVIDORES SERVIDORES DE ARQUIVO SERVIDORES DE BANCO DE DADOS SERVIDORES WEB SOBRE ARQUIVOS SOBRE BANCO DE DADOS RELACIONAIS NÃO RELACIONAIS SOBRE GRAVAÇÃO DE ARQUIVOS GRAVAÇÃO EM FILE SYSTEM GRAVAÇÃO EM BANCO DE DADOS ORACLE MYSQL POSTGRESQL MONGODB CONSIDERAÇÕES FINAIS MYSQL

9 3.1.1.POSTGRES ORACLE MONGODB RESULTADOS CONCLUSÃO REFERÊNCIAS Introdução Segundo reportagem do portal de tecnologia do UOL(Universo on-line) em 1 o de novembro de 2012 com o título de Ibope: internet no Brasil chega a 70,9 milhões de pessoas em casa e no trabalho, exibe dados coletados por pesquisas do IBOPE(Instituto brasileiro de opinião pública e estatísticas) sobre o crescimento de pessoas no Brasil que acessam a internet em casa e no trabalho, no mês de setembro de 2012 esse número atingiu 70,9 milhões de usuários, sendo que crescimento do números de usuários ativos em setembro de 2012 foi 1,4% maior em relação a agosto do mesmo ano e 11% maior que no mesmo período de (UOL notícias, 2013) Em outra reportagem publicada no portal exame da editora abril em 02 de junho de 2011 com o título: Você sabe o tamanho da internet?, que toma como base os estudo visual networking index realizado pela cisco que afirma que A estimativa é de que, hoje, o trafego da internet produz por hora informações suficientes para ser contidas em 7 milhões de DVDs (Exame.com, 2013). O estudo realizado pela cisco ainda prevê que em 2015 o trafego por hora produza 966 exabytes de informação, o que daria para preencher 28 milhões de DVDs. 9

10 Essas duas reportagens mostra que popularização da internet por meio de banda larga, e a quantidade de conteúdo produzido na internet mostra que cada vez mais o armazenamento de grande capacidade de dados será necessária. Para esse armazenamento existem diversas técnicas de recebimento, processamento e armazenamento dos dados produzidos. Essas técnicas variam desde a gravação do arquivo em uma pasta do sistema operacional, até do armazenamento dos dados e documentos como registros de banco de dados. 2. Desenvolvimento Inicialmente para entendimento da diferença entre a gravação dos documentos em forma de arquivos, é necessário entender a diferença básica entre as duas forma de armazenamento, a em arquivo de sistema e como registro em banco de dados. A gravação de arquivos em sistema de arquivos(file system) originados de uma requisição web é realizada é chamada de upload. O arquivo é envidado para um servidor web via protocolo http, onde o servidor recebe e armazena o arquivo em uma pasta no seu disco, nesse caso o usual é que no banco de dados fique armazenado o nome do arquivo com o seu caminho físico em disco. (Searchnetworking, 2013) Já no upload e gravação de arquivo em banco de dados, o arquivo é convertido uma cadeia de byte, cada banco de dados tem seu tipo de dado(data type) para armazenar cadeias de bytes, essa cadeia de bytes é enviada para uma coluna no banco de dados(searchnetworking, 2013), dependendo do tamanho do arquivo é possível ser armazenado em um só registo, mas em alguns data types tem limitações de tamanho dos dados, fazendo assim que se use uma estratégia onde 10

11 arquivo é quebrado em várias cadeias de bytes e essas cadeias são inseridas em vários registros no banco de dados. Quando o usuário requisita o arquivo, é necessário que o registro ou registros sejam recuperado e convertido novamente para arquivo através de um algoritmo Sobre Cliente/servidores Na arquitetura cliente/servidor, o servidor seria o responsável pelo controle e centralização de informações que são compartilhadas e acessadas por computadores em uma rede, os computadores que fazem o acesso ao servidor são nomeados de clientes. segundo Júlio Battisti : É uma arquitetura onde o processamento da informação é dividido em módulos ou processos distintos. Um processo é responsável pela manutenção da informação (Servidor), enquanto que outro é responsável pela obtenção dos dados (Cliente) (BATTISTI, 2001). Assim sendo, a arquitetura de cliente servidor pode ser utilizado tanto na forma de gravação de arquivos via file system, assim como na gravação de arquivos em banco de dados. também é necessário entender que para que a arquitetura de cliente/servidor funcione de forma eficiente, há um componente vital entrer o cliente e o servidor, que é a infraestrutura de rede. Essa infraestrutura de rede influencia diretamente na performance de subira(upload) e descida(download) dos arquivos do servidor para o cliente, assim sendo, uma rede melhor estruturada, com equipamentos de alta velocidade, ou mesmo a utilização de serviços de banda largar no caso da internet fazem com que arquivos sejam enviado e recuperado no servidor de forma mais ágil e rápida. Outra coisa que influencia na velocidade é o poder de processamento do servidor, a quantidade de memória e quantos acessos o servidor está recebendo no instante da recuperação de arquivos. Pois quanto maior o número de acessos, maior é o consumo de memória do servidor e maior é o 11

12 consumo da banda da rede, tornado assim mais lento o acesso e recuperação do arquivo armazenado no servidor. Segue a ilustração da arquitetura cliente/servidor. Figura - Arquitetura cliente/servidor Fonte :Cliente/Servidor, 2013 Nos próximos capítulos iremos explorar mais a fundo o funcionamento de toda a estrutura da arquitetura cliente/servidor Servidores de arquivo Segundo o site da microsoft sobre servidores de arquivo: O servidor de arquivos fornece um ponto centralizado na rede para armazenamento e compartilhamento de arquivos entre os usuários. Quando desejarem usar um arquivo importante, como um planejamento de projeto, os usuários podem acessá-lo diretamente no servidor de arquivos, em vez de precisarem repassar o arquivo entre cada computador. Se os usuários da rede precisarem acessar os mesmos arquivos 12

13 e aplicativos acessíveis pela rede, configure o computador como servidor de arquivos. (Microsoft, 2012) Assim sendo, o servidor de arquivo tem um papel fundamental nas empresas, centralizando o compartilhamento de arquivos e sendo uma tentativa de evitar que esses arquivos seja compartilhado com todos a todo momento, assim como evitar que o mesmo arquivo tenha cópias de diferentes versões. Com a evolução das redes de dados, dispositivos de armazenamento e serviços providos na internet, os servidores de arquivos passaram a ser uma ferramenta que não precisa mais ficar alocado dentro da empresa e sim como um serviços na internet. A disponibilização do servidor de arquivos como serviço permitiu que a sua utilização deixa-se de ser apenas pelo meio coorporativo e passou a estar disponível também para o uso particular. Existem alguns exemplos de servidores de arquivos disponível como serviço e utilizado de forma particular hoje em dia, como o google drive da google, Skydrive da microsoft, Dropbox da Dropbox inc. entre outros. Mas não é possível saber se esse servidor de arquivos armazena os documentos em file system ou em banco de dados. Existem também servidores de arquivos para compartilhamento de arquivos de forma pública, onde o usuário disponibilizam arquivos que podem ser baixados por qualquer usuário com conexão de internet e um browser. Essa forma de compartilhamento de arquivo gerou alguns problemas depois de um tempo por uma grande quantidade de usuários disponibilizarem arquivos com conteúdo protegido por direito autoral. alguns desses serviços públicos de servidor de arquivos chegaram a ser fechados judicialmente como por exemplo o mega upload. já outros mudaram sua política de publicação de conteúdo como por exemplo os serviços do 4shared, RapidShare, MediaFire etc. 13

14 Mas o objetivo do artigo não é falar sobre a parte legal do compartilhamento de arquivos e sim a forma com que esses dados podem ser armazenados Servidores de banco de dados Os servidores de banco de dados, tem como finalidade ser o ponto central de armazenamento de informações em um sistema de tabelas, sendo ela relacional ou não. segundo Júlio Battisti: Sistema inovador surgido nos anos 90 e muito utilizado no meio corporativo, baseado em três componentes principais: gerenciamento de banco de dados, que funcionam como servidores; redes, que funcionam como meio de transporte de dados e, finalmente, softwares para acesso aos dados: Clientes. (BATTISTI, 2001, pg 39). Esse software para acesso apontado por Battisti, pode ser desde um simples browser de internet fazendo uma requisição de informações para o servidor de banco de dados. até uma aplicação específica criada para acessos mais específicos de dados. Um diferencial do servidor de banco de dados é que além de fornecer um ponto central para o armazenamento de arquivos, é possível também armazenar dados de outros tipo de informações pertencente a uns sistema implementado para o cliente. Um outro ponto forte dos servidores de banco de dados seria que a próprias ferramenta fornece mecanismos realização de backups, recuperação por meio de um arquivo único de todas as informações assim como funções desenvolvidas para que o banco realize esses backup s de forma automatizada Servidores web Como o presente trabalho tem como objetivo demostrar a gravação de arquivos nos servidores de arquivos e de banco de dados por meio de um ambiente web, não poderíamos deixar de falar do servidor web. O servidor web tem como finalidade fornecer os serviços uma aplicação web, interagindo assim com os outros 14

15 servidores(arquivos e banco de dados) em um ambienta acessado por um navegar. segundo o site da microsoft Servidores web são computadores com software específico que permitem a aceitação de solicitações de computadores de clientes e retornam respostas à essas solicitações. Os servidores web permitem que você compartilhe informações pela Internet ou por uma intranet ou extranet..(microsoft, servidor web, 2012) No site da microsoft, ainda é apontado algumas finalidades de uso dos servidores. Que no caso do site expõem algo mais voltado para o servidor desenvolvido pela própria empresa, chamado de IIS(Internet Information Services). Na tabela 1 segue os exemplos das aplicações em servidores web IIS 7 Tabela - Aplicações dos servidores web Fornecer informações para usuários pela Internet. Permitir que usuários façam download e upload de conteúdos com FTP ou WebDAV (criação e versão distribuídas na Web). Hospedar serviços da Web que contém lógica empresarial para aplicativos de três camadas. Distribuir aplicativos para usuários pela Internet ao invés de disquetes ou CDs. Os servidores Web podem ser úteis para clientes e necessidades diferentes. Por exemplo: Proprietários de pequenas empresas podem fornecer informações sobre seus serviços usando um simples site. Proprietários de empresas médias podem oferecer seus produtos e serviços por meio de um sistema de pedidos online composto por vários aplicativos em um site. Empresas de negócios podem desenvolver e fornecer aplicativos de negócios a funcionários por meio de intranets corporativas. Empresas de hospedagem podem fornecer, a clientes individuais, espaço e serviços de hospedagem de diferentes conteúdos online e aplicativos. Empresas podem fornecer aplicativos de negócios e informações pertinentes para parceiros de negócios por meio de extranets. Fonte: Microsoft 15

16 Mas assim como a escolha de qualquer tipo de servidor, o dimensionamento dos recursos do servidor web passa por uma análise das necessidades da aplicação desenvolvida e da quantidade de recurso que sua aplicação irá necessitar Sobre arquivos Os arquivos de computadores são, um conjunto de bytes estruturado armazenados em algum meio que pode ser recuperado depois. Essas estruturas são armazenadas e contém uma extensão responsável por indicar qual o programa responsável pela leitura, processamento e abertura desse arquivo, assim, recuperando a informação contidas nele. Existe também arquivos denominados executáveis, esses arquivos conseguem a partir da sua própria estrutura serem abertos e lidos para executar ações pré definidas Sobre banco de dados Atualmente existe um grande número de banco de dados que podem ser instalado e utilizados em servidores, a definição de qual o banco de dados será utilizado em sua aplicação, varia muito do que será desenvolvido e o que esse aplicativo irá necessitar armazenar de dados. É comum que a escolha do sistema de banco de dados passe por uma avaliação criteriosa que vai desde a quantidade prevista de acessos simultâneos, tipo de dados que serão armazenados, até quais as licenças que esse sistema de banco de dados segue para a sua utilização. Os banco de dados, tem como princípio básico seguir alguns atributos, como tabelas, registros, colunas e chaves. Uma tabela é uma simples estrutura de linhas e colunas. Em uma tabela, cada linha contém um mesmo conjunto de colunas. Em um banco de dados podem existir uma ou centenas de tabelas, sendo que o limite pode ser imposto tanto pela 16

17 ferramenta de software utilizada, quanto pelos recursos de hardware disponíveis no equipamento. As colunas de uma tabela são também chamadas de atributos. Ex.: O campo Nome, ou endereço de uma tabela de um banco de dados relacional. Os registros são linhas formadas por pelas colunas, mas não necessariamente todas as colunas precisam estar completas, apenas as que estão estabelecidas como não nulas(not null). As tabelas relacionam-se umas as outras através de chaves. Uma chave é um conjunto de um ou mais atributos que determinam a unicidade de cada registro. Existem diferentes tipos de bancos de dados, sendo diferenciados sempre pela sua estrutura de armazenamento e recuperação de informações. Os banco de dados são divididos em duas classes, os relacionais e os não relacionais, que também são conhecidos como NoSql Relacionais Os banco de dados relacionais, são bancos de dados mais utilizados em aplicações por seguirem as 13 regras do modelo relacional, essas regras foram criadas e publicadas por Edgar Frank Codd em 1985, para que o banco de dados seja considerado relacional, ele deve seguir as seguintes regras apresentadas na tabela 2. Tabela - As 12 regras de Codd Regra Regra 1 Descricação Todas as informações em um banco de dados relacional são representadas de forma explícita no nível lógico e exatamente em Regra 2 apenas uma forma - por valores em tabelas. Cada um e qualquer valor atômico (datum) em um banco de 17

18 dados relacionam possui a garantia de ser logicamente acessado pela combinação do nome da tabela, do valor da chave primária e Regra 3 do nome da coluna. Valores nulos devem ser suportados de forma sistemática e independente do tipo de dado para representar informações Regra 4 inexistentes e informações inaplicáveis. A descrição do banco de dados é representada no nível lógico da mesma forma que os dados ordinários, permitindo que usuários autorizados utilizem a mesma linguagem relacional aplicada aos Regra 5 dados regulares. Um sistema relacional pode suportar várias linguagens e várias formas de recuperação de informações. Entretanto, deve haver pelo menos uma linguagem, com uma sintaxe bem definida e expressa por conjuntos de caracteres, que suporte de forma compreensiva todos os seguintes itens: definição de dados, definição de "views", manipulação de dados (interativa e embutida em programas), restrições de integridade, autorizações e limites de transações Regra 6 Regra 7 (begin, commit e rollback). Todas as "views" que são teoricamente atualizáveis devem também ser atualizáveis pelo sistema. A capacidade de manipular um conjunto de dados (relação) através de um simples comando deve-se estender às operações Regra 8 de inclusão, alteração ou exclusão de dados. Programas de aplicação permanecem logicamente inalterados quando ocorrem mudanças no método de acesso ou na forma de Regra 9 18 armazenamento físico. Mudanças nas relações e nas views provocam pouco ou nenhum impacto nas aplicações.

19 Regra 10 Regra 11 Regra 12 As aplicações não são afetadas quando ocorrem mudanças nas regras de restrições de integridade. As aplicações não são logicamente afetadas quando ocorrem mudanças geográficas dos dados. Se um sistema possui uma linguagem de baixo nível, essa linguagem não pode ser usada para subverter as regras de integridades e restrições definidas no nível mais alto. Fonte: Serpro Não relacionais Bancos não relacionais ou conhecido como NoSql, são bancos criados para atender a necessidades de aplicações onde os bancos de dados relacionais são ineficazes. O termo foi utilizado pela primeira vez em 1998 por seu criado, Carlo Strozzi, onde ele dizia que o NoSql é complemente distindo do modelo relacional e, portanto, deveria ser mais apropriado chamado de NoREL ou algo que produzisse o mesmo efeito. (NoSql, 2012) As principais características dos bancos de dados não relacionais são a sua alta performance, replicação, escalabilidade, suporte a dados estruturados e sub colunas Os bancos de dados não relacionais, ou também conhecidos como NoSQL, são bancos que não seguem os princípios das leis de Edgar Frank Codd, assim sendo, ele armazena os dados de diferentes formar, normalmente esses dados são armazenados com arrays associativos ou pares de chave e valor. Os bancos NoSQL são normalmente utilizados para finalidades específicas, conforme a tabela 3 demostra: Tabela - Projetos NoSql Tipo Documento Projeto RavenDB, CouchDB, MongoDB, MarkLogic, Server, BaseX, exist 19

20 Orientado a Objetos Chave/Valor (Key/Value) Tabular Grafos Db4o Memcachedb, Project Voldemort, Redis, SimpleDB, Hbase Cassandra e Hypertable DEX e Neo4j Fonte:NoSql 2.7. Sobre gravação de arquivos A gravação de arquivos pode ser feita em vários meios, pois os blocos de bytes, podem ser divididos e armazenados em diversos tipos dispositivos e de diversas formas diferentes, seja ela diretamente no dispositivo de armazenamento, banco de dados, além disso o arquivo pode ser compactado, criptografado, divididos em blocos etc, antes de sua gravação Gravação em file system A gravação em file system, ou também conhecida como sistema de arquivos é realizada em pequenos blocos pré-definidos no sistema operacional, esse blocos são conjunto de bytes que o sistema operacional padroniza para gravar e recuperar os arquivos direto de disco rígidos, SSD(Solid state disk), fita magnética, CD(Compact disk) ou qualquer outro meio de gravação Gravação em banco de dados Para a gravação de arquivos em banco de dados, existem tipos específicos de campos para registro e técnicas diferentes técnicas de inserção dos dados. Para entender a gravação desses arquivos no banco, é necessário entender os tipo de arquivo que será gravado e como essas informações são armazenadas. Nos bancos de dados relacionais, cada banco tem o seu tipo específico de registro de como armazenas esses arquivos. No caso dos bancos escolhidos para o prensente trabalho, Foram escolhidos bancos de dados de diferentes tipo de 20

21 licenças, Sendo escolhido no modelo relacional o Postgres, MySql e oracle, já no modelo NoSql foi escolhido o MongoDB. Na tabela 4 é possível visualizar os tipos de dados e o tamaho máximo que é possível armazenar nesses registros Tabela - Tipos de dados Nome Oracle 11g MySql PostgreSQL Tipo para gravação de dados BLOB, CLOB, NCLOB, BFILE TINYBLOB, TINYTEXT BLOB, TEXT MEDIUMBLOB, MEDIUMTEXT LONGBLOB, LONGTEXT BYTEA(HEX,ES CAPE) Fonte: Desenvolvida pelo autor. Máximo por registro 128 terabytes 256 bytes 64 Kilobytes 16 Megabytes 4 Gigabytes 1 Gigabytes Oracle O Banco de dados oracle 11g possuí o diferentes tipos de dados para armazenamento de arquivos, esses tipos de dados são chamado de LOB(Large object) e são divididos em sub-tipo que são os BLOB(Binary large object), CLOB(Caracter larg object), NCLOB e BFILE. segundo a documentação da oracle subro os tipos LOB permitem armazenar e manipular grandes blocos de dados não estruturados (como texto, imagens, gráficos, vídeos, som e formas de onda) em formato binário ou caracteres. (Oracle, 2013, tradução nossa) Ainda na documentação, a oracle descreve como os tipos LOBs trabalham que é: eles fornecem acesso aleatório, eficiente a pedaços inteligentes dos dados. (Oracle, 2013, tradução nossa) Os dados do tipo LOB diferem em dois tipos, os RAW e LONG RAW. Mas ele explica que ambos os tipos não são interpretados pelo banco de dados: Os tipos 21

22 de dados RAW e LONG RAW são usados para dados que não deve ser interpretado (não convertido ao mover dados entre diferentes sistemas) pelo banco de dados Oracle. Esses tipos de dados são destinados para dados binários ou cadeias de bytes. (Oracle, 2013, tradução nossa). O que indica que por exemplo uma imagem armazenada em banco, é convertida para dados binários ou cadeiras de bytes. Caso uma consulta seja realizada por uma query no banco irá não irá mostrar a imagem, mas sim os dados binários ou a cadeia de bytes. Para que a imagem seja exibida, será necessário que um programa consulte o banco e converta os dados binário ou a cadeia de bytes na imagem. Na documentação do oracle 11g ainda explica que LONG RAW pode ser usado para armazenar gráficos, som, documentos, ou matrizes de dados binários. A interpretação depende do uso. RAW é um tipo de dados de comprimento variável como o tipo de dados de caractere VARCHAR2, A documentação indica que LONG RAW dados não podem ser indexados, mas RAW dados podem ser indexados. (Oracle, 2013, tradução nossa) A tabela 5 mostra outras características dos tipos de dados RAW e LONG RAW indicadas na documentação do banco dados oracle 11g. Tabela - Caracteristicas de RAW e LONG RAW LONG. Uma tabela pode conter colunas LOB, mas apenas uma coluna Uma tabela contendo uma ou mais colunas LOB pode ser dividida, mas uma tabela contendo uma coluna LONG não pode ser particionado. O tamanho máximo de um LOB é de 128 terabytes, dependendo do tamanho do bloco de dados, e o tamanho máximo de um LONG é de apenas 2 gigabytes. LOBs apoiar o acesso aleatório a dados, mas LONG s suportam 22

23 apenas acesso seqüencial. Tipos de dados LOB (exceto NCLOB ) pode ser atributos de um tipo de objeto definido pelo usuário, mas tipos de dados LONG não pode. LOBs temporários que atuam como variáveis locais podem ser usados para realizar transformações em dados LOB. LOBs temporários internos ( BLOBs, CLOBs e NCLOB s) são criados em um espaço de tabela temporária e são independentes de tabelas. Para tipos de dados LONG, no entanto, não há disponibilidade de estruturas temporárias. Tabelas com colunas LOB pode ser replicadas, mas tabelas com colunas LONG não pode Fonte: Oracle Depois de entendermos sobre o funcionamento dos dados RAW e LONG RAW, podemos prosseguir com o entendimento dos tipo de dados que pertencem ao LOB, que são os BLOB, CLOB, NCLOB e BFILE. Na documentação do oracle 11g, afirma sobre o BLOB que: O tipo de dado BLOB armazena dados binários não estruturados no banco de dados. BLOBs pode armazenar até 128 terabytes de dados binários. (Oracle, 2013, tradução nossa) Os tipo CLOB e NCLOB são diferenciados do BLOB por armazenarem os dados em forma de caracteres: Os tipos de dados CLOB e NCLOB armazenar até 128 terabytes de dados de caracteres do banco de dados. (Oracle, 2013, Tradução nossa). Ainda sobre CLOB e NCLOB, a documentação fala mais especificamente sobre o CLOB: O tipo de dados CLOB armazena dados de caracteres de byte único e multibyte. Ambos os conjuntos de caracteres de largura fixa e variável são suportados, e ambos utilizam o conjunto de caracteres do banco de dados. 23

24 E sobre NCLOB: O tipo de dados NCLOB armazena dados Unicode. Ambos os conjuntos de caracteres de largura fixa e variável são suportados, e ambos utilizam o conjunto de caracteres nacionalizados. (Oracle Tradução nossa). Já por fim o tipo BFILE armazena os dados arquivos do sistema operacional, ou seja, fora do banco de dados: O tipo de dado BFILE são dados binários não estruturados de em arquivos do sistema operacional fora do banco de dados. A coluna ou atributo BFILE armazena um arquivo localizador que aponta para um arquivo externo que contém os dados. A quantidade de dados BFILE que podem ser armazenados é limitado pelo sistema operativo. BFILEs são somente leitura, você não pode modificá-los. Eles suportam apenas leituras aleatórias (não sequencial), e não participar de transações. O sistema operacional subjacente deve manter a integridade de arquivos, segurança e durabilidade para BFILEs. O administrador de banco de dados deve garantir que o arquivo existe e que os processos de banco de dados Oracle tem permissões de leitura do arquivo no sistema operacional. (Oracle, 2013, Tradução nossa) Na documentação da oracle, as colunas do tipo LOB são sujeitas a algumas regras, a tabela 6 lista algumas delas. Tabela - Regras das colunas LOB primária. Você não pode especificar um LOB como uma coluna de chave Clusters não pode conter LOBs, quer como chave ou colunas nãochave. Você não pode especificar colunas LOB no ORDER BY cláusula de uma consulta, ou no GROUP BY cláusula de uma consulta ou em uma função agregada. 24

25 Você não pode especificar uma coluna LOB em uma SELECT... DISTINCT ou SELECT... UNIQUE declaração ou em uma junção. No entanto, você pode especificar um atributo LOB de uma coluna de tipo de objeto em um SELECT... DISTINCT ou em uma consulta que usa a UNION ou operador MINUS de conjunto, se o tipo da coluna objeto tem um MAP ou ORDER função definida sobre ele. O (primeiro INITIAL extensão) de um segmento de LOB deve conter, pelo menos, três blocos de dados. Você não pode especificar uma coluna LOB, como parte de uma chave de índice. No entanto, você pode especificar uma coluna LOB na especificação indextype de um índice de domínio. Além disso, o Oracle Text permite que você defina um índice em uma coluna CLOB. Em uma operação INSERT... AS SELECT, você pode ligar até 4000 bytes de dados para colunas LOB e atributos Se a tabela tem tanto LONG e colunas LOB, você não pode ligar mais de 4000 bytes de dados tanto para o LONG e colunas LOB na mesma instrução SQL. No entanto, você pode ligar mais de 4000 bytes de dados para tanto o LONG ou a coluna LOB. Restrições de operação No SQL Loader, Um campo de leitura de um LOB não pode ser usado como um argumento para uma cláusula. Consulte "Utilitários de banco de dados para carregar dados em LOBs". Sessão migração não é suportada para BFILE em servidor modo compartilhado (servidor multithreaded). Isto implica que as operações em aberto BFILE podem persistir para além do final de uma chamada para um servidor compartilhado. Em sessões de servidor compartilhado, BFILE operações são obrigados a um servidor compartilhado, que não podem migrar de um servidor para outro. Maiúsculas e minúsculas pesquisas sobre colums CLOB muitas vezes não conseguem. Por exemplo, para fazer uma pesquisa de maiúsculas e minúsculas em um colum CLOB. 25

26 A seleção não sem a LOWER função. Texto Oracle faz pesquisas maiúsculas e minúsculas. Fonte: Oracle MySql O banco de dados MySql, é um banco de dados que se tornou popular com a expansão web e foi difundido principalmente por programadores php. Atualmente o MySql pretence a Oracle Corporation. O MySql, assim como os outros bancos de dados, possui um tipo de registro especifico para arquivos, assim como já citado anteriormente, os tipos de registros são o BLOB, e o TEXT. Segundo o site do MySql: Um BLOB é um objeto binário grande que pode guardar uma quantidade variável de dados. Os quatro tipos de BLOB são TINYBLOB, BLOB, MEDIUMBLOB, e LONGBLOB. Estes diferem apenas no comprimento máximo dos valores que eles podem armazenar. Os quatro tipos TEXT são TINYTEXT, TEXT, MEDIUMTEXT, e LONGTEXT. Estes correspondem aos quatro tipos BLOB e têm o mesmo tamanho máximo e os requisitos de armazenamento. (MySql, 2013, tradução nossa). Ainda na documentação do MySql, a diferença entre o BLOB e o Text são: BLOB são valores tratados como strings binárias (cadeias de bytes). Eles não têm nenhum conjunto de caracteres, e ordenação e comparação, são baseados nos valores numéricos dos bytes de valores da coluna. TEXT são valores tratados como strings não binários (sequências de caracteres). Eles têm um conjunto de caracteres, e os valores são classificados e comparados com base no agrupamento do conjunto de caracteres. (MySql Tradução nossa). Segue a tabela 7 demosntra os tamanhos máximos que podem ser armazenados os dados em bytes. Tabela - Tamanho máximo dos dados no MySql 26

27 Tipo de dado TINYBLOB, TINYTEXT BLOB, TEXT MEDIUMBLOB, MEDIUMTEXT Tamanho L + 1 bytes, where L < 2 8 L + 2 bytes, where L < 2 16 L + 3 bytes, where L < 2 24 LONGBLOB, LONGTEXT Fonte: MySql L + 4 bytes, where L < PostgreSQL Segundo o site do PostgreSQL,: O PostgreSQL é um sistema de gestão de banco de dados objeto-relacional (ORDBMS) com base no POSTGRES, Versão 4.2, desenvolvido no Departamento de Informática da Universidade da Califórnia, em Berkeley. O POSTGRES foi pioneiro muitos conceitos que só se tornaram disponíveis em alguns sistemas de banco de dados comerciais muito mais tarde. (Postgres, Tradução nossa). O padrão SQL define que o tipo de cadeia binária é chamada de BLOB(Binary Large Object). Mas no caso do PostgreSQL o tipo de armazenamento de dados binários possuem um nome diferente que é o byteae foi inserido no postgres a partir da versão 9.0. Mesmo com o nome diferente, as funções e operadores fornecidos para a operação são praticamente os mesmos. O tipo bytea é descrito na documentação como: O tipo de dado bytea permite o armazenamento de sequências binárias.(postgres, 2013, tradução nossa ) 2 32 Essas sequências binárias de bytes são sequencias diferenciadas de sequência de caracteres por exemplo, onde a sequência de caracteres são codificados normalmente pela tabela ASCII com os caracteres imprimíveis(códigos 27

28 entre 32 e126), Assim sendo no tipo bytea são permitido codificações de tipos não imprimíveis. O bytea também é um tipo que não sofre de problemas de codificação de localidade como no caso de sequencia de caracteres. Em termos, o bytea serve para armazenar bytes de dados brutos e as sequencias de caracteres servem para armazenar textos. O tipo bytea são diferenciados em dois formatos, o hex e o escape, sendo o escape o tipo de dado mais tradicional do postgresql. No caso do escape ele segue a linha de converter as sequências binárias em sequências de caracteres ASCII. Ao converter os dados para sequencias não representadas pela tabela ASCII, o escape utiliza caracteres especiais do próprio tipo escape. Essa conversão é iniciada sempre com um ou duas barras invertidas (a barra invertida é um escape literal) e faz com que cada byte seja convertido para um conjunto de três dígitos. O mecanismo de caracteres especiais do tipo escape é um pouco pesado, assim sendo, a utilização da conversão de bytes para o tipo escape deve ser evitada. No caso do formato hex, cada registro é iniciado com \x e cada byte dos dados são codificados para dois dígitos hexadecimais, é permitido espaço entre os pares de valores hexadecimais, mas não é permitido espaço em branco entre o par do bytes convertido para hexadecimal. O tipo hex é o tipo padrão do postgres e tende a ser mais rápido que a conversão para o tipo escape, assim sendo, é preferencialmente usando nas aplicações. Ao inserir um registro do tipo bytea, é acrescido de 1 a 4 bytes como bytes de controle e mais a sequencia de bytes convertidos. Assim sendo cabe avaliar o quanto esses bytes de controle podem influir no tamanho do arquivo inserido em bando e no desempenho para sua recuperação, principalmente no caso de um arquivo que foi quebrado em diversos registro. 28

29 MongoDB O mongodb é um banco de dados open source orientado a documento desenvolvido para fácil uso de desenvolvimento e escalabilidade. Para iniciar o entendimento de como funciona um banco de dados orientado a documentos, na tabela 8 vamos comprar e entender os termos e conceitos entre um banco de dados objeto relacional e um banco de dados NoSQL. Tabela - Comparação dos termos e conceitos do Sql e NoSql Termos e conceitos do SQL Database Table Row Index Table joins Primary key(chave primária) uma única coluna ou uma combinação de colunas Termos e conceitos do MongoDB Database Collection Documento ou documento BSON Index Documentos embarcados ou linkados Primary key(chave primária) No mongodb, a chave primária é setada automaticamente no Agregação(Group by) campo _id Framework de agregação Fonte: MongoDB No caso citado na tabela anterior, o framework de agregação possui uma tabela indicando um outro comparativo de como funciona em um banco de dados SQL e o mongodb. A tabela 9 mostra essa diferença. Tabela - Comparativo de termos, funções e conceitos Sql e NoSql Termos, funções e conceitos SQL WHERE GROUP BY HAVING SELECT ORDER BY LIMIT SUM() COUNT() 29 Operações de agregação do mongodb $MATCH $GROUP $MATCH $PROJECT $SORT $LIMIT $SUM $SUM

30 JOIN Não existe um operador correspondente ao JOIN no mongodb, de toda forma, o operador $UNWIND tem funcionalidades semelhantes com as colunas e com os documentos. Fonte: MongoDB No mongodb a gravação de arquivo é feita atrás vez de um BinData é feita por um registro do tipo BSON(Binary-encoded serialization), que é um registro semelhante ao JSON só que para inserção de documentos. O BSON foi projetado pra ser leve e eficiente, assim como JSON. O BSON suporta a incorporação de objetos e arryas dentro de outros objetos e matrizes. No entando para armazenamento de arquivos maiores de 16 megabytes a documentação do mongodb fala para usar o GridFS como alteranativa, o GridFS tem por padrão pegar os arquivos que excedam 16 megabytes e dividir em blocos menores de 256k, nesta divisão ele utiliza duas coleções para realizado armazenamento dos dados, sendo uma para armazenar os pedrações dos arquivos e outra para armazenar o metadados. Uma das vantagens em usar o GridFS é que ao caso o usuário necessite carregar um arquivo particionado, ele vai montando os pedaços do arquivo conforme necessário, assim sendo, você pode realizar consultas apenas em partes do arquivo, sem ter que carrega-lo todo. Na documentação ainda existe uma seção chamada de Como faço para otimizar o uso de armazenamento para documentos pequenos? (Mongodb, 2013) é explicito que Cada documento MongoDB contém uma certa quantidade recursos 30

31 ocupados. Esses recursos normalmente são insignificante, mas torna-se significativo se todos os documentos inseridos são apenas alguns bytes, como poderia ser o caso se os documentos em sua coleção só tem um ou dois campos. (Mongodb, 2013) Assim sendo, a documentação passa a seguinte sugestões como estratégia para otimizar a utilização do armazenamento para coleções no mongodb: Clientes MongoDB caso o usuário não insira um valor no campo _id o mongobd adiciona automaticamente um campo _id a cada documento inserido, esse campo _id gerar 12 byte únicos. Para documentos menores isto pode representar uma quantidade significativa de espaço. Para otimizar o uso de armazenamento, os usuários podem especificar um valor para o campo _id explicitamente Ao inserir documentos na coleção. Esta estratégia permite aplicações para armazenar um valor no campo _id Isso teria espaço ocupado em outra parte do documento. Você pode armazenar qualquer valor no campo _id, mas como este valor serve como uma chave primária para documentos, caso esse valor do campo não seja único, então ele não pode servir como uma chave primária havendo colisões de chave primária duplicada, impedindo assim a identificação. Na documentação ainda tem uma seção chamada de Quando devo usar GridFS? está descrito que Para documentos em uma coleção MongoDB, você deve sempre usar GridFS para armazenar arquivos maiores que 16 MB. (Mongodb, 2013). Em algumas situações, o armazenamento de arquivos grandes pode ser mais eficiente no banco de dados MongoDB do que em um sistema de arquivos em nível de sistema, a tabela 10 exibe essas situações. Tabela - Situações onde o armazenamento de arquivos grandes pode ser mais eficiente no sitema e arquivos 31

32 O sistema de arquivos limita o número de arquivos em um diretório, você pode usar GridFS para armazenar arquivos como quanto necessário. Quando você quer manter seus arquivos e metadados automaticamente sincronizadas e implantado através de uma série de sistemas e instalações. Ao utilizer uma definição de répicas distribuidas o mongodb pode distribuir arquivos e seus metadados automaticamente para um número de instâncias mongodb. Quando você quiser acessar informações de partes de arquivos grandes sem ter que carregar arquivos inteiros na memória, você pode usar GridFS acessar seções de arquivos sem ler o arquivo inteiro na memória. Fonte:MongoDB Mas assim como existem situações onde ele não recomenda o uso do GriFS, como por exemplo Não use GridFS se você precisa atualizar o conteúdo de todo o arquivo atomicamente. (Mongosb, 2013) a alternative no caso de ter que atualizar todo conteúdo é Como alternativa, você pode armazenar várias versões de cada arquivo e especificar a versão atual do arquivo de metadados. Você pode atualizar o campo de metadados indica que "ultimo inserido" em uma atualização atômica após carregar a nova versão do arquivo e, posteriormente, remover versões anteriores, se necessário. (Monogo, 2013) A documentaçaõ ainda afirma que no caso de documentos menores que 16 megabytes que se seus arquivos são todos menores de 16 MB, tamanho limite do documento BSON, considere armazenar o arquivo manualmente em um único documento. Para isso poderá utilizar o tipo de dados BinData para armazenar os dados binários. (Mongodb, 2013) 3. Considerações finais Após a pesquisa, foi possível traçar e observar que cada banco de dados armazena seus arquivos de forma peculiar, onde diferentes tipos de registro de 32

33 banco permitem inserir diferentes quantidades de registo, assim sendo, foi possível criar uma projeção do armazenamento de dados nos bancos que acrescentam bytes de controle na inserção de arquivos utilizando o tamanho máximo de cada tipo de armazenamento de dados. A seguir iremos discorrer sobre como cada banco se comporta MySql No caso do MySql, a quantidade de dados adicionados aos registros particionados e armazenados no tamanho máximo permitido no registro, faz com que a adição dos dados chegue a 0,039% Já que existem quatro tipos de armazenamento binários e quatro tipos de dados caracteres. Tabela - Arquivo único até 1 Megabyte até 10 Megabytes até 100 Megabytes até 1 Gigabyte até 10 Gigabytes TINYBLOB( bytes) BLOB(512 Kilobytes) MEDIUMBLOB(16 Megabytes) TA + 3 bytes TA + 3 bytes LONGBLOB(4 Gigabytes) TA + 4 bytes TA + 4 bytes TA + 4 bytes TA + 4 bytes TA + 12 bytes Fonte: Desenvolvida pelo autor Tabela - Quantidade de partes do arquivo até 1 Megabyte até 10 Megabytes Quantidade de partes do arquivo até 100 Megabytes até 1 Gigabyte até 10 Gigabytes TINYBLOB(255 bytes) BLOB(511 Kilobytes) MEDIUMBLOB(15,99 Megabytes) LONGBLOB(3,99 Gigabytes) Fonte: Desenvolvida pelo autor Tabela - Quantidade de bytes adicionados aos registros 33 até 1 Megabyte Quantidade de Bytes adicionados até 10 até 100 até 1 Megabytes Megabytes Gigabyte até 10 Gigabytes Bytes TINYBLOB(255 bytes) BLOB(511 Kilobytes)

34 MEDIUMBLOB(15,99 Megabytes) LONGBLOB(3,99 Gigabytes) Fonte: Desenvolvida pelo autor Tabela - Tamanho final dos arquivos até 1 Megabyte Tamanho arquivo com bytes adicionados em bytes até 10 até 100 até 1 Megabytes Megabytes Gigabyte até 10 Gigabytes Bytes TINYBLOB(255 bytes) BLOB(511 Kilobytes) MEDIUMBLOB(15,99 Megabytes) LONGBLOB(3,99 Gigabytes) Fonte: Desenvolvida pelo autor Tabela - Tamanho do arquivo com bytes adicionados TINYBLOB(255 bytes) BLOB(511 Kilobytes) MEDIUMBLOB(15,99 Megabytes) LONGBLOB(3,99 Gigabytes) até 1 Megabyte 1,00 Megabytes Tamanho arquivo com bytes adicionados até 10 até 100 até 1 Megabytes Megabytes Gigabyte 10,00 Megabytes 100,00 Megabytes 1,00 Gigabytes até 10 Gigabytes ,00 10,03 100,39 1,00 10,03 Megabytes Megabytes Megabytes Gigabaytes Gigabytes 10,00 Gibaytes 1,00 Megabytes 1,00 Megabytes 10,00 Megabytes 100,00 Megabytes 10,00 100,00 Megabytes Megabytes Fonte: Desenvolvida pelo autor 1,00 Gigabytes 1,00 Gigabytes 10,00 Gibaytes 10,00 Gibaytes Postgres No banco de dados posgtres não fica claro a forma com a quale le insere os bytes de controle, especificando apenas que que são inseridos de 1 a 4 bytes de controle. Assim sendo foi possível estabelecer o cenário de melhor e pior caso de adição de bytes de controle onde mais uma vez os bytes de controle adicionados chegam a menos de 1% do tamanho final do arquivo, a seguir será exibida uma tabela com a projeção dos dados para um único arquivo inserido e para um arquivo inserido em partes. 34

35 Tabela - Arquivo inteiro Arquivo inteiro até 1 Megabyte até 10 Megabytes até 100 Megabytes até 1 Gigabyte até 10 Gigabytes Bytea melhor caso 4 Bytes 4bytes 4bytes 4bytes - Bytea pior caso 1 byte 1 byte 1 byte 1 byte - Fonte: Desenvolvida pelo autor Tabela - Arquivo em partes Arquivo em partes até 1 Megabyte até 10 Megabytes até 100 Megabytes até 1 Gigabyte até 10 Gigabytes Bytea melhor caso 4 bytes 4 bytes 4 bytes 4 bytes 40 bytes Bytea pior caso 1 byte 1 byte 1 byte 1 byte 10 bytes Fonte: Desenvolvida pelo autor Oracle No caso do oracle 11g não a indicação de bytes que são adicionados nos registro, assim como o tipo BLOB, CLOB, NCLOB que possuem um tamanho limite de 128 terabytes podendo adicionar registros inteiros até o limite do tipo BLOB, CLOB ou NCLOB Mongodb No mongodb os arquivos são inseridos por meio da biblioteca BSON no tipo BinData no caso de arquivos menores de 16 megabytes, em arquivos superiores a 16 megabtyes é recomendável utilizar o GridFS para o armazenamento de dados acima de 16 megabytes. O GridFS realiza a divisão do arquivo inserido em blocos de 256 kilobytes, perminto que um documento seja acessado em seções expecíficas, como por exempo minutos específicos de um vídeo ou mesmo de uma música sem ter carregado o arquivo como um todo. 35

36 4.Resultados Após a leitura da documentação foram elaborados pequenos testes de gravação em sistema de arquivo e no banco de dados mongodb, esses teste mostrou que a implementação da inserção de arquivo em base de dados pode ser feita de forma simples e eficiente, assim como a utilização de banco de dados NoSql. No caso do mongodb a inicialização do banco foi realizada de forma fácil pelo console de comando, onde o usuário acessava a pasta bin dentro da pasta do mongodb e digitando o comando mongod.exe dbpath <caminho da pasta de armazenamento>. Logo após inicializar o banco O Exemplo desta facilidade de inserção de arquivos na base de dados pode ser observada na figura 2 que mostra o algoritmo de inserção de arquivos no mongodb utilizando o GridFS. Figura - Código de inserção no mongodb 36

37 Antes de realizar a primeira inserção foi observado que a pasta do mongodb onde era apontada na inicialização estava apenas com arquivos de controle, como pode ser observado na figura 3. Figura - Pasta inicial da base mongodb Nos testes iniciais foram feitos uploads de um arquivo de 69 megabytes para teste e foi possível observar na pasta do mongo que foram criados arquivos de armazenamento e controle dos dados, o upload do mesmo arquivo foi feito onze vezes para observar o comportamento do mongo com o mesmo aquivo e foi observado que o mongodb alocou muito mais espaço que o conjunto de dados enviados, como pode ser observado na figura 4. Figura - Pasta da base mongodb após armazenar 11 arquivos de 69 megabytes Após subir o mesmo arquivo 11 vezes foi realizada uma busca no banco de dados mongodb para verificar como esses dados estavam armazenados e o tamanho ocupado pelo banco de dados mongodb, essa consulta pode ser observada na figura 5 e 6. Essa consulta foi feita no console do mongodb utilizando 37

38 o comando db.nomedacolecao.find(), onde esse comando retorna todos os dados armazenados na coleção estabelecida, já para observar o tamanho da base de dados mongodb foi utilizado o comando show dbs. Figura - Busca na base de dados mongodb Figura - Tamanho do bado de dados após gravar 11 arquivos de 69 megabytes Após observado o comportamento do mongodb no armazenamento de arquivos, foi efetuado o teste de armazenamento de um arquivo de 192 kb, para observar o tamanho que o arquivo de armazenamento aloca inicial para o sistema. 38

39 Essa nova coleção alocou um espaço inicial com dois arquivos, sendo um de 64 megabytes e outro de 128 megabytes, mostrando que armazenamento do mongodb com GridFS aloca um espaço inicial de 192 megabytes. Esse comportamento pode ser observado na figura 7. Figura - Pasta da base mongodb após upload de arquivo de 192 kilobytes na coleção ArquivoAteUmMega Após as inserções no banco de dados mongodb foram realizados testes de obtenção do arquivo por meio do GridFS utilizando o comando fs.findone(nomedoarquivo), onde o arquivo foi recuperado e gravado na pasta temporária do sistema operacional, além de recuperar o arquivo o mongodb inseriu um número randômico no nome do arquivo recuperado como pode ser obervado na figura 8. Figura - Pasta temporária onde foram gravados os arquivos recuperados do mongodb 39

40 Os mesmo testes foram realizados gravando os dados em sistema de arquivos, conforme a figura 9 e 10 mostra, os arquivos que foram feitos uploads foram gravados em uma pasta especificada no código. Mas diferente do banco de dados todas as versões que foram enviadas para o servidor foram sobrescritas pela última versão, restando apenas um arquivo. Figura - Pasta de gravação em sistema de aquios depois de 11 uploads de do mesmo aquivo de 69 megabytes Figura - Pasta de gravação em sistema de arquivos depois de 11 uploads do mesmo aquivo de 69 megabytes e 1 upload de um arquivo de 192 Kilobytes 40

41 Conclui-se que no caso de gravações em sistema de arquivo deve ser feito uma estratégia de gravação de arquivos em pastas diferentes ou com nomes diferente sujeridos pelo sistema onde está sendo feito o upload, na figura 11 é possível observar a comparação de como ficou a partas de arquivos gravados em sistema de arquivos e no banco mongodb. Figura - Arquivos gravados em sistema de arquivos e arquivos gravados no mongodb Além dos testes demostrados acima, foram realizados testes com outros arquivos, na tabela 18 é possível observar os tempos de subida dos arquivos e gravação em sistema de arquivos. Já na tabela 19 é possível observar os tempos do armazenamento dos arquivos em banco de dados Tabela - Gravação de dados em sistema de arquivos 41

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO DESCRIÇÃO DO SIGAI O SIGAI (Sistema Integrado de Gestão do Acesso à Informação) é uma solução de software que foi desenvolvida para automatizar os processos administrativos e operacionais visando a atender

Leia mais

Programação de Computadores

Programação de Computadores Aula 01 Introdução Departamento de Computação Universidade Federal de Ouro Preto 2011.1 1 Processamento de dados 2 Organização de Computadores 3 Sistemas de Numeração Processamento de dados Processamento

Leia mais

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo Manual Sistema MLBC Manual do Sistema do Módulo Administrativo Este documento tem por objetivo descrever as principais funcionalidades do sistema administrador desenvolvido pela MLBC Comunicação Digital.

Leia mais

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Alt-N Technologies, Ltd 1179 Corporate Drive West, #103 Arlington, TX 76006 Tel: (817) 652-0204 2002 Alt-N Technologies. Todos os Direitos

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

M a n u a l d o R e c u r s o Q m o n i t o r

M a n u a l d o R e c u r s o Q m o n i t o r M a n u a l d o R e c u r s o Q m o n i t o r i t i l advanced Todos os direitos reservados à Constat. Uso autorizado mediante licenciamento Qualitor Porto Alegre RS Av. Ceará, 1652 São João 90240-512

Leia mais

XDR. Solução para Big Data.

XDR. Solução para Big Data. XDR Solução para Big Data. ObJetivo Principal O volume de informações com os quais as empresas de telecomunicações/internet têm que lidar é muito grande, e está em constante crescimento devido à franca

Leia mais

Introdução ao SQL Avançado

Introdução ao SQL Avançado Introdução ao SQL Avançado Introdução as consultas, manipulação e a filtragem de dados com a linguagem SQL Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão

Leia mais

Curso de Hardware Aula 01 Tema: Sistema de Medidas Por: Edmilson de Oliveira Reis Revisado em: 02/03/2012

Curso de Hardware Aula 01 Tema: Sistema de Medidas Por: Edmilson de Oliveira Reis Revisado em: 02/03/2012 Curso de Hardware Aula 01 Tema: Sistema de Medidas Por: Edmilson de Oliveira Reis Revisado em: 02/03/2012 Unidades de Medida de Armazenamento Esses detalhes refletem na quantidade de informação armazenada

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

Tutorial: Gravação de imagens em banco de dados MySQL utilizando PHP

Tutorial: Gravação de imagens em banco de dados MySQL utilizando PHP Tutorial: Gravação de imagens em banco de dados MySQL utilizando PHP Versão 1.0 Agosto de 2005 Pág. 1/12 Desenvolvido por Rafael Lossurdo Agosto de 2005 INTRODUÇÃO...3 REQUESITOS

Leia mais

Sistema Operacional Unidade 4.2 - Instalando o Ubuntu Virtualizado

Sistema Operacional Unidade 4.2 - Instalando o Ubuntu Virtualizado Sistema Operacional Unidade 4.2 - Instalando o Ubuntu Virtualizado Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 CRIAÇÃO DA MÁQUINA VIRTUAL... 3 Mas o que é virtualização?... 3 Instalando o VirtualBox...

Leia mais

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc. Implementar servidores de Web/FTP e DFS Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.br Conteúdo programático Introdução ao protocolo HTTP Serviço web

Leia mais

Tecnologia da Informação. Prof Odilon Zappe Jr

Tecnologia da Informação. Prof Odilon Zappe Jr Tecnologia da Informação Prof Odilon Zappe Jr Conceitos básicos de informática O que é informática? Informática pode ser considerada como significando informação automática, ou seja, a utilização de métodos

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 6.1 ARQUIVOS E REGISTROS De um modo geral os dados estão organizados em arquivos. Define-se arquivo como um conjunto de informações referentes aos elementos

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Manual de Utilização

Manual de Utilização Se ainda tiver dúvidas entre em contato com a equipe de atendimento: Por telefone: 0800 642 3090 Por e-mail atendimento@oisolucoespraempresas.com.br Introdução... 3 1. O que é o programa Oi Backup Empresarial?...

Leia mais

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura E-mail: gilvansistema@hotmail.com

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura E-mail: gilvansistema@hotmail.com MYSQL: TIPOS DE DADOS Gilvan Vieira Moura E-mail: gilvansistema@hotmail.com TIPOS DE DADOS Bancos de dados, como falamos anteriormente, armazenam dados dentro de tabelas, na forma de linhas e colunas.

Leia mais

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário Sumário Conceitos Microsoft Access 97... 01 Inicialização do Access... 02 Convertendo um Banco de Dados... 03 Criando uma Tabela... 06 Estrutura da Tabela... 07 Propriedades do Campo... 08 Chave Primária...

Leia mais

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião INTRODUÇÃO BANCO DE DADOS Prof. Msc. Hélio Esperidião BANCO DE DADOS Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas a um determinado

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2 ISBN 978-85-61091-05-7 Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 Definição de uma tecnologia de implementação e do repositório de dados para a criação da ferramenta

Leia mais

Prof. Omero, pág. 63. Banco de Dados InterBase.

Prof. Omero, pág. 63. Banco de Dados InterBase. Prof. Omero, pág. 63 O que é o InterBase? O InterBase é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional 1 que está baseado no padrão SQL ANSI-9, de alta performance, independente

Leia mais

Índice. Atualizado em: 01/04/2015 Página: 1

Índice. Atualizado em: 01/04/2015 Página: 1 MANUAL DO USUÁRIO Índice 1. Introdução... 3 2. Acesso ao Sistema... 4 2.1. Instalação... 4 2.1.1. Servidor - Computador Principal... 4 2.1.2. Estação - Computador na Rede... 6 2.1.3. Estação - Mapeamento

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

Sou o professor Danilo Augusto, do TIParaConcursos.net, e lá costumo trabalhar temas relacionados a Redes de Computadores e Sistemas Operacionais.

Sou o professor Danilo Augusto, do TIParaConcursos.net, e lá costumo trabalhar temas relacionados a Redes de Computadores e Sistemas Operacionais. Olá nobre concurseiro e futuro servidor público! Sou o professor Danilo Augusto, do TIParaConcursos.net, e lá costumo trabalhar temas relacionados a Redes de Computadores e Sistemas Operacionais. Essa

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

AULA 5 Sistemas Operacionais

AULA 5 Sistemas Operacionais AULA 5 Sistemas Operacionais Disciplina: Introdução à Informática Professora: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Sistemas Operacionais Conteúdo: Partições Formatação Fragmentação Gerenciamento

Leia mais

BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento 1 Gerência de espaço em disco Cópia de segurança do sistema de arquivo Roteiro Confiabilidade Desempenho

Leia mais

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico Banco de Dados // 1 Banco de Dados // 2 Conceitos BásicosB Engenharia da Computação UNIVASF BANCO DE DADOS Aula 1 Introdução a Banco de Dados Campo representação informatizada de um dado real / menor unidade

Leia mais

Informática. Informática. Valdir. Prof. Valdir

Informática. Informática. Valdir. Prof. Valdir Prof. Valdir Informática Informática Valdir Prof. Valdir Informática Informática PROVA DPF 2009 Julgue os itens subseqüentes, a respeito de Internet e intranet. Questão 36 36 - As intranets, por serem

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP 2ª Edição Juliano Niederauer Novatec Copyright 2009, 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Guia do usuário do Seagate Dashboard

Guia do usuário do Seagate Dashboard Guia do usuário do Seagate Dashboard Guia do usuário do Seagate Dashboard 2013 Seagate Technology LLC. Todos os direitos reservados. Seagate, Seagate Technology, o logotipo Wave e FreeAgent são marcas

Leia mais

FileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o

FileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 12 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 12 2007 2012 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Histórico Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Sistemas Integrados: racionalização de processos, manutenção dos

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo: Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

Estratégia para fazer cópias de segurança ( backup ) em nuvem

Estratégia para fazer cópias de segurança ( backup ) em nuvem 1 de 20 Estratégia para fazer cópias de segurança ( backup ) em nuvem Resolvi documentar uma solução que encontrei para fazer minhas cópias de segurança. Utilizo um software gratuito chamado Cobian Backup

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO O que é a Informática? A palavra Informática tem origem na junção das palavras: INFORMAÇÃO + AUTOMÁTICA = INFORMÁTICA...e significa, portanto, o tratamento da informação

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação ão? Como um sistema de gerenciamento

Leia mais

Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2

Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2 Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2 Artigo escrito por Walter Teixeira wteixeira.wordpress.com Sumário Cenário Proposto... 3 Preparação do Servidor SQL Server

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de

Leia mais

BlackBerry Internet Service. Versão: 4.5.1. Guia do usuário

BlackBerry Internet Service. Versão: 4.5.1. Guia do usuário BlackBerry Internet Service Versão: 4.5.1 Guia do usuário Publicado: 09/01/2014 SWD-20140109134951622 Conteúdo 1 Primeiros passos... 7 Sobre os planos de serviço de mensagens oferecidos para o BlackBerry

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

LÓGICA DE PROGRAMAÇÃO

LÓGICA DE PROGRAMAÇÃO Todos direitos reservados. Proibida a reprodução, mesmo parcial, por qualquer processo mecânico, eletrônico, reprográfico, etc., sem a autorização, por escrito, do(s) autor(es) e da editora. LÓGICA DE

Leia mais

Web Design Aula 11: Site na Web

Web Design Aula 11: Site na Web Web Design Aula 11: Site na Web Professora: Priscilla Suene priscilla.silverio@ifrn.edu.br Motivação Criar o site em HTML é interessante Do que adianta se até agora só eu posso vê-lo? Hora de publicar

Leia mais

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux 1. De que forma é possível alterar a ordem dos dispositivos nos quais o computador procura, ao ser ligado, pelo sistema operacional para ser carregado? a. ( ) Instalando um programa gerenciador de carregamento,

Leia mais

Principal: construir uma base de dados para produção de informações sobre internações hospitalares;

Principal: construir uma base de dados para produção de informações sobre internações hospitalares; Principal: construir uma base de dados para produção de informações sobre internações hospitalares; Específicos: - criar um banco de dados para armazenar registros sobre internações hospitalares; - produzir

Leia mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

Leia mais

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel Software de gerenciamento do sistema Intel do servidor modular Intel Declarações de Caráter Legal AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO RELACIONADAS AOS PRODUTOS INTEL, PARA FINS DE SUPORTE ÀS PLACAS

Leia mais

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger SISTEMA DE ARQUIVOS Instrutor: Mawro Klinger Estrutura dos Discos As informações digitais, quer sejam programas ou dados do usuário, são gravadas em unidades de armazenamento. O HD é uma unidade de armazenamento

Leia mais

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados.

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik Sense Desktop Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik, QlikTech,

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Atualização, backup e recuperação de software

Atualização, backup e recuperação de software Atualização, backup e recuperação de software Guia do Usuário Copyright 2006 Hewlett-Packard Development Company, L.P. Microsoft e Windows são marcas registradas da Microsoft Corporation nos EUA. As informações

Leia mais

Manual de Instalação e Configuração

Manual de Instalação e Configuração e Configuração MyABCM 4.0 Versão 4.00-1.00 2 Copyright MyABCM. Todos os direitos reservados Reprodução Proibida Índice Introdução... 5 Arquitetura, requisitos e cenários de uso do MyABCM... 7 Instalação

Leia mais

G-Bar IGV. Instalação Versão 4.0

G-Bar IGV. Instalação Versão 4.0 G-Bar Software para Gerenciamento de Centrais de Corte e Dobra de Aço IGV Software Interpretador/ Gerenciador/ Visualizador de dados digitais de projetos CAD-TQS Instalação Versão 4.0 Manual do Usuário

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Prova INSS RJ - 2007 cargo: Fiscal de Rendas

Prova INSS RJ - 2007 cargo: Fiscal de Rendas Prova INSS RJ - 2007 cargo: Fiscal de Rendas Material de Apoio de Informática - Prof(a) Ana Lucia 53. Uma rede de microcomputadores acessa os recursos da Internet e utiliza o endereço IP 138.159.0.0/16,

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais

Procedimentos para Instalação do SISLOC

Procedimentos para Instalação do SISLOC Procedimentos para Instalação do SISLOC Sumário 1. Informações Gerais...3 2. Instalação do SISLOC...3 Passo a passo...3 3. Instalação da Base de Dados SISLOC... 11 Passo a passo... 11 4. Instalação de

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A Guia de administração para a integração do Portrait Dialogue 6.0 Versão 7.0A 2013 Pitney Bowes Software Inc. Todos os direitos reservados. Esse documento pode conter informações confidenciais ou protegidas

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Informática para Concursos 1 leitejuniorbr@yahoo.com.br

Informática para Concursos 1 leitejuniorbr@yahoo.com.br QUESTÕES TRE / TJ FCC 2007 CARGO: TÉCNICO JUDICIÁRIO ÁREA QUESTÃO 11 -. Com relação a hardware, é correto afirmar que: (A) Computadores com placas-mãe alimentadas por fontes ATX suportam o uso do comando

Leia mais

Qual servidor é o mais adequado para você?

Qual servidor é o mais adequado para você? Qual servidor é o mais adequado para você? Proteção de dados Tenho medo de perder dados se e o meu computador travar Preciso proteger dados confidenciais Preciso de acesso restrito a dados Acesso a dados

Leia mais

MANUAL E DICAS ASSISTENTE VIRTUAL (AV) ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 POR

MANUAL E DICAS ASSISTENTE VIRTUAL (AV) ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 POR MANUAL E DICAS DO ASSISTENTE VIRTUAL (AV) POR ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 ÍNDICE Introdução...3 Requisitos e Restrições do Assistente...3 Diferenças da Versão

Leia mais

Microsoft Internet Explorer. Browser/navegador/paginador

Microsoft Internet Explorer. Browser/navegador/paginador Microsoft Internet Explorer Browser/navegador/paginador Browser (Navegador) É um programa que habilita seus usuários a interagir com documentos HTML hospedados em um servidor web. São programas para navegar.

Leia mais

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Abordagem geral Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br Em primeiro plano, deve-se escolher com qual banco de dados iremos trabalhar. Cada banco possui suas vantagens,

Leia mais

GBD. Introdução PROF. ANDREZA S. AREÃO

GBD. Introdução PROF. ANDREZA S. AREÃO GBD Introdução PROF. ANDREZA S. AREÃO Sistema de arquivos X Sistemas de Banco de Dados Sistema de arquivos Sistema de Banco de Dados Aplicativos Dados (arquivos) Aplicativos SGBD Dados (arquivos) O acesso/gerenciamento

Leia mais

Bem-vindo à apresentação do SAP Business One.

Bem-vindo à apresentação do SAP Business One. Bem-vindo à apresentação do SAP Business One. Neste tópico, responderemos à pergunta: O que é o Business One? Definiremos o SAP Business One e discutiremos as opções e as plataformas disponíveis para executar

Leia mais

Banco de Dados. Prof. Dr. Rogério Galante Negri

Banco de Dados. Prof. Dr. Rogério Galante Negri Banco de Dados Prof Dr Rogério Galante Negri Tradicionalmente O armazenamento dos dados utilizava arquivos individuais, sem nenhum relacionamento Cada programa utilizava seu próprio sistema de arquivo

Leia mais

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014 NoSQL Cintia Freitas de Moura BCC 441 Banco de Dados II / 2014 Origem: O termo NoSQL foi usado pela primeira vez em 1998, como o nome de um banco de dados relacional de código aberto que não possuía um

Leia mais

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES TRANSFORMANDO DADOS EM INFORMAÇÕES Em geral, parece que os computadores nos entendem porque produzem informações que nós entendemos. Porém, tudo o que fazem é reconhecer dois estados físicos distintos

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

MANUAL DO USUÁRIO. Software de Ferramenta de Backup

MANUAL DO USUÁRIO. Software de Ferramenta de Backup MANUAL DO USUÁRIO Software de Ferramenta de Backup Software Ferramenta de Backup Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. Este manual serve como referência para

Leia mais

Microsoft Lync Manual de Instalação e Uso

Microsoft Lync Manual de Instalação e Uso Microsoft Lync Manual de Instalação e Uso Sumário Introdução_... 3 Detalhamento_... 5 Importação_... 8 Funcionalidades na Intranet_... 13 Geração de nova senha... 14 Lembrete de expiração da senha... 15

Leia mais

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5 Para entender bancos de dados, é útil ter em mente que os elementos de dados que os compõem são divididos em níveis hierárquicos. Esses elementos de dados lógicos constituem os conceitos de dados básicos

Leia mais

CA ARCserve Backup PERGUNTAS MAIS FREQUENTES: ARCSERVE BACKUP R12.5

CA ARCserve Backup PERGUNTAS MAIS FREQUENTES: ARCSERVE BACKUP R12.5 PERGUNTAS MAIS FREQUENTES: ARCSERVE BACKUP R12.5 CA ARCserve Backup Este documento aborda as perguntas mais freqüentes sobre o CA ARCserve Backup r12.5. Para detalhes adicionais sobre os novos recursos

Leia mais