Nano Hash - криптовалюты, майнинг, программирование

сохранять и обмениваться данными из контейнера docker mongo (с докером)

Нужен толчок в правильном направлении с этим.

Я хочу "dev0ps" рабочий процесс нашей локальной разработки с докером. В качестве наилучшей практики наш mongodb должен работать в отдельном контейнере с подключенным и работающим томом. (эта часть проверяется нормально)

Затем наши разработчики должны синхронизировать данные, чтобы их можно было «отправлять и извлекать».

Могу ли я добиться этого с помощью git? (Папка данных весит около 500мб, но это всего лишь свежий проект)

Должен ли я написать скрипт, который выполняет mongodump и загрузить его (в git?)?

Должен ли я рассмотреть возможность запуска собственного сервера mongodb, откуда они будут отправлять и получать?

заранее спасибо!

19.04.2016

Ответы:


1

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

Лучшее, что вы можете сделать, это иметь набор Fixtures (данные приложения внутри базы данных MongoDB), которые вставляются и удаляются с помощью вашего кода, таким образом вы контролируете, что входит в базу данных, а что нет. Эти данные вполне могут быть включены в репозитории Git в папке с именем фикстуры или база данных.

У вас также могут быть разные наборы данных: один для разработки, один для тестирования и т. д. Как видите, вы можете сделать их настолько сложными или взаимодополняющими, насколько это возможно.

Я использую этот подход более одного года и не представил никаких проблем.

Дайте мне знать, если у вас есть какие-либо опасения по поводу этого подхода.

19.04.2016
  • Хорошо, значит, через код вы заполняете базу данных для разработки? Таким образом, я должен подготовить только контейнер mongodb, даже без смонтированного тома? 19.04.2016
  • Вам не нужно обращаться к файловой системе MongoDB, чтобы добавлять туда файлы, просто подключите свой код к MongoDB и создайте соответствующие фикстуры через yaml или json, ваш код должен быть достаточно динамичным, чтобы загрузить все содержимое из указанного исходного файла. . 19.04.2016
  • большое спасибо, я считаю этот вопрос решенным! 19.04.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..