Ответ 1
Я не могу этого достаточно подчеркнуть: получить то, что хорошо играет с готовыми инструментами отчетности.
20 миллиардов строк в месяц помещают вас на территорию VLDB, поэтому вам нужно разделить. Размеры малой мощности также предполагали бы, что индексы растровых изображений будут выигрышем в производительности.
-
Забудьте о облачных системах (Hive, Hbase), пока у них не будет зрелой поддержки SQL. Для хранилища данных вам нужно что-то, что работает с обычными инструменты отчетности. В противном случае вы будет постоянно находиться увязший писать и поддерживать специальные программы отчетов.
-
Объемы данных управляемы с помощью более традиционная СУБД, такая как Oracle - я знаю крупную европейскую телекоммуникационную компанию Oracle. Все остальные при прочих равных условиях два порядка больше, чем ваши объемы данных, поэтому общие архитектуры дисков все еще имеют запас для вас. общедоступная архитектура Netezza или Teradata, вероятно, будет быстрее, но эти объемы не на уровне, который находится за пределами обычной системы с общим диском. Имейте в виду, что все эти системы довольно дорого.
-
Также помните, что MapReduce является not эффективный выбор запроса Алгоритм. это в основном механизм распределения грубой силы вычисления. Greenplum имеет встроенный интерфейс MapReduce, но не предназначенное для общего использования ничего двигатель будет намного более эффективным и получить больше работы за меньшее аппаратное обеспечение.
Я считаю, что Teradata или Netezza, вероятно, будут идеальным инструментом для этой работы, но, безусловно, самым дорогим. Oracle, Sybase IQ или даже SQL Server также будет обрабатывать тома данных, но будет медленнее - они являются общими дисковыми архитектурами, но могут управлять этим типом объема данных. См. Это сообщение для описания функций, связанных с VLDB в Oracle и SQL Server, и имейте в виду, что Oracle только что внедрила платформа хранения Exadata.
Мой план загрузки пакетов с пассивным пакетом предполагает, возможно, 3-5 ТБ или около того в месяц, включая индексы для Oracle или SQL Server. Вероятно, меньше на Oracle с растровыми индексами, хотя индексный лист имеет 16-байтовый ROWID в oracle против ссылки на 6 байтов на SQL Server.
Sybase IQ широко использует индексы растровых изображений и оптимизирован для запросов хранилища данных. Несмотря на архитектуру с общим диском, она очень эффективна для этого типа запросов (IIRC - это исходная архитектура, ориентированная на столбцы). Это, вероятно, будет лучше, чем Oracle или SQL Server, поскольку он специализируется на этом типе работы.
Greenplum может быть более дешевым вариантом, но я никогда не использовал его, поэтому я не могу прокомментировать, насколько хорошо он работает на практике.
Если у вас есть 10 измерений всего несколько сотен строк, подумайте о слиянии их с одним размером мусора, который уменьшит вашу таблицу фактов объединив десять ключей в один. Вы по-прежнему можете реализовать иерархии в отношении размера мусора, и это снизит размер вашей таблицы фактов на 1/2 или больше и исключит использование дискового пространства по индексам.
Я настоятельно рекомендую вам пойти с чем-то, что прекрасно сочетается с разумным поперечным сечением инструментов отчетности. Это означает, что передняя часть SQL. Коммерческие системы, такие как Crystal Reports позволяют создавать отчеты и аналитические материалы для людей с более доступным набором навыков SQL. Мир с открытым исходным кодом также генерировал BIRT, Jasper Reports и Pentaho.. Hive или HBase поставили вас в основу создания пользовательского интерфейса, которого вы действительно не хотите, если только вы не будете счастливы потратить следующие 5 лет на создание настраиваемых форматов отчетов на Python.
Наконец, разместите его где-нибудь, вы можете легко получить быстрый фид данных из своих производственных систем. Это, вероятно, означает ваше собственное оборудование в вашем собственном центре обработки данных. Эта система будет связана с вводом-выводом; он делает простую обработку на больших объемах данных. Это означает, что вам понадобятся машины с быстрыми дисковыми подсистемами. Облачные провайдеры, как правило, не поддерживают этот тип оборудования, поскольку он на порядок дороже, чем тип одноразового блока 1U, традиционно используемого этими нарядами. Fast Disk I/O не является областью архитектуры облаков.