metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-12-02 09:19 pm

Границы применимости решений

Вот тут и тут идут практически идентичные срачи на тему "Зачем юзать (дорогую, энтерпрайзную, сложную) технологию А, если можно воспользоваться (простой, дешевой, десктопно-наколенной) технологией Б?".

А я, честно говоря, совсем уже потерял нить рассуждений, и не могу толком ответить на этот вопрос. Т.е. для меня вещи типа "бухгалтерию на dbf файлах в 2009 году не делают" и "mysql не является базой подходящей для систем со сложными расчетами и высокой нагрузкой" являются как бы самоочевидными, поэтому поиском аргументов на эту тему я себя никогда не утруждал.

Ну вот всегда, когда сталкивался с решениями на основе dbf (клариона, фокспро, клиппера, access, итд) - всегда очевидно, что разработчики блядь говно тупые уроды ебаные троечники по которым агрогородки плачут отстали от современных технологий, неважно по какой причине, соотвественно, они не способны принимать участие в современных разработках, у них нет для этого мыслительных категорий.
То же самое mysql, который в старых версиях, насколько я помню, вообще толком никакой логики на стороне сервера не содержал и транзакции умел только с одним типом хранилища. Для меня самоочевидно, что транзакции - это благо. И самоочевидно, зачем нужны вещи типа Software Transactional Memory и зачем нужны проверки целостности на стороне БД. Но большому количеству разработчиков это просто непонятно - я уже писал когда-то про попавшуюся под руки базу, в которой FK не было вообще.

С другой стороны - у меня в проекте Firebird молотит данные сотнями записей в секунду на обычном железе, с одновременными массовыми перерасчетами, и ничего. Хотя как бэ и СУБД тоже из разряда тех, на которые тупые линуксоиды наезжают в стиле "это же говно, потому что я так считаю".

И вот получается, что границы применимости решений (в данном случае СУБД) становятся совершенно непонятными. Очевидно, что при желании все недостатки отдельной СУБД можно обойти в программном коде. В экстремальных случаях это получится полное повторение функционала, уже существующего в другой СУБД, и это не всегда плохо - некоторые вещи настолько сделаны чрезмерно сложно и методом постепенного добавления фич, что переписывание с нуля их только улучшит.
Но вот где граница - "берем Postgresql, программиста и линуксоида на обслуживание" vs "покупаем Oracle, покупаем DBA, покупаем страшный софт за бешеные бабки и считаем что мы круты" - непонятно. Исключая, конечно, момент откатов за софт, тогда второй случай безальтернативен.

[identity profile] veter-r-r.livejournal.com 2009-12-02 09:49 pm (UTC)(link)
И вот же что характерно.
Для говнопроектов, которые может и свет никогда не увидят, выбираются всякие взрослые технологии, вроде Java-фреймворков, в которых каждая аббревиатура расшифровывается другими аббревиатурами и Оракл в максимальной конфигурации, а в это время американские геи в гараже за неделю клепают на пхп и mysql сервис, который взрывает интернет и получают миллиард.
И где справедливость?

[identity profile] fas-tm.livejournal.com 2009-12-02 09:51 pm (UTC)(link)
>>Но вот где граница...
Граница находиться примерно в точке(+/- вагон), где производство(берем существующий инструмент и хреначим) превращается в исследования(а давайте возьмем вот эту хреновину, допишем вот тут и тут и будет нам профит).
Иначе я не могу представить вменяемого заказчика который отдаст вам деньги чтобы вы сделали из него бета-тестера.
Лучше плохие стандарты чем свои (утрирую, но доля правды есть)

[identity profile] plumqqz.livejournal.com 2009-12-02 09:53 pm (UTC)(link)
Нормальная СУБД нам нужна в том случае, если нас интересуют принципы ACID. Если они нам все вместе не то, чтобы до фонаря, но не очень тревожат - она нам не нужна.
Другой вопрос, что под СУБД обычно еще и писать просто сильно удобнее, чем все ручками-с.

Но вот где граница
Граница - когда данных слишком много и/или нужна высокая надежность. Для небольших задач (что такое "небольшая задача" - вопрос отдельный) постгрес - великолепнейшая вещь. Чем больше с ним колупаюсь, тем больше он мне нравится.

[identity profile] metaclass.livejournal.com 2009-12-02 09:53 pm (UTC)(link)
А проекты с жабой и ораклом света никогда не видят - это в 99% случаев внутренняя автоматизация, бухгалтерия, биллинги, управленческий учет - то что гикам неинтересно, и к чему их не подпускают, во избежание.
И интернет-проекты, как это не смешно, настолько простые и тупые, по сравнению хотя бы с налоговым учетом, например, что неудивительно что их за неделю на mysql и php делают.

[identity profile] veter-r-r.livejournal.com 2009-12-02 09:56 pm (UTC)(link)
Так если бы.
Те же интернет-проекты. Только с огромными бюджетами. И где-то после двух-трех циклов разработки, когда уже пару человеко-лет вложено и вот-вот продукт должен стать похож на работающий заказчик говорит "ладно, пока отложим". И больше про него никто не вспоминает.

А всякая внутренняя автоматизация рано или поздно продается SAP-у со всеми вытекающими. И там гиков действительно нет. Там с обеих сторон только менеджеры.

[identity profile] metaclass.livejournal.com 2009-12-02 09:57 pm (UTC)(link)
Смешно то, что крупные заказчики с которыми я работал, согласны быть бета-тестерами. Потому что иначе они отдают в 10-100 раз большие деньги сразу, получают условно "работающий" продукт, потом оказывается что его все равно нужно допиливать под требования заказчика, а допилить или невозможно или стоит еще непонятно каких денег.

[identity profile] metaclass.livejournal.com 2009-12-02 09:59 pm (UTC)(link)
Не, если ACID нас не интересует - мы такие задачи не рассматриваем, пусть ими кто-нибудь другой занимается, у кого нервы покрепче для ответов по телефону на вопросы "а почему у нас тут данные друг другу противоречат" %)

Постгрес надо бы глянуть да, а то у меня объективной информации для сравнения с Firebird нет, а линуксоиды возмущаются что я Firebird использую :)

[personal profile] alll 2009-12-02 10:00 pm (UTC)(link)
> Но вот где граница - ... - непонятно.

В утешение могу сказать, что "где граница" определить крайне сложно в подавляющем большинстве случаев, какие ни возьми. Замечательная история про "с какого числа начинается куча" из детского мультика - она как раз про это. По этой причине выбор технологий для проектов, чьи ТТХ находятся в районе границы, всегда выглядит волюнтаризмом. И по этой же причине в волюнтаризме нет ничего страшного при таком раскладе. :)

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

[identity profile] metaclass.livejournal.com 2009-12-02 10:01 pm (UTC)(link)
Там, где "отложим" это народ банально бабло отмывает. Я не совсем понимаю механизм, все таки нужно хоть какой-то продукт поиметь в итоге, но изначально задача - отмыть бабло "оттуда".

[identity profile] fas-tm.livejournal.com 2009-12-02 10:19 pm (UTC)(link)
Тут конечно нужно учитывать нишу применения. Везде свои мухи.
Но на вопрос клиента: "А почему вы вместо, например, бесплатного MySQL/Postgre, юзаете MSSQL", я ответил, что если вы хотите получать такой ответ техподдержки "... эээ, это не наша бага, поройтесь в рассылках MySQL", то мы вам можем устроить. Плюс специфика данного софта - возможность выгружать данные в другие базы. Мы конечно можем наклепать сервисы выгрузки но боюсь это будет дороже чем купить MSSQL.

Искать границы/серебрянные пули/золотое сечение итд... бесполезно. Вменяемость разработчика не измеряется баллами или манной. Выбор той или иной технологии - это тупо опыт и уверенность в своих силах и команде.

[identity profile] veter-r-r.livejournal.com 2009-12-02 10:30 pm (UTC)(link)
Можно, конечно, устроить холивар на тему, чем копание в рассылках MySQL отличается от копания в рассылках MSSQL.. но не хочется. :)
Поэтому я спрошу, а почему не Оракл? :)

[identity profile] fas-tm.livejournal.com 2009-12-02 10:43 pm (UTC)(link)
Я за адекватное применение. Холливаров не получиться.
Oracle не нужен в 90% задач. Зато в тех 10% где он оправдывает себя - он делает это хорошо. По поводу MSSQL vs Postgree vs MySQL. Платформа win-only, зачем скрещивать софт в непотребных позах там где это не нужно ? При этом есть условие, обязательно должен быть нормальный способ выгрузки в MSSQL/Oracle (99% софта в нашей области юзают их, и часто приходиться интегрироваться).
В рассылках MSSQL так же ковырялись, тоже всякое бывало. Принципиально конечно ничем, не отличается, но я не настолько хорош в Postgree чтобы брать на себя ответственность, и иметь бледный вид в случае косяков :)

[identity profile] plumqqz.livejournal.com 2009-12-02 11:13 pm (UTC)(link)
Не, если ACID нас не интересует - мы такие задачи не рассматриваем, пусть ими кто-нибудь другой занимается, у кого нервы покрепче для ответов по телефону на вопросы "а почему у нас тут данные друг другу противоречат" %)


На самом деле есть прорва задач, где точность "тютелька-в-тютельку" не так уж важна. Ну пролюбили мы учет ста хитов из многих миллионов - ну и хрен с ним, например.

Постгрес надо бы глянуть да, а то у меня объективной информации для сравнения с Firebird нет, а линуксоиды возмущаются что я Firebird использую :)

Ой, только не слушайте фанатиков.

[identity profile] oldmann.livejournal.com 2009-12-02 11:46 pm (UTC)(link)
Ребе, ответьте, пожалуйста, на несколько вопросов.

1. Доводилось ли Вам автоматизировать Настоящий Кровавый Энтерпрайз, а не эту вашу белорусскую песочницу?
2. Лично Вы получали, передавали, или являлись свидетелем передачи "отмытого бабла" и "откатов"?
3. Если ответ на оба пункта выше - "нет", то сидите и не отсвечивайте, пожалуйста.

[identity profile] theiced.livejournal.com 2009-12-03 12:46 am (UTC)(link)
а я, можно я. я маленький ышо, но уже говна понюхал.

1. система учёта мексов и прочих маргиналов для нью-йоркской муниципалки со всеми вытекающими рассчётками сойдёт за чуть-чуть кровоточащий энтерпрайзик? ;] ну не то что бы единолично писал, так, говнокодил в сторонке, но всё же.

2. довелось, как раз оракель-в-полной-комплектации. ещё из первых рук слышал про сап, из результатов видел уютный домик в пределах мкада в минске :) но тут насколько правда судить не берусь.

вот возьмём кстати ваш газпром (или как там его). ну вот не поверю что контора, ведущая один из трёх источников дохода рашки (а шо - газ, нефть, лес - чем ещё рашка зарабатывает) ведёт дела чэсна, без откатов :)

[identity profile] theiced.livejournal.com 2009-12-03 12:52 am (UTC)(link)
>Oracle не нужен в 90% задач. Зато в тех 10% где он оправдывает себя - он делает это хорошо

я в том адовом треде вже писал. оракель нужен ТОЛЬКО в том случае если есть относительно большие (>100GB) объёмы данных и есть только тушкан мега-оракель-дба (ака тупое быдло ничего кроме рутинного обслуживания оракля не умеющая). постгре при больших объёмах всё же требует квалификации, но работает лучше.

Почему лучше:

1. быстрее
2. фичастее (а в оракле нетуть WITH RECURSIVE ня ня ня)
3. предсказуемее
4. можно _быстро_ получить вменяемую поддержку - что платную что на офф канале ирц - там и разработчики тусят и мощные визарды (мне вот в ирц за 15 минут оччччень нетривиальные вещи разжёвывали, брали мои 100меговые дампы и показывали на факапы за час итд - саппорт оракля который может ваш вопрос на пол года отложить тут рядом не срал).

[identity profile] theiced.livejournal.com 2009-12-03 01:01 am (UTC)(link)
>Для небольших задач (что такое "небольшая задача" - вопрос отдельный) постгрес - великолепнейшая вещь. Чем больше с ним колупаюсь, тем больше он мне нравится.

Ну честно - немного практики и он и для "больших задач" будет не менее великолепнейшей вещью. Понимаете - из него вши и тараканы при каждом чихе не вываливаются, всё работает так как написано в ОХУЕННОЙ документации (кто то видел доку лучше чем офф дока по постгре?). Я вообще знаю только одну ситуация где _я_ буду использовать не постгре - когда нужна ембедед база, ну не умеет он (пока?) этого. Да - я заинвэстил ощутимое кол-во времени в изучение, да мне повезло работать с реальными монстрами на проекте с неебическим кол-вом данных. Да - я буду стоить дороже чем аналогичный спец по ораклю, но постгре у меня будет работать как минимум не хуже оракля.

[identity profile] w00dy.livejournal.com 2009-12-03 01:57 am (UTC)(link)
Мы, например, для свое проекта решение обосновывали наличием опыта, достаточностью технологии и стоимстью (потому что хотим взлететь за свои). Брать что-то потому что это круто считаю верхом идиотизма.

[identity profile] inhate.livejournal.com 2009-12-03 05:54 am (UTC)(link)
Слуш, а как там сделать аналог (mysql'ного) SHOW GRANTS FOR username; не прибегая к магическим самописным процедурам?

[identity profile] vp.livejournal.com 2009-12-03 06:34 am (UTC)(link)
Ребе, вы озвучте свои критерии кровавого ентерпрайза.
Для меня кровавый ентерпрайз начинается с постановки вопроса когда за остановку системы поставят раком и система через себя желательно так или иначе или учитывает/считает много баблоса, или же управляет технологией, которая этот баблос производит в виде продукции. Но так или иначе все критическое в плане надежности.

[identity profile] tech-rants.livejournal.com 2009-12-03 06:47 am (UTC)(link)
А сколько стоил час простоя системы? По порядку величины, просто чтобы понять о насколько кровавом энтерпрайзе идет речь.

[identity profile] madeveloper.livejournal.com 2009-12-03 07:06 am (UTC)(link)
1. Быстрее под какой нагрузкой? На какой технике? Скока пользователей и характер запросов?
2. Нет. Потому что уже давно есть CONNECT BY. Списками фич не советую даже пытаться меряться.
3. Что, и хинты можно руками любые прописывать?
4. Ни разу не приходилось в суппорт обращаться. Зато обучиться можно вполне себе достойно.

[identity profile] a-sure.livejournal.com 2009-12-03 07:50 am (UTC)(link)
Дык ребе oldmann вроде там жа? Т.е. в "голове" энергетики?
По всем признакам - ФСК, т.е. транспорт электроэнергии.

Плюс у него в записках есть еще примеры - тот же транспорт газа.

Понты, понты

[identity profile] a-sure.livejournal.com 2009-12-03 07:52 am (UTC)(link)
Говнопроекты такого типа - это почесывание ЧСВ, обычно с ними все понятно после 10 минут разговора с главным архи-тектором. По красноглазости.

[identity profile] gds.livejournal.com 2009-12-03 07:53 am (UTC)(link)
4. плохо работаете. У нас стабильно раз в пару месяцев (и вот уже больше пяти лет) возникают вопросы, однако в пустоту, так как саппорта на спижженный оракл не дают (даже левые аккаунты на металинке прикрывают, ироды), открытой информации нет, а гуры разводят руками. В том числе из-за этого думаю смотреть на что-нибудь другое. На постгрес, например. Конечно, не в том проекте уже.

Page 1 of 4