Мне нужно спроектировать базу данных, которая будет содержать в себе огромные данные.Я должен использовать базу данных RDBMS (SQL Sever или MySQL еще не решили).Ниже приведен упрощенный и стандартный дизайн базы данных, о котором я могу подумать:
Однако из-за огромных данных этот узел и таблица взаимосвязей (от миллионов до миллиардов записей)и продолжать расти) требуется для хранения, я планирую динамически генерировать таблицу узлов и отношений для каждого дерева.Динамический дизайн будет следующим:
Таким образом, каждый раз, когда новое дерево или версия клонируется, новые таблицы базы данных будут создаваться на основе идентификатора версии.и идентификатор дерева.И имя динамически генерируемой таблицы будет храниться в tree.node_table_name
и tree.relationship_table_name
Пример:
Если вы создаете новое дерево (id = 10) дляверсии (id = 4), тогда имена таблиц будут 4_10_node и 4_10_relationship, и эти имена будут сохранены в древовидной таблице в tree.node_table_name
и tree.relationship_table_name
соответственно.
Вопросы:
- Является ли хорошей идеей динамическое создание таблиц?
- Что я думаю выполнимо?
- Есть ли другой способ добиться того, чего я пытаюсь достичь?делать?(Я знаю о разбиении, но это необходимо сделать вручную, я хочу сделать это автоматически)
ОБНОВЛЕНИЕ:
Каждая версия может иметь большечем 500 миллионов узлов, и у меня есть много таких версий, которые сделают общее количество строк таблицы узлов до миллиардов.Отсюда идея динамического создания отдельной таблицы.