Подтвердить что ты не робот

Самый эффективный способ хранения и доступа к огромной матрице данных в MySQL

Я собираюсь хранить огромное количество матричных данных в mysqlDB, что является наиболее эффективным способом хранения и доступа к данным?

Эффективность наиболее важна при получении данных, таблица не будет регулярно обновляться.

Матрица составляет около 100 000 раз 1000 (вероятно, больше в будущем)

id1
value
value_id1
id1
value
value_id2
id2
value
value_id1
id2
value
value_id2
.
.
.
id 100.000
value
value_id1000

vs
     value_id1, value_id2, value_id3 ... id 1000
id1  value      value      value
id2  value      value      value
id3  value      value      value
.
.
.
id 100.000

Когда данные огромны, что является наиболее эффективным, короткий вызов (запрос mysql) или для хранения данных в виде матрицы? Данные используются регулярно, поэтому они должны быть эффективными для извлечения данных.

4b9b3361

Ответ 1

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

 Column Row Value 
      1   1   1.2
      2   1   2.3
      ...

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

Ответ 2

Здесь есть несколько актуальных вопросов:

Ответы на плотные матрицы, похоже, сводятся к нормализованной таблице со столбцами для столбца, строки и значения, как это было предложено Taesung выше, или что-то вроде сохранения отдельных строк из исходной матрицы в виде блоков.

HDF5, похоже, делается для такого рода вещей. Было бы здорово, если бы кто-то с опытом мог прокомментировать дальше.