Почему SQL не идеальный язык сочинение пример

ООО "Сочинения-Про"

Ежедневно 8:00–20:00

Санкт-Петербург

Ленинский проспект, 140Ж

magbo system

Сочинение на тему Почему SQL не идеальный язык

Как вы уже догадались, вдохновением для грамматически сомнительного имени «NoSQL» является SQL. SQL был современным классом баз данных с 1980-х годов до тех пор, пока NoSQL недавно не оспорил его доминирование. SQL, что означает «язык структурированных запросов» и может произноситься как «продолжение» или из букв «SQL», является основой для большинства популярных баз данных, которые все использовали в течение этого времени: PostgreSQL, MySQL, Oracle, SQLite, MS SQL и многие другие. Базы данных SQL также называются реляционными базами данных.

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

SQL звучит великолепно! Так почему же NoSQL?

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

     

  1. У него есть ограничения по масштабированию
  2.  

    Самая важная причина, по которой люди начали смотреть за пределы SQL, заключается в том, что часть того, что делает SQL таким мощным, также затрудняет его масштабирование. Это сложная тема (см. Мой пост. Почему инженеры беспокоятся о масштабировании?), Но есть несколько фундаментальных причин, по которым у баз данных SQL возникают проблемы с достижением масштабного масштаба. Не поймите меня неправильно, я видел, как базы данных Oracle и Postgres обрабатывают тысячи транзакций в секунду без проблем. Это много, но это маленькая картошка для Facebook и Googles мира. Если ваш стартап достиг желанного роста хоккейной клюшки, на которую вы, вероятно, надеетесь, вы можете столкнуться с ограничениями масштабирования SQL раньше, чем вы думаете. А переключение с SQL на NoSQL (или, между прочим, между любыми базами данных) очень сложно, вероятно, для перехода потребуется много человеко-месяцев или даже человеко-лет. И вам придется иметь дело с этим правильно, когда ваша компания начинает работать, и есть еще миллионы других вещей, над которыми вы хотите, чтобы ваши инженеры работали. Близкий родственник масштабируемости является важной концепцией, называемой доступностью. Говоря кратко, доступность означает способность системы продолжать функционировать даже в случае отказа некоторых компонентов. Все компьютеры, даже мощные суперкомпьютеры, иногда выходят из строя; Вот почему вам иногда нужно перезагрузить ноутбук. Если система не имеет достаточной доступности, то перезагрузка одного компьютера означает, что ваш веб-сайт не работает, пока компьютер снова не подключится. Это неприемлемо для многих критически важных бизнес-приложений. Для достижения высокой доступности базы данных нуждаются в избыточности, так что если один компьютер выходит из строя, другой легко и автоматически устраняет провал, не пропуская такт. Из-за некоторых мощных функций, присущих SQL, очень трудно добиться очень высокой доступности с базами данных SQL.

     

  3. Представление данных
  4.  

Прежде чем помещать данные в базу данных SQL, ваш инженер определит схему, представляющую собой список атрибутов (или столбцов) определенного типа данных. Например, у вас может быть таблица Employee, которая содержит столбцы, представляющие имя сотрудника, номер телефона, зарплату и адрес электронной почты. В той же базе данных может быть другая таблица, в которой хранятся проекты с именем проекта, крайним сроком и индикатором состояния. Представление взаимосвязи между таблицами (например, руководителем команды Project ABC является Сотрудник 123, а Сотрудник 345 является одним из нескольких членов команды Проекта XYZ) является важной частью этих баз данных – отсюда и происходит «реляционная» часть. Одним из побочных эффектов этого подхода является то, что все данные должны иметь одинаковые атрибуты. Конечно, вы можете оставить некоторые атрибуты пустыми (мы называем их «нулевыми»), но если у вас не может быть дополнительных данных, связанных с подмножеством пользователей. Например, возможно, у вас есть некоторые почасовые сотрудники, чьи данные включают их график работы, но у наемных сотрудников нет этих атрибутов, и, возможно, у них есть другие специфические атрибуты. Существует несколько подходов к решению этой распространенной проблемы, включая добавление столбцов для всех перестановок полей, которые могут быть у любого сотрудника, но ни один из них не является особенно естественным.

 

Наконец, таблицы со списками атрибутов – не самый удобный формат для кода, который должен взаимодействовать с данными. Многие кодовые базы включают в себя расширенный уровень отображения (иногда называемый объектно-реляционным отображением или ORM), который преобразует требуемое представление данных SQL в формат, более удобный для остальной части кодовой базы.

 

  • Схема жесткая
  •  

    Данные сильно меняются за время существования приложения – добавляются таблицы, добавляются столбцы, изменяются форматы данных и т. д. Некоторые из этих операций трудны для баз данных SQL, возможно, даже вызывают сбой во время внесения изменений , Кроме того, изменения схемы усложняют развертывание. Если инженер пишет код, содержащий новый столбец, новый столбец необходимо добавить до развертывания кода. Если столбец удален, это должно произойти в другом порядке. У каждого бэкэнд-инженера есть страшная история об ошибке, вызванной этой последовательностью событий, и это добавляет стресс к уже напряженной процедуре развертывания нового кода в производстве.

    Зарегистрируйся, чтобы продолжить изучение работы

      Поделиться сочинением
      Ещё сочинения
      Нет времени делать работу? Закажите!

      Отправляя форму, вы соглашаетесь с политикой конфиденциальности и обработкой ваших персональных данных.