Я пытаюсь выяснить, что именно представляют собой эти новые искаженные хранилища данных, такие как bigtable, hbase и cassandra.хранение массивных упорядоченных временных рядов данных в производных больших таблиц
Я работаю с огромными объемами данных фондового рынка, миллиардами строк данных цены/котировки, которые могут суммировать до 100 гигабайт каждый день (хотя эти текстовые файлы часто сжимаются хотя бы на порядок). Эти данные в основном представляют собой несколько чисел, две или три коротких строки и временную метку (обычно миллисекундный уровень). Если бы мне пришлось выбирать уникальный идентификатор для каждой строки, мне пришлось бы выбрать всю строку (так как обмен может генерировать несколько значений для одного и того же символа в той же миллисекунде).
Я предполагаю, что самый простой способ сопоставить эти данные с большими таблицами (включая его производные) - это имя и дата символа (что может привести к очень большому временному ряду, более миллиона точек данных не является неслыханным) , Из прочтения их описаний похоже, что с этими системами можно использовать несколько ключей. Я также предполагаю, что десятичные числа не являются хорошими кандидатами на ключи.
Некоторые из этих систем (например, Cassandra) заявляют, что могут выполнять запросы диапазона. Смогу ли я эффективно запросить, скажем, все значения для MSFT, в течение определенного дня, с 11:00 до 13:30?
Что делать, если я хочу выполнить поиск по всем символам за данный день и запросить все символы, имеющие цену от 10 до 10,25 долларов (так что я ищу значения и хочу, чтобы в результате возвращались ключи)?
Что делать, если я хочу получить два раза подряд, вычесть одно из другого и вернуть два раза подряд и их результат, должен ли я делать свою логику в своей собственной программе?
Чтение соответствующих документов, по-видимому, показывает, что эти системы не очень подходят для массивных систем временных рядов. Однако, если такие системы, как карты Google, основаны на них, я думаю, что временные ряды также должны работать. Например, подумайте о времени, когда ось x, цены как ось y и символы в названии местоположения - внезапно это выглядит как большой столбец, должно быть идеальным хранилищем для временных рядов (если вся земля может быть сохранена, извлечена , увеличенные и аннотированные данные на фондовом рынке должны быть тривиальными).
Может ли какой-нибудь эксперт указать мне в правильном направлении или прояснить любые недоразумения.
Благодаря
Когда вы говорите: «вы можете сказать Кассандре, что все ключи, которые начинаются с MSFT, теперь и заканчиваются с помощью MSFT-now + 1hour» - Вы имеете в виду запрос RowSclice? Я имею в виду, если я попрошу, чтобы cassandra дал мне все ключи строк между t1 и t2, t являясь меткой времени, является эффективным. Я слышал, что rowSlices не так эффективны, как срезы столбцов в Cassandra? – Peter