domingo, 24 de janeiro de 2010

Downloads

Aqui você encontra alguns linkes redirecionando de fontes seguras para donwloads de Banco de Dados.
  • Migrações de Banco - (Não estou disponibilizando aqui o links para donwloads porque detalhei eles melhores em outro tópico so para Migrações de Banco bom ai estão eles no link os Softwares para você instalar e Migrar os Dados);
  • PostgreSQL - (Alguns Links abaixo);
PostgreSQL - http://www.postgresql.org/ (The world's most advanced open source database)
  • FirebirdSQL - (Alguns links abaixo);
  • MySQL - (Alguns links abaixo);
MySQL - Aqui você encontra todas versões e para qualquer plataforma e qual tipo
MySQL Community Server - Aqui você irá encontrar documentações para serviços e suporte MySQL
MySQL Embedded Server - O MySQL Embedded Server é Database uma escolha mais popular para OEMs/ISVs que pretendem uma solução de bases de dados relacional fiável e de alta performance
MySQL Enterprise - MySQL Enterprise Server é a versão mais confiável, segura e atualizada do MySQL. De custo reduzido para implementação de E-commerce, Processamento de Transações On-Line (OLTP) e aplicações de Data Warehousing multi-terabyte
MySQL Cluster - MySQL Cluster combina o banco de dados open source mais popular com uma arquitetura de cluster tolerante à falhas que permite implementar aplicações de banco de dados de missão crítica com até 99.999% de disponibilidade
MySQL Workbench (GUI Tool) - Ferramenta de designer visual para bancos de dados
MySQL Proxy - Permite monitorar, analizar e transformar as comunicações
ConnectorsDriver - para desenvolvedores que permite aplicativos a acessarem bancos de dados em MySQL.
  • SQLite - (link do programa
SQLite3.6.13 - Banco de Bados compacto útil para testes e desenvolvimento. Projeto de código aberto e possui uma interface intuitiva. Opensource Código livre (Grátis).

sábado, 23 de janeiro de 2010

Novas Tendências na Área de Banco de Dados

Olá pessoal fiquei um bom tempo ausente mas hoje estou devolta e vou apresentar algumas Tendências na Area de Banco de Dados. Algumas das idéias que citarei já existem de alguma forma nos produtos atuais, outras estão encaminhando para a implementação e algumas são puramente idéias teóricas que talvez nunca vinguem. Por isso recomendo a leitura com cuidado, pois algumas destas tendências podem ser enquadradas na área de futurologia. Bom vamos lá né...

Técnicas de Controle de Concorrências

Os Bancos de Dados naturalmente precisam de alguma técnica para controlar a concorrência. Desde o início desta área a técnica que mais tem sido utilizada é o lock, presente tanto no SQL Server como o Oracle. Denominada técnica pessimista, o locking permite o acesso exclusivo de recursos a somente um usuário por vez.

Porém existem outras técnicas mais interessantes, que são muito utilizadas na área de sistemas colaborativos síncronos, como aplicações groupware. Um exemplo disso é o uso do MVCC (
Multi Version Concurrency Control) que já é utilizado no PostgreSQL. Nesta técnica otimista cada usuário consegue trabalhar com a sua versão do registro que posteriormente será sincronizada. 

Existem também outros algoritmos que talvez sejam utilizados em banco de dados, como o OT (Operational Transformations), dOPT (distribtuted Operational Transformation) e alguns algoritmos híbridos que utilizam técnicas otimistas e pessimistas. Estes algoritmos híbridos permite o uso de locks dinâmicos, múlti-granulares, hierárquicos e síncronos. Porém estas idéias estão implementadas apenas em protótipos descritos em papers da área acadêmica.

Melhoria da tecnologia de índices

Índices são objetos extremamente importantes para o Banco de Dados, pois eles são os responsáveis por acelerar o tempo de execução de instruções. Apesar de termos visto muita evolução nesta área, como índices para views, uso paralelo de índices e criação de índices a partir de expressões ou de apenas alguns valores de chaves, ainda existem muitas melhorias que podem ser implementadas.

Neste sentido as pesquisas na área tem se voltado para o modo de armazenamento dos índices. Em geral os bancos de dados atuais utilizam alguma variação da estrutura de árvores binária para armazenar e percorrer os valores dos índices. Porém uma tendência forte para esta tecnologia é utilizar outra forma de armazenamento dos valores das chaves. Vejam por exemplo o Oracle: você pode especificar vários tipos de armazenamento do índices que incluem índices BITMAP, InterMEDIA/Text Indexes e outros. Em geral esta tecnologia tem sido impulsionada pelos novos tipos de dados armazenado no banco que requerem tratamento especial, como dados geográficos e dados voltados para a área de biotecnologia.

Além da nova forma de armazenamento existe também a tendência de aproveitar ambientes multi-núcleo, clusterizados, replicados, virtuais e até em grid para armazenar, alterar e consultar índices. Mais uma vez, os bancos de dados atuais ainda estão apenas engatinhando nesta área.

Evolução da linguagem SQL

Muito tem-se falado a respeito da evolução da linguagem. Apesar de tudo que tenho ouvido a respeito de mecanismos de persistência, LINQ e Banco de Dados Relacionais Orientados e Objetos e outras inovações, a linguagem SQL continua firma e forte. Porém podemos classificar as tendências relacionadas à evolução da linguagem SQL em dois tipos: melhorias na linguagem em si e no modo que ela é utilizada.

A linguagem SQL, em geral, se baseia muito no padrão SQL, que vêm evoluindo. Nas últimas versões temos cada vez mais cláusulas, sintaxes, operadores e outras funcionalidades que são implementadas nos Bancos Dados. O Oracle, por exemplo, possui a sintaxe bem enxuta mas que pode ser estendida pelos seus vários pacotes PL/SQL. Já o SQL Server está se dirigindo para a utilização de outras linguagens dentro do banco, devido à integração com o Framework .NET, ao invés de modificar muito a linguagem SQL. Em geral, os Bancos de Dados de código livre apresentam a conformidade com o padrão e não possuem muita variação dele.

Aqui vale a pena citar algumas alternativas. Além da evolução do SQL, e de seus padrões irmãos voltados para OLAP, como o MDX (Multidimensional Expressions), temos outras idéias interessantes.

Como exemplo de outras idéias interessantes posso citar: 

  • O uso de instruções parecidas com o SQL voltadas para Data Mining;
  • A linguagem OSQL (Object Query Language);
  • O uso de Lógica Fuzzy diretamente em consultas;
  • Técnicas para a abreviação de joins e outras cláusulas que podem ser inferidas diretamente a partir do modelo de dados;
  • Consultas e instruções específicas para o tratamento de dados temporais; 
  • Extensões e linguagens específicas para o tratamento de dados hierárquicos, semi-estruturados, acesso a repositório de regras (como no PROLOG) e também instruções específicas para processo de ETL (Extract, Transform, Load).

Do ponto de vista de como o SQL é utilizada várias idéias novas tem aparecido ao longo dos dados. Geralmente esta tendência está relacionada com novas interfaces gráficas ou técnicas que evitam o uso direto de uma instrução SQL. Um exemplo disso é o uso do Processamento Natural de Linguagem (PNL), que permite ao usuário fazer uma perguta mais natural em vez de formatá-la em uma linguagem SQL. Outra idéia é apresentar interfaces gráficas que permitem montar a consulta SQL diretamente.

A partir deste ponto de vista a tendência á cada vez mais tornar transparente para o usuário a linguagem SQL, pois o usuário contará com uma interface gráfica mais amigável para realizar sua consulta.

Recuperação de Dados

O conceito de Recuperação de Dados apresenta vários desafios. A idéia aqui é permitir que a recuperação de linhas, tabelas e outros objetos do Banco de Dados seja como a metáfora da lixeira do Windows ou do Mac, tudo que foi jogado fora pode ser recuperado rapidamente com apenas alguns cliques.

Nesta área o Oracle está apresentando algumas idéias interessantes. A partir da versão 9i foi colocado um mecanismo chamado de Time Machine. Este mecanismo permite consultar e recuperar dados passados de uma tabela facilmente, como se houvesse uma outra tabela contendo os dados. Por exemplo, imaginem o seguinte cenário: "são 11:00 da manhã na empresa e um usuário apagou registros de um pedido por engano". Como existem várias tabelas relacionadas ao pedido é preciso voltar todos os dados, inclusive chaves primárias, estrangeiras, relacionamentos, cálculos efetuados por Triggers e outros, no menor tempo possível. É claro que existe o backup, mas esta solução provavelmente vai envolver uma quantidade considerável de esforço e recursos. 

Para estes cenários que o Oracle implementou o recurso Time Mach
ine, que permite voltar os dados de um terminado ponto no tempo. Mas existe muitos outros conceitos e meios por trás disso, como Snapshot Databases, Transaction Time Databases, Valid Time Database, Bitemporal Database e uma linguagem própria chamada TSQL2. Por exemplo, com a linguagem TSQL2 poderíamos utilizar instrução para indicar que desejamos os dados de um momento específico de uma determinada tabela. Os exemplos abaixo mostram como fazer isso utilizando os conceitos de schemas e operadores bitemporais do TSQL2. Estes exemplos apresentados na Listagem 1 não podem ser executados nos bancos de dados atuais, pois são apenas parte de um protótipo acadêmico proposto por pesquisadores da área.

-- Especificando o schema antes de executar a instrução
SET SCHEMA DATE "2010-01-01"
SELECT * FROM DOCTOR
WHERE Name = "Elder Stroparo"

-- Especificando o operador bitemporal apenas para a entidade DOCTOR
SELECT * FROM DOCTOR
WHERE SCHEMA (DOCTOR) PRECEEDS DATE "2007-06-01"
 
-- Especificando schema e transação junto com operadores bitemporais
SET SCHEMA VALID DATE "2008-01-01"
AND TRANSACTION DATE "2007-01-01"
SELECT * FROM DOCTOR
WHERE VALID(DOCTOR) OVERLAPS DATE "2005-01-07"
AND TRANSACTION (DOCTOR) OVERLAPS DATE "2006-01-01"
Listagem 1. Exemplos de instruções TSQL2

Com estas tendências terminamos a primeira parte do artigo que aborda algumas tendências da área de Banco de Dados. No próximo artigo apresentaria mais algumas idéias e tendências que talvez representem as inovações futuras nos
Bancos de Dados que utilizamos atualmente.

Links

Aqui você encontra links de Sites oficiais e Blogs parceiros, e sites com conteúdo da Área de Informática que eu irei recomendar.

FirebirdSQL - Site oficial;

Linguagem de Programação - Um Blog legal sobre Programação em Geral;

MySQL - Site oficial;

PostgreSQL Brasil - Site oficial;

SQL.org - Site oficial;

Contato

Seu Nome:
Seu Email: (Obrigatório)
Sua Mensagem: (Obrigatório)

Skype: ElderStroparo Twitter: Profile Telefone: (42) 9959 - 3727 / (42)  3422 - 9161

quinta-feira, 8 de outubro de 2009

Banco de Dados Relacional


Bom um Banco de Dados Relacional é todo aquele banco de dados que segue o Modelo Relacional.

Bom vamos ver um pouco de uma forma mais detalhada de um Banco de Dados Relacional:

É um conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um banco de dados isso também entra em um termo também que é aplicável aos próprios dados, quando organizados dessa forma, ou a um Sistema Gerenciador de Banco de Dados Relacional (SGBDR) – do inglês Relational database management system (RDBMS) – um programa de computador que implementa a abstração Correto.

Por que usar um Banco de Dados Relacional?

  • Bom se você quizer ter mais conforto e menos esquenta cabeça é bom mas é o chato desenvolver os relacionamentos haha e o Bancos de Dados Relacionais foram desenvolvidos para prover acesso facilitado e eficaz aos dados, possibilitando que os usuários utilizassem uma grande variedade de abordagens no tratamento das informações. Pois, enquanto em um banco de dados hierárquico os usuários precisam definir as questões de negócios de maneira específica, iniciando pela raiz do mesmo, nos Bancos de Dados Relacionais os usuários podem fazer perguntas relacionadas aos negócios através de vários pontos.

    (E a linguagem padrão dos Bancos de Dados Relacionais é a Structured Query Language, ou simplesmente SQL, como é mais conhecida.)

Modelo Relacional

  • Acho que todo mundo sabe que um Banco de Dados Relacional segue o Modelo Relacional.Vou comentar um pouco do modelo ele contém uma arquitetura de um banco de dados relacional pode ser descrita de maneira informal ou formal. E na descrição informal estamos preocupados com aspectos práticos da utilização e usamos os termos tabela, linha e coluna. E na descrição formal estamos preocupados com a semântica formal do modelo e usamos termos como relação(tabela), tupla(linhas) e atributo(coluna) Entendido? haha
  • Tabelas (ou relações, ou entidades)
  • Registros (ou tuplas)
  • Colunas (ou atributos)
  • Chave

Relacionamentos

Relacionamento podemos começar a falar com o advento do Modelo de Entidades e Relacionamentos foi causada uma confusão entre os termos relação e relacionamento

Um Modelo Relacional, quando descrito de forma matemática, é definido como um modelo formado por relações (no sentido matemático) entre os domínios. Cada tupla é um elemento do conjunto relação isso ou seja com a relação é a tabela..

Então um relacionamento do Modelo de Entidades e Relacionamentos é uma associação entre entidades distintas. (um grande detalhe não há relação direta entre o nome relacionamento e o nome relação).

Isso tudo vem acarretar um porém que um relacionamento, do Modelo de Entidades e Relacionamentos é traduzido para a criação de atributos com chaves externas do Modelo Relacional. Esta tradução é feita ligando-se um campo de uma tabela X com um campo de uma tabela Y, por meio da inclusão do campo chave da tabela Y como um campo (conhecido como chave estrangeira) da tabela X. (Isso td por meio das chaves estrangeiras, é possível implementar restrições nos SGBDR)

Existem alguns tipos de relacionamentos possíveis no MER:

Um para um (1 para 1) - indica que as tabelas têm relação unívoca entre si. Você escolhe qual tabela vai receber a chave estrangeira;
Um para muitos (1 para N) - a chave primária da tabela que tem o lado 1 vai para a tabela do lado N. No lado N ela é chamada de chave estrangeira;
Muitos para muitos (N para N) - quando tabelas têm entre si relação n..n, é necessário criar uma nova tabela com as chaves primárias das tabelas envolvidas, ficando assim uma chave composta, ou seja, formada por diversos campos-chave de outras tabelas. A relação então se reduz para uma relação 1..n, sendo que o lado n ficará com a nova tabela criada.

(Os relacionamento 1 para 1 e 1 para N podem ser mapeados diretamente em chaves estrangeiras nas tabelas originais. Já o relacionamento N para N exige o uso de uma tabela auxiliar.)

segunda-feira, 27 de julho de 2009

mSQL (mini SQL)


Bom pessoal hoje estou postando sobre o banco de dados (BD) mSQL (ou mini SQL) é um SGBD de peso leve criado pela empresa Hughes Technologies Pty Ltd. Ele foi primeiramente desenvolvido em 1994 e encontra-se atualmente em sua versão 3.7 liberada em 8 de maio de 2005. A filosofia do mSQL baseia-se numa boa performance e eficiente uso de memória. Para isto por vezes o software deixou de incluir em sua API diversos recursos de um conjunto mais amplo do SQL comumente encontrando nos SGBDs corporativos, como Oracle, MS-SQL e DB2. A licença de uso do programa é proprietária e controlada pela Hughes Technologies Pty Ltd, para usa-lo tanto comercialmente como não-comercialmente o software deve ser comprado.

Este Banco de Dados assim como MySQL, mSQL eh um servidor de banco de dados amplamente difundido na Internet a mesma necessidade do uso de MySQL pode ser extendida para mSQL. Para um fucador, como eu havia dito antes, conhecer o maior numero de Servidores(Fazedores) eh imprescindivel  existem diversos outros, mas no mundo Unix, pelo que sei, quem mais domina eh MySQL, mSQL e ORACLE.

Espero que estejam gostando, estou disponibilizando o link abaixo para downloads da compra do produto quem estiver interessado está ai em breve estarei postando mais idéias e tópicos sobre todos os banco de dados possiveis.

Muito Obrigado

http://www.hughes.com.au/

segunda-feira, 29 de junho de 2009

Novo banco de dados online, Google Fusion Tables!!!

Eu andei pesquisando a respeito desse novo bando ele ainda está em fase experimental  vi artigos publicados a respeito na segunda-feira, 22 de junho de 2009, o Google apresentou uma nova plataforma para visualização de conjuntos de dados. Intitulado de Google Fusion Tables, ele difere do Google Spreadsheets porque possui capacidade para suportar enormes estruturas (100MB por tabela e 250MB por usuário).

Tabém o Google Fusion Tables permite convidar colaboradores para visualização e edição das tabelas, assim como mesclar informações. É possível também selecionar os níveis de compartilhamento com diferentes usuários, abrindo parte ou toda a tabela. A visualização pode ser realizada por meio de gráficos ou mapas.

Comentando melhor o Fusion Tables é banco de dados online com nova tecnologia que uniformiza diversos tipos de dados e promete economia às empresas. O Google lançou silenciosamente um novo banco de dados online com o objetivo de revolucionar o gerenciamento de dados. A idéia é driblar as limitações dos bancos de dados tradicionais e simplificar as operações de relacionamento de informações. O Google afirmou que, com a implementação em cloud computing, simplificará também a possibilidade de colaboração em grupos de dados. “Sem um jeito fácil de oferecer acesso a todos os colaboradores ao mesmo servidor, os dados são copiados e enviados por e-mail e FTP, resultando em várias versões que saem de sintonia rapidamente”, diz o anúncio do Google.


O Fusion Tables também oferece uma tecnologia de espaço de dados, conceito que existe desde os anos 90 e o Google, percebendo seu potencial, o desenvolve desde a compra da Transformic, em 2005, que é uma pioneira da tecnologia. O esquema de 'espaço de dados' tenta resolver o problema de vários tipos e formatos de dados nas empresas, que gastam muito em dinheiro e esforços para torná-los uniformes, com o objetivo de armazená-los e analisá-los em bases de dados convencionais.
Os 'espaços de dados' preveem um sistema que cria um índice para oferecer acesso a dados de vários tipos e formatos, resolvendo o problema que o Google chama de “Torre de Babel”. A tecnologia permite que o Google inclua, nas tabelas bidimensionais tradicionais de base de dados, uma terceira coordenada com elementos como reviews de produtos, posts e mensagens do Twitter, além de uma quarta ‘dimensão’ de atualizações em tempo real. “Agora temos um espaço com quatro dimensões onde podemos incluir novas perguntas para criar novos produtos e oportunidades de marketing”, diz o anúncio. “Se você é a IBM, a Microsoft e Oracle, seu pior pesadelo está vivo. O Google irá criar espaços de dados automaticamente e implementar novos tipos de pesquisas.”
O Fusion Tables é uma versão prévia do produto, e carrega a marca “Labs” de produto experimental do Google em breve novas noticias e informações do BANCO GOOGLE.


 Copyright © 2008-2010 All Right Reserved - Todos os Direitos Reservados Elder Stroparo