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] plumqqz.livejournal.com 2009-12-03 07:58 am (UTC)(link)
Для больших задач постгрес плох потому, что очень любит ходить к диску (родовая травма, ничего не поделаешь) и не умеет партиционироваться.

[identity profile] vp.livejournal.com 2009-12-03 08:07 am (UTC)(link)
Не, это ближе к верхней границе кровавщины. Как и запуск ракет в космос и межконтинентальная телефония.
Более интересует нижний порог :)

[identity profile] alex-radko.livejournal.com 2009-12-03 08:07 am (UTC)(link)
неократно сталкивался с подобными ситуациями только в приложении железа... В одних мега-проектах и собственный канал связи, и непонятно какой процессор, и все это работает на первый взгляд непонятно на каких заклинаниях... В других говнопроектах - за бешенные бабки куплена devepmentboard с софтом и т.п. и на соплях привинчен необходимый функционал, который занимает 1% ресурсов...

Одной из причин, как удалось выяснить - так было проще. Примерно как у нас - надо просто внешний АЦП с софтом. Не вопрос, сделали. Получилось нечто со спичечный коробок размером. - Нет, так нельзя: чтобы оправдать запрошенные деньги, размеры должны быть не меньше чемодана.

[identity profile] henu3detb.livejournal.com 2009-12-03 08:14 am (UTC)(link)
Про бесперебойную работу я вообще не понимаю. Вон бизнес-интелидженс или OLAP-приложения. Ну не работает оно час или два в рабочее время, ну ничего страшного, нарисует манагер свои графики после митинга или после обеда. Зато по сложности бизнес-логики - это полный п..ц. И по некоторым архитектурным решениям тоже полный. И по используемым фичам оракла, и по количеству фреймворков для джавы, и по различным не-джаа техлологиям.

Кровавый или нет?

[identity profile] henu3detb.livejournal.com 2009-12-03 08:19 am (UTC)(link)
На нынешнем проекте постгрес шуршит на 8 терабайтах, и размер быстро растет. Оракл тоже используется, но только там, где без некоторых его фич просто не смогли обойтись.

[identity profile] vp.livejournal.com 2009-12-03 08:24 am (UTC)(link)
Весьма кровавый :)
А кровавее - это управление технологическим процессом на производстве, когда мы вообще физически конвеер не имеем право остановить, убытки сразу по 10k$ в минуту будут или выше.

[identity profile] blacklion.livejournal.com 2009-12-03 08:27 am (UTC)(link)
Там, где "отложим" это народ банально бабло отмывает.
Да вот нифига. в США венчурные капиталисты просто вкладывают 10 раз по миллиону в стартапы, 9 раз теряют деньги, а 1 раз получают взрыв интернета и суммарный плюс. Я сам наблюдал невыстреливший такой стартап с очень близкого расстояния — к концу денег продукт был всё ещё УГ, ну они и самораспустились, у инвестора претензий нет (таковы условия игры), люди вовсе не на феррари ездят (из стратапа), просто пару лет получали нормальную в отрасли ЗП и при этом делали то, что им было интересно.

Уже можно суммировать

[identity profile] a-sure.livejournal.com 2009-12-03 08:34 am (UTC)(link)
Поскольку звучало ентерпрайз и бухгалтерия, то вот ребе Вам мои 5 коп:

Нашей софтине больше 14 лет, начиналось на досе со своей, с кластерным хранением, СУБД. Последние лет 7 - только ОРАКЛ, они успели поебайца с MSSQL еще когда он страницами лочил - ясен пень, был выкинут. В те годы (до 2000) я чутка успел поработать манагером по Ораклу в одной немаленькой интеграторской конторе, и помню, что купленных лицензий было не так чтобы много. Но ОРАКЛ особо не обижался. Сейчас - рассматриваем EnterpriseDB как альтернативу, потому что на перелопачивание PL|SQL кода нужно 5 человеколет и их нет.

Используемые у нас плоскости сечения сферического коня:
0)мой стандартный вопрос рассуждателям про "серверное железо и ОРАКЛ - понты\дорого\откат и ваще - ну упало, переставим и из ночного дампа поднимем":
Хорошо, упало оно у вас днем 4 числа. Реакция главбуха? Ваши действия?
Поясню - они 5го числа выдают з\п. Где на 500, где на 1000+, где и на 5000+ чел.
Если решение железо+софт+люди позволяет успеть посчитать и выдать людям з\п без седых висков, сорваных нервов и кучи бабла - значит, оно вполне адекватно.

1) язык разработки - у нас их два, дельфа и жаба. Дельфисты неплохо знают SQL и PL\SQL (не, чудес тоже было - но всё же), стараются логику держать на сервере, а данные - секционировать. Отмечу, что этот код з\п на препредприятии в 5000 чел (3хсменка) считает лет 5.
Жабисты верят в Hibernate и что_там_еще, в то что они могу независеть от базы и это можно будет масштабировать. У них за спиной пока только управленческий документооборот, работающий второй год на контору с 7 филиалами по Поволжью. Для хранения метаданных FIrebird, сами "документы" - в FS (ext3 альбо NTFS).

2) Специфика наша такова, что пока нам приходится саппортить то, что мы написали, самим. Поэтому выбирается то, по чему у нас есть вменяемые спецы (т.е. больше двух).
Обычно они есть по тому, что используется давно и себя зарекомендовало.

Тут ребе theiced писал, что ему посчастливилось поработать с гуру постгреса - я искренне рад за него. Но закладываться на существование ОДНОГО спеца по базовой технологии не стал бы ни за что. А до "заборов", на которым можно почитать много и всяког, что по ораклу, что по постгресу их достаточно. Что указали на факапы - наверное, здорово. Но для меня это больше похоже на изначальное недостаточное знание используемой технологии.

нюню

[identity profile] a-sure.livejournal.com 2009-12-03 08:39 am (UTC)(link)
Это мне напоминает историю с моим другом - его начальник пытался учить, как надо обращаться с б\п, считая себя более опытным - как-никак спалил2 штуки! То, что Серж за 10 лет не спалил ни одного, его как-то не убеждало.

Вы хотите сказать, что вопросы у вас НАСТОЛЬКО уникальны, что на них ответа нет даже на sql.ru ??? Пример можно ? (Хоть бы и в ЛС).

А насчет иродов - если у вас из личного авто будут из бака бензин регулярно пиздить, что, замочек не поставите?

[identity profile] metaclass.livejournal.com 2009-12-03 09:00 am (UTC)(link)
Я не про энтерпрайз. Я про аутсорсные веб-проекты, которые делаются непонятно кем, непонятно для чего, непонятно зачем финансируются и закрываются точно так же.

Насчет энтерпрайза - "со свечкой не стоял", но у людей с крупным ентерпрайзом нихера не работает, а они используют 1С или заказывают софт у нас. Не знаю, откаты там или просто тупицы экономят деньги на внедрении, но результат налицо.

Re: нюню

[identity profile] gds.livejournal.com 2009-12-03 09:01 am (UTC)(link)
по-моему, у Вас что-то с чувством юмора. Однако мы это проедем, так как ещё чего не хватало. Давайте лучше о хорошем.

вопросы -- например, из недавнего, запрос
select
case when a=0 then 1 else 0 as res1,
case when b>c then 1 else 0 as res2,
case when a=0 and b>c then 1 else 0 as res3
from ...

в некоторых строчках выдавал res1=1, res2=1, res3=0.
Причём стабильно, перегрузка базы не помогала.
Благодаря зоопарку бд мы случайно обнаружили, что вызывает подобное поведение. Но -- зацените всю красоту!

Но это относительно самой базы данных. Радость доставляют также неимоверно кривые oracle forms + reports. Не передать.

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

[identity profile] fas-tm.livejournal.com 2009-12-03 09:06 am (UTC)(link)
Верю. Поэтому дома ковыряю, привыкаю к нему.
Но на комплекс где стоит 100% MSSQL я не буду его ставить.
1. Админов местных надо обучать будет. Если эти лемминги испугаются и оперативно не подымут что то в течение получаса, то за невыход рекламы, на нас через суд повесят пару десятков штук ойро.
2. У нас нет 100Gb баз. 50Gb - да может быть, не больше.
3. У нас нет логики в базе.
4. Не вижу я смысла на Win юзать Postgree, MySQL, Oracle

Это не отменяет того что все остальные DB надо обязательно пощупать и выяснить те самы рамки применимости, о которых вопрошал автор корневого сообщения :)

[identity profile] dapofig.livejournal.com 2009-12-03 09:14 am (UTC)(link)
о под это хорошо подходит биллинг гугл-адсенс который изначально был написан на мускуле и без транзакций, и вроде ничего, работает :)

Re: нюню

[identity profile] kurilka.livejournal.com 2009-12-03 09:42 am (UTC)(link)
а что вызывает, если не секрет?

[identity profile] volodymir-k.livejournal.com 2009-12-03 09:48 am (UTC)(link)
> у людей с крупным ентерпрайзом нихера не работает, а они используют 1С или заказывают софт у нас

Называется "антропный принцип". Те, у кого всё просто работает, молчат и никуда не обращаются.

На МАЗе в некоторых финансовых отделах работает Оракл (возможно, с моими программами :) ). На бел.бирже он есть.

[identity profile] theiced.livejournal.com 2009-12-03 10:13 am (UTC)(link)
вы конфиг чуть-чуть менять пробовали? :)

[identity profile] plumqqz.livejournal.com 2009-12-03 10:19 am (UTC)(link)
Вы книжки читать пробовали?

Re: Уже можно суммировать

[identity profile] theiced.livejournal.com 2009-12-03 10:23 am (UTC)(link)
дак я вообще тупой - это всем известно и всё по верхам чуть-чуть знаю. но если вы такой умный и знаете всё-всё, расскажите мне как лечить - оракель, небольшая база, уиндоуз сервер 2003, раз в месяц ёбаеццо оракель не говоря никакой вменяемой инфы - просто коредамп в рандомных местах.

По постгре существует сравнимое кол-во спецов. Просто по ораклю существует гиганццкая армия ваннаби дба тушканов. Вы жеж не будете на похапэ пейсать по вот такой же причине?

[identity profile] veter-r-r.livejournal.com 2009-12-03 10:25 am (UTC)(link)
В общем, как и всегда, выбирается тот софт, с которым лучше знаком разработчик :) Независимо от его потребительских качеств. :) А потом отделу маркетинга предлагается объяснить клиенту, почему именно этот выбор лучший :))

[identity profile] theiced.livejournal.com 2009-12-03 10:25 am (UTC)(link)
не не, честно. постгре можно поругать и попросить к диску ходить гораааааздо реже. но это сложная задача бесспорно (серьёзно, без сарказма).

[identity profile] fas-tm.livejournal.com 2009-12-03 10:30 am (UTC)(link)
Ничего плохого в этом не вижу, если требуемый функционал и хотелки клиента будут достигнуты в пределах временных рамок проекта и его бюджета :)

[identity profile] plumqqz.livejournal.com 2009-12-03 10:33 am (UTC)(link)
Нельзя. У него кривая реализация версионности, откуда многочисленные проблемы и ограничения.

[identity profile] theiced.livejournal.com 2009-12-03 10:45 am (UTC)(link)
Есть такое, но всё можно. Если есть интерес, я попробую уговорить одного мега-визарда дать разъяснения.

[identity profile] veter-r-r.livejournal.com 2009-12-03 10:47 am (UTC)(link)
Ну просто потом такой разработчик сам себя убеждает, что его софтина лучше всех прочих софтин и живет с этим убеждением долгие годы. А потом приходит на форум по mysql и разносит там всех, опираясь на убеждения, полученные лет 10 назад. :)
Впрочем, в этом тоже нет ничего плохого. :)

[identity profile] fas-tm.livejournal.com 2009-12-03 10:57 am (UTC)(link)
Не не не.. мы не живем в своем мире. Адекватно относимся ко всем технологиям.
А фэйлы случаются ВЕЗДЕ. И чаще всего от незнания нюансов выбранной технологии и попытки изобрести велосипед. А иногда и тупо от человеческой глупости.
И костыли тоже пишем, да, а куда же без них, если нет выбора :)

Page 2 of 4