nov
03
2009
0

SQL Server 2008: O que há de novo (Parte 2)

Neste 2o artigo sobre o que há de novo no SQL 2008, falarei sobre os novos recursos disponíveis para o desenvolvimento de aplicações.

É fato de que em muitos desenvolvimentos o cuidado na construção de consultas ou de objetos no banco de dados não é uma prioridade. Até por que as linguagens orientadas à objeto e o transact-sql pertencem a universos separados. As melhorias presentes no SQL 2008 permitirão que um DA ou DBA construam estruturas consistentes no banco de dados ao mesmo tempo que expõem aos desenvolvedores entidades e objetos para a construção de aplicações. Basta agora que os arquitetos de soluções e DAs/DBAs se entendam e definam seus papéis de forma a garantir a construção de soluções de qualidade.

Vamos lá?

Dynamic Development
 
Grouping Set: Nova sintaxe da cláusula GROUP BY (compatível com a ANSI SQL 2006) e alternativa a CUBE e ROLLUP que simplifica a escrita e melhora o desempenho de relatórios que possuem agregações. É equivalente a utilizar UNION ALL para retornar um resultado de múltiplos SELECTs.
Para visualizar como ficariam os scripts SQL utilizando GROUPING SET, vale a pena acessar este post do Craig Freedman (http://blogs.msdn.com/craigfr/archive/2007/10/11/grouping-sets-in-sql-server-2008.aspx)
 
MERGE Operator: Em uma única operação é possível realizar operações de INSERT ou UPDATE, o que é facilita a atualização de data warehouses.  As condições são determinadas pelo usuário no momento da construção do procedimento.
Para visualizar como ficariam os scripts SQL utilizando o operador MERGE, vale a pena acessar este post do Bruno Terkaly (http://blogs.msdn.com/brunoterkaly/archive/2008/11/12/sql-server-2008-merge-capability.aspx)
 
LINQ: Permite que os desenvolvedores pesquisem bancos de dados utilizando C# ou VB.NET e não somente T-SQL.
A biblioteca do LINQ no MSDN possui todo o roadmap necessário para a utilização deste novo recurso: http://msdn.microsoft.com/en-us/library/bb386976.aspx
 
Table-Valued Parameters (TVP): Permite que seja informada uma tabela para ser utilizada como parâmetro para execução de uma stored procedure, o que permite as mesmas trabalhem não apenas com um, mas com uma lista de parâmetros. Isto reduzirá a complexidade para os desenvolvedores trabalharem com datasets.
Para visualizar como ficariam os scripts SQL utilizando TVP, vale a pena acessar este post do Ravi S.Maniam (http://blogs.msdn.com/manisblog/archive/2007/09/23/table-valued-parameters-sql-server-2008.aspx)
 
ADO.NET Entity Framework and the Entity Data Model: Permite que desenvolvedores trabalhem diretamente com objetos (ou entidades) com LINQ  no banco de dados ao invés de pesquisá-lo com T-SQL.  Isto reduzirá a complexidade dos desenvolvimentos e permitirá que inclusive o esquema do banco de dados seja alterado sem que nenhuma linha de código seja reescrita.
Para maiores informações, é interessante consultar o link do time de desenvolvimento do ADO.NET: http://blogs.msdn.com/adonet/default.aspx
 
Synchronization Services for ADO.NET: permite a construção de aplicações OCS (build occasionally connected system) que trabalhem com cópias locais de dados que depois serão sincronizadas com um servidor ou com aplicações intermediárias. A atualização dos dados é incremental, o que diminuirá o volume de dados transmitido e o tempo de sincronização.
Espero que aplicações com o Microsoft Outlook Client for Dynamics CRM tirem vantagens sobre nesses novos recursos o mais rápido possível J.
 
CLR Improvements: houve diversas melhorias na funcionalidade. UDAs (User-defined aggregate) e UDTs (User-defined types) agora suportam 2GB e as table-valued functions suportam a cláusula ORDER.
 
ADO.NET Data Services:  provê a infraestrutura necessária para aplicações web disponibilizarem dados como um serviço que pode ser consumido por aplicações client.
A biblioteca do LINQ no MSDN possui todo o roadmap necessário para a utilização deste novo recurso: http://msdn.microsoft.com/en-us/library/cc907912.aspx
  
out
25
2009
0

SQL Server 2008: O que há de novo (Parte 1)

Diferentemente de outros softwares (como sistemas operacionais), em que os novos recursos são mais tangíveis ao público,  a troca de versão de um SGBDR requern uma leitura atenta à toda documentação disponibilizada. Isto por que novos recursos ou melhorias podem interessar à diferentes áreas de uma empresa, de desenvolvedores à usuários finais. O responsável pela decisão de realizar o upgrade deve estudar e compartilhar suas conclusões com todos os interessados, para que um investimento tão importante (e alto) como este seja realizado de forma a trazer benefícios adequados.
 
 No caso do SQL 2008, a Microsoft apresenta melhoras expressivas em 03 pontos que podem trazer uma grande diminuição no TCO (Total Cost of Ownership) para o armazenamento de dados ou desenvolvimento, dependendo do perfil da empresa:
  1. Gerenciamento: agora é possível definir políticas de forma centralizada e aplicá-las para um ou mais servidores, além de monitorar o compliance com as mesmas. Extremamente importante para provedores de serviço ou empresas com grandes datacenters. Houve  melhoria nas ferramentas de monitoramento e na alocação de recursos do servidor à objetos do banco de dados;
  2. Desenvolvimento:a adoção do LINQ,  ADO.NET Entity Framework e melhoras nos mecanismos de syncronização permitirão que DAs e DBAs possam criar estruturas robustas no banco de dados e ainda assim disponibilizar entidades e objetos que serão consumidos pelos desenvolvedores.Extremamente importante para empresas desenvolvedoras de soluções em software;
  3. Apresentação: Melhoras no Report Server e SSAS (Analysis Server) permitirão que os dados sejam disponibilizados para o usuário final com um custo de desenvolvimento e complexidade bem menores do que os atuais.
Eu começo esta série de artigos pela plataforma de dados (Enterprise Data Plataform). Na semana que vem discutirei sobre o desenvolvimento dinâmico com LINK e ADO.NET e na sequência apresenterei os novos tipos de dados e melhorias no XML. Por último apresentarei as melhorias do Report Server, Analysis Server e Integration Services.
 
 
Enterprise Data Platform
Policy-Based Management / Server Group Management: é possível definir políticas para gerenciar a segurança, opções de bancos de dados, convenções de nomes de objetos e outras configurações de forma centralizada para um ou mais servidores. É possível ainda verificar se um determinado servidor está atendendo as políticas estabelecidas.  O mecanismo responsável pelo gerenciamento é o DMF (Declarative Management Framework).
 
Performance Data Collection (Data Collector):Através do Data Collector e do PerformanceDashboard tool você pode coletar e analisar os contadores de desempenho realizando comparações históricas e até mesmo configurar polices para coletar informações mais detalhadas quando um determinado evento ocorre, como por exemplo: alta utilização da CPU. Os dados referentes a performance são  armazenados em um datawarehouse específico.
 
Data Compression: é possível comprimir os dados armazenados em uma taxa que vai de 2 até 7 vezes. É um recurso que pode ser ativado sem necessidade de rever código das aplicações.
 
Resource Governor: possibilita a criação de grupos que consumirão recursos do servidor. Com isso é possível monitorar ou limitar o consumo de recursos para os mesmos.
 
Transparent Data Encryption: os arquivos do banco de dados são protegidos e os dados só podem ser descriptografados por um agente autorizado. A criptografia pode ser implementada em nível de célula, linha ou banco de dados. Não é preciso rever código das aplicações
 
External Key Management / Extensible Key Management: Os certificados e chaves podem ser armazenados em HSMs(Hardware Security Modules), o que permite uma arquitetura mais robusta de segurança e compliance com padrões de segurança como o PCI DSS (Payment Card Industry Data Security Standard)  
 
Data Auditing: no SQL 2005 só era possível através da construção de triggers, agora é possível auditar alterações de dados e do servidor SQL nativamente. Isto é feito através do CDC (Change Data Capture): insert, update e deletes são armazenados em tabelas que podem ser facilmente consultadas pelos usuários.
 
Hot-Add CPUs and Hot-Add Memory:  é possível adicionar CPUs e memória adicionais ao SQL Server sem ter que interromper o serviço ou limitar o acesso dos usuários, mas apenas na versão 64 bits.
 
Streamlined Installation / Upgrade Advisor: o processo de instalação foi melhorado e se tornou mais ágil. O Upgrade Advisor analisa a instalação de servidores locais e remotos em busca de problemas que possam impedir o upgrade.
 
Partition Aligned Indexed Views: uma view pode ser criada para seguir o esquema de particionamento da tabela à qual ela referencia, e nesse caso ela não precisa ser mais eliminada quando o esquema de particionamento da tabela for alterado.
 
Backup: Controle de quantidade de pessoas que podem restaurar um backup. Além disso, o mesmo agora pode ser comprimido.
 
Extended Events: disponibiliza informações detalhadas sobre eventos do SQL Server, que podem ser vinculados a eventos do Windows e assim reduzir o tempo para identificar e resolver problemas complexos relacionados à aplicação.
 
High Avaibility:
Agora é possível aplicar compressão na comunicação entre os parceiros do Mirror. O redirecionamento dos clientes no caso de falha é transparente.
Caiu a limitação de apenas um drive em cada participante do cluster, além do SQL Server agora suportar mais do que 16 nós.
A replicação não precisa mais ser interrompida quando é necessário adicionar um novo nó.
 
Até mais ! : )

Powered by WordPress. Theme: TheBuckmaker. P2P Kredit, Wasserbelebung