База данных больших данных

Я собираю большой объем данных, который, скорее всего, будет иметь следующий формат:

Пользователь 1: (a,o,x,y,z,t,h,u)

Где все переменные динамически меняются во времени, кроме u — это используется для хранения имени пользователя. Что я пытаюсь понять, так как мой опыт не очень интенсивен в «больших данных», так это то, что когда я закончу свой массив, он будет очень большим, что-то вроде 108000 x 3500, так как я буду проводить предварительный анализ на каждом временном шаге, и графически, что было бы подходящей базой данных для управления этим, это то, что я пытаюсь определить. Поскольку это для научных исследований, я просматривал CDF и HDF5 и основываясь на том, что я прочитал здесь НАСА Думаю, я захочу использовать CDF. Но является ли это правильным способом управления такими данными с точки зрения скорости и эффективности?

В окончательном наборе данных все пользователи будут представлены в виде столбцов, а строки будут иметь временные метки, поэтому моя программа анализа будет считывать строку за строкой для интерпретации данных. И сделать записи в набор данных. Может быть, мне следует обратить внимание на такие вещи, как CouchDB и RDBMS, я просто не знаю, с чего начать. Совет будет оценен.


person eWizardII    schedule 04.01.2013    source источник


Ответы (2)


Это расширенный комментарий, а не исчерпывающий ответ...

При всем уважении, набор данных размером 108000*3500 на самом деле не может считаться большими данными в наши дни, если только вы не пропустили такую ​​единицу, как GB. Если это всего лишь 108000*3500 байта, это всего 3 ГБ плюс сдача. Любая из упомянутых вами технологий с легкостью справится с этим. Я думаю, вы должны сделать свой выбор, исходя из того, какой подход ускорит ваше развитие, а не исполнение.

Но если вы хотите рассмотреть дополнительные предложения, я предлагаю:

  1. SciDB
  2. Расдаман и
  3. БД Monet

все они имеют определенную поддержку в академическом сообществе больших данных и начинают использоваться и за его пределами.

person High Performance Mark    schedule 04.01.2013

Я использовал CDF для некоторых данных аналогичного размера, и я думаю, что он должен работать хорошо. Однако вам нужно будет помнить о нескольких вещах. Учитывая, что я действительно не знаю деталей вашего проекта, это может быть полезно, а может и нет...

3 ГБ данных — это как раз предельный размер файла для старой версии CDF, поэтому убедитесь, что вы используете актуальную библиотеку.

Хотя 3 ГБ — это не так много данных, в зависимости от того, как вы их читаете и записываете, все может идти медленно. Убедитесь, что вы используете функции гиперчтения/записи, когда это возможно.

CDF поддерживает метаданные (называемые глобальными/переменными атрибутами), которые могут содержать такую ​​информацию, как имя пользователя и описания данных.

Данные легко разбить на несколько файлов. Я бы рекомендовал использовать один файл для каждого пользователя. Это будет означать, что вы можете написать имя пользователя только один раз для всего файла в качестве атрибута, а не в каждой записи.

Вам нужно будет создать дополнительную переменную с именем epoch. Это четко определенная метка времени для каждой записи. Я не уверен, что отметка времени, которая у вас есть сейчас, будет подходящей, или вам нужно будет ее немного обработать, но об этом вам нужно подумать. Кроме того, переменной эпохи должен быть присвоен определенный тип (epoch, epoch16 или TT2000). TT2000 — самая последняя версия, которая обеспечивает наносекундную точность и обрабатывает дополнительные секунды, но большинство читателей CDF, с которыми я сталкивался, еще не справляются с этим. Если вам не нужна такая точность, я рекомендую epoch16, поскольку какое-то время это было стандартом.

Надеюсь, это поможет, если вы используете CDF, не стесняйтесь сообщать мне о любых проблемах, с которыми вы столкнулись.

person Community    schedule 23.01.2013