2009-09-15 4 views
4

Мне было интересно узнать о дизайне базы данных Google Analytics, о том, как они обрабатывают огромные значения ежечасно, даже в считанные минуты.Дизайн базы данных аналитики Google

Предположим, у них 100 миллионов пользователей, и почти каждый пользователь имеет по 300 счетчиков каждую минуту. Для одного пользователя 300 счетчиков имеют 18000 строк за один час. За один день это 432K строк и почти 3 миллиона строк.

я подумал, что они не используют реляционную базу данных, но не уверен в этом ...

Есть ли какие-либо предложения по этому поводу?

С уважением,

+2

Я уверен, что Google использует специальную базу данных под названием BigTable (http://en.wikipedia.org/wiki/BigTable) – Kane

+0

google говорит: # BigTable - это распределенный механизм хэша, созданный поверх GFS (Google Файловая система). Это не реляционная база данных. Он не поддерживает запросы на объединение или SQL-тип. # Он обеспечивает механизм поиска для доступа к структурированным данным по ключу. GFS хранит непрозрачные данные, и многие приложения нуждаются в данных со структурой. От этого комментария ключевое слово важно. Механизм lookup mechanishm обрабатывается только для одного ключа. Кажется, у него очень большой HashTable внутри ... – Melih

ответ

1

Высокая масштабируемость имеет сводку архитектуры Google here. Он не обсуждает Analytics напрямую, но показывает, как BigTable вписывается во всю инфраструктуру. Я не уверен, что информация о схеме Google доступна, поскольку в статье говорится, что «Инфраструктура может быть конкурентным преимуществом», но я бы предположил, что она намного жестче связана с аппаратной реализацией, чем обычная модель данных.

Смежные вопросы