Я не могу не подчеркнуть это достаточно: Получите что-то, что хорошо сочетается с готовыми инструментами отчетности.
20 миллиардов строк в месяц помещают вас на территорию VLDB, поэтому вам нужно разделить. Низкие показатели мощности также предполагают, что растровые индексы будут выигрывать в производительности.
Забудьте об облачных системах ( Hive ,
Hbase ), пока они не получат поддержку зрелого SQL.
Для хранилища данных
приложение, которое вы хотите что-то
работает с обычными
инструменты отчетности. В противном случае вы
навсегда останется
увяз в написании и ведении
программы специальных отчетов.
Тома данных управляются с
более обычная СУБД, такая как Oracle - я знаю о крупной европейской телекоммуникационной компании , которая загружает 600 ГБ в день
в базу данных Oracle . Все остальные
при равных условиях это два порядка
величина больше, чем ваши объемы данных,
так что архитектуры общих дисков все еще имеют
запас для вас.
архитектура без общего доступа архитектура типа
Netezza или Teradata , вероятно, будет
еще быстрее, но эти объемы
не на уровне, который находится за
обычная система с общим диском.
Имейте в виду, однако, что все эти системы
довольно дорого.
Также имейте в виду, что MapReduce не
эффективный выбор запроса
Алгоритм . это
принципиально механизм распределения грубой силы
вычисления. Greenplum
действительно есть серверная часть MapReduce, но специально созданная ничего общего
двигатель будет намного эффективнее
и получить больше работы за меньшие деньги
аппаратное обеспечение.
Я полагаю, что Teradata или Netezza, вероятно, будут идеальным инструментом для работы, но определенно самым дорогим.
Oracle , Sybase IQ или даже SQL Server также будут обрабатывать задействованные тома данных, но будут медленнее - они представляют собой архитектуры с общим диском, но все же могут управлять такого рода объем данных. См. В этой публикации для краткого изложения связанных с VLDB функций в Oracle и SQL Server, и имейте в виду, что Oracle только что представила платформу хранения Exadata .
В моем плане пропускной способности пакета «назад-в-пустяке» предлагается примерно 3-5 ТБ или около того в месяц, включая индексы для Oracle или SQL Server. Вероятно, меньше в Oracle с растровыми индексами, хотя лист индекса имеет 16-байтовый ROWID для оракула по сравнению с 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, традиционно используемого этими устройствами. Быстрый дисковый ввод-вывод не является сильной стороной облачных архитектур.