Начинаем новый проект и ищем совет по подходящей платформе. В настоящее время мы думаем, что это Hazelcast или AppScale, поскольку общий (но ограниченный) опыт нашей команды охватывает более старую версию Hazelcast и GAE. Оба, очевидно, также могут быть настроены на EC2, что может быть самым простым способом удовлетворить ожидаемую потребность в процессоре.
Профиль проблемы
1). Наши данные состоят из множества небольших записей, хранящихся по дате (но не всегда по времени). Некоторые из них представляют собой небольшие числовые записи (бизнес-статистика, выглядит как ежедневная информация о погоде или котировки фондовых рынков), а некоторые представляют собой объемный текст (записи в файлах журнала). Объемы данных не огромны, порядка сотен в день от 1к до 50к каждый.
2). Очень-очень большое количество экземпляров вычислительно дорогостоящих числовых моделей (подумайте о симуляторах Монте-Карло) постоянно работают над окнами фиксированного размера одних и тех же данных.
3). Ряд агентов мониторинга предоставляют данные.
4). Большие (более длительные периоды времени) наборы одних и тех же данных должны обрабатываться в автономном режиме один раз в день.
С помощью Hazelcast мы добавляли бы входящие данные на карты и использовали бы службу Executor для запуска моделей поверх общих данных. Вероятно использование Tomcat для обеспечения минимального внешнего доступа к сетке по мере необходимости.
С помощью AppScale мы могли бы добавлять таблицы для каждого типа данных и использовать API очередей задач для создания числовых моделей. Сервлеты, развернутые в AppScale согласно GAE, обеспечивают интерфейс.
Вопрос
Что следует использовать для таких требований - AppScale или Hazelcast? То есть - для проблемы, как указано, есть ли какие-либо отличительные факторы в пользу / против любой платформы, которые мы должны учитывать?