Кто танцует, поет и дерется - тот и самец. (с)
Здравствуйте. Прошу помощи с выбором СУБД для проекта.
Суть: имеется достаточно большой набор данных за много лет - значения физических величин в том или ином месте. Эти данные нужно где-то хранить, они имеют связи между собой, нужно производить по ним выборки, анализ. Данные могут приходить из разных источников - т.е. логично было бы реализовать проект в виде веб-приложения. Язык программирования - скорее всего C#, возможно PHP. Для хранения данных необходимо выбрать СУБД - MS SQL Server или Oracle (либо какую-либо другую при наличии объективных причин). Помогите определиться с выбором)
Суть: имеется достаточно большой набор данных за много лет - значения физических величин в том или ином месте. Эти данные нужно где-то хранить, они имеют связи между собой, нужно производить по ним выборки, анализ. Данные могут приходить из разных источников - т.е. логично было бы реализовать проект в виде веб-приложения. Язык программирования - скорее всего C#, возможно PHP. Для хранения данных необходимо выбрать СУБД - MS SQL Server или Oracle (либо какую-либо другую при наличии объективных причин). Помогите определиться с выбором)
Особенно если C#.... проще всего будет работать с MSSQL.
Вообще если хоть немножко плотнее опишете что за данные, в каких объёмах должны храниться и какие действия с ними предполагается производить...
Но сам факт появления этого вопроса здесь означает - вам не надо Оракл. Вам и MSSQL с большой вероятностью не нужен и отлично может подойти какая-нибудь открытая БД.... но с другой стороны, если работодатель платит - то MS лучше - вам с ним будет проще
Данные - измерения на газодобывающем месторождении, в перспективе их может быть очень много, то есть это сбор статистики за десятки лет. Данные будут анализироваться приложением - поиск зависимостей, закономерностей для "мат. предсказания", обучение системы на данных. То есть по сути чем их больше - тем лучше. И с данными, скорее всего, нужно будет работать со всеми сразу либо с достаточно большим их подмножеством. Операции - в основном выборка через установленные в БД связи, ничего сложного с точки зрения программирования БД.
Есть опыт работы с MS SQL, да, он хорошо интегрируется с Visual Studio, в которой удобно писать на C#, но все же хотелось узнать и про другие возможности. Опыт работы с Oracle меньше, но он подкупает кроссплатформенностью, да и считается надежнее, работает быстрее (возможно, по субъективному мнению мною опрошенных). Скажем так - Oracle выглядит более серьезным решением, хотя я понимаю, что его интеграция с C# может быть не такой тривиальной, как в случае с MS SQL. Хотелось бы узнать достоинства и недостатки и того, и другого))
И да, вам ещё средства разработки надо повыбирать. Потому как реализация описанной вами хитрой логики на C#, конечно, возможна, но реализация на C++ будет заметно быстрее. А интерфейсную часть можно построить на Qt или на Билдере.
возможно PHP
Ну разве что только для создания вёб-интерфейса... Потому что для описанной вами задачи этот язык не подходит совсем.
Выглядит... Но мне кажется, что если вы ходите с такими вопросами в дайри - у вас вряд ли получится воспользоваться его преимуществом в серьёзности... а в излишней сложности легко утонуть. Новичкам проще и эффективнее MSSQL, серьёзно.
PostgreSQL - как хороший вариант, но тогда стоит всё решение целиком строить на открытых технологиях, действительно - С++, питон, php, может какие-то веб-фреймворки...
если вы вдруг ничего не знаете, то оракл - очень хороший вариант
у оракла есть лицензионная бесплатная версия - Oracle Database XE (express edition)
её ограничения (из-за бесплатности): умеет пользоваться только одним ядром CPU и не более чем 1 Гбайтом RAM, суммарный объём данных в таблицах пользователя должен быть не более 4 Гбайт, а также убраны мелкие плюшки (нет встроенной джавы и т.п.)
однако есть куча серьёзных проектов (приложений с веб-интерфейсом, написанных ораклом и доступных для бесплатного скачивания и кастомизации), для которых этих возможностей более чем достаточно, а если нет, то всегда есть возможность апгрейда
все платные версии (без вышеуказанных ограничений) также доступны для свободного скачивания с сайта оракла, не имеют никакой защиты от нелицензионного использования и могут свободно устанавливаться на любой компьютер
да, оракл не борется с пиратами. совсем никак. никаких ключей при установке. никаких серийников. никаких активаций.
это сделано специально, чтобы админам ничто не мешало свободно тренироваться на живых системах.
оракл - это не микрософт. в оракле - совсем другая идеология отношения к своим продуктам, они уверены, что, взяв их продукт на халяву, вы чуть позже вернётесь и принесёте им бабки, потому что убедитесь в качестве (быстроту оракла ещё никто не переплюнул, богатство возможностей также вне конкуренции) и захотите официальной поддержки
и такая маркетинговая стратегия срабатывает.
у вас нет толкового оракл-спеца? не беда. не обязательно использовать оракл на 100% и получать "полную отдачу". для начала пользуйтесь только базовыми SQL возможностями. оракл - это быстрый SQL.
Это всё очень клёво, но среди быстрых SQL он очень дорогой SQL )))
А в XE боюсь, данная система не впишется - не влезет в 4 Гб.
Ну и учиться ораклу всё ж таки дольше и сложнее. Я знаю людей, которые не осилили этот путь и сдались. А MSSQL можно брать почти с нуля.
Это вы намекаете, что MSSQL - для лузеров? Возможно, вы правы )))
А по поводу "оракл дорогой" - я знаю крупные московские коммерческие конторы (200+ сотрудников), которые пользуются ораклом бесплатно.
Да большинстов россиийских фирм юзают его на халяву. И ничего )))
Ну, лузеры им тоже могут пользоваться ))))) Но в некоторых случаях он вполне серьёзно выгоден - там, где надо сэкономить на стоимости лицензии и - важно - стоимости поддержки сервера и разработки приложения. Найти программистов и админов для MSSQL проще и дешевле.
Да большинстов россиийских фирм юзают его на халяву. И ничего )))
Я в курсе... но рекомендовать человеку оракл украсть всё-таки не хочу ))))
по крайней мере, когда я задавал этот вопрос знакомым админам (владеющими обеими субд), в адрес MSSQL я слышал только матюки
думаю, этот фактор тоже должен быть учтён при выборе субд
Как я их понимаю!
Оракл крутая вещь, правда. Но выбирать именно Оракл я бы советовала там, где стоимость админа, базы, программистов и проч-проч-проч - это мелочи по сравнению со стоимостью системы и прибылью, которую она может генерировать.
А тут - разработку (выбор архитектуры даже!!!) поручили откровенному новичку. Значит, денег на профессиональную команду ораклистов нету. И откуда возьмутся потом деньги на поддержку этого оракла, даже если его не покупать?
знаю мелкие фирмы, у которых админ и программист - это один человек
при этом безо всякой "команды ораклистов" (нафига их нужно много? солить что ли?) прекрасно работают высоконагруженные веб-сервисы.
много программстов нужно, когда со стороны бизнеса идёт большой поток задач, с выполнением которых один человек не справляется (типичный пример - банки)
это явно не случай автора темы
И что будет делать эта мелкая фирма с высоконагруженным веб-сервисом на оракле (?!) если их
человек и пароходпрограммист и администратор попадёт под трамвай?И вы извините, но сегодня у меня не то настроение, чтобы продолжать разговор в таком тоне
Это логично и элементарно - Оракл стоит столько не просто так, из этого можно предположить что 90% компаний он попросту не нужен. На Ferrari тоже можно возить мешки с картошкой, но зачем?)
если вам подарить (вы выбираете одно из двух) феррари или ладу-калину, чтобы возить картошку, вы возьмёте вариант№2, потому что в вашем сознании он больше сочетается с картошкой?
совсем прямым текстом: ораклом (особенно на территории СНГ) пользуются бесплатно.
поскольку при этом никакого акта пиратства не происходит: нет ни факта взлома (т.е., модификации) программы, ни факта скачивания с левых сайтов, то доказать в суде что вы - пират, очень сложно
но чудо маркетинга оракла состоит в том, что когда у вас достаточно бабок (напр., вы - банк или крупный сотовый оператор или оператор карточного процессинга), то вы сами "на всякий пожарный" (или в благодарность) заплатите ораклу за поддержку его продукта
и оракл на этом живёт, причём хорошо живёт, благодаря тому, что он пишет лучшую субд
"пиратство" ему не страшно (наоборот, оно поднимает его популярность)
можно прекрасно жить, не имея доступа к оракловой поддержке, и большинство фирм так и делают
для сравнения приведу пример другого маркетинга: IBM с его вшивенькой DB2
IBM торгует железом (вероятно, неплохим, раз его так покупают), и впаривает вместе со своим железом свою базу, которая якобы заточена под их железо )
эта DB2 ораклу в подмётки не годится (и по возможностям для разработчика, и по скорости), но менеджеры, откоторых зависит выбор системы, тупо закупают по принципу 2-в-1 (да, совсем как тётеньки, которым скармливают по ТВ рекламу про шампунь и бальзам-ополаскиватель в одном флаконе)
у микрософта - маркетинговый принцип "наделать кое-как говна, расфасовать и завернуть в красивую обёртку и впарить юзеру", непременно защитив своё говнецо серийником, активацией и процедурой валидации.
думаю, несложно угадать, глядя только на эти три типа маркетинга, в каком из этих случаев логичнее ожидать более качественный продукт
2тс - берите то, что знаете. Если не знаете ничего - подкиньте монетку. Там научитесь. Так или иначе. Сравнительного анализа не будет, потому как в общих условиях с использованием функционала доступного всем субд - они практически не отличимы. А преимущество каждого проявляется в особенностях, которых нет у других.
И да, про лицензии - свободное по должно иметь также док-т о том, что оно свободно. А иначе тоже можно будет с обэпом пообщаться.
Оракл дороже _не только_ и _не столько_ в приобретении. Он дороже в _поддержке_, потому что тяжелее и дороже найти админа для оракла (чем для того же мс), и тяжелее и дороже найти программиста для оракловой системы, чем для мелкомягкой. И для качественной поддержки и доработки оракловой базы после того, как "админ и программист" уволился и уехал в Москву (Европу) можно вообще никого не суметь найти за разумные деньги для "маленькой фирмы".
Короче, если нужно только возить картошку, то стоит выбрать машинку, которая бензина жрёт поменьше, у которой запчасти подешевле и которая в ремонте попроще, а не "самую крутую и быструю".
Вопрос в том, насколько эти факторы критичны заказчикам системы
то напишите внятное ТЗ и закажите разработку приличной программерской конторе, а поддержку админам-аутсорсерам и будет всем щастье.впервые о таком слышу
это обычные программисты, каких много, тем более что оракл очень распространён
если и есть разница в средних з/пл по сравнению с программистами других диалектов SQL, то не существенная
или вы считаете, что научиться программировать/админить оракл не сможет обычный балбес-быдлокодер, быдлокодящий на каком-нибудь си-шарпе?
три раза "ха". я таких много видел )))
никаких специальных талантов для освоения оракла не требуется, уж поверьте мне
или вы можете сейчас привести примеры принципиальных различий в устройстве оракла и mssql, которые требуют "особых мозгов" для освоения?
я понимаю, что вы как тот кулик, что своё болото хвалит, пытаетесь извлечь из ниоткуда преимущества mssql.
но хватит гнать на оракл просто так. приводите факты, пожалуйста.
пока, кроме сниженного ценника, других фактов упомянуто не было. но это в данных обстоятельствах ни разу не преимущество - тогда уж юзайте опенсорсные субд, раз у вас фетиш на лицензионную чистоту )))
Факты... ну, ээээ
rabota.yandex.ru/search.xml/?text=%D0%BF%D1%80%...
читаю подряд: MS SQL - 90-120, MS SQL - 90-120, Oracle PL/SQL - от 150, MS SQL - 70-90...
пока, кроме сниженного ценника, других фактов упомянуто не было.
А вы не забыли, что программисты пишут свои системы для того, чтобы те приносили заказчику денег? И что если система мега-крута, прекрасна, быстра, офигительна и убыточна - она не нужна?
Вы немножко успокойтесь уже наконец и прочитайте, что я пишу. Я не "гоню на Оракл", Оракл хороший. Хорошая действительно быстрая БД, надёжная, классная, с широкими возможностями. Она не виновата, что благодаря деньгам монополиста МС поделка этого монополиста сейчас проще и выгоднее в эксплуатации на широком классе задач (на всякий случай: не на ВСЕХ задачах. Только на большом их подмножестве).
тогда уж юзайте опенсорсные субд, раз у вас фетиш на лицензионную чистоту )))
Что я и предложила топикстартеру в первом же сообщении. И во втором.
просто в вашем запросе случайно так получилось, что первой строкой встала дорогая вакансия ораклиста )))
нужна более широкая выборка, хотя бы по 20 записей с каждой стороны
так это же хорошо ))))
Мое дело по сути - реализовать алгоритм, и мне по большому счету безразлично, какая будет СУБД, я опишу модели для взаимодействия с ней и на этом наше знакомство скорее всего закончится. Дело в том, чтобы потом не пришлось переделывать все взаимодействие только из-за того, что не учли какую-то возможность расширения и т.п.)
Спасибо за советы)