Я создаю приложение Lifestreaming, которое будет включать извлечение большого количества каналов для большого количества пользователей и выполнение алгоритмов интеллектуального анализа данных и машинного обучения на основе результатов. Масштабируемый и сбалансированный по нагрузке хостинг GAE подходит для системы, которая в конечном итоге может перемещать ОЧЕНЬ много данных, но отсутствие заданий cron доставляет неудобства. Могу ли я использовать Django на локальном компьютере и иметь дело с масштабированием моей собственной БД?






Это может измениться, когда они предложат платные планы, но в настоящее время App Engine не подходит для приложений, интенсивно использующих процессор. Он предназначен для масштабирования для обработки большого количества запросов, не обязательно большого объема вычислений на запрос. Я столкнулся с этой проблемой с довольно незначительными вычислениями, и я боюсь, что мне, возможно, придется искать в другом месте по мере роста моего набора данных.
Нет. Если вам нужно разобраться с множеством вещей, App Engine не будет работать так хорошо. Вы можете использовать его в качестве внешнего интерфейса, поместив свои данные в их хранилище после автономной предварительной обработки, но вы не можете много сделать за ~ 1 секунду, когда у вас есть запрос, без каких-либо сумасшедших вещей В самом деле.
Ваше приложение, вероятно, будет лучше размещено на вашем собственном хостинге.
Получение кормов или выполнение расчетов не составит труда. Но скоро вам придется заплатить за свой аккаунт. Движок приложения включает Django, за исключением того, что вам нужно будет работать с некоторыми адаптерами для модели. Это наверняка избавит вас от головной боли при обслуживании.
Если ваше приложение полагается исключительно на Django, то App Engine - хороший выбор. Однако, если вам когда-нибудь понадобится добавить библиотеки, расширенные для языка C, вы в беде. App Engine не поддерживает такие вещи, как PIL или ReportLab, которые используют C для ускорения обработки. Я упоминаю об этом только потому, что вы, возможно, захотите использовать C для ускорения некоторых из ваших подпрограмм в долгосрочной перспективе.
Если вы решите использовать co-loc, посетите WebFaction.com. У них отличная поддержка Django / Python, и у них нет проблем с тем, что вы используете вышеупомянутые библиотеки.
Взгляните на Slice Host: они продают экземпляры виртуализированных серверов на основе xen по цене от 20 долларов в месяц ...
We’re just like you. Sick of oversold, underperforming, ancient hosting companies. We took matters into our own hands. We built a hosting company for people who know their stuff. Give us a box, give us bandwidth, give us performance and we get to work. Fast machines, RAID-10 drives, Tier-1 bandwidth and root access. Managed with a customized Xen VPS backend to ensure that your resources are protected and guaranteed.
Он отлично подходит для запуска проекта и его масштабирования БЕЗ затрат на управляемого поставщика или colo.
Хотя я не могу ответить прямо на ваш вопрос, мой опыт создания Microupdater (агрегатор новостей, собирающий несколько сотен каналов на AppEngine) может дать вам некоторое представление.
Получение фидов. Получение большого количества каналов с помощью заданий cron (это было единственное решение до SDK 1.2.5) неэффективно и масштабируемо, что имеет более низкий предел частоты заданий (скажем, 1 мин, поэтому вы можете получать не более 60 каналов в час). А в последней версии SDK 1.2.5 есть XMPP API, который я еще не реализовал. Лучшим многообещающим подходом будет PubSubHubbub, для которого вы предлагаете URL-адрес обратного вызова, а HubBub будет уведомлять вас о новых записях в в реальном времени. И в AppEngine есть демонстрационная реализация, с которым вы можете поиграть.
Разбор каналов. Возможно, вы уже знаете, что синтаксический анализ каналов требует больших ресурсов процессора. Я использую Универсальный парсер каналов от Марка Пилигрима, при разборе большого фида (скажем, общедоступной темы для чтения Google) AppEngine может не обработать все записи. На моей панели управления много предупреждений об ограничении ЦП. Но это может привести к тому, что я пока не смогу оптимизировать код.
В общем, AppEngine еще не является идеальной платформой для приложений Lifestream, но это может измениться в будущем.
(Это, очевидно, довольно старое решение, отвечающее только потому, что оно все еще занимает очень высокое место в связанных запросах Google ...)
Я только начал использовать AppEngine и не использовал его для множества внешних запросов. Но я знаю, что приведенная выше информация, вероятно, сейчас намного менее актуальна и может даже не действовать. Они немного ослабили ограничения с 8 сентября - проверить блог Aral Balkan за его первоначальную жалобу на вышеизложенное и последующие события.
Извините, StackOverFlow не позволяет мне публиковать более, кроме одной ссылки, так как я здесь новичок. Итак, вам нужно погуглить оставшиеся 4 ссылки.