Языки программирования

SQL в 50 лет: что ждет язык структурированных запросов?

SQL в 50 лет: что ждет язык структурированных запросов?

В мае 1974 года Дональд Чемберлин и Раймонд Бойс опубликовали статью о SEQUEL, структурированном языке запросов, который можно было использовать для управления и сортировки данных. После изменения названия в связи с тем, что авторские права на слово SEQUEL принадлежали другой компании, язык структурированных запросов (SQL) был взят на вооружение компаниями, занимающимися базами данных, такими как Oracle, наряду с их новомодными продуктами реляционных баз данных в конце 1970-х годов. Остальное, как говорится, уже история.

Сейчас языку SQL уже 50 лет. SQL был разработан и затем принят для баз данных, и он продолжает расти и развиваться как способ управления и взаимодействия с данными. По данным Stack Overflow, это третий по популярности язык, регулярно используемый профессиональными программистами. В 2023 году IEEE отметила, что SQL был самым популярным языком, который разработчики должны были знать при устройстве на работу, благодаря тому, что его можно было сочетать с другими языками программирования.

Если посмотреть на другие старые языки, используемые сегодня, то такие, как COBOL (запущенный в 1959 году) и FORTRAN (впервые скомпилированный в 1958 году), тоже продолжают работать. Хотя они могут привести к хорошо оплачиваемым должностям, они связаны скорее с существующим наследием, чем с новыми и захватывающими проектами. SQL, с другой стороны, по-прежнему используется в работе, связанной с искусственным интеллектом, аналитикой и разработкой программного обеспечения. Он по-прежнему является стандартом того, как мы ежедневно взаимодействуем с данными.

Почему SQL по-прежнему так важен?

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

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

Так почему же SQL остается ведущим способом работы с данными и сегодня, спустя 50 лет после того, как он был впервые разработан и выпущен? SQL основан на сильной математической теории, поэтому он продолжает эффективно работать и поддерживать те сценарии использования, для которых он был разработан. Истина заключается в том, что, сочетая SQL с реляционными базами данных, вы можете сопоставить создаваемые данные и способы управления ими со многими бизнес-практиками надежным, эффективным и масштабируемым способом. Проще говоря, SQL работает, и ни один из вариантов его замены не сравнится с ним.

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

Еще одна важная причина успеха SQL заключается в том, что язык всегда шел в ногу со временем. Отталкиваясь от своих реляционных корней, SQL с годами добавил поддержку данных географических информационных систем (ГИС), документов JSON, а также XML и YAML. Это позволило SQL идти в ногу с тем, как разработчики хотят взаимодействовать с данными. Теперь SQL можно объединить с векторными данными, что позволяет разработчикам взаимодействовать с данными с помощью SQL, но осуществлять векторный поиск для приложений генеративного ИИ.

Какое будущее ждет SQL?

В прошлом уже предпринимались попытки заменить SQL. Базы данных NoSQL (Not only SQL) были разработаны для замены реляционных баз данных и ухода от традиционных моделей работы с данными и управления ими в масштабе. Однако вместо того, чтобы заменить SQL, эти базы данных добавили свои собственные SQL-подобные языки, которые повторяли некоторые из методов и подходов, которые SQL привил разработчикам.

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

Даже если SQL переместится за занавес, он будет продолжать играть важную роль в том, как мы взаимодействуем с данными и используем их. Поскольку огромный процент всех наших ИТ-систем функционирует на основе данных, SQL не исчезнет в ближайшее время. Так что давайте отпразднуем 50-летие SQL и подумаем, как мы можем продолжать развивать и использовать его в будущем.

Читайте также