Немного предыстории: получил в качестве дипломной темы разработку одной программы по расчету некоторых показателей и печати документов. Сразу скажу, что в программировании был не очень и мне было интересно изучать все(кстати выбрал язык c#).
В качестве СУБД выбрал mysql (товарищ посоветовал), да и бесплатная и все такое...
Программу можно сказать сделал, и тут человек, который будет сидеть на защите дипломов, решил посмотреть что мы делаем. Когда преподаватель услышала, что я использую mysql, сразу заявила, что субд не очень, старая(именно старая) и все такое... Не готов к таким разговорам, я не смог ей ответить ничего вразумительного и обосновать свой выбор.
Сейчас решил сделать обоснование своего выбора бесплатной СУБД, начал сравнивать с Postresql... Но почему-то везде сначала приводят массу плюсов Mysql, а потом говорят присмотреться к Postresql - очень хороший проект и лучше его использовать.
Вопрос в том, что если Mysql и правда на текущий момент плохой выбор, то что выбрать для разработки, чтобы можно было легко обосновать свой выбор (готов, наверное, даже рассмотреть и платные СУБД)? Если все-таки в нем есть свои положительные черты, приведите их, пожалуйста.
Буду очень благодарен любой полезной информации!
PS если все-таки лучше переделать, то посоветуйте, пожалуйста, варианты, при которых будет максимально легко перейти на новую СУБД. Ну и конечно в дипломном проекте обосновать все это.
Препод Вам так говорит, потому что есть такое понятие - стек технологий Microsoft. И для многих C# должен стыковаться только с MSSQL, но не с другими базами. В этом действительно есть смысл, когда проект очень большой. Грубо говоря, язык и БД, разработанные в одной компании, довольно тесно интегрированы. Но это не значит, что MSSQL единственный и самый разумный выбор.
Я сам пишу на C# и пользуюсь MySQL вместо MSSQL. Почему:
1. MySQL запускается на любой OS (не требует платной лицензии Windows).
2. Полнофункциональная MySQL бесплатна в отличие от.
3. Легковесна, не требует мощного железа. Как следствие - быстрее на аналогичном железе.
4. Хостинг MySQL на каждом углу.
5. Выбор движков под каждую таблицу и каждый случай.
6. Полнотекстовый поиск (в MyISAM).
7. Есть форки, которые гарантируют нормальное развитие, если Oracle решит что-нибудь нехорошее сделать. Ну что тут говорить, OpenSource же.
При этом современная MySQL поддерживает многие фичи современных БД: View, triggers, functions, stored procedures, events, subqueries.
Если сравнивать MySQL и PostgreSQL, то для большинства простых ежедневных задач разницы нет никакой. Для профессионального применения, имхо, PostgreSQL будет более выигрышным вариантом.
Преподавателей, заявляющих о старости той или иной СУБД, надо немедленно отправлять на курсы повышения квалификации или на пенсию.
Да вот в том то и дело, что необходимо обосновать почему mysql лучше... А если сравнивать, то получается, что PostgreSQL выигрывает из-за профессионального применения....
Или есть все таки в чем Mysql обходит PostgreSQL?
субд не очень, старая(именно старая) и все такое...
А альтернативу предложил? Как сделать, что бы не была старой предложил? Или тут его некому заткнуть и он начал умом своим светить?
Мне кажется, что либо препод старый, либо вы чего-то недоговариваете. Например, что за ПО? Может вам там вообще NoSQL нужен и препод говорит, что Mysql "старый" для решения нового типа задач, так как спроектирован давно и не годен для вашего проекта ввиду архитектурных особенностей.
Можете преподаватею намекнуть на "старючий" Оракл, который, как ни странно, вагонами серверов до сих пор работает во всём прупном ентерпрайзе, вроде банков или опсосов.