В последнее время часто вижу статьи о том, почему вы должны использовать nosql или о том, что вы никогда не должны им пользоваться и уповать только на реляционные хранилища. Однако, на мой взгляд, эти прекрасные инструменты могут отлично уживаться вместе, позволяя использовать их общие достоинства и избегая их недостатков.
Читать полностью »
Рубрика «mongodb» - 14
Еж с ужом в одной корзине, а также немного об отсутствии схемы
2014-11-24 в 7:54, admin, рубрики: mongodb, nosql, sqlПочему вы никогда не должны говорить «никогда»
2014-11-20 в 8:28, admin, рубрики: mongodb, never say never again, nosql, разработкаЭта моя публикация чуть более чем полностью является ответом на перевод статьи «Почему вы никогда не должны использовать MongoDB». Статья, которая, по сути, рекомендует держаться подальше от MongoDB, является самой заплюсованной в хабе. И это звучит как приговор. Поэтому логично либо хаб закрыть и больше никогда не читать, либо написать ещё более рейтинговое опровержение. Конечно же, я выбрал второй вариант, рискуя своим рейтингом и кармой (ввиду крайней холиварности в комментах).
Картинка самоиронии
Eskimo — Node.js бойлерплэйт для создания прототипов
2014-11-18 в 16:53, admin, рубрики: javascript, less, mangoose, mongodb, node.js, nodejs, ПрограммированиеЭскимо — новый Node.js бойлерплэйт для быстрого прототайпинга (MVP).
Даже если интернет заполнен разными бойлерплэйтами и фрэймворками, на нынешний день отсутствует современный, модульный и минимальный бойлерплэйт для запуска прототипов (специально для строительства rapid minimal product-ов «RMVP's»). Проект создается с малого, одним человеком, но потом, под влиянием вкладчиков, он растет до непредсказуемых размеров. Поиск в Google и GitHub про Nodejs бойлерплэйт и Nodejs фрэймворк дает сотни результатов.
Но многие из этих запускателей проектов не имеют автоматизации для развертывания и тестирования продуктов. Некоторые игнорируют практику фронт-энда и не используют Bower, Bootstrap, Font Awesome, S3/CloudFront, clustering и LESS. И ни один бойлерплэйт или фрэймворк не внедрили инъекцию зависимостей с помощью электролита, за исключением Эскимо и проекта Джареда Хэнсона.
Читать полностью »
Проектирование новостной ленты в социальных сетях
2014-11-07 в 15:02, admin, рубрики: big data, cooking cats, mongodb, news feed, nosql, социальные сети
Так сложилось, что за последние пару лет я успел поучаствовать в разработке нескольких социальных сетей. Главная задача, которую приходилось решать в каждом из этих проектов, заключалась в формировании новостной ленты пользователя. При чём важным условием была возможность масштабирования этой ленты в условиях роста числа пользователей (точнее, числа связей между ними) и, как следствие, — количества контента, который они деливерят друг другу.
Мой рассказ будет о том, как я, превозмогая трудности, решал задачу формирования новостной ленты. А также я расскажу о подходах, которые наработали ребята из проекта Socialite, и которыми они поделились на MongoDB World.
Читать полностью »
Как мы делали аналитику для высоконагруженного сайта
2014-11-05 в 10:49, admin, рубрики: highload, mongodb, node.js, аналитика, высокая производительность
Недавно на хабре была публикация о том, как реализована аналитика на ivi.ru. После прочтения захотелось рассказать об аналитике, которую мы делали для одного крупного сайта. Заказчик, к сожалению, не разрешил публиковать в статье ссылку на сайт. Если верить Alexa Rank, то трафик на сайте, для которого мы делали аналитику, раз в 10 больше, чем на ivi.ru.
Читать полностью »
Распределенные вычисления для поиска жилья
2014-10-24 в 11:37, admin, рубрики: AWS, distributed computing, golang, google chrome extensions, javascript, mongodb, zeromq, высокая производительность, Расширения для браузеровВсе слышали о distributed computing проектах, которые пытаются решать масштабные задачи, вроде поиска внеземной жизни, лекарств от СПИДа и рака, поиска простых чисел и уникальных решений для Судоку. Все это очень занимательно, но не более того, ведь практической пользы для человека, поделившегося ресурсами своего компьютера — никакой.
Сегодня я расскажу о распределенных вычислениях, решающих ваши проблемы. Ну не все конечно, а только некоторые, связанные с поиском жилья. Недавно я писал о проекте Sobnik, расширении для Chrome, которое обнаруживает посредников на досках объявлений. Две недели назад была запущена новая версия программы, в которой работа по сканированию и анализу объявлений распределяется по компьютерам пользователей. За прошедшее время было обработано около миллиона объявлений из более тысячи городов России, и это — только начало. Подробности, технические детали и еще немного цифр ждут вас под катом.
Поиск жилья без посредников в 21-м веке
2014-09-23 в 16:55, admin, рубрики: amazon aws, chrome, chrome extensions, javascript, mongodbПолагаю, все мы однажды искали себе жилье. Кто-то — в собственность, большинство, вероятно, в аренду. Все, кто хоть раз пытался найти реальные предложения на досках объявлений, знают — это нереально. Такого количества спама нет, пожалуй, ни в одной другой сфере. После того, как окунешься в этот ад, обычно руки начинают чесаться применить свою IT-шность на благо ближнему. Результатом для меня стал проект Sobnik, о котором я и хочу рассказать.
Sobnik — это плагин для Chrome, который помечает посредников на досках объявлений. Пока работает только с Avito.ru, в ближайшем будущем я добавлю Irr.ru и другие крупные доски. Всех, кто сидит на чемоданах и кому не терпится попробовать, прошу в Google Web Store. Под катом я расскажу о технической стороне проекта, о его перспективах и о моих наблюдениях за противником посредниками. Любители критиковать чужой JS-код также велкам, исходник клиентской части плагина доступен на github.
DocumentDB: база данных NoSQL от Microsoft
2014-08-22 в 7:26, admin, рубрики: acid, json, microsoft, mongodb, nosql, СУБДПусть и с некоторым опозданием, по сравнению с остальными компаниями, но Microsoft сделала необходимое и выпустила собственную нереляционную базу данных: она называется DocumentDB. И пусть это проприетарная система, которая привязана к сервису Azure, это не делает новость менее значимой.
DocumentDB автоматически индексирует содержимое всех документов, допускает полнотекстовый поиск в реальном времени, полностью поддерживает требования ACID к транзакциям (атомарность, согласованность, изолированность, надёжность). Система очень похожа на MongoDB как эффективное хранилище JSON-документов с богатыми API для запросов, в то же время выгодно отличается от MongoDB по масштабируемости и надёжности работы, глубокой интеграции JavaScript, поддержке RESTful API, асинхронных запросов и др.
Как и MongoDB, DocumentDB представляет собой иерархию баз данных, коллекций и документов.
Читать полностью »
Почему мы выбрали MongoDB
2014-08-07 в 6:47, admin, рубрики: friendfeed, mongodb, mysql, nosql, разработкаЭта статья появилась на свет после прочтения материала "Почему вы никогда не должны использовать MongoDB". Ниже — история о том, как мы постепенно отказались от MySQL и пришли к использованию MongoDB в качестве основного хранилища данных.
Началось все где-то в 2008 году, когда было принято решение писать вторую версию нашего сайта. Уже какое-то время нам хотелось создать мультиязычную версию базы данных по играм, околоигровым компаниям, персонажам и т.п., так как существующее решение, как нам казалось, морально устарело.
Первым делом были сформулированы:
Читать полностью »
Подборка библиотек для бекенда
2014-08-05 в 19:42, admin, рубрики: golang, mongodb, библиотеки, отладка, шифрование Мы в RollBackup.ru пишем свои бекенды на Go. Собираем метрики кода и балансируем запросы на шарды.
Шифруем RPC. Общаемся с Монгой. За год разработки сформировался стек проверенных библиотек.
Например, goagain сэкономил кучу времени и дебага после обрыва клиентов внутреннего RPC.
Делимся подборкой библиотек проверенных и работающих в бою.
Читать полностью »