У меня есть несколько наборов данных с идентичной схемой, и я не уверен, как мне правильно спроектировать SQL
здесь.Вопрос очень простой, но у меня просто нет опыта работы с SQL
.Допустим, есть 40 таблиц, которые хранят матричные данные как row_num, col_num, val
.Каждая такая таблица имеет свое имя.Поскольку в таблицах сотни миллионов строк, поместить их все в одну таблицу с точки зрения производительности представляется неправильным.Итак, я думаю о создании 40
таблиц, но я не уверен, как должна выглядеть оптимальная схема в этом случае.Каждая такая таблица, представляющая матрицу, в свою очередь, будет иметь соответствующие таблицы с разной схемой:
table_of_type_MATRIX_1 --> table_of_type_BIRDS (relevant for table_of_type_MATRIX_1 only!)
table_of_type_MATRIX_2 --> table_of_type_BIRDS (relevant for table_of_type_MATRIX_2 only!)
Итак, в основном есть куча разнородных данных, которые я хочу сохранить в одной базе данных.и я не уверен, как это организовать.Конечно, будут запросы, которые потребуют просмотра нескольких таблиц с одинаковой схемой.Любые предложения будут с благодарностью.
Пример
Матрица выглядит так:
gene cell_id expr
0 0610005C13Rik GCTAAGTATTTN_CTL-6_OPC 0.000000
1 0610007N19Rik GCTAAGTATTTN_CTL-6_OPC 0.000000
2 0610007P14Rik GCTAAGTATTTN_CTL-6_OPC 3.593143
3 0610009B22Rik GCTAAGTATTTN_CTL-6_OPC 3.593143
4 0610009D07Rik GCTAAGTATTTN_CTL-6_OPC 10.779429
...
other dozen millions of rows
Это матрица генной экспрессии: вВ первом столбце у нас есть ген, который экспрессируется в клетке, которая показана во втором столбце, а уровень экспрессии показан в третьем.Ячейки (второй столбец) также группируются в кластеры после запуска алгоритмов уменьшения размерности и кластеризации, и поэтому у нас есть вторая таблица, связанная с первой:
cell_id cluster
GCTAAGTATTTN_CTL-6_OPC 1
GCTGGGTATTTN_CTL-6_OPC 2
GCTAAGTATAAN_CTL-6_OPC 2
GCTAAGTATTTN_CTL-6_OPC 3
...
and so on for all of the cells
Итак, эти две связанные таблицы:матрица генной экспрессии и распределение кластеров клеток сами по себе сформируют отдельный набор данных.Будет много таких групп из 2 таблиц, которые необходимо сохранить.