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

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

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

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

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

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

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

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

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

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

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Compartilhamento de Arquivos no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução...

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

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

Backup. jmcordini@hotmail.com

Backup. jmcordini@hotmail.com Backup jmcordini@hotmail.com Backups e restauração de dados Backup é uma das tarefas mais incômodas na administração de sistemas mas é sem dúvida uma das mais importantes. Backup é nossa última linha de

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

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

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

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

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

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 2.1 CONCEITO DE BIT O computador só pode identificar a informação através de sua elementar e restrita capacidade de distinguir entre dois estados: 0

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

www.neteye.com.br NetEye Guia de Instalação

www.neteye.com.br NetEye Guia de Instalação www.neteye.com.br NetEye Guia de Instalação Índice 1. Introdução... 3 2. Funcionamento básico dos componentes do NetEye...... 3 3. Requisitos mínimos para a instalação dos componentes do NetEye... 4 4.

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... 16 Passo a passo... 16 4. Instalação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

www.leitejunior.com.br 29/06/2012 14:30 Leite Júnior QUESTÕES CESPE BACKUP

www.leitejunior.com.br 29/06/2012 14:30 Leite Júnior QUESTÕES CESPE BACKUP QUESTÕES CESPE BACKUP QUESTÃO 01 - Analise as seguintes afirmações relativas a cópias de segurança. I. No Windows é possível fazer automaticamente um backup, em um servidor de rede, dos arquivos que estão

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

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

TRABALHO COM GRANDES MONTAGENS

TRABALHO COM GRANDES MONTAGENS Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura

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

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

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

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com Gerenciamento de Arquivos e Pastas Professor: Jeferson Machado Cordini jmcordini@hotmail.com Arquivo Todo e qualquer software ou informação gravada em nosso computador será guardada em uma unidade de disco,

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP)

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP) teste 1 Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP) Rafael Fernando Diorio www.diorio.com.br Tópicos - Atualizações e segurança do sistema - Gerenciamento do computador -

Leia mais

MULTIACERVO - VERSÃO 17.*

MULTIACERVO - VERSÃO 17.* MULTIACERVO - VERSÃO 17.* MANUAL PARA CONVERSÃO DA VERSÃO 16.* PARA 17.* CONTEÚDO: A) Procedimentos comuns para todas as arquiteturas B) Procedimentos exclusivos arquitetura Cliente/Servidor MS-SQL-SERVER

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS. PROGRAMA EMBRAPA DE MELHORAMENTO DE GADO DE CORTE MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS. MANUAL DE INSTALAÇÃO: 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS

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

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. 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 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

10 Dicas Eficazes Para Fazer Backup Online

10 Dicas Eficazes Para Fazer Backup Online 10 Dicas Eficazes Para Fazer Backup Online Luiz H. Reis Com mais de 20 anos em TI, e trabalhos realizados em grandes empresas, como Allen, Grupo Contax, Todo! e Rede D Or, especialidade atual em Backup,

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 Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

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

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014. Faculdade de Tecnologia SENAC Goiás Disciplina: Gerenciamento de Rede de Computadores : Goiânia, 16 de novembro de 2014. Faculdade de Tecnologia SENAC Goiás Professor: Marissol Martins Alunos: Edy Laus,

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Portal Sindical. Manual Operacional Empresas/Escritórios

Portal Sindical. Manual Operacional Empresas/Escritórios Portal Sindical Manual Operacional Empresas/Escritórios Acesso ao Portal Inicialmente, para conseguir acesso ao Portal Sindical, nos controles administrativos, é necessário acessar a página principal da

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

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05

Leia mais

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1 TUTORIAL PRÁTICO SOBRE Git por Djalma Oliveira Versão 1.1 "Git é um sistema de controle de revisão distribuida, rápido e escalável" (tradução rápida do manual). Basicamente é

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

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO www.origy.com.br UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO CARACTERÍSTICAS: E-MAIL IMAP * Acesso simultâneo e centralizado, via aplicativo, webmail e celular/smartphone * Alta capacidade de armazenamento

Leia mais

Omega Tecnologia Manual Omega Hosting

Omega Tecnologia Manual Omega Hosting Omega Tecnologia Manual Omega Hosting 1 2 Índice Sobre o Omega Hosting... 3 1 Primeiro Acesso... 4 2 Tela Inicial...5 2.1 Área de menu... 5 2.2 Área de navegação... 7 3 Itens do painel de Controle... 8

Leia mais

Como acessar o novo webmail da Educação? Manual do Usuário. 15/9/2009 Gerencia de Suporte, Redes e Novas Tecnologias Claudia M.S.

Como acessar o novo webmail da Educação? Manual do Usuário. 15/9/2009 Gerencia de Suporte, Redes e Novas Tecnologias Claudia M.S. Como acessar o novo webmail da Educação? Manual do Usuário 15/9/2009 Gerencia de Suporte, Redes e Novas Tecnologias Claudia M.S. Tomaz IT.002 02 2/14 Como acessar o Webmail da Secretaria de Educação? Para

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

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

Leia mais

Instalando software MÉDICO Online no servidor

Instalando software MÉDICO Online no servidor Instalando software MÉDICO Online no servidor A máquina denominada Servidora é a que armazenará o banco de dados do software (arquivo responsável pelas informações inseridas), compartilhando com as demais

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

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

Permissões de compartilhamento e NTFS - Parte 1

Permissões de compartilhamento e NTFS - Parte 1 Permissões de compartilhamento e NTFS - Parte 1 Autor: Júlio Battisti - Site: www.juliobattisti.com.br Segurança, sem dúvidas, é um dos temas mais debatidos hoje, no mundo da informática. Nesse tutorial

Leia mais

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

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

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

Leia mais

PROVA DE NOÇÕES DE MICROINFORMÁTICA

PROVA DE NOÇÕES DE MICROINFORMÁTICA 18 PROVA DE NOÇÕES DE MICROINFORMÁTICA AS QUESTÕES DE 41 A 60 CONSIDERAM O ESQUEMA PADRÃO DE CONFIGURAÇÃO DO SISTEMA OPERACIONAL MICROSOFT WINDOWS ME E DAS FERRAMENTAS MICROSOFT WINDOWS EXPLORER, MICRO-

Leia mais

Relatório de Instalação do Windows 2003 Server

Relatório de Instalação do Windows 2003 Server Curso Profissional de Gestão e Programação de Sistemas Informáticos Relatório de Instalação do Windows 2003 Server Instalação do Windows 2003 Server quarta-feira, 3 de dezembro de 2013 Índice Introdução...

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

ÍNDICE 1 INTRODUÇÃO. 04 2 ACESSO AOS SISTEMAS. 05 3 DOCUMENTOS MANUTENÇÃO. 08 08 3.2 10 3.3 OCR. 11 4 REGISTRO DE DOCUMENTOS. 13 5 GERANDO DOCUMENTOS

ÍNDICE 1 INTRODUÇÃO. 04 2 ACESSO AOS SISTEMAS. 05 3 DOCUMENTOS MANUTENÇÃO. 08 08 3.2 10 3.3 OCR. 11 4 REGISTRO DE DOCUMENTOS. 13 5 GERANDO DOCUMENTOS ÍNDICE 1 INTRODUÇÃO... 04 2 ACESSO AOS SISTEMAS... 05 3 DOCUMENTOS MANUTENÇÃO... 08 3.1Tipos de Documentos... 08 3.2 Relações entre Documentos... 10 3.3 OCR... 11 4 REGISTRO DE DOCUMENTOS... 13 5 GERANDO

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

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

Manual de Atualização Versão 3.6.4.

Manual de Atualização Versão 3.6.4. Manual de Atualização Versão 3.6.4. Sumário 1. AVISO... 1 2. INTRODUÇÃO... 2 3. PREPARAÇÃO PARA ATUALIZAÇÃO... 3 4. ATUALIZANDO GVCOLLEGE E BASE DE DADOS... 7 5. HABILITANDO NOVAS VERSÕES DO SISTEMA....

Leia mais

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre

Leia mais

Introdução. O Windows Server 2003 está dividido em quatro versões:

Introdução. O Windows Server 2003 está dividido em quatro versões: Introdução Este é um tutorial de como Instalar o Windows Server 2003, este é o primeiro de alguns tutoriais que farei para ambientes de servidores Windows. A instalação do Windows Server 2003 segue o mesmo

Leia mais

Manual do usuário. Mobile Auto Download

Manual do usuário. Mobile Auto Download Manual do usuário Mobile Auto Download Mobile Auto Download Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. Este manual serve como referência para a sua instalação e

Leia mais

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG mhollweg@terra.com.br BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG mhollweg@terra.com.br BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS CONTEÚDO HARDWARE - 2 AULAS SISTEMA OPERACIONAL - 2 AULAS INFORMÁTICA Prof.: MARCIO HOLLWEG mhollweg@terra.com.br APLICATIVOS OFFICE - 3 AULAS INTERNET - 1 AULA REDE - 2 AULA SEGURANÇA - 1 AULA BANCO DE

Leia mais

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 MongoDB Diego Fraga - 083746 Gabriel Henrique - 083771 Lauro Henrique - 074259 O que é MongoDB? - MongoDB é uma ferramenta de

Leia mais

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,

Leia mais

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar

Leia mais

MDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon

MDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon MDaemon GroupWare plugin para o Microsoft Outlook Trabalhe em Equipe Usando o Outlook e o MDaemon Versão 1 Manual do Usuário MDaemon GroupWare Plugin for Microsoft Outlook Conteúdo 2003 Alt-N Technologies.

Leia mais

Manual do Google agenda. criação e compartilhamento de agendas

Manual do Google agenda. criação e compartilhamento de agendas Manual do Google agenda criação e compartilhamento de agendas 1 O que é o Google Agenda? Google Agenda é um serviço de agenda on line gratuito do Google, onde você pode anotar compromissos e tarefas, organizando

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D) Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 1 AULA TEÓRICA 2

Leia mais

Instalando o Internet Information Services no Windows XP

Instalando o Internet Information Services no Windows XP Internet Information Services - IIS Se você migrou recentemente do Windows 95 ou 98 para o novo sitema operacional da Microsoft Windows XP, e utilizava antes o Personal Web Server, deve ter notado que

Leia mais

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO Criação de Conta de Usuário...03 Edição da Conta de Usuário...10 Download do Backup Online Embratel...10 Descrição dos Conjuntos de Cópia de Segurança...19

Leia mais

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. 1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar

Leia mais

AULA 06 CRIAÇÃO DE USUÁRIOS

AULA 06 CRIAÇÃO DE USUÁRIOS AULA 06 CRIAÇÃO DE USUÁRIOS O Windows XP fornece contas de usuários de grupos (das quais os usuários podem ser membros). As contas de usuários são projetadas para indivíduos. As contas de grupos são projetadas

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

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

Configurando o IIS no Server 2003

Configurando o IIS no Server 2003 2003 Ser ver Enterprise Objetivo Ao término, você será capaz de: 1. Instalar e configurar um site usando o IIS 6.0 Configurando o IIS no Server 2003 Instalando e configurando o IIS 6.0 O IIS 6 é o aplicativo

Leia mais

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO Serviços de impressão Os serviços de impressão permitem compartilhar impressoras em uma rede, bem como centralizar as tarefas de gerenciamento

Leia mais

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco). Permissões de compartilhamento e NTFS - Parte 2 Criando e compartilhando uma pasta - Prática Autor: Júlio Battisti - Site: www.juliobattisti.com.br Neste tópico vamos criar e compartilhar uma pasta chamada

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais