Слияние файлов sym для расширенных таблиц

У меня есть два каталога, каждый из которых содержит расширенную таблицу с разделением по дате. Как и ожидалось, каждый каталог имеет свой собственный файл sym. Таблицы точно такие же.

Я хочу объединить это в один каталог, но у меня проблемы с этим. Изначально я пытался создать программную ссылку (из-за большого объема данных) разделов в другом каталоге. Это не сработало, так как таблицы использовали неправильный файл sym.

Кто-нибудь знает, как это лучше сделать? Должен ли я регенерировать новый файл sym для обоих каталогов?

Спасибо


person Geoffrey Absalom    schedule 24.06.2013    source источник


Ответы (2)


Я не уверен, что точно понимаю вашу ситуацию, но я могу придумать несколько возможностей.

  • Эти две базы данных полностью одинаковы. Если запустить контрольную сумму для обоих каталогов, хэши совпадают.

В таком случае, зачем вам две копии? Вы можете запускать несколько процессов q с ​​одной и той же копии базы данных. На самом деле это предпочтительнее, потому что вы получаете выгоду от общего кэширования, обеспечиваемого дисковым кешем ОС. Просто удалите одну из копий и укажите все процессы q в один и тот же каталог.

  • Две базы данных содержат данные, загруженные из одного и того же источника, но в остальном они не совпадают. Если я запрошу каждую из баз данных с одним и тем же запросом, я могу получить тот же результат, но контрольные суммы файлов не совпадают.

Это может произойти, если базы данных были созданы независимо, но с одними и теми же исходными данными. Если вы на самом деле не сделали копию файлов, вы не можете предположить, что базы данных одинаковы. Очевидным примером является то, что у вас была куча файлов, которые вы загружали в каждую базу данных, но порядок загрузки файлов был разным для каждой базы данных. В этом случае вы не можете использовать один и тот же файл sym! В этом случае данные выглядят нормально на первый взгляд, но все ваши значения sym неверны. Если вы по какой-то причине хотите объединить две базы данных, вам нужно будет взять данные из одной базы данных и загрузить их в другую. Это единственный надежный способ быть на 100% уверенным, что вы не испортите свои данные.

  • У вас есть две разные базы данных, каждая из которых содержит одну и ту же таблицу (в смысле контрольной суммы, возможно, вы скопировали файлы таблиц из одного каталога в другой).

Вероятно, это не сработает, если только каким-то чудом не совпадут все значения sym, чего не будет, если остальная часть базы данных отличается. Это связано с тем, что перечисленные значения sym являются глобальными и зависят от всех значений sym в базе данных. Если вам нужна таблица в обеих базах данных, вам нужно будет перенумеровать столбцы sym для любой базы данных, в которую вы копируете.

person moepud    schedule 25.06.2013
comment
Базы данных не совсем одинаковы, они просто содержат один и тот же формат данных. Похоже, мне придется прочитать один и сохранить его в другом. Спасибо за помощь. - person Geoffrey Absalom; 25.06.2013

Ежедневно читайте из одного каталога, оценивайте все перечисленные столбцы sym и записывайте в другой каталог, перечисляя другой файл sym.

person skeevey    schedule 24.06.2013