Мне нужно сделать репликацию базы данных Marklogic в MySql db. Хранилище Xml-файлов Marklogic Мне нужно сохранить как поля blob в таблицах MySql. Как мне это сделать?Миграция с Marklogic на MySql
ответ
Прежде всего, вам нужно решить, какие ваши документы MarkLogic xml и как их назвать. Например, если ваша база данных заполнена каталогизацией записей для книг, возможно, у вас есть один xml-документ на книгу.
Если в вашей системе MarkLogic имеется только одна серия документов, вы создадите одну таблицу в MySQL. Каждая строка таблицы будет содержать один XML-документ. Набор символов для таблицы должен быть utf8mb4
для получения наилучших результатов хранения xml. Он будет иметь, по крайней мере, три столбца:
- ID INT первичный ключ суррогатного аутсорсинга.
- имя VARCHAR (250) имя каждого документа xml. Это имя, вероятно, связано с элементом внутри каждого документа, который вы извлекаете.
- док TEXT
Вы можете дать id
столбец типа BIGINT
данных, если вы знаете, что вы будете иметь больше, чем 2^31 строк в таблице.
Я предполагаю (250) размер колонки name
. Это зависит от ваших данных.
Тип данных TEXT
вмещает до 64 Кбайт в каждой строке. Если какой-либо из ваших xml-документов больше этого, вы можете использовать тип данных MEDIUMTEXT
; он вмещает до 2^24 байта в каждой строке. TEXT и MEDIUMTEXT являются CLOB-символами больших объектов.
Как правило, лучше использовать CLOB, чем BLOB для документов xml, потому что они более элегантно обрабатывают utf8 xml.
Затем вы создаете программу для извлечения каждого документа MarkLogic по очереди и вставляете его в свою собственную строку в базе данных MySQL.
Если ваша база данных MarkLogic содержит более одной серии документов, вы должны принять решение. Например, у вас могут быть книги и периодические издания. В этом случае у вас есть два варианта.
- создать отдельную таблицу для каждого типа документа, например
book
иperiodical
стола. - введите столбец
doctype
в свою единственную таблицу и сохраните все документы в одной таблице. Например, вы можете дать колонкеdoctype
каждой строки значениеbook
илиperiodical
в зависимости от его содержимого.
Трудно помочь вам выбрать между этими двумя альтернативами, не зная больше о вашем приложении.
Преимущество MarkLogic - эффективный поиск в xpath больших наборов xml-документов. Если вам нужно выполнить поиск в этой базе данных MySQL на чем-либо помимо имени документа, вам нужно будет построить таблицы для перекрестных ссылок других целей, содержащие
- доступная для поиска ценность.
- идентификатор (идентификатор документа в первой таблице)
Если у вас есть библиографические записи, вы можете иметь перекрестные ссылки таблицы для автора, название, ISBN, номер по каталогу и т.д.
Затем вы можете получить документы, соответствующие определенным значениям поиска.
- 1. MarkLogic миграция
- 2. Миграция с MySQL на ящик
- 3. Миграция с MySQL на PostgreSQL
- 4. Миграция mySQL на Firebase
- 5. Миграция с MSSQL на postgresql ИЛИ mysql
- 6. Миграция с MySql на Sql-сервер 2008
- 7. Миграция с MySQL на DB2 iSeries
- 8. Миграция с SQL Server на MySql
- 9. Миграция с MySQL на MS SQL
- 10. Миграция с MSSQL на ошибку MYSQL 1064 Workbench MYSQL
- 11. Миграция оракула в mysql
- 12. Загрузка данных в marklogic с MySql
- 13. Автоматическая миграция Db (MysQl)
- 14. Миграция с Joomla на Yii2
- 15. Миграция с AWS RDS на AWS EC2 с запуском MySQL
- 16. Миграция с MySQL на PostgreSQL с PHP/Doctrine
- 17. Миграция столбцов на основе ключей в MySQL
- 18. Запросы Marklogic на HDFS
- 19. Миграция из MySQL do DynamoDB
- 20. Автозапуск MarkLogic на OSX
- 21. Загрузка PDF на Marklogic
- 22. Миграция с mysql на postgresql в воспламенителе кода
- 23. Миграция с Joomla 2.5 MySQL на SQL Server?
- 24. Миграция записей Wordpress с MS SQL на MySQL?
- 25. Миграция с SQL Server на AWS Aurora
- 26. Solr: непрерывная миграция из MySQL
- 27. Паруса + миграция MySQL не работает
- 28. Миграция с JSP на Freemarker
- 29. Миграция с Jam на CMake
- 30. Миграция с HTTP на HTTPS
Сколько файлов в MarkLogic? Является ли это одноразовым дампом или периодической синхронизацией или постоянной репликацией в реальном времени? Вы уже просмотрели [mlcp] (https://developer.marklogic.com/products/mlcp) для экспорта из MarkLogic? Как насчет [marklogic java-api] (http://developer.marklogic.com/adventure/developer/java/start) или [node.js api] (http://developer.marklogic.com/adventure/developer/ nodejs/запуска)? –