2016-10-17 7 views
0

Мы создали хранилище с исходной базой данных в cloudant, Мы провели процесс обнаружения схемы почти около 40 000 записей. Наверху база данных облаков насчитывает около 2 миллионов записей. Теперь проблема заключается в том, что у нас есть много записей в таблице _OVERFLOW в DashDB (означает, что они были отклонены) с ошибкой типа «[столбец не существует в обнаруженной схеме. Документ не импортирован.]»cloudant dashdb sync issue

Кажется, проблема заключается в том, что облачная база данных, которая на самом деле является результатом dbcopy, содержит частичные документы в документах, и поскольку эти частичные элементы создаются внутри облачной системой со значением, которое мы можем судить только после того, как частичные элементы создаются как «40000000-5fffffff «в dd не обнаруживается процессом обнаружения схемы, и теперь все документы, которые имеют неоткрытые частичные, отбрасываются синхронизацией cloudant-dashdb.

ли кто-нибудь имеет какие-либо идеи, как решить ее ..

ответ

0

Самый лучший вариант для вас, чтобы решить это с простой трюк: кормить алгоритм обнаружения схемы ровно один документ со структурой вы хотите создать в вашем мишень dashDB.

Если вы можете создать такой «шаблонный» документ загодя, попросите алгоритм обнаружить его и загрузить его в dashDB. При непрерывной репликации от Cloudant до dashDB вы можете затем dbcopy загрузить ваши фактические документы в базу данных, которая служит источником синхронизации cloudant-dashdb.

0

У нас был процесс обнаружения схемы около около 40000 записей. Наша база данных состоит из около 2 миллионов записей

Все эти 2 миллиона разделяют одну и ту же схему? Я верю, что нет.

«[колонка не существует в обнаруженной схеме. Документ не был импортирован.]»

Это означает, что во время ваших первоначальных 40'000 записей приложение для сканирования не нашли какой-либо документ с это поле.

Допустим, последовательность документов в вашей Cloudant БД:

  • 500'000 документов, которые соответствуют Schema A
  • 800'000 документов, которые соответствуют Schema Аргументов B
  • 700'000 документов, которые соответствуют схеме C

И вы обнаружили, что процесс обнаружения был проверен только в начале 40'000. Он никогда не доходил до схемы B и C.

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