Помогите разобраться с серверами, языками, ОС и т.д.

  • Автор темы ARIRAN
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

ARIRAN

Гость
#1
Привет всем. Помогите разобраться и внести ясность в ситуацию.

Суть дела в следующем: планируется сделать Интернет-портал обработки данных и вывода результатов обработки этих данных. Файлы будут содержать большие объемы данных. Это порядка 10-15 тысяч строк и в каждой строке от 5 до 20 ячеек (столбцов). Пользователь будет загружать такой файл на сервер, сервер будет проводить серию расчетов и вычислений и выводить результаты в виде таблиц, графиков и диаграмм. Причем базовый результат вычислений будет в таблице. И с каждого наименования в этой таблице должна быть ссылка уже на график и диаграмму именно для этого наименования. В общем виде вот такая задача. Кроме этого на портале будет форум, основанный на одном из распространенных движков (vbulleten или другой). И загрузка с обработкой данных будет разрешена только зарегистрированным пользователям. Соответственно должна быть привязка файла и результата обработки к каждому пользователю. Также результаты должны сохраняться и должна быть возможность добавлять новые данные (таким же файлом с новой датой) и возможность сравнения старых и новых результатов.

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

Что удалось найти по этому поводу в википедии:
На сегодня двумя наиболее распространёнными веб-серверами, вместе занимающими около 85 % рынка [1][2], являются:
• Apache — свободный веб-сервер, наиболее часто используется в Unix-подобных ОС
• IIS от компании Microsoft, распространяется с ОС семейства Windows NT
Также на текущий момент известны такие сервера как:
• nginx — свободный веб-сервер, разработанный Игорем Сысоевым в 2002 году. В текущий момент пользуется большой популярностью на крупных сайтах.
• lighttpd — свободный веб-сервер, разрабатываемый с расчётом на быстроту и защищённость, а также соответствие стандартам.
• GWS (Google Web Server) — веб-сервер разработанный компанией Google.
• Resin — свободный высокопроизводительный веб-сервер приложений включающий в себя такие черты как масштабируемость, и распределение нагрузки.

Несколько различных технологий создания веб-приложений:
• ASP.NET — разработанная компанией Майкрософт технология; для IIS это - основное на сегодняшний день[2] средство создания веб-приложений и веб-служб. Поддержка ASP.NET встроена в IIS 6.0; для более ранних версий необходимо отдельно загрузить и установить .NET Framework.
• ASP — предшествовавшая ASP.NET технология создания динамических веб-страниц на основе сценариев.
• CGI — стандартная межплатформенная низкоуровневая технология создания динамических веб-страниц.
• ISAPI — низкоуровневая технология, аналогичная интерфейсу модулей Apache, Подсистема исполнения скриптов ASP выполнена как модуль ISAPI.

Языки программирования:
Тут целый набор от ассемблера до С++

БД от MySQL до Oracle
Теперь собственно вопросы:
Глобальный вопрос: на какой связке это лучше сделать с учетом объемов данных, скорости обработки этих данных и безопасности от взлома (данные не настолько секретные как электронные платежи, но посерьезнее чем почта на бесплатном почтовом сервере) и почему?
Заметки: форум должен быть на основе БД, но в принципе не обязателен на РНР (хотя других почти не встречал). Может быть есть какие-то готовые мощные CMS с встроенным форумом рассчитанным на одновременное пользование 5-10 тысяч человек. Вобщем высказывайте свои соображения 
Попутный вопрос: какие расценки у программистов на написание такого вот портала?
 
V

Vovochka

Гость
#2
Для начала стоит определиться с платформой, на которой все это будет крутиться. А именно: Microsoft или unix.
Может я покажусь предвзятым, но платформа от microsoft - имеет смысл лишь тогда, когда и остальные технологии будт от мелкомягких. Что в общем итоге окажется не дешево.
В противном случае смысла в винде нет. Вот какой смысл крутиться апачу под виндой?


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

К примеру, наверняка знаете такой сайт как digg.com. Вот что он изнутри.
какие расценки у программистов на написание такого вот портала?
Не думаю, что аутсорсинг - это хорошее решение. Лучше иметь своих штатных специалистов, которых всегда пнуть можно.
Ну а цены разнятся в зависимости от места обитания программистов :)
 
A

ARIRAN

Гость
#3
Не думаю, что аутсорсинг - это хорошее решение. Лучше иметь своих штатных специалистов, которых всегда пнуть можно.
Ну а цены разнятся в зависимости от места обитания программистов smile.gif
своих штатных нет :blink:

Для начала стоит определиться с платформой, на которой все это будет крутиться. А именно: Microsoft или unix.
Может я покажусь предвзятым, но платформа от microsoft - имеет смысл лишь тогда, когда и остальные технологии будт от мелкомягких. Что в общем итоге окажется не дешево.
В противном случае смысла в винде нет. Вот какой смысл крутиться апачу под виндой?
вот мы и пытаемся определиться с платформой. на какой будет лучше, быстрее и надежнее? цена значения пока не имеет. можно ли на основе моих вводных сказать какие связки будут лучше для решения этой задачи? например: делаем на винде сервер ИИС, сам сайт на аспНЕТ, хранение данных в ПостгреСКЛ, для обработки данных использовать С++
или лучше например под юниксом: сервер nginx, сам сайт на РНР, хранение данных в Оракле, для обработки использовать Перл.
вот примерно такие ответы я бы хотел увидеть от разбирающихся людей :D

и еще вот допустим для решения именно этой задачи лучше использовать мелкомягкие технологии, можно ли будет потом к ним прикручивать скрипты на РНР например? (тот же форум)
 
A

ARIRAN

Гость
#4
давайте тогда начнем с более простой формулировки вопроса:
есть идея сделать интернет-сервис, в котором пользователь будет загружать таблицу (5-20 столбцов, 10-20 тыщ строк), а на выходе получать штук 5 разных результатов в виде графиков, диаграмм и т.п. Пользователей немного, максимум несколько десятков одновременно. Данные не настолько секретные как электронные платежи, но посерьезнее чем почта на бесплатном почтовом сервере.
Как лучше все это реализовать? С чего начать?
 

Kmet

Well-Known Member
Java Team
25.05.2006
1 036
8
#5
вот мы и пытаемся определиться с платформой. на какой будет лучше, быстрее и надежнее?
в первую очередь это зависит от квалификации разработчиков. поэтому право решать какие технологие использовать лучше оставить разработчикам, что они лучше знают, пусть на том и пишут.

для ваших задач подойдет любая связка из мейнстрима:
1) java
2) .net
3) php

можно еще расмотреть python(django) и ruby(ror), они пока не мейнстрим, но имееют все шансы им стать

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

Заметки: форум должен быть на основе БД, но в принципе не обязателен на РНР (хотя других почти не встречал). Может быть есть какие-то готовые мощные CMS с встроенным форумом рассчитанным на одновременное пользование 5-10 тысяч человек. Вобщем высказывайте свои соображения 
что значит одновременное? 5-10 тыщ хитов в секунду это очень много.

Попутный вопрос: какие расценки у программистов на написание такого вот портала?
в до кризисное время, толковый фрилансер 10-25$ в час
аутсорсинг в контору наверное от 35 в час за голову
 
A

ARIRAN

Гость
#6
в первую очередь это зависит от квалификации разработчиков. поэтому право решать какие технологие использовать лучше оставить разработчикам, что они лучше знают, пусть на том и пишут.

для ваших задач подойдет любая связка из мейнстрима:
1) java
2) .net
3) php
по моему сперва надо выяснить что лучше подойдет для решения задачи, а потом уже поискать тех, кто лучше других на такой технологии сможет сделать.

а в каждую связку из мейнстрима что входит?
вот связка .net что она означает? какая ос, какой сервер, какая бд, какой язык скриптов обработки?

что значит одновременное? 5-10 тыщ хитов в секунду это очень много.
много, да. вот и ищем ту связку, которая с таким наплывом справится.
 

Kmet

Well-Known Member
Java Team
25.05.2006
1 036
8
#7
по моему сперва надо выяснить что лучше подойдет для решения задачи, а потом уже поискать тех, кто лучше других на такой технологии сможет сделать.
без подробного тз не выясните.
потому как
есть идея сделать интернет-сервис, в котором пользователь будет загружать таблицу (5-20 столбцов, 10-20 тыщ строк), а на выходе получать штук 5 разных результатов в виде графиков, диаграмм и т.п. Пользователей немного, максимум несколько десятков одновременно.
это одно
Может быть есть какие-то готовые мощные CMS с встроенным форумом рассчитанным на одновременное пользование 5-10 тысяч человек.
а это совсем другое. Это разные классы задач.

Но мы так и не определились, что такое "одновременное пользование 5-10 тысяч человек". Что эти 5-10 тысяч будут делать одновременно?
Скорее всего вы сильно переоценили возможную популярность вашего сервиса.

а в каждую связку из мейнстрима что входит?
вот связка .net что она означает? какая ос, какой сервер, какая бд, какой язык скриптов обработки?
а в ходит в них по несколько десятков различный комбинаций из языков, фрэймворков, баз данный и тд. Исходя из входный данных подойдет любая.
 
A

ARIRAN

Гость
#8
без подробного тз не выясните.
а вы спрашивайте дополнительную информацию.

а это совсем другое. Это разные классы задач.

Но мы так и не определились, что такое "одновременное пользование 5-10 тысяч человек". Что эти 5-10 тысяч будут делать одновременно?
Скорее всего вы сильно переоценили возможную популярность вашего сервиса.
тут наверное мы немного не поняли друг друга. одновременное пользование 5-10 тысяч человек это только на форуме. тут, конечно с запасом взято, но цифра вполне реальная. что будут они делать одновременно - читать добавлять сообщения, обмениваться личными сообщениями.

а с самим сервисом загрузкой обработкой данных там одновременно ну человек по 10-20 будет наверное.

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

Kmet

Well-Known Member
Java Team
25.05.2006
1 036
8
#9
тут наверное мы немного не поняли друг друга. одновременное пользование 5-10 тысяч человек это только на форуме. тут, конечно с запасом взято, но цифра вполне реальная. что будут они делать одновременно - читать добавлять сообщения, обмениваться личными сообщениями.
это хитов 100-200 в секунду. с одного сервера реально получить такую поизводительность.

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

а с самим сервисом загрузкой обработкой данных там одновременно ну человек по 10-20 будет наверное.
а вот тут хз. все зависит от обработки данных. но так как предыдущие два пункта будут работать под LAMP (Linux Apache MySql PhP), то и для этого стоит выбрать эту связку. Хотя я и не люблю пхп, в данном случае это будет лучший выбор
 
A

ARIRAN

Гость
#10
Хотя я и не люблю пхп, в данном случае это будет лучший выбор
а почему рнр не жалуете?

тут такое дело что практически все советуют начать на ЛАМП а потом если что-то будет не справляться переписать на С++. я только не могу понять, почему сразу на С++ тогда не написать все?

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

etc

Гость
#11
Потому что это (ПХП) никромондер. :) вроде шевелится но и не дышит.
что практически все советуют начать на ЛАМП
буду оригинален - берите .нет.
а с самим сервисом загрузкой обработкой данных там одновременно ну человек по 10-20 будет наверное.
вот тут не понятно, что это такое? что значит "загрузкой обработкой данных"?
вощем ниче не понятно, но здается, изходя из прочитанного, что вы действительно переоцениваете обемы.
я воду поливаю т.к. и от вас никакой конкретики ...
 
A

ARIRAN

Гость
#12
Потому что это (ПХП) никромондер. smile.gif вроде шевелится но и не дышит.
с этого места поподробнее можно? :) что в нем такого из слабых мест?

буду оригинален - берите .нет.
почему? :) и что в это .нет у нас войдет и под чем будет работать и как будет с форумами связываться? :)

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

щас попробую понятнее написать. значит есть форум. на форуме есть пользователи. для авторизованных пользователей будет возможность работать со специальным сервисом. этот сервис будет получать от пользователя файл с данными. данных будет много (ориентируемся на файл екселя в котором 15000 строк и на 10-20 ячеек в каждой строке). после получения такого файла сервис обрабатывает эти данные (складывает,вычитает, находит средние значения по столбцам, сравнивает их друг с другом, рассчитывает среднеквадратичное отклонение по столбцам и т.д.) и выдает результат обработки в виде таблиц, графиков и схем.

при этом сервис запоминает какой пользователь какой файл загрузил и какие результаты ему были выданы. когда пользователь придет в следующий раз с новыми данными (такого же формата) ему проводятся те же расчеты и сравнение с предыдущими результатами.

вот так обстоит дело. собственно сейчас мы пытаемся выяснить каким образом это лучше реализовать чтобы было быстро и надежно.
 
E

etc

Гость
#13
ай про пхп ниче говорить не буду, бо все одно и тоже ...

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

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

вощем примерно гдето так

PS: гонорар для меня, где забрать? :)
 
A

ARIRAN

Гость
#14
ай про пхп ниче говорить не буду, бо все одно и тоже ...
киньте в меня ссылкой чтоли :) где почитать.

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

и можно вопрос вам, как .нет специалисту. напишите что потребуется для реализации этого проекта на .нет (какая ос, какой сервер, какая база, какой язык, может есть форумы готовые написанные на .нет и т.д.)
 
E

etc

Гость
#15
Смотря какогоо вида отчеты, если не сложные, то одно, а если сложноватые, то предложил бы посмотреть на MS Reporting Services?отсюда и
остальное вытекает, т.е. БД - MS SQL Server - от 2000 но лучше 2005/2008, почему так - потому как у MS Reporting Services офигенная интеграция MS SQL.
Примеров в инете достаточно - можно визуально оценить мощь.

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

Kmet

Well-Known Member
Java Team
25.05.2006
1 036
8
#16
а эт не важно. всяк кулик свое болото хвалит.

тут такое дело что практически все советуют начать на ЛАМП
правильно советуют, по части ЛАМП, потому как большой выбор готовый цмс и форумов. вам хочется платить за разработку еще одного форума?=)
а потом если что-то будет не справляться переписать на С++. я только не могу понять, почему сразу на С++ тогда не написать все?
потому как долго и дорого. да и, имхо, вам не придется переписывать.

ну это вобщем понятно. кто что лучше знает, то на том и реализует. я, собственно, не сомневаюсь, что решить эту задачу можно на любой связке, но хочется ту, которая больше подойдет.
считайте их равноценными=)


и уж если вы так беспокотетесь о нагрузочной способности, то имеет смысл попробовать решения для Cloud Computing (Amazon, Google App Engine)
 
A

ARIRAN

Гость
#17
остальное вытекает, т.е. БД - MS SQL Server - от 2000 но лучше 2005/2008, почему так - потому как у MS Reporting Services офигенная интеграция MS SQL.
Примеров в инете достаточно - можно визуально оценить мощь
а можно ссылок на примеры?

а эт не важно. всяк кулик свое болото хвалит.
ну может там что-то есть совсем критичное? :)

правильно советуют, по части ЛАМП, потому как большой выбор готовый цмс и форумов. вам хочется платить за разработку еще одного форума?=)
ну если дело того стоит, то почему бы не заплатить? ;) ЛАМП он я так понимаю более популярный и рнр не особо сложный язык, поэтому на нем большинство и пишет. но популярный же не означает лучший :) поэтому вот и пытаемся выяснить.

и уж если вы так беспокотетесь о нагрузочной способности, то имеет смысл попробовать решения для Cloud Computing (Amazon, Google App Engine)
Cloud Computing (необходимые программы находятся на сервере, а для доступа к ним необходим только веб-интерфейс. )
а в чем разница? тот же ЛАМП я так понимаю и есть клоуд компьтинг. скрипты обработчики на сервере и для доступа к ним веб-интерфейс. нет?
 
E

etc

Гость
#18
а можно ссылок на примеры?
http://search.live.com/results.aspx?q=ms+r...amp;Form=IE8SRC
скрипты обработчики на сервере и для доступа к ним веб-интерфейс. нет?
а под вебом все так, правда есть "гибриды" ... типа аплетов флешей сильверлайтов активиксов (правда последние не кросплатформенны) :) но в конечном итоге все равно к серверу все идет.
 

Kmet

Well-Known Member
Java Team
25.05.2006
1 036
8
#19
ну если дело того стоит, то почему бы не заплатить?
не стоит

популярный же не означает лучший smile.gif поэтому вот и пытаемся выяснить.
No Silver Bullet

пока вы разбираетесь, конкуренты делают=)


Cloud Computing (необходимые программы находятся на сервере, а для доступа к ним необходим только веб-интерфейс. )
http://en.wikipedia.org/wiki/Cloud_computing
основная фенечка это динамическая маштабируемость. пришла толпа китайцев, докупили пару десятков условных серверов, ушла - освободили.
 
Статус
Закрыто для дальнейших ответов.