Как стать автором
Поиск
Написать публикацию
Обновить
-0.12

MongoDB *

Документо-ориентированная система управления БД

Сначала показывать
Порог рейтинга
Уровень сложности

Эффективное моделирование данных и проектирование схем в Hackolade и MongoDB

Время на прочтение4 мин
Количество просмотров5.7K

Разработчики находятся в постоянном поиске новых способов быстрой модернизации приложений, чтобы оперативно подстраиваться под меняющиеся потребности клиентов. Один из таких способов — новые динамические схемы в MongoDB. Это мощный и гибкий инструмент, который позволяет хранить данные в JSON-документах вместо реляционных таблиц. В частности, разработчикам нравится гибкость и безсхемная природа JSON-документов.

Но по мере усложнения корпоративных приложений приходится структурировать базы данных таким образом, чтобы они повышали эффективность решения и продуктивность разработчиков, попутно снижая общую стоимость владения приложением. Для этого требуется немало мастерства. Для крупных предприятий и государственных учреждений лучшим решением будут современные приложения на базе MongoDB Atlas, но при этом им нужно обеспечить эффективное управление данными. Здесь на помощь придет инструмент моделирования данных, разработанный специально для MongoDB.

Это Hackolade. Вот уже несколько десятилетий для визуального представления структуры данных реляционных БД используются ER-диаграммы. Изначально они предназначались только для плоских структур данных. Hackolade, сертифицированный технологический партнер MongoDB, предлагает расширенные ER-диаграммы, которые позволяют адаптировать представление иерархической структуры JSON с вложенными объектами и массивами. Hackolade — это первое решение для моделирования данных и проектирования схем для баз данных NoSQL и REST API.

Читать далее

Шардинг, от которого невозможно отказаться

Время на прочтение13 мин
Количество просмотров24K
image

А не пора ли нам шардить коллекции?
Не-е-е:


  • у нас нет времени, мы пилим фичи!
  • CPU занят всего на 80% на 64 ядерной виртуалке!
  • данных всего 2Tb!
  • наш ежедневный бекап идет как раз 24 часа!

В принципе, для большинства проектов вcё оправдано. Это может быть еще прототип или круг пользователей ограничен… Да и не факт, что проект вообще выстрелит.
Откладывать можно сколько угодно, но если проект не просто жив, а еще и растет, то до шардинга он доберется. Одна беда, обычно, бизнес логика не готова к таким "внезапным" вызовам.
А вы закладывали возможность шардинга при проектировании коллекций?


Эта статья для продвинутых разработчиков.
Для тех, кто планирует шардинг своего кластера.
Для тех, кто уже шардировал кластер ранее, но админы все еще плачут.
Для тех, кто руками перемещал jumbo-чанки.


Сначала, мы будем учится жить со слонами.
Потом, мы их победим, но не сможем вернуться назад.

Читать дальше →

Аспекты учета и поиска геоинформационных объектов с задействованием MongoDB

Время на прочтение16 мин
Количество просмотров4.4K

Онлайн-курс"OTUS.NoSQL".

Проект: https://github.com/BorisPlus/mongodb_geo

Читать далее

Эксплуатация MongoDB в Kubernetes: решения, их плюсы и минусы

Время на прочтение15 мин
Количество просмотров16K

MongoDB — одна из самых популярных NoSQL/документоориентированных баз данных в мире веб-разработки, поэтому многие наши клиенты используют её в своих продуктах, в том числе и в production. Значительная их часть функционирует в Kubernetes, так что хотелось бы поделиться накопленным опытом: какие варианты для запуска Mongo в K8s существуют? В чем их особенности? Как мы сами подошли к этому вопросу?

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

Читать далее

Passport.js + mongoose объединяем две коллекции

Время на прочтение4 мин
Количество просмотров2.2K

Добрый день! Решил поделиться своими небольшими достижениями в использовании популярной библиотеки Passport.js. Задача была такой: использовать две локальные стратегии passport.js при том, что пользователи находятся в двух разных коллекциях Mongo Atlas.

Итак, дано: две коллекции пользователей в Mongo Atlas, и две локальные стратеги в Passport.js.

Задача, реализовать аутентификацию учителей по логину и паролю, учеников по Фамилии и номеру класса. Тут кстати в вопросе за одно и объясняется, почему мы используем две локальных стратегии, именно потому, что способы идентификации пользователя разные (учителя- логин/пароль, ученики - Фамилия/класс).

Читать далее

Практическое знакомство с Deno: разрабатываем REST API + MongoDB + Linux

Время на прочтение9 мин
Количество просмотров5.1K

Всем привет. В этот раз я решил сделать нечто более интересное, чем очередной бот, поэтому далее я покажу как реализовать REST API с Deno, подключить и использовать MongoDB в качестве базы данных, и всё это запустить из под Linux.

Читать далее

Использование Shopker для IoT

Время на прочтение4 мин
Количество просмотров2.5K

Недавно я столкнулся с задачей визуализации данных от датчиков (температура, влажность, частицы PM2.5). Для решения подобных задач существует несколько бесплатных инструментов, например, Grafana + InfluxDB. Найденные мной решения показались слишком сложными и требовательными к ресурсам сервера, поэтому я решил "изобрести свой велосипед", а точнее создать шаблон для Shopker.

Читать далее

MongoDB — базовые возможности

Время на прочтение12 мин
Количество просмотров24K
Цель:

освоить базовые возможности mongodb

  • заполнить MongoDB данными;
  • написать несколько запросов на выборку и обновление данных
  • создать индексы и сравнить производительность.
Читать дальше →

Виды репликации в MongoDB

Время на прочтение3 мин
Количество просмотров17K


Привет, хабровчане! Расшифровали для вас часть урока по MongoDB от Евгения Аристова, разработчика с 20-летним стажем и автора онлайн-курса «Нереляционные базы данных». Материал, как и сам курс, будет полезен специалистам, сталкивающимся в работе с NoSQL, желающим научиться оптимизировать свои базы данных и работу с ними.
Читать дальше →

14 вещей, которые я хотел бы знать перед началом работы с MongoDB

Время на прочтение8 мин
Количество просмотров34K
Перевод статьи подготовлен в преддверии старта курса «Нереляционные базы данных».





Основные моменты:

  • Крайне важно разработать схему несмотря на то, что в MongoDB она необязательна.
  • Аналогично, индексы должны соответствовать вашей схеме и шаблонами доступа.
  • Избегайте использования больших объектов и больших массивов.
  • Будьте осторожны с настройками MongoDB, особенно если речь идет о безопасности и надежности.
  • В MongoDB нет оптимизатора запросов, поэтому вы должны быть осторожны при выполнении операций запроса.

Я очень давно работаю с базами данных, но только недавно открыл для себя MongoDB. Есть несколько вещей, которые я хотел бы знать перед началом работы с ней. Когда у человека уже есть опыт в определенной сфере, у него существуют предвзятые представления о том, что такое базы данных и что они делают. В надежде облегчить задачу понимания другим людям, представляю список распространенных ошибок.
Читать дальше →

Как собрать гибридное облако с помощью Kubernetes, которое может заменить DBaaS

Время на прочтение8 мин
Количество просмотров4.3K
Меня зовут Петр Зайцев, я генеральный директор, основатель Percona и хочу рассказать:

  • как мы от open source-решений пришли к Database as a Service;
  • какие существуют подходы к развертыванию баз данных в облаке;
  • как Kubernetes может заменить DBaaS, устранив зависимость от вендора и сохранив простоту СУБД как сервиса.

Статья подготовлена на основе доклада на @Databases Meetup by Mail.ru Cloud Solutions & Tarantool. Если не хотите читать, можно посмотреть:


Читать дальше →

Чем для вас опасна MongoDB SSPL лицензия?

Время на прочтение3 мин
Количество просмотров18K
Читая FAQ по SSPL MongoDB лицензии, кажется, что в ее изменении нет ничего страшного, если только вы не «большой и крутой провайдер облачных решений».

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


Читать дальше →

Node.js + MongoDB: перформанс транзакций

Время на прочтение4 мин
Количество просмотров6.6K
“Иногда мы платим больше всего за то, что получаем бесплатно.” — А.Эйнштейн

Не так давно в MongoDB версии 4+ появилась поддержка мульти-документных транзакций.

А поскольку наш проект как раз мигрировал на версию 4.2, закономерно возникли вопросы:

  • Что будет с перформансом?
  • На сколько операции замедлятся?
  • Готовы ли мы пожертвовать скоростью ради (хоть какой-то) точности?

При изучении документации и интернетов вопросов только прибавилось:

  • Все ли операции будут замедлены за счет транзакций?
  • На сколько замедлятся комбинации операций?

Давайте попробуем узнать.

Для того, чтобы претендовать хотя бы на какую-то мизерную долю истины придется немного потрудиться.
Читать дальше →

Ближайшие события

Zero Inbox. Гайд по наведению порядка в почте

Время на прочтение9 мин
Количество просмотров8.6K

Моему почтовому ящику на gmail много лет. Более десяти лет самостоятельного существования, а также в нем лежат архивы из других почтовых систем. Все эти годы я использовал его так как и нужно использовать умные продукты:


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

И это было чудесное время, пока мне не захотелось навести в нем порядок.


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


gmail inbox
^^ Это не настоящий скрин моей почты. Просто картинка для превью.

Создаем graphql бекенд на Golang

Время на прочтение5 мин
Количество просмотров9.9K
Сегодня мы будем разрабатывать приложение на Golang + GraphQL.

Мы часто используем GraphQL на своих проектах и знаем о нем немало, использовали его вместе с различными языками программирования: Javascript, Ruby и теперь руки дошли и до того чтобы попробовать связку Golang GraphQL.
Читать дальше →

Докеризация приложения, построенного на базе React, Express и MongoDB

Время на прочтение6 мин
Количество просмотров60K
Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как упаковывать в контейнеры Docker веб-приложения, основанные на React, Express и MongoDB. Здесь будут рассмотрены особенности формирования структуры файлов и папок таких проектов, создание файлов Dockerfile и использование технологии Docker Compose.


Читать дальше →

Аутентификация REST API с помощью Spring Security и MongoDB

Время на прочтение11 мин
Количество просмотров49K
Всем привет! Уходя на выходные делимся с вами статьей, которая была переведена в преддверии старта курса «Разработчик на Spring Framework».





В прошлых статьях мы создавали RESTful веб-сервис, теперь же мы поговорим о безопасности

Вступление


В предыдущем посте мы рассмотрели, как создать REST API с использованием инфраструктуры Java Spring Boot и MongoDB. API, однако, не требовал никакой аутентификации, а это значит, что он, вероятно, все еще не готов к использованию. Поэтому в этом руководстве будет рассказано, как использовать встроенную среду безопасности Spring для добавления уровня аутентификации в этот API.
Читать дальше →

HighLoad++, Михаил Тюленев (MongoDB): Causal consistency: от теории к практике

Время на прочтение22 мин
Количество просмотров7.7K
Следующая конференция HighLoad++ пройдет 6 и 7 апреля 2020 года в Санкт-Петербурге.
Подробности и билеты по ссылке. HighLoad++ Siberia 2019. Зал «Красноярск». 25 июня, 12:00. Тезисы и презентация.



Бывает, что практические требования конфликтуют с теорией, где не учтены важные для коммерческого продукта аспекты. В этом докладе представлен процесс выбора и комбинирования различных подходов к созданию компонентов Causal consistency на основе академических исследований исходя из требований коммерческого продукта. Слушатели узнают о существующих теоретических подходах к logical clocks, dependency tracking, system security, clock synchronization, и почему MongoDB остановились на тех или иных решениях.

DataGrip 2019.3: MongoDB, дебаггер, модный прогресс-бар, много новых инспекций

Время на прочтение4 мин
Количество просмотров11K
Привет! Как водится, три раза в году мы рассказываем о том, над чем работали. Это статья о том, что нового в DataGrip 2019.3, а значит и во всех IDE от JetBrains с поддержкой баз данных.


Читать дальше →

Как устроены сервисы управляемых баз данных в Яндекс.Облаке

Время на прочтение12 мин
Количество просмотров18K
Когда ты доверяешь кому-то самое дорогое, что у тебя есть, – данные своего приложения или сервиса – хочется представлять, как этот кто-то будет обращаться с твоей самой большой ценностью.

Меня зовут Владимир Бородин, я руководитель платформы данных Яндекс.Облака. Сегодня я хочу рассказать вам, как всё устроено и работает внутри сервисов Yandex Managed Databases, почему всё сделано именно так и в чём преимущества – с точки зрения пользователей – тех или иных наших решений. И конечно, вы обязательно узнаете, что мы планируем доработать в ближайшее время, чтобы сервис стал лучше и удобнее для всех, кому он нужен.

Что ж, поехали!

image
Читать дальше →