Слей эти 10 тысяч таблиц в одну, будет что-то типа "documentID", "columnName", "value" и... собственно все...
Дальше проиндексировать таблицу и будет быстрый поиск.
Пишите так как будто в вашей практике никогда отделы не переименовывали)
Статичный неизменяемый во времени ключ - залог успеха и освобождения от ненужной работы.
Доброе утро!
В комментарии к вопросу я приводил пример.
Попробую расписать еще немного:
Предположим, что у нас есть несколько внешних информационных систем из которых посредством какого-либо механизма тянутся данные и записываются в одну большую плоскую таблицу по типу datetime, source, object_id, param1, param2, ..., paramN. После того как все данные получены, запускается расчет окончательных (итоговых) показателей на основании этих параметров. И вот как раз таки все алгоритмы и формулы я хочу хранить не в сервисе расчета, а в отдельной базе данных. Зачем мне это нужно:
1. Чтобы хранить и менять алгоритмы в одном месте;
2. Из этой БД алгоритмы будут подтягиваться в сервис расчета (как-нибудь через фабрику), в документацию (вики);
3. Чтобы создать отдельный сервис над этой БД, по которому можно будет понять КАК ИМЕННО был рассчитан тот или иной параметр (сейчас это реализовано через логирование, но это не всегда нужно, а логи пишутся всегда).
Мне не нужно выводить новые факты из старых: все, что мне нужно - уже известно. Вероятно, нужно было сказать мне нужен синтаксический парсер, а не семантический - там нужно просто уметь строку преобразовать в формулу для расчета. Скорее всего просто нужно будет воспользоваться какой-нибудь математической записью.
Stalker_RED, нужно standalone решение (для размещения на своих серверах). Просто гугл-таблицы и excel-файлы - это решение разве что в только в первом приближении. Вот я и ищу - вдруг кто-то где-то реализовал что-то похожее и не нужно городить огород, а взять наработки готовые.
Stalker_RED, возможно нужно было расписать и для чего это нужно. Суть: хранение структуры расчета в одном месте (БД), чтобы сервис расчета при поступлении команды (json с данными, например) обращался к этой БД, забирал оттуда структуру (как и что считать), делал расчет и записывал получившиеся значения куда-нибудь в реляционную БД (или какую другую).
При изменении алгоритмов мы меняем все только в одном месте, а настроенные "user friendly" страницы Wiki должны меняться сами собой (при должной настройке).
Пример:
Показатели A и B приходят из системы "Сигма 1". Показатели C, D и E приходят из системы "Альфа 3". Показатель F считается как сумма A и C, показатель G - как разность B и D. Итоговый показатель H равен сумме F, G и E.
В итоге что-то типа такого должно храниться в БД:
Пусть потом нам приходит в сервис данные типа {A: "12", B: "34", ..., E: "45"}. Мы считываем алгоритмы по которым считаем данные и результат записываем/передаем куда-нибудь дальше.