Выбор платформы
2266
9
Коллеги, помогите советом.
Есть задача написать одну информационную системку для небольшого предприятия. В дальнейшем планирую слегка модифицировав ее попробовать предложить другим конторам, но тут возник вопрос - на чем ее писать.
Выбираю между платформой .net и delphi. В качестве СУБД MS SQL и Interbase

Довольно хорошо знаю C#, на нем есть некоторые наработки по теме, которые можо использовать, но сильно смущает размер дистрибутива. Меня напрягает когда с демо-версией своей программы объемом 1 МБ я вынужден отправлять клиенту и пакет .NET Runtime в несколько десятков МБ. Это сразу отрежет от меня клиентов находящихся в других городах. Кроме того - если клиенты не захотят ставить нелицензионный на MS SQL - то это очень сильно взвинтит цену. Но на мой взгляд - этот вариант технологически более перспективен.

С другой стороны - опыт работы на Delphi уже 5 лет, но к сожалению делал проекты по другим направлениям, так что применить ничего из наработок не удастся. Зато получается очень малый объем дистрибутива, более качественная интеграция с Interbase. Меньшая стоимость и меньшие требования к аппаратным ресурсам.

Посоветуйте, какой инструментарий лучше выбрать?
если "небольшую системку" - конечно Delphi+Interbase
если систему масштаба предприятия - то тут MSSQL рулит...
Меня напрягает когда с демо-версией своей программы объемом 1 МБ я вынужден отправлять клиенту и пакет .NET Runtime в несколько десятков МБ
А просто дать ссылку на даунлоад с сайта Microsoft чем не подходит? Тем более, поставят .NET Framework один раз и все, дальше будут получать обновления по 1 MB.

если клиенты не захотят ставить нелицензионный на MS SQL - то это очень сильно взвинтит цену.
А он им вообще нужен? ИМХО, 99%-ам контор того рынка, на который вы метите, хватит и MSDE, который с недавних пор бесплатен (MSDE 2000 Release A)

Довольно хорошо знаю C#, на нем есть некоторые наработки по теме, которые можо использовать
С другой стороны - опыт работы на Delphi уже 5 лет, но к сожалению делал проекты по другим направлениям, так что применить ничего из наработок не удастся.
Выбирайте тот, который лучше знаете и имеете наработки. На моей памяти есть несколько примеров, когда проект был неудачен из-за того, что программисты, не имея опыта и наработок в технологиях БД и построении подобного рода приложений, заваливали проект, либо завязнув в написании слишком универсальных (no custom) базовых классов, работающих с БД и отделящих логику от уровня данных, либо, наоборот, постоянно переделывая все формы при малейшем изменении, потому что писали "в лоб" (кинули на форму кверю и грид, на другой форме опять так же и т.д.).

P.S. На мой взгляд, что Delphi-IB, что .NET-MSSQL совершенно равнозначны по возможностям для проектирования приложений, подобных вашим, но я бы выбрал все-таки технологии MS как более перспективные и надежные.
Довольно хорошо знаю C#,
Про бесплатность MSDE я уже писал, теперь про C#. Если вы собираетесь всерьез заняться своим продуктом, то советую купить VC#.NET 2003 Standard (стоит всего $89). Сам дистрибутив не включает MSDE, но предлагает скачать MSDE с сайта MS, и его лицензия позволяет бесплатно распространять MSDE со своими программами, написанными на C#. Т.е. на стоимости вашей программы для конечного пользователя это никак не отразится, а вот покупать Delphi Professional за $999, чтобы писать программы, работающие с IB - на вашем кармане очень даже, если впоследствии продукт станет достаточно серьезным и будет необходима легализация не только пользователей, но и самого разработчика.
По своему опыту - IB надежен как танк. В сети 10 компов, 4 из них постоянно падают из-за плохого электропитания, и хоть бы что.
Не знаю, какие преимущества у MS SQL при больших БД, но сомневаюсь что значительные. К тому же IB существует в бесплатном варианте FireBird, использую больше года, доволен. Delphi 5 достаточно выше крыши, сервер ставь хоть на 9х, хоть на 2к хоть на Linux. Плюс хорошая документация, в отличие от любых продуктов МС. В общем, рекомендую.
Максимыч
По своему опыту - IB надежен как танк.
Большое преувеличение, без админа его ставить я бы не рекомендовал, базу надо часто поджимать, иначе безобразно распухает, бэкап через ж@@@, извиняюсь за выражение, надо написать и зашедулить батники, вызывающие gbak; довольно часто приходится откатываться на предыдущую версию; если идет массовая вставка данных и одновременно работает бэкап, слетают генераторы; если сервер внезапно упадет, есть риск потерять данные... В общем, IB не так прост, как кажется, грамотный админ все-таки нужен. MS SQL гораздо надежней, проще в настройке и легче в обслуживании - один раз настроил и забыл.

Не знаю, какие преимущества у MS SQL при больших БД, но сомневаюсь что значительные.
Производительность, в первую очередь. Ну и надежность, что очень важно для контор, у которых нет админа, MSDE здесь однозначно лучший выбор. Хотя IB уж очень приятен в разработке, элегантен, довольно прост и имеет все, что надо:улыб:
К тому же IB существует в бесплатном варианте FireBird, использую больше года, доволен.
MSDE теперь тоже бесплатен, а вот ситуация с клонами IB не очень обнадеживающая, версии начинают сильно расходиться, если и ставить, то на IB от Borland, а не на FB. Но Borland IB уже не бесплатен.

Delphi 5 достаточно выше крыши,
И есть $999 на него? Если всерьез заниматься, то это не самый маловажный аргумент.

сервер ставь хоть на 9х, хоть на 2к хоть на Linux.
MSDE работает на любых Windows, 9x и NT. А вот
Linux.. это конечно плюс, но... есть ли целесообразность?

Плюс хорошая документация, в отличие от любых продуктов МС.
Вот это просто смешно слышать:улыб:Эх, по IB бы такую документацию, как BOL ...
Well
Интересное кино!

> По своему опыту - IB надежен как танк.
Большое преувеличение, без админа его ставить я бы не рекомендовал, базу надо часто поджимать, иначе безобразно распухает

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

> бэкап через ж@@@, извиняюсь за выражение, надо написать и зашедулить батники, вызывающие gbak;
раз в сутки при запуске сервера, и то просто для страховки - еще ни разу не пришлось откатывать БД ( уже почти два года )

> довольно часто приходится откатываться на предыдущую версию
(see above)

> если идет массовая вставка данных и одновременно работает бэкап, слетают генераторы
Ни разу не было. А что такое "массовая вставка"?
Обычно больше несколькиз сотен записей за раз не нужно...

> если сервер внезапно упадет, есть риск потерять данные...
Падал и не раз (из-за паршивой сети, в основном). Теряется последняя операция, и не более того.

> В общем, IB не так прост, как кажется, грамотный админ все-таки нужен. MS SQL гораздо надежней, проще в настройке и легче в обслуживании - один раз настроил и забыл.
Так и живем. Настроил, и месяцами в оные настройки не лажу.

>Плюс хорошая документация, в отличие от любых продуктов МС.
Вот это просто смешно слышать Эх, по IB бы такую документацию, как BOL ...

Возможно, тут я отстал от жизни. Раньше было именно так - все продукты от МС документировались крайне паршиво, возможно, они исправились, наконец?

>Delphi 5 достаточно выше крыши,
И есть $999 на него? Если всерьез заниматься, то это не самый маловажный аргумент.

С ходу не помню, но, кажется, минимальный вариант с BDE все-таки в разы дешевле. А с учетом того, что под ИБ есть ФИБы котрые не требуют БДЕ, и того дешевле. Но здесь боюсь соврать, надо посмотреть. Спасибо.
>Linux.. это конечно плюс, но... есть ли целесообразность?
Для выделенного сервера - уверен, что есть, в первую очередь - проще организовать защиту секретности данных. Пока что у меня сервером рабтает РС которая заодно и клинтское рабочее место, но это, похоже, ненадолго.

В общем, я не наблюдал описываемых Вами проблем. В чем дело, не знаю. То ли мой вариант работы с БД проще и потому безпроблемнее, то ли объем и траффик у меня меньше, и дело в этом
У меня хранятся данные примерно за год, это порядка 500 000 строк, соответственно в день 50-100 операций в сумме порядка 2000 строк (не считая отчетов, просмотров и правок).
Максимыч
раз в сутки при запуске сервера, и то просто для страховки -
У нас есть клиенты, у которых бэкап делается каждый час, у других 1-2 раза в сутки. Сбои в БД бывают, иногда привозят диски с БД, чтобы ее восстановили.

еще ни разу не пришлось откатывать БД ( уже почти два года )
А восстанавливать не пробовали? Проверьте, а то бэкапы могут оказаться битыми.

Так и живем. Настроил, и месяцами в оные настройки не лажу.
И поджимается тоже сама собой?

А что такое "массовая вставка"?
Импорт, например.

Раньше было именно так - все продукты от МС документировались крайне паршиво, возможно, они исправились, наконец?
Да никогда так не было! Работаю с MS SQL начиная с 6.5, документация всегда была отличной. А вот то, что борландовская портится с каждым новым релизом-факт.

С ходу не помню, но, кажется, минимальный вариант с BDE все-таки в разы дешевле. А с учетом того, что под ИБ есть ФИБы котрые не требуют БДЕ, и того дешевле. Но здесь боюсь соврать, надо посмотреть.
Зачем же тогда делать голословные заявления? Если вы имеете в виду Personal за $99 - то он не позволяет распространять приложения. А следующая версия - Professional за $999. Старшие версии стоят вообще заоблачно.

Для выделенного сервера - уверен, что есть, в первую очередь - проще организовать защиту секретности данных. Пока что у меня сервером рабтает РС которая заодно и клинтское рабочее место, но это, похоже, ненадолго.
Опять же, стойкость защиты зависит не только от ОС, но и от пряморукости админа, впрочем, которого маленькая контора может и не иметь, а работать надо. И еще, у вас клиентские места на Линуксе или как? А то непонятно становится, все-таки под Линуксом или на Windows работает ваш сервер БД?

В общем, я не наблюдал описываемых Вами проблем. В чем дело, не знаю.
Скорее всего, у вас нет инсталляционной базы, ваша БД меньше Гб, вы вовремя и квалифицированно делаете обслуживание. Когда же БД попадает в руки массовому клиенту, все меняется довольно резко.

Я еще раз подчеркну - IB хороший сервер БД, программировать под него просто удовольствие, но его кажущаяся простота - это миф, админить его все же надо. MSDE все же гораздо технологичней, никаких батников, at/cron'ов и т.д.
Well
>стойкость защиты зависит не только от ОС, но и от пряморукости админа
Несомненно
> И еще, у вас клиентские места на Линуксе или как?
Клиентские места под Win, тут пока вариантов нет. Как только выделится сервер, думаю попробовать поставить на него линух и сервер FB заодно с системой защиты.

>Скорее всего, у вас нет инсталляционной базы, ваша БД меньше Гб, вы вовремя и квалифицированно делаете обслуживание.
Все так и есть.

>Когда же БД попадает в руки массовому клиенту, все меняется довольно резко...MSDE все же гораздо технологичней
Вы меня убедили. Видимо, глядя перед стоит по-настоящему освоить MSDE и быть морально готовым к тому, что со временем с FB прдется слезать.