Traga seu banco de dados para o ALM (Lightning Talk - Trilha ALM)

2.133 visualizações

Publicada em

Palestra "Traga seu banco de dados para o ALM (Lightning Talk - Trilha ALM)"

Evento: TDC 2011 (06a 10/07/2011)

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.133
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.132
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • The list of SQL objects supported by DAC projects is available on MSDN: http://msdn.microsoft.com/en-us/library/ee210549(SQL.105).aspx
  • DAC projects are designed to support “Tier 1” databases. That is, small databases. DACs are limited to 1000 objects (Tables, Views, Stored Procedures) and the build output (.dacpac) is limited in size 50 MB.Database projects have no limitations in terms of number of objects or the size of the build output artifact (.dbschema). The only limitation is memory and disk space.An important consideration when choosing between DAC and SQL Database projects is the amount of data stored in the database. When updating an existing DAC all of the data in the previous version of the database is copied to the new version of the DAC. This can have significant performance implications because the previous version of the database is take off line during the data move. For this reason it is recommended that DAC’s never contain more than 3 GB of data. SQL database projects are updated “in place.” That is, existing objects are modified using ALTER statements if the SQL engine allows it. Data is only copied of the SQL engine does not support ALTERing an object to implement the schema change defined by the developer. For databases with a significant amount of data this results in significant performance benefits.
  • Syntactic Validation – Syntactic validation is performed by the parser. For example, an error will be generated by the use of undefined keywords or identifiers.Semantic Validation – Semantic validation is done by the interpreter as well as static code analysis. For example, SQL does not allow an XML index to be defined on an XML column_set column. While this is syntactically legal it is semantically incorrect. The “Maintain compatibility between types” static code analysis rule will detect if an operation might result in data loss due to type conversion.Database Version Control – DAC implements the ability to track and manage different versions of a DAC. This is analogous to managing different versions of a managed code assembly.
  • Visual Studio Premium and Ultimate users get the full functionality of the various ALM features. Schema Compare, Data Compare and Refactoring are not supported in the Professional SKU. Professional SKU licensees may only execute existing Unit Tests, Static Code Analysis rules and Data Generation plans. These unit tests, SCA rules and DGen plans must have been implemented by a developer using the Premium or Ultimate SKU.
  • To give you an idea of the types of customer applications we’re targeting for the Kilimanjaro release, we came up with this picture. From left to right, the application sophistication increases and from bottom to top the number of applications increase.So in the bottom right, we have very large but very few line-of-business applications, these typically have dedicated resources managing them. In the opposite corner, the top left, we see 100-1,000s of small apps, sometimes called departmental apps. It’s these smaller apps that are growing in numbers at a faster rate than the DBAs can effectively manage. <click> This is where our focus is today.
  • Traga seu banco de dados para o ALM (Lightning Talk - Trilha ALM)

    1. 1. TDC 2011 – Trilha ALM<br />Tragaseubanco de dados para o ALM<br />Igor Abade V. Leite<br />@igorabade<br />Microsoft MVP – Visual Studio ALM<br />
    2. 2. O Problema<br />Historicamentebancos de dados têmsidoimplementadosusandoferramentas e processosdesconexos do desenvolvimento de aplicações<br />Difícil de implementarcontrole de mudança<br />
    3. 3. O Problema<br />Difícil de integrar o desenvolvimento de BDs naGestão do Ciclo de Vida de Aplicações (Application Lifecycle Management - ALM)<br />Hojeemdia o mesmodesenvolvedortipicamenteimplementa a camada de acesso a dados e o própriobanco de dados<br />
    4. 4. A Solução<br />Estabelecer e suportar um Ciclo de Vida de Desenvolvimento de Bancos de Dados (Database Development Lifecycle - DDLC)<br />Ferramentas, metodologias e processospara o desenvolvedor de BDs<br />Integrar o DDLC aoresto do ciclo de ALM<br />
    5. 5. Database Development Lifecycle (DDLC)<br />Desenvolvabancos de dados usandoferramentas e processossimilares a desenvolvimento de aplicações<br />Escrevacódigo T-SQL direto no Visual Studio<br />Deixe o desenvolvedordeclarar o queelequer – CREATE TABLE Clientes(…);<br />A ferramentaque “se vire” paradescobrircomocriar/modificar o banco de dados<br />Use as mesmasferramentas de autoria e gestão de código<br />Controle de Versão, Refactoring, Análise de Código, Testes de Unidade, Automação de Build<br />
    6. 6. Integrando DDLC com ALM<br />Implemente as mudançasemcadacamada da aplicação a partir da mesmaSolução do Visual Studio<br />Use Controle de Versão (ex. TFS) paraacompanhar e gerenciarmudançasfeitas a cadacamada<br />Use Testes de Unidadeparaverificarautomaticamente as interações entre aplicação/camada de negócios e o banco de dados<br />
    7. 7. Roadmap<br /><ul><li>Suporte a SQL Azure
    8. 8. Designers Visuais
    9. 9. Mecanismounificado de implantação
    10. 10. Suporte a apps missãocrítica
    11. 11. Suportecompleto a objetos SQL
    12. 12. Melhorias no sistema de projetos
    13. 13. Melhoriasnasfuncionalidades de ALM
    14. 14. Introdução a projetosData-tier Application
    15. 15. ProjetosData-tier Application (DAC) e Database (SQL) operamSxS</li></ul>VS 2010<br />VS 2005<br />VS 2008 “GDR”<br />vNext<br /><ul><li>Suporte a SQL 2008 R2
    16. 16. SQL IntelliSense
    17. 17. Suporte a bancos de dados de terceiros
    18. 18. Controleoffline de mudanças
    19. 19. SQL 2000/2005
    20. 20. ALM parabancos de dados</li></ul>SQL Server Development Tools <br />(SSDT) Codename “Juneau”<br />VisãoparavNext<br />Combinar o melhor dos projetos SQL e DAC<br /><ul><li>Suporte a SQL 2008
    21. 21. Separação de Build e Deploy
    22. 22. Remoção do “DesignDB”</li></li></ul><li>Projetos de Bancos de Dados<br />
    23. 23. SQL Server Utility<br />
    24. 24. Projetos de Banco de Dados vs.Projetos de Camada de Dados de Aplicação<br />Os doistipos de projetopodemoperarlado-a-lado<br />
    25. 25. Queprojetodevousar?<br />
    26. 26. Matriz de Funcionalidades<br />
    27. 27. Matriz de Funcionalidades de ALM<br />
    28. 28. Projetos de Aplicações de Camada de Dados (DAC)<br />14<br />
    29. 29. Projeto DAC<br />Subconjunto de objetos SQL<br />Logins, Database Roles, Users<br />Tables, Views, User Defined Types,Stored Procedures, Triggers & Functions<br />
    30. 30. Conceitos Básicos de DAC<br />Projeto de Aplicação de Camada de Dados<br />Novo tipo de projeto de banco de dados no VS 2010. Baseado no modelo de projetospré-existente (SQL)<br />Experiência de primeiraclasseparadesenvolvimento T-SQL/DAC<br />Desenvolvedorespodemdeclararintenção<br />Resultado da compilação = .dacpac<br />ComponenteparaAplicação de Camada de Dados<br />Melhoracolaboração entre Dev e DBA<br />Move desenvolvedores de um modeloprocedural para um declarativo – Fim do “ALTER TABLE”<br />Foco da V1 é aplicativodepartamental<br />Data-tier Application Component<br />Schema<br />PHYSICAL<br />Users, Logins, Indexes<br />LOGICAL<br />Tables, Views, Constraints, SProcs, UDFs,<br />Unit of Deployment<br />DAC Deployment Profile<br />Deployment Requirements, Management Policies, Failover Policies<br />
    31. 31. Bancos de Dados Alvos do DAC<br />Focus of DAC v1<br />Number of Apps<br />100 - 1000s de pequenasaplicações<br />GrandesLOBs não são o alvo<br />CRM<br />ERP<br />App Sophistication<br />
    32. 32. Define as políticasque a instância do SQL devesuportarparareceber o DAC<br />ObjetosProgramáveisSuportados<br />Objetos de SegurançaSuportados<br />Estrutura de Projetos DAC<br />
    33. 33. Projeto Banco de Dados (SQL)<br />19<br />
    34. 34. Projeto de Banco de Dados (SQL)<br />Desenvolvimentodeclarativo de bancos de dados para SQL Server 2005 e 2008 (Oracle com plugin Toad)<br />Suportareferênciasparaprojetos do tipo<br />SQL CLR<br />XSDs<br />Outros projetos de banco de dados<br />Design de grandesbancos de dados podemserfatoradosemprojetosmenores<br />Suportareuso de código<br />Simplificagerenciamento de projetos multi-time e multi-local<br />
    35. 35. Estrutura de ProjetosSQL<br />Variáveis SQLCMD permitemquevocê compile seuprojeto de banco de dados umaúnicavez e o implanteemservidores/bases diferentes<br />Projetos de banco de dados representam a definição de um banco de dados de usuário<br />Configurações SQL permitemajustar as propriedades do banco de dados quando da suaimplantação<br />Projetos de Servidorrepresentam a definição do banco de dados Master, bemcomoobjetos de servidorcomo logins e mensagens de erro<br />Configurações de implantaçãopermitemcontrolar o processo de implantação das alterações de um banco de dados no servidor de destino<br />
    36. 36. O quehouve com os projetos DBP?<br />Os projetos DBP (ou “projetos de banco de dados”) não estãomaisdisponíveis no VS 2010<br />ForamsubstituídospelosprojetosSQL<br />Projetos DBP não sãomigradosautomaticamenteparaprojetos SQL<br />Para migrar, é possívelcriar um novo projeto SQL e depoisimportar os scripts do projeto DBP. Outraalternativa é importar o esquema do banco de dados<br />Para maisinformações, consulte a documentação no site MSDN.<br />

    ×