Обеспечение соответствия требованиям к современной базе данных с помощью базы данных SQL Azure

Завершено

После настройки среды можно приступить к анализу и тестированию некоторых компонентов потенциальной архитектуры решения. В сценарии перехвата шины и для многих других современных приложений требуется современная база данных для хранения, обработки и обслуживания данных. Давайте рассмотрим, как База данных SQL Azure отвечает требованиям современных приложений.

Масштабирование для удовлетворения спроса с помощью гибких параметров Базы данных SQL Azure

Одним из основных элементов современного приложения является возможность с легкостью увеличивать масштаб вертикально и горизонтально, чтобы соответствующим образом реагировать на использование рабочей нагрузки. Возможность с легкостью обновлять и улучшать решение, наряду с детерминированным автоматическим развертыванием, также является одним из основных принципов разработки современных приложений. Этот принцип также позволяет приложениям платить только за необходимые действия, когда это необходимо.

База данных SQL Azure обеспечивает строгую поддержку всех этих требуемых функций. Если вам нужна поддержка будущего, масштабируемая, безопасная и высокопроизводительная база данных, гипермасштабирование SQL Azure предоставляет все необходимое и многое другое. Он может масштабировать до 100 ТБ, а распределенная архитектура позволяет легко масштабировать и выходить. Это идеальная база данных для рабочих нагрузок транзакционной и гибридной аналитики транзакций.

Для поддержки разработки и разработчиков можно использовать уровень База данных SQL Azure бессерверных вычислений, который может автоматически масштабироваться вверх и вниз в определенном диапазоне и автоматически использовать, если не используется, чтобы обеспечить наиболее экономичный способ разработки и тестирования решения. Учитывая, что подсистема База данных SQL Azure одинакова, переход на База данных SQL Azure бессерверный уровень вычислений и гипермасштабирование SQL Azure не требует изменений кода и никаких дополнительных усилий.

Поддержка рабочих процессов разработки с помощью GitHub Actions

Поскольку практика DevOps применяется повсеместно, важно, чтобы современное решение правильно поддерживало работоспособный конвейер CI/CD. База данных SQL Azure изначально поддерживает GitHub Actions, который можно использовать для развертывания изменений в базе данных разработки для тестирования и рабочей базы данных при готовности. База данных SQL Azure действия используют подход на основе состояния. DevOps для данных — это интересная тема, и вы можете узнать о ней подробнее в серии видеороликов Data Exposed, ссылки на которые представлены в конце модуля.

Еще одним ключевым требованием современной базы данных является поддержка новейших тенденций и нововведений в разработке. База данных SQL Azure предоставляет множество функций, чтобы можно было использовать лучшую технологию или модель для данного варианта использования. Мы предоставляем обзор всех доступных функций в записи блога в конце модуля.

Дальнейшее подтверждение приложений с помощью База данных SQL Azure

На протяжении всего жизненного цикла приложения необходимо использовать различные технологии, чтобы обеспечить его максимально эффективную работу. Например, вы можете использовать модель Graph для легкого отслеживания и моделирования сложных сетевых связей, таких как социальная сеть или сетка питания. Или, возможно, потребуется быстро выполнить статистическую обработку огромного объема данных, чтобы вычислить скорость роста определенного значения. Во всех этих случаях, и во многих других, База данных SQL Azure вы рассмотрели. Она поддерживает модели Graph, индексы Columnstore и даже оптимизированные для памяти таблицы для максимальной пропускной способности (эти таблицы компилируются структуры данных, которые затем загружаются в процессе для обеспечения высокой производительности).

В сценарии перехвата шины вы будете использовать База данных SQL Azure бессерверный уровень вычислений, поэтому вы платите только за необходимые и используемые ресурсы из-за автоматического масштабирования и поддержки автозаполнения. Вы будете использовать GitHub Actions для создания конвейера развертывания для обновления базы данных по мере необходимости. Существует несколько других возможностей, необходимых для сценария. Давайте рассмотрим их более подробно. В следующем упражнении вы получите практические сведения об этих возможностях.

Обработка данных JSON с помощью собственных возможностей JSON

База данных SQL Azure позволяет разработчикам использовать JSON для обмена данными с базой данных и хранения документов JSON. Таким образом, можно использовать JSON в качестве эффективного механизма для отправки наборов данных, таких как массивы и объекты, в хранимую процедуру для обработки. После создания документа JSON им можно с легкостью управлять с помощью собственных функций JSON, таких как JSON_VALUE, JSON_MODIFY или OPENJSON. Приведем пример:

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'
    )

Дополнительные примеры, показывающие, как можно использовать JSON в База данных SQL Azure, доступны в конце модуля.

Анализ геопространственных данных с помощью собственной подсистемы обработки геопространственных данных

База данных SQL Azure имеет собственный геопространственный механизм, который можно использовать для выполнения геопространственных запросов, не устанавливая внешние библиотеки или перемещая данные, что может быть дорогостоящим для значительных объемов данных. База данных SQL Azure полностью поддерживает стандарт Open Geospatial Consortium (OGC), поэтому экспортированные данные можно использовать библиотеками, такими как OpenLayers.

В следующем примере показано, как создать многоугольник, который будет использоваться в качестве геозоны в сценарии перехвата шины, и проверка, если точка, которая будет служить точками данных в режиме реального времени, находится в многоугольнике.

-- 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)

Так как текстовый формат расположений (например, POINT(-122.13315058040392 47.64101193601368)) является стандартным форматом хорошо известного текста (WKT), можно увидеть фигуру, проецируемую на карте, просто скопировав и вставив строку. В следующем упражнении вы протестируете его с помощью платформы WKT OpenStreetMap.