segunda-feira, 12 de junho de 2023

Exame DP-900 Microsoft Azure Data Fundamentals – Material de estudo para a prova de certificação

 Nesse artigo eu gostaria de disponibilizar para vocês um guia de estudo gratuito para a prova de certificação DP-900 Microsoft Azure Data Fundamentals. Essa é uma oportunidade para estudar a prova sem muitas dificuldades e obter sua certificação Microsoft.

Este exame é uma oportunidade para validar o conhecimento dos principais conceitos de dados e serviços de dados relacionados do Microsoft Azure. Você terá 90 minutos para terminar a prova e ela possui de 40 a 60 questões. Até neste momento o exame está disponivel apenas em Ingles e Japones.

O conteudo pode traduzido para estudo portugues (pt-br) proprio site da Microsoft.


Describe core data concepts (15-20%)

Describe Types of Core Data Workloads
Describe batch data
• https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/batch-processing
• https://7wdata.be/business-analytics/batch-vs-real-time-data-processing/

Describe streaming data
• https://en.wikipedia.org/wiki/Streaming_data
• https://docs.microsoft.com/en-us/learn/paths/implement-data-streaming-with-asa/

Describe the difference between batch and streaming data
• https://thenewstack.io/the-big-data-debate-batch-processing-vs-streaming-processing/

Describe the characteristics of relational data
• https://www.oracle.com/database/what-is-a-relational-database/
• https://binaryterms.com/relational-data-model.html
• https://docs.rackspace.com/support/how-to/properties-of-rdbmss-and-nosql-databases/

Describe Data Analytics Core Concepts
Describe data visualization (e.g., visualization, reporting, business intelligence)
• https://www.tableau.com/learn/articles/data-visualization
• https://www.cio.com/article/272364/business-intelligence-definition-and-solutions.html

Describe basic chart types such as bar charts and pie charts
• https://docs.microsoft.com/en-us/power-bi/visuals/power-bi-visualization-types-for-reports-and-q-and-a
• https://chartio.com/learn/charts/how-to-choose-pie-chart-vs-bar-chart/
• https://chartio.com/learn/charts/pie-chart-complete-guide/#what-is-a-pie-chart

Describe analytics techniques (e.g., descriptive, diagnostic, predictive, prescriptive, cognitive)
• https://www.investopedia.com/terms/d/data-analytics.asp
• https://insightsoftware.com/blog/comparing-descriptive-predictive-prescriptive-and-diagnostic-analytics
• https://www.expert.ai/blog/what-is-cognitive-analytics/

Describe ELT and ETL processing
• https://docs.microsoft.com/en-us/azure/architecture/data-guide/relational-data/etl
• https://www.integrate.io/blog/etl-vs-elt/

Describe the concepts of data processing
• https://www.mbaknol.com/management-information-systems/concept-of-data-processing/
• https://www.talend.com/resources/what-is-data-processing/


Describe how to work with relational data on Azure (25-30%)

Describe Relational Data Workloads
Identify the right data offering for a relational workload
• https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/data-store-overview
• https://azure.microsoft.com/en-us/products/category/databases/

Describe relational data structures (e.g., tables, index, views)
• https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/data-store-overview
• https://www.cs.wcupa.edu/~zjiang/RDB_table.htm
• https://www.essentialsql.com/what-is-a-database-index/
• https://www.geeksforgeeks.org/sql-views/

Describe Relational Azure Data Services
Describe and compare PaaS, IaaS, and SaaS delivery models
• https://docs.microsoft.com/en-us/learn/modules/fundamental-azure-concepts/
• https://www.nigelfrank.com/blog/iaas-vs-saas-vs-paas-a-guide-to-azure-cloud-service-types/

Describe Azure SQL Database
• https://azure.microsoft.com/en-us/services/sql-database/#product-overview
• https://docs.microsoft.com/en-us/azure/azure-sql/database/sql-database-paas-overview?view=azuresql

Describe Azure Synapse Analytics
• https://azure.microsoft.com/en-us/services/synapse-analytics/

Describe SQL Server on Azure Virtual Machine
• https://azure.microsoft.com/en-us/services/virtual-machines/sql-server/#overview
• https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-server-on-azure-vm-iaas-what-is-overview?view=azuresql

Describe Azure Database for PostgreSQL, Azure Database for MariaDB, and Azure Database for MySQL
• https://azure.microsoft.com/en-us/services/postgresql/
• https://azure.microsoft.com/en-us/services/mariadb/
• https://azure.microsoft.com/en-us/services/mysql/#product-overview
• https://docs.microsoft.com/en-us/azure/mysql/single-server/overview
• https://docs.microsoft.com/en-us/azure/postgresql/single-server/overview

Describe Azure SQL Managed Instance
• https://docs.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview

Identify Basic Management Tasks for Relational Data
Describe provisioning and deployment of relational data services
• https://docs.microsoft.com/en-us/azure/azure-sql/database/sql-database-paas-overview
• https://docs.microsoft.com/en-us/learn/modules/provision-azure-sql-db/

Describe method for deployment including ARM templates and Azure Portal
• https://docs.microsoft.com/en-us/azure/azure-sql/database/single-database-create-arm-template-quickstart
• https://docs.microsoft.com/en-us/azure/azure-sql/database/single-database-create-quickstart?tabs=azure-portal
• https://docs.microsoft.com/en-us/azure/azure-sql/database/scripts/create-and-configure-database-powershell
• https://docs.microsoft.com/en-us/azure/azure-sql/database/arm-templates-content-guide?tabs=single-database
• https://docs.microsoft.com/en-us/azure/azure-sql/database/scripts/create-and-configure-database-cli

Identify data security components (e.g., firewall, authentication)
• https://docs.microsoft.com/en-us/azure/azure-sql/database/secure-database-tutorial
• https://docs.microsoft.com/en-us/azure/security/fundamentals/infrastructure-sql#azure-sql-database-firewall
• https://docs.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-overview
• https://docs.microsoft.com/en-us/azure/azure-sql/database/security-overview#information-protection-and-encryption

Identify basic connectivity issues (e.g., accessing from on-premises, access with Azure VNets, access from Internet, authentication, firewalls)
• https://docs.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-common-errors-issues
• https://techcommunity.microsoft.com/t5/azure-database-support-blog/azure-sql-db-connectivity-troubleshooting/ba-p/1158677

Identify query tools (e.g., Azure Data Studio, SQL Server Management Studio, sqlcmd utility, etc.)
• https://docs.microsoft.com/en-us/azure/azure-sql/database/connect-query-ssms
• https://docs.microsoft.com/en-us/sql/azure-data-studio/what-is-azure-data-studio
• https://docs.microsoft.com/en-us/sql/ssms/quickstarts/ssms-connect-query-sql-server

Describe Query Techniques for Data Using SQL Language
Compare DDL versus DML
• https://www.geeksforgeeks.org/difference-between-ddl-and-dml-in-dbms/

Query relational data in PostgreSQL, MySQL, and Azure SQL Database
• https://docs.microsoft.com/en-us/sql/azure-data-studio/quickstart-postgres
• https://docs.microsoft.com/en-us/azure/mysql/connect-workbench
• https://docs.microsoft.com/en-us/azure/azure-sql/database/connect-query-portal
• https://azure.microsoft.com/en-us/blog/fast-and-easy-dev-with-azure-db-for-mysql-and-azuredb-for-postgresql/


Describe how to work with non-relational data on Azure (25-30%)

Describe Non-Relational Data Workloads
Describe the characteristics of non-relational data
• https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data
• https://docs.rackspace.com/support/how-to/properties-of-rdbmss-and-nosql-databases/#properties-of-nosql-databases

Describe the types of non-relational and NoSQL data
• https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data

Recommend the correct data store
• https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#typical-requirements

Determine when to use non-relational data
• https://www.pluralsight.com/blog/software-development/relational-non-relational-databases
• https://docs.rackspace.com/support/how-to/properties-of-rdbmss-and-nosql-databases/

Describe Non-Relational Data Offerings on Azure
Identify Azure data services for non-relational workloads
• https://azure.microsoft.com/en-us/overview/nosql-database/
• https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/data-store-overview

Describe Azure Cosmos DB APIs
• https://docs.microsoft.com/en-us/learn/modules/choose-api-for-cosmos-db/

Describe Azure Table storage
• https://azure.microsoft.com/en-us/services/storage/tables/

Describe Azure Blob storage
• https://azure.microsoft.com/en-us/services/storage/blobs/

Describe Azure File storage
• https://azure.microsoft.com/en-us/services/storage/files/

Identify Basic Management Tasks for Non-Relational Data
Describe provisioning and deployment of non-relational data services
• https://docs.microsoft.com/en-us/azure/cosmos-db/sql/create-cosmosdb-resources-portal

Describe method for deployment including ARM templates and Azure Portal
• https://docs.microsoft.com/en-us/azure/cosmos-db/sql/create-cosmosdb-resources-portal
• https://docs.microsoft.com/en-us/azure/cosmos-db/scripts/powershell/sql/create
• https://docs.microsoft.com/en-us/azure/cosmos-db/scripts/cli/sql/create
• https://docs.microsoft.com/en-us/azure/cosmos-db/sql/quick-create-template?tabs=CLI

Identify data security components (e.g., firewall, authentication)
• https://docs.microsoft.com/en-us/azure/cosmos-db/database-security
• https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-configure-firewall
• https://docs.microsoft.com/en-us/azure/cosmos-db/secure-access-to-data
• https://docs.microsoft.com/en-us/azure/cosmos-db/database-encryption-at-rest

Identify basic connectivity issues (e.g., accessing from on-premises, access with Azure VNets, access from Internet, authentication, firewalls)
• https://docs.microsoft.com/en-us/azure/cosmos-db/sql/troubleshoot-dot-net-sdk
• https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-configure-firewall#troubleshoot-ip-firewall
• https://github.com/Azure/azure-cosmos-dotnet-v2/issues/662

Identify management tools for non-relational data
• https://docs.microsoft.com/en-us/azure/cosmos-db/data-explorer


Describe an Analytics Workload on Azure (25-30%)

Describe Analytics Workloads

Describe transactional workloads
• https://docs.microsoft.com/en-us/azure/architecture/data-guide/relational-data/online-transaction-processing

Describe the difference between a transactional and an analytics workload
• https://datawarehouseinfo.com/how-does-oltp-differ-from-olap-database/

Describe the difference between batch and real time
• https://7wdata.be/business-analytics/batch-vs-real-time-data-processing/

Describe data warehousing workloads
• https://www.itprotoday.com/sql-server/data-warehouse-workloads-and-use-cases
• https://azure.microsoft.com/en-us/updates/workload-importance-for-azure-sql-data-warehouse-is-now-generally-available/

Determine when a data warehouse solution is needed
• https://www.jamesserra.com/archive/2013/07/why-you-need-a-data-warehouse/

Describe the Components of a Modern Data Warehouse
Describe Azure data services for modern data warehousing such as Azure Data Lake, Azure Synapse Analytics, Azure Databricks, and Azure HDInsight
• https://azure.microsoft.com/en-us/solutions/data-lake/
• https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction
• https://azure.microsoft.com/en-us/services/synapse-analytics/
• https://docs.microsoft.com/en-us/azure/databricks/scenarios/what-is-azure-databricks
• https://azure.microsoft.com/en-us/services/databricks/
• https://docs.microsoft.com/en-us/azure/hdinsight/

Describe modern data warehousing architecture and workload
• https://docs.microsoft.com/en-us/azure/architecture/solution-ideas/articles/enterprise-data-warehouse

Describe Data Ingestion and Processing on Azure
Describe common practices for data loading
• https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/design-elt-data-loading

Describe the components of Azure Data Factory (e.g., pipeline, activities, etc.)
• https://docs.microsoft.com/en-us/azure/data-factory/concepts-pipelines-activities
• https://www.youtube.com/watch?v=UQpAZVrRrzs

Describe data processing options (e.g., HDI, Azure Databricks, Azure Synapse Analytics, Azure Data Factory)
• https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-overview
• https://docs.microsoft.com/en-us/azure/data-factory/introduction
• https://docs.microsoft.com/en-us/azure/databricks/scenarios/what-is-azure-databricks
• https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-overview-what-is
• https://docs.microsoft.com/en-us/azure/architecture/data-guide/technology-choices/data-storage

Describe Data Visualization in Microsoft Power BI
Describe the role of paginated reporting
• https://docs.microsoft.com/en-us/power-bi/paginated-reports/paginated-reports-report-builder-power-bi

Describe the role of interactive reports
• https://powerbi.microsoft.com/en-us/desktop/

Describe the role of dashboards
• https://docs.microsoft.com/en-us/power-bi/consumer/end-user-dashboards
• https://docs.microsoft.com/en-us/power-bi/create-reports/service-dashboards

Describe the workflow in Power BI
• https://curbal.com/blog/lesson/power-bi-workflow




Uma boa prova!

Boa sorte pessoal, sucesso.


quinta-feira, 10 de fevereiro de 2022

SQL Server Trace Flags – Principais Flag's De Performance

SQL Server Trace Flags – sinalizadores de rastreamento 

Neste post, estamos descrevendo os principais flag's utilizados para ajustes de desempenho no SQL Server. Se voce ainda não conhece sobre os traces de rastreamento, fizemos uma introdução neste post anterior, confere lá .....

SQL Server Trace Flags – sinalizadores de rastreamento




DBCC FLAG - 174

Aumenta o número de buckets do cache de planos do Mecanismo de Banco de Dados do SQL Server de 40.009 para 160.001 em sistemas de 64 bits. Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: apenas global


DBCC FLAG - 818

Permite diagnósticos de E/S adicionais para verificar se há condições de perda de gravação ou leitura obsoleta durante operações de E/S de arquivo. O sinalizador de rastreamento 818 habilita um buffer de anéis na memória usado para acompanhar as últimas 2.048 operações de gravação bem-sucedidas realizadas pelo SQL Server, sem incluir E/Ss de classificação e arquivo de trabalho. Quando ocorrerem erros como o Erro 605, 823 ou 3448, o valor do LSN (número de sequência de log) do buffer de entrada será comparado com a lista de gravação recente. Se o LSN recuperado for mais antigo do que aquele especificado durante a operação de gravação, uma nova mensagem de erro será registrada no log de erros do SQL Server. 

Observação: Do SQL Server 2017 (14.x) em diante, esse sinalizador de rastreamento não tem nenhum efeito.

Escopo: apenas global


DBCC FLAG - 834

Usa as alocações de página grande para o pool de buffers, columnstore e tabelas na memória. O tamanho de página grande varia dependendo da plataforma de hardware, mas ele pode ter de 2 MB a 16 MB. As páginas grandes são alocadas na inicialização e são mantidas durante todo o tempo de vida do processo. O sinalizador de rastreamento 834 aprimora o desempenho aumentando a eficiência do TLB (translation look-aside buffer) na CPU. Em outras palavras, o sinalizador de rastreamento 834 aumenta a eficiência do gerenciamento da conversão de endereços de memória física para virtual que é executada pelo hardware de gerenciamento de memória. 

Observação: O sinalizador de rastreamento 834 se aplica somente às versões de 64 bits do SQL Server. Você precisa ter o direito de usuário de Bloquear páginas na memória a fim de ativar o sinalizador de rastreamento 834. Você só pode ativar o sinalizador de rastreamento 834 na inicialização. O sinalizador de rastreamento 834 poderá impedir que o servidor seja iniciado se a memória estiver fragmentada e não for possível alocar páginas grandes. Portanto, o sinalizador de rastreamento 834 é mais adequado para servidores dedicados ao SQL Server.


Observação: Quando habilitado, o modelo de memória de página grande pré-aloca toda a memória SQLOS na inicialização de instância e não retorna essa memória para o sistema operacional.


Observação: Se você estiver usando o recurso de Índice Columnstore de SQL Server 2012 (11.x) a SQL Server 2019 (15.x), não recomendamos ativar o sinalizador de rastreamento 834. 

Escopo: apenas global


DBCC FLAG - 836

Use a opção máxima de memória do servidor para o pool de buffers. O sinalizador de rastreamento 836 faz com que SQL Server dimensione o pool de buffers na inicialização com base no valor da opção máxima de memória do servidor e não na memória física total. Você pode usar o sinalizador de rastreamento 836 para reduzir o número de descritores de buffer que são alocados na inicialização no modo AWE (Address Windowing Extensions) de 32 bits.


Observação: O sinalizador de rastreamento 836 se aplica somente às versões de 32 bits do SQL Server que têm a alocação AWE habilitada. Você só pode ativar o sinalizador de rastreamento 836 na inicialização.


Escopo: apenas global


DBCC FLAG - 2312

Define o modelo de estimativa de cardinalidade do otimizador de consulta para o SQL Server 2014 (12.x) e as versões posteriores, dependendo do nível de compatibilidade do banco de dados.

Observação: Se o nível de compatibilidade do banco de dados for inferior a 120, habilitar o sinalizador de rastreamento 2312 usará o modelo de estimativa de cardinalidade de SQL Server 2014 (12.x) (120). Para obter mais informações, confira este artigo do Suporte da Microsoft.

Começando com o SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a dica de consulta USE HINT 'FORCE_DEFAULT_CARDINALITY_ESTIMATION' em vez de usar o sinalizador de rastreamento.


Escopo: global, sessão ou consulta (QUERYTRACEON)


DBCC FLAG - 9481

Permite definir o modelo de estimativa de cardinalidade do otimizador de consulta para o SQL Server 2012 (11.x) e versões anteriores, independentemente do nível de compatibilidade do banco de dados. Para obter mais informações, confira este artigo do Suporte da Microsoft.


Começando com SQL Server 2016 (13.x), para fazer isso no nível do banco de dados, confira a opção LEGACY_CARDINALITY_ESTIMATION em ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).


Começando com o SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a dica de consulta USE HINT 'FORCE_LEGACY_CARDINALITY_ESTIMATION' em vez de usar o sinalizador de rastreamento.


Escopo: global, sessão ou consulta (QUERYTRACEON)



Em breve retornamos com mais dicas de Trace flag's.

Bons estudos.

SQL Server Trace Flags – sinalizadores de rastreamento


    Sinalizadores de rastreamento são usados para alterar as características do servidor específico ou para alterar um comportamento em particular. São configurações que não existem de formas nativas (default) em uma instancia SQL Server.

A maioria dos trace flags não estão documentados pela Microsoft, então não temos suporte e devemos ter muito cuidado para usa-las. Então, por que alguém iria utiliza-las? 

Sinalizadores de rastreamento são usados com frequência para diagnosticar problemas de desempenho ou depurar procedimentos armazenados ou sistemas de computador complexos, mas também podem ser recomendados pelo Suporte da Microsoft para lidar com comportamento que esteja prejudicando uma carga de trabalho específica.

No SQL Server, há três escopos em que os sinalizadores de rastreamento podem funcionar: consulta, sessão e global. Os sinalizadores de rastreamento de consulta ficam ativos para o contexto de uma consulta específica. Os sinalizadores de rastreamento de sessão ficam ativos para uma conexão e são visíveis apenas para essa conexão. Sinalizadores de rastreamento globais são definidos no nível do servidor e são visíveis em todas as conexões no servidor. Alguns sinalizadores podem ser ativados somente como global e outros podem ser ativados no escopo global ou de sessão.

Os sinalizadores de rastreamento podem ter considerações adicionais sobre seu uso específico, portanto, é aconselhável examinar cuidadosamente todas as recomendações de apresentadas aqui e/ou por seu engenheiro de suporte. Além disso, assim como acontece com qualquer alteração de configuração no SQL Server, sempre é melhor testar minuciosamente o sinalizador em um ambiente de não produção antes de implantar.

As seguintes regras se aplicam:

Um sinalizador de rastreamento global deve ser habilitado globalmente. Caso contrário, ele não terá nenhum efeito. Recomendamos que você habilite os sinalizadores de rastreamento globais na inicialização usando a opção -T da linha de comando. Isso garante que o sinalizador de rastreamento permaneça ativo após o reinício do servidor. Reinicie o SQL Server para que o sinalizador de rastreamento entre em vigor.

Se um sinalizador de rastreamento tiver um escopo global, de sessão ou de consulta, ele poderá ser habilitado com o escopo apropriado. Um sinalizador de rastreamento habilitado no nível de sessão nunca afeta outra sessão, e seu efeito se perde quando a SPID que abriu a sessão faz logoff.

Como ligar uma trace flag global:

1
DBCC TRACEON (1222, -1)

Como desligar uma trace flag global:

1
DBCC TRACEOFF (1222, -1)


Precisa conferir quais trace flags estão ativas no seu SQL Server?

Execute a consulta abaixo na sua instância de SQL Server:


DBCC TRACESTATUS()


Confira os principais flag's de performance:

SQL Server Trace Flags – Principais Flag's De Performance

quarta-feira, 19 de maio de 2021

Compatibilidade (suporte) Windows Server x SQL Server

Suporte do sistema operacional para versões do SQL Server

Introdução

Existem atualmente três versões principais do SQL Server (SQL Server 2016, SQL Server 2017 e SQL Server 2019) que ainda são totalmente compatíveis com a Microsoft, junto com cinco versões mais antigas que estão fora do suporte Main stream ou fora do suporte estendido. Existem também quatro versões principais relativamente recentes do Windows Server, apenas duas das quais (Windows Server 2016 e Windows Server 2019) ainda têm suporte total da Microsoft.

Idealmente, você deseja a versão mais recente com suporte do Windows Server que pode ser usada com a sua versão do SQL Server, mas às vezes isso não é possível.

Apenas certas combinações de SQL Server e Windows Server são oficialmente suportadas pela Microsoft, mas rastrear essas informações é um pouco tedioso. Deixaremos um guia para vocês, conforme imagem abaixo:



Se você está se preparando para implantar uma nova instância do SQL Server 2019, SQL Server 2017 ou SQL Server 2016, deve preferir o Windows Server 2019, embora todos eles também tenham suporte em alguns sistemas operacionais mais antigos.

Para uma nova instância do SQL Server 2014 ou SQL Server 2012, você deve preferir o Windows Server 2016, embora ambos também tenham suporte em alguns sistemas operacionais mais antigos. Tanto o SQL Server 2012 quanto o SQL Server 2014 estão fora do suporte Mainstream.

Se você está se preparando para implantar uma nova instância do SQL Server 2008 ou SQL Server 2008 R2, deve preferir o Windows Server 2012 R2, embora ambos tenham suporte em determinados sistemas operacionais mais antigos. Tanto o SQL Server 2008 quanto o SQL Server 2008 R2 estão sem suporte estendido.

Por fim, se você está se preparando para implantar uma nova instância do SQL Server 2005, sinto muito por você! O SQL Server 2005 está sem suporte estendido e estão faltando muitos recursos úteis que foram adicionados nas versões mais recentes do SQL Server. Se você simplesmente precisa implantar uma nova instância do SQL Server 2005, deve preferir o Windows Server 2008 R2.