У меня есть несколько больших (обычно 200 ГБ) плоских файлов данных, которые я хотел бы сохранить в какой-то базе данных, чтобы к ним можно было получить быстрый и интуитивно понятный доступ, чтобы данные были логически организованы. Думайте об этом как о больших наборах очень длинных аудиозаписей, где каждая запись имеет одинаковую длину (сэмплы) и может рассматриваться как строка. Один из этих файлов обычно содержит около 100 000 записей по 2 000 000 сэмплов каждая.
Было бы достаточно легко сохранить эти записи в виде строк данных BLOB в реляционной базе данных, но есть много случаев, когда я хочу загрузить в память только определенные столбцы всего набора данных (скажем, образцы 1000–2000). Какой способ сделать это наиболее эффективно с точки зрения памяти и времени?
Пожалуйста, не стесняйтесь спрашивать, нужны ли вам дополнительные разъяснения по поводу моих данных, чтобы дать рекомендацию.
РЕДАКТИРОВАТЬ: Чтобы уточнить размеры данных ... Один файл состоит из: 100 000 строк (записей) по 2 000 000 столбцов (образцов). Большинство исследованных мною реляционных баз данных позволяют разместить в таблице от нескольких сотен до пары тысяч строк. Опять же, я мало что знаю об объектно-ориентированных базах данных, поэтому мне интересно, может ли что-то подобное помочь здесь. Конечно, любое хорошее решение приветствуется. Спасибо.
РЕДАКТИРОВАТЬ: чтобы прояснить использование данных ... Доступ к данным будет осуществляться только пользовательским настольным / распределенным серверным приложением, которое я напишу. Существуют метаданные (дата сбора, фильтры, частота дискретизации, владелец и т. Д.) Для каждого «набора» данных (который до сих пор я называл файлом размером 200 ГБ). Существуют также метаданные, связанные с каждой записью (которые, как я надеялся, будут строкой в таблице, чтобы я мог просто добавить столбцы для каждой части метаданных записи). Все метаданные согласованы. Т.е. если конкретная часть метаданных существует для одной записи, она также существует для всех записей в этом файле. Сами образцы не имеют метаданных. Каждая выборка представляет собой 8 бит простых двоичных данных.