Atenda aos requisitos modernos do banco de dados com o Banco de Dados SQL do Azure
Depois de configurar seu ambiente, você estará pronto para começar a analisar e testar determinados componentes de uma arquitetura de solução potencial. No cenário de apanhar o autocarro, e para muitas outras aplicações modernas, é necessário um banco de dados moderno para armazenar, processar e servir dados. Vamos explorar como o Banco de Dados SQL do Azure atende às necessidades dos aplicativos modernos.
Dimensione para atender à demanda com opções flexíveis do Banco de Dados SQL do Azure
Um dos principais elementos de um aplicativo moderno é a capacidade de aumentar ou diminuir facilmente a escala para responder corretamente ao uso da carga de trabalho. A capacidade de atualizar e evoluir facilmente uma solução, juntamente com a implantação determinística e automática também são pilares fundamentais do desenvolvimento de aplicativos modernos. Este princípio também permite que as aplicações paguem apenas pelo que é necessário, quando é necessário.
O Banco de Dados SQL do Azure fornece suporte forte para todos esses recursos necessários. Se você precisar de um banco de dados preparado para o futuro, escalável, seguro e de alto desempenho, de Hiperescala SQL do Azure fornece tudo o que você precisa e muito mais. Ele pode ser dimensionado até 100 TB e a sua arquitetura distribuída facilita o escalonamento, tanto vertical quanto horizontal. É a base de dados ideal para cargas de trabalho transacionais e de análise transacional-analítica híbrida.
Para dar suporte ao desenvolvimento e aos desenvolvedores, você pode usar a camada de computação sem servidor do Banco de Dados SQL do Azure, que pode ser dimensionada automaticamente para cima e para baixo dentro de um intervalo definido e pode pausar automaticamente quando não for usada para oferecer a maneira mais econômica de desenvolver e testar sua solução. Dado que o mecanismo por trás do Banco de Dados SQL do Azure é o mesmo, mudar para a camada de computação sem servidor do Banco de Dados SQL do Azure e para o Azure SQL Hyperscale não exigirá alterações de código nem esforço extra.
Apoie fluxos de trabalho de desenvolvimento com o GitHub Actions
Como a prática de DevOps agora é onipresente, é importante que uma solução moderna ofereça suporte adequado e tenha um pipeline saudável de integração contínua e entrega contínua/implantação contínua (CI/CD). O Banco de Dados SQL do Azure dá suporte nativo às Ações do GitHub, que você pode usar para implantar alterações em seu banco de dados de desenvolvimento para bancos de dados de teste e produção quando estiver pronto. As ações do Banco de Dados SQL do Azure usam uma abordagem baseada em estado. DevOps para dados é um tópico interessante, e você pode aprender mais sobre ele nos episódios de Data Exposed referenciados no final do módulo.
Outro requisito-chave de um banco de dados moderno é a capacidade de lidar e suportar as últimas tendências de desenvolvimento e inovações. O Banco de Dados SQL do Azure fornece muitos recursos para que você possa usar a melhor tecnologia ou modelo para um determinado caso de uso. Fornecemos uma visão geral de todos os recursos disponíveis em uma postagem de blog no final do módulo.
Prepare seus aplicativos para o futuro usando o Banco de Dados SQL do Azure
Durante a vida útil do seu aplicativo, você desejará usar diferentes tecnologias para ser o mais eficiente possível. Por exemplo, você pode querer usar um modelo de gráfico para rastrear e modelar facilmente uma relação de rede complexa, como uma rede social ou rede elétrica. Ou talvez você precise agregar rapidamente uma grande quantidade de dados para calcular a taxa de crescimento de um determinado valor. Em todos estes casos, e em muitos mais, a Base de Dados SQL do Azure dá-lhe cobertura. Ele suporta modelos de gráficos, índices Columnstore e até mesmo tabelas otimizadas para memória para a taxa de transferência mais alta (essas tabelas são estruturas de dados compiladas que são carregadas em processo para obter alto desempenho).
Para o cenário de captura de barramento, você usará a camada de computação sem servidor do Banco de Dados SQL do Azure para pagar apenas pelo que precisa e usar, devido ao dimensionamento automático e ao suporte à pausa automática. Você usará as Ações do GitHub para criar um pipeline de implantação para atualizar o banco de dados conforme necessário. Há alguns outros recursos que são necessários para o cenário. Vamos dar uma olhada mais de perto neles. No próximo exercício, terá a oportunidade de explorar essas funcionalidades.
Processar dados JSON com recursos JSON nativos
O Banco de Dados SQL do Azure permite que os desenvolvedores usem JSON para trocar dados com o banco de dados e armazenar documentos JSON. Dessa forma, você pode usar JSON como um mecanismo de transporte eficiente para enviar conjuntos de dados, como matrizes e objetos, para um procedimento armazenado a ser processado. Depois de ter o documento JSON, você pode facilmente manipulá-lo usando funções JSON nativas, como JSON_VALUE, JSON_MODIFY ou OPENJSON. Aqui está um exemplo:
DECLARE @json NVARCHAR(MAX) = '[{"user":{"id": 1, "name": "Anna"}},{"user":{"id": 2, "name": "Davide"}}]'
SELECT * FROM
OPENJSON(@json) WITH (
[Id] INT '$.user.id',
[Name] NVARCHAR(100) '$.user.name'
)
Mais exemplos mostrando como você pode usar JSON no Banco de Dados SQL do Azure estão disponíveis no final do módulo.
Analise dados geoespaciais com o motor geoespacial nativo
O Banco de Dados SQL do Azure tem um mecanismo geoespacial nativo que você pode usar para executar consultas geoespaciais sem instalar bibliotecas externas ou mover dados, o que pode ser caro para volumes significativos de dados. A Base de Dados SQL do Azure suporta totalmente a norma Open Geospatial Consortium (OGC), pelo que os dados exportados podem ser utilizados por bibliotecas como o OpenLayers.
O exemplo a seguir mostra como se pode criar um polígono que servirá como a sua georrede no contexto de localização de autocarros e verificar se um ponto, que representará os dados em tempo real do autocarro, está dentro do polígono.
-- Microsoft Building 44
declare @bldg44 as geography = geography::STGeomFromText('POLYGON((-122.13403149305233 47.64136608877112,-122.13398769073248 47.64058891712273,-122.13319924946629 47.64011342667547,-122.13285369830483 47.640106868176076,-122.13254221532335 47.640834858789844,-122.13257628383073 47.6410086568205,-122.13334039023833 47.64144150986729,-122.13403149305233 47.64136608877112))', 4326)
-- A point you want to check
declare @p as geography = geography::STPointFromText('POINT(-122.13315058040392 47.64101193601368)', 4326)
-- Is the point within the perimeter?
select @p.STWithin(@bldg44)
Como o formato de texto para os locais (por exemplo, POINT(-122.13315058040392 47.64101193601368)
) é um padrão conhecido como formato de texto Well-Known (WKT), é possível ver a forma projetada em um mapa apenas copiando e colando a cadeia de caracteres. No próximo exercício, você mesmo irá testá-lo com o OpenStreetMap WKT Playground.