Состояние языка структурированных запросов (SQL) в 2019 году

  • 10 марта, 07:55
  • 3841
  • 0

В 1974 году родился язык структурированных запросов (SQL). Созданный как стандартизированный язык для управления реляционными базами данных, он значительно упростил разработку сложных бизнес-приложений. Например, вы можете извлечь много записей данных в одном операторе, не указывая, как получить эти данные.

Простота, которую SQL предоставляет разработчикам представлена одним приложением: эквивалентом двух- или трехстрочного SQL-запроса с объединениями между таблицами может стать 20-30 строк кода в иерархической базе данных.

Что касается языков, то SQL - это некая смесь декларативного и процедурного программирования. Вы можете объявить базы данных и таблицы, а затем изменить их в коде, а также вставить/обновить данные.

Несмотря на то, что существуют разные стандарты, разные создатели баз данных добавили свои собственные расширения, причем Microsoft и Oracle являются одними из худших нарушителей (мягко говоря). Если вы когда-либо переходили с MS Access на SQL Server, есть небольшие (и не очень) изменения; например, использование «in Access become» в SQL Server.

Некоторые разработчики рассматривали движение NoSQL, которое началось в 2009 году, как возможную замену SQL. Но на самом деле это просто решило другую проблему: как быстро хранить несколько записей. Реляционные базы данных имеют ACID (атомарность, непротиворечивость, изоляцию и долговечность), которые добавляют издержки обработки, которых избегает NoSQL. Ценой скорости NoSQL является согласованность, которая заменяется возможной согласованностью (если нет новых обновлений объекта после завершения периода возможной несогласованности, все обращения возвращают последнее обновленное значение).

SQL и реляционные базы данных

Мы не можете обсуждать SQL, не обращаясь к базам данных, в которых он работает. Какие версии SQL поддерживают основные базы данных? Рассмотрим Oracle, SQL Server, IBM DB2, PostgreSQL и MySQL/MariaDB. SQLite включен в каждое устройство Android и iOS, что делает его самой развернутой базой данных в мире.

Oracle, хотя и не совсем первая коммерческая реляционная база данных, она сейчас является самой популярной и считается наиболее подходящей. Согласно Db-Engines, это по-прежнему самая популярная реляционная база данных, за которой следует MySQL, а затем SQL Server. Oracle поддерживает SQL: 2011 и сопоставление шаблонов строк с 2016 года.

Другая база данных Oracle, MySQL, была приобретена вместе с микросистемами Sun в 2008 году. Некоторые считали, что MySQL может не пережить переходный период, включая его основного автора (Монти Видениуса, который создал форк MariaDB). MySQL поддерживает некоторые из SQL-2011.

Недалеко от Oracle/MySQL стоит Microsoft SQL Server, который не так давно появился в Linux. Эта передача была технически сложной задачей, потому что SQL Server традиционно использовал библиотеки Windows для организации потоков/планирования, синхронизации и ввода-вывода. Команда выполнила эту передачу, добавив уровень абстракции платформы. Он поставляется с тем же лицензированием, что и редакции Windows и Developer/Express, а также стандартное Enterprise.

Согласно их веб-сайту, DB2 от IBM поддерживает многие стандарты SQL:2016. Существует несколько различных версий, в том числе две экспресс-версии (то есть бесплатные) для сообщества. Db2 - это еще одна база данных SQL, которая может хранить документы JSON (например, No-SQL) и делает это в течение последних пяти лет. Просто чтобы быть ясно, DB2 не то же самое, что Db2. IBM Db2 является преемником (представлен в 2017 году) DB2, которая существует уже три десятилетия.

На четвертом месте в рейтинге Db-Engines находится PostgreSQL. Это всегда была самая технически совершенная СУБД с открытым исходным кодом. PostgreSQL 11, новейшая версия, поддерживает большинство функций SQL:2011. Если вам нужна сложная СУБД, PostgreSQL, пожалуй, лучший вариант! 


Banner
0 комментариев
Сортировка:
Добавить комментарий