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

Тема в разделе "Общие вопросы", создана пользователем ARIRAN, 27 фев 2009.

Статус темы:
Закрыта.
  1. ARIRAN

    ARIRAN Гость

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

    Суть дела в следующем: планируется сделать Интернет-портал обработки данных и вывода результатов обработки этих данных. Файлы будут содержать большие объемы данных. Это порядка 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 тысяч человек. Вобщем высказывайте свои соображения 
    Попутный вопрос: какие расценки у программистов на написание такого вот портала?
     
  2. Vovochka

    Vovochka Гость

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


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

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

    ARIRAN Гость

    своих штатных нет :blink:

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

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

    ARIRAN Гость

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

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    в первую очередь это зависит от квалификации разработчиков. поэтому право решать какие технологие использовать лучше оставить разработчикам, что они лучше знают, пусть на том и пишут.

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

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

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

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

    в до кризисное время, толковый фрилансер 10-25$ в час
    аутсорсинг в контору наверное от 35 в час за голову
     
  6. ARIRAN

    ARIRAN Гость

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

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

    много, да. вот и ищем ту связку, которая с таким наплывом справится.
     
  7. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    без подробного тз не выясните.
    потому как
    это одно
    а это совсем другое. Это разные классы задач.

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

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

    ARIRAN Гость

    а вы спрашивайте дополнительную информацию.

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

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

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

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    это хитов 100-200 в секунду. с одного сервера реально получить такую поизводительность.

    тоже обычный функционал для цмс, контент в основном статический.

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

    ARIRAN Гость

    а почему рнр не жалуете?

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

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

    etc Гость

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

    ARIRAN Гость

    с этого места поподробнее можно? :) что в нем такого из слабых мест?

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

    загрузкой и обработкой данных :)

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

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

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

    etc Гость

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

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

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

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

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

    ARIRAN Гость

    киньте в меня ссылкой чтоли :) где почитать.

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

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

    etc Гость

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

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

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    а эт не важно. всяк кулик свое болото хвалит.

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

    считайте их равноценными=)


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

    ARIRAN Гость

    а можно ссылок на примеры?

    ну может там что-то есть совсем критичное? :)

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

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

    etc Гость

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

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    не стоит

    No Silver Bullet

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


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

    ARIRAN Гость

    может еще будут мнения какие?
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей