2010-09-20 4 views
8

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

SELECT columns 
FROM table 
JOIN other_table ON criteria 
WHERE other_criteria 

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

ответ

6

Это как этот Уинстон Черчилль цитата:

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

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

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

  • Widespread стандартизации
  • Популярные и долгоживущие продукты, такие как Oracle
  • Plays красиво с многими программирования приложений языки
  • Поддержка формального моделирования данных, надежная целостность данных, транзакции ACID
1

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

0

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

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

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

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

Смежные вопросы