Метка «mongodb» - 7

Первая попытка получилась немного сумбурна, поэтому я решил написать более последовательно.

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

Но этому может препятствовать то, какой интерфейс предлагают производители баз данных. Мы потренируемся на базе MongoDB.

Здесь я предложу реализацию следующей логики работы:

Должен быть базовый класс, от которого наследуются все классы, которые будем сохранять в базе, пусть это будет DBData. Тогда у него будут просто 3 метода: Load, Save, Delete. А обращение к базе уже будет делом DBData.

Польза от такой концепции должна быть очевидна — пользователь объектов может не думая о реализации и нюансах баз данных просто сохранять и восстанавливать свои объекты. Но на этом пути есть ряд сложностей. Рассмотрим их.

Читать полностью »

Предисловие

В моем первом посте на Хабре завязался такой диалог:

A. важно, что к базе нельзя обращаться прямо, только через хранимые-процедуры, а за вызов хранимой процедуры ответственен определенный класс

B. «только через хранимые-процедуры» — что же вы NoSQL-продуктам скажете?

Дальше акцент сместился SQL vs. NoSQL. Но были потеряны основы: работу с базой нужно организовать через специально заточенный класс, а не разбрасывать код вызовов по всему проекту.

Я по прежнему считаю, что NoSQL — это слишком молодые продукты, чтобы они могли конкурировать с реляционными базами на полном серьезе. Но у NoSQL и несколько другая ниша. Мне понадобилось некоторое сохранение данных в проекте, где нет больших объемов. И поэтому я решил попробовать MongoDB. (я бы лучше поработал бы с Oracle NoSQL Database, но не нашел как с этим работать на C#).

Ну в общем все достаточно хорошо, чтобы сохранить объект в базе, оказалось надо сделать совсем мало:

var collection = db.GetCollection();
collection.Save(argObject);

где StrategiesData — тип моего объекта, argObject — собственно мой объект. Но такой стиль поощряет раскидывать как раз обращение к базе по всему проекту. Мешает явное указание типа вида . Ну, что остается отображение. Об этом и поговорим.

Читать полностью »

Секреты MongoDB — масштабируемость и производительность — мастер класс 10 июня
Привет, Дерик! Кто является целевой аудиторией твоего мастер-класса?

Привет! Все, кто слышал или не слышал о MongoDB и NoSQL и хочет узнать, когда их стоит применять и как правильно это делать. Я также расскажу о другом типе мышления, который необходим для того, чтобы перестроить данные в более подходящие «документы», сравнительно с реляционными БД.
Читать полностью »

Бывают SQL-инъекции! А возможны ли NoSQL-инъекции? Да! Redis, MongoDB, memcached — все эти программные продукты относятся к классу нереляционных СУБД, противоположному популярным MySQL, Oracle Database и MSSQL. Так как интерес к перечисленным базам данных в последнее время значительно возрос, хакеры всех мастей просто не могли пройти мимо них.

Тотальный дестрой MongoDB
Читать полностью »

Бывают SQL-инъекции! А возможны ли NoSQL-инъекции? Да! Redis, MongoDB, memcached — все эти программные продукты относятся к классу нереляционных СУБД, противоположному популярным MySQL, Oracle Database и MSSQL. Так как интерес к перечисленным базам данных в последнее время значительно возрос, хакеры всех мастей просто не могли пройти мимо них.

Азбука NoSQL инъекций
Читать полностью »

Все привет! Редакция подкаста «Разбор Полетов» рада представить Вам очередной 17-й выпуск, в котором мы расскажем Вам:

Доброе время суток!
… заказчик востребовал мониторинг MongoDB. Покопавшись в просторах интернета, наткнулся на статью про онлайн систему мониторинга MongoDB (MMS), но данный вариант не совсем подходит так как: во первых данные статистики не должны уходит дальше своих серверов, во вторых в компании была поднята отличная на мой взгляд система мониторинга Zabbix. На оф сайте MobgoDB в разделе мониторинг и диагностика было упоминание за готовый плагин к Zabbix’у от Mikoomi «MongoDB Plugin».Читать полностью »

Долгое время не решался писать на Хабр. Как минимум, из-за технической неустойчивости проекта. Теперь, когда работа налажена (искренне надеюсь на это), мы получили небольшое признание в виде гранта от Юрия Мильнера и Павла Дурова, я готов отправить проект в хабромясорубку.

image

Меня зовут Никита Лихачев, я хочу рассказать вам о сайте The Twi Journal. Это газета, которая строится на основе автоматического анализа русскоязычного Твиттера.

Аккуратно: большие картинки | На «Я пиарюсь» кармы не хватило

Читать полностью »

imageЭтот мастер-класс познакомит вас с MongoDB и расскажет как выжать из неё всё возможное.

Одна из трудных задач при переходе на MongoDB — это выяснить как правильно структурировать ваши данные. Многие разработчики уже неоднократно решали эту задачу в приложении к РСУБД, но эти правила не всегда применимы с MongoDB. Тот простой факт, что документы могут представлять из себя детальные структуры данных при отсутствии схемы, означает, что у разработчиков есть масса альтернатив стандартной нормализованной реляционной модели.
Читать полностью »

Chicago Boss
«Chicago Boss — бескомпромиссный веб-фреймворк, любимый дизайнерами, инженерами и этим парнем с пейджером.» — © chicagoboss.org

«Erlang — язык для создания отказоустойчивых распределенных приложений. Это — один из немногих функциональных языков, который давно и успешно применяется на практике. Например — в телекомах (Ericsson AXD-301 switch), банковских системах, системах автоматизации, высоконагруженных веб-приложениях (Facebook Chat). При этом Erlang — продукт с открытым исходным кодом и распространяется бесплатно.» — говорит нам сайт русскоязычного сообщества Erlang.

Данный пост предназначен для расширения аудитории Erlang программистов. Если до этого вы считали что функциональное программирование не может быть использовано для бытовых целей, то пора расширить ваш кругозор. Этот пост писался при поддержке моего товарища — Ruby/C++ программиста с многолетним стажем, лично знакомого с создателем данного фреймворка (Эван Миллер) и последнее время фанатеющего от данного языка.

По заверению обоих разработка веб-приложений на базе этого фреймворка ничуть не медленнее разработки на тех же рельсах (Ruby on Rails). А в чем-то даже быстрее. Я с функциональным программированием до этого особо знаком не был, но под давлением товарища решил попробовать. Хочу сказать, что опыт был весьма удачным и у меня получилось создать мой первый веб-сайт быстрее, чем год назад с тем же Ruby on Rails.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js