Подтвердить что ты не робот

Является ли SQL Azure подходящим для настольных клиентских приложений?

У меня есть клиент, который работает с небольшим бизнесом. Им нужно специальное решение для базы данных, и я изучаю различные варианты. Мой опыт ограничен .NET с использованием локальных SQL-серверов (без ASP.NET), однако этот клиент не является техническим и может извлечь выгоду из возможности перенаправлять задачи DBA. Я полный Azure noob, я просто просмотрел учебники, и все они нацелены на разработку решений MVC ASP. Клиенту не требуется решение на основе браузера. Жирным настольным клиентом, используемым в разных географических офисах, будет наименее дорогой вариант, который я могу предоставить. Я просто пытаюсь сэкономить некоторое время на всех учебниках и документах, чтобы узнать, что это не то, что намерено использовать SQL Azure. По сути, мои вопросы сводятся к следующему:

  • Могу ли я создать настольное приложение С#/.NET.NET WPF с использованием Entity Framework 4 и использовать ли он SQL Azure вместо локального SQL Server?

  • Есть ли какие-либо известные ошибки с EF4 и SQL Azure?

  • Существуют ли другие скрытые затраты/осложнения разработки при использовании SQL-Azure вместо локального SQL Server.

  • Является ли базовый инструмент одинаковым? Один конкретный пример, о котором я могу думать; я получаю инструмент профилирования SQL для устранения неполадок?

  • Последний вопрос связан с безопасностью, и я недостаточно изощренен, чтобы задавать хороший вопрос, но бьет SQL Azure db таким образом, считая безопасность нет?

4b9b3361

Ответ 1

  • Да, вы можете, но более подходящим подходом было бы использование служб данных WCF или другой формы веб-служб (asmx или WCF) в качестве уровня обслуживания для вашего приложения. Мне нравится этот подход для бизнес-приложений. Я ненавижу веб-приложения для бизнеса и используя связанные с сервисами WPF-приложения для рабочего стола, вы получаете преимущества работы в облаке и облачных сервисов, не требуя HTML-поддержки.

  • В настоящее время SQL Azure имеет полную поддержку EF. В прошлом были некоторые проблемы, но в наши дни я не встречался.

  • С точки зрения затрат на разработку и сложности - среда, на которой работает настольная ОС Azure, немного отличается от PITA с точки зрения развития, но у меня не было серьезных проблем. Вы теряете возможность совместного использования локального SQL-сервера DEV, если вы не используете размещенный экземпляр... конечно, есть стоимость разработки, потому что вам нужно платить за использование.

  • Хорошая мысль! В настоящее время SQL Azure не предоставляет поддержку SQL Profiler. Я лично использую встроенную поддержку трассировки EF для этой функции.

  • Выявление базы данных SQL Azure напрямую не является хорошей идеей с точки зрения безопасности. Поэтому я предлагаю удалять конечную точку службы данных WCF (или других веб-сервисов) в пункте 1.

Ответ 2

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

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

EF отлично работает с SQL Azure. Есть некоторые ограничения для SQL Azure, которые вы можете прочитать из документации на веб-сайте Microsoft. Если вы создаете базу данных для Azure, она отлично работает на SQL Server или SQL Express (но не обязательно наоборот).

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

Вы все еще можете использовать SQL Management Studio и соединения данных в Visual Studio. Нет SQL Profiler. Есть несколько раздражающих вещей, которые вы не можете сделать с Management Studio, но ничего непреодолимого.

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

Я бы не стал так делать, но он работает.