Что должен знать SQL разработчик?

Здравствуйте. Имею за плечами ~2 года опыта работы SQL(PL/SQL) разработчиком. Сейчас активно копаю в сторону PostgreSQL, благо, во многом схож с Oracle. Так вот мне интересно, что должен знать SQL разработчик с перспективой захода в Администрирование и ETL(Data Warehouse и т.п.). На данный момент работаю Junior PHP/JS разработчиком(надеюсь я выстою на этой позиции и буду развиваться), но все же не хочется отходить от БД и SQL.
Плюсом к моему бэкграунду, есть некоторое знание Python(на junior'a конечно не потяну, но хоть что-то). Хотелось бы услышать комментарии тех, кто связан с SQL разработкой. Спасибо что прочли вопрос)
  • Вопрос задан
  • 24632 просмотра
Пригласить эксперта
Ответы на вопрос 4
darthunix
@darthunix
Знаю PostgreSQL, Ubuntu, DICOM и медицину.
Наверное, знать надо все и до бесконечности. Я тоже работаю с PostgreSQL, для разработки и администрировании по моему горькому опыту нужно знать:
1) Linux
  • стандартный набор консольных утилит
  • система выдачи прав на файлы
  • знания про работу с памятью для тюнинга БД
  • lxc (возможность поднять кучу легковесных контейнеров с разными базами очень помогает)
  • уметь настраивать фаервол (чтобы у сервера БД не торчало лишнее наружу)
  • ssh проброс портов с удаленного компьютера (чтобы удобно подключаться к БД)
2) Система контроля версий - git, svn и т.д.
3) PostgreSQL
  • внутренняя работа под капотом (для тюнинга производительности)
  • FTS, триграммы, plproxy
  • pgtap для тестирования
  • система версионирования схемы бд (я рекомендую pyrseas)
  • балансировщики, репликация, PIT бэкапы (рекомендую barman)
  • FDW для подключения к разным другим источникам данных

А вообще, смотри видео и читай доклады с pgconf и документацию по PostgresPro, это хорошо помогает быть в курсе последних тенденций.
Ответ написан
@Oraclist
Прежде, чем развивать компетенции в какой-то конкретной технологии СУБД, надо сначала прокачаться в теории БД.
Что такое множества. Операции над множествами. Сущности (поля, кортежи, таблицы, индексы, последовательности, транзакции и т.д.). Связи таблиц (виды и типы связей). Доступ к данным и т.д.
А уже потом выбирать или не выбирать конкретную технологию.

А то бывает приходят люди с опытом PLSQL, вроде и код пишет и стандартные функции знает.
А про левое/правое соединение ни гугу.

Добавлено: про нормальные формы забыл еще написать
Ответ написан
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
у Вас уже есть опыт с ораклом - развивайтесь в нем. хороший ораклоид - дорогая штука .
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Правильно создавать хранилище данных с учётом требований бизнес-логики.
Иногда - нужен специфичный поиск, иногда - быстрое добавление записей.
Вот эти понятия - нужно чётко различать и правильно применять.

И, конечно же, уметь писать грамотные хранимые процедуры, которые облегчат жизнь и человеку, который работает с БД и тем, кто работает с этой БД через эти процедуры.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы