Как SQL стал доминирующим языком баз данных? - PullRequest
9 голосов
/ 21 сентября 2010

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

SELECT columns
FROM table
JOIN other_table ON criteria
WHERE other_criteria

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

Ответы [ 5 ]

7 голосов
/ 21 сентября 2010

Это похоже на цитату Уинстона Черчилля:

Действительно, было сказано, что демократия - это худшая форма правления, за исключением всех тех форм, которые время от времени пробовали.

До 1970 года, когда впервые была предложена реляционная модель, существовали альтернативные технологии баз данных.С тех пор были альтернативы, и сегодня есть новых альтернатив .

Но из всех альтернатив нет решения, кроме SQL, обеспечивающего столь хороший баланс:

  • Широко распространенная стандартизация
  • Популярные и долговечные продукты, такие как Oracle
  • Прекрасно играет со многими языками программирования приложений
  • Поддержка формального моделирования данных, строгая целостность данных, транзакции ACID
2 голосов
/ 21 сентября 2010
1 голос
/ 21 сентября 2010

Помимо Кодда и Черчилля, SQL не является ужасно плохим языком для определения и запроса наборов данных на основе таблиц. Как сказал другой генерал: «Он оказался там первым с самым лучшим».

1 голос
/ 21 сентября 2010
0 голосов
/ 21 сентября 2010

Одним из факторов является то, что данные сохраняются. Заменить / перенести данные компании намного сложнее, чем ее приложения. Приложения могут приходить и уходить, закодированные на последнем языке «аромата месяца», но платформа баз данных живет. Это немного похоже на эффект QWERTY. Хотя раскладка клавиатуры QWERTY, как известно, неэффективна, она сохраняется, потому что переключение на что-либо еще повлечет за собой огромные затраты.

Во-вторых, массовое доминирование на рынке со стороны Oracle и IBM (а в последнее время и Microsoft). Хотя они могут не соглашаться по каждой детали, ни один из них не видит преимущества интерфейса не-SQL к своим базам данных. Я использовал Ingres еще в начале 90-х, когда SQL выдвигал QUEL.

В-третьих, разработчикам приложений (особенно таким, как SAP и Oracle) выгодно иметь стандартную (ish) платформу.

Полагаю, обратная сторона этого вопроса заключается в том, почему нам нужно / нужно так много разных языков программирования.

...