NoSQL → The Little Redis Book

Вчера Karl Seguin – автор книги The Little MongoDB Book, которую часто рекомендуют для быстрого старта с MongoDB, опубликовал аналогичное руководство для Redis под названием The Little Redis Book (при участии Perry Neal). Книга состоит из 29 страниц, написанных за 2 коротких дня с использованием Markdown. Исходная разметка книги находится на GitHub. Сама книга распространяется свободно под лицензией Attribution-NonCommercial 3.0 Unported license.
Содержание книги
- About This Book
- Introduction
- Chapter 1 — The Basics
- Chapter 2 — The Data Structures
- Chapter 3 — Leveraging Data Structures
- Chapter 4 — Beyond The Data Structures
- Chapter 5 — Administration
- Conclusion
Скачать
The Little Redis Book (PDF)Веб-разработка → Всё самое модное
Начитавшись в интернете про новые, простые, быстрые и масштабируемые технологии, захотелось их всех попробовать. Вдруг они окажутся лучше уже привычной мне связки postgresql + django + json-rpc.
Так как никакой идеи не было, но был свободный домен uglyrater.org — пришлось делать рейтинг.
Суть проста: есть список пользователей, которым можно расставить + и -. Новые пользователи в рейтинг добавляются по адресу страницы ВКонтакте.
Идея проекта
Так как никакой идеи не было, но был свободный домен uglyrater.org — пришлось делать рейтинг.
Суть проста: есть список пользователей, которым можно расставить + и -. Новые пользователи в рейтинг добавляются по адресу страницы ВКонтакте.
MongoDB → MongoDB: Запросы
Хоть и некоторые писали относительно моего предыдущего топика MongoDB: Создание, обновление и удаление документов, что это пересказ офф. документации, я с этим не полностью согласен. Мне показалось, что информация в нём оказалось кому-то полезной, поэтому выкладываю продолжение.
Find — аналог SELECT в MySQL. Используется для выборки документов из MongoDB. Возвращает массив документов в виде коллекции, если документов нет — пустую коллекцию. Пример:
Вернёт всех пользователей из коллекции.
Вернёт всех пользователей, у которых возраст равен 27.
Find — аналог SELECT в MySQL. Используется для выборки документов из MongoDB. Возвращает массив документов в виде коллекции, если документов нет — пустую коллекцию. Пример:
> db.users.find();Вернёт всех пользователей из коллекции.
> db.users.find( { age: 27 } );Вернёт всех пользователей, у которых возраст равен 27.
MongoDB → MongoDB: Создание, обновление и удаление документов из песочницы
В рамках чтения мной книги “MongoDB: The Definitive Guide” Kristina Chodorow and Michael Dirolf, решил выписывать основные моменты из глав, для лучшего освоения материала. Возможно, кому-то это тоже будет полезно.
Insert — базовый метод для добавление информации в MongoDB. Для того, чтоб добавить документ в коллекцию делаем вот так:
В таких ситуациях, когда нужно добавить несколько документов, для более быстрой вставки желательно использовать, так называемые, batch insert’ы (групповая вставка)
Грубо говоря, просто вставляем массив.
Insert
Insert — базовый метод для добавление информации в MongoDB. Для того, чтоб добавить документ в коллекцию делаем вот так:
> db.foo.insert( { “bar” : “baz” } );В таких ситуациях, когда нужно добавить несколько документов, для более быстрой вставки желательно использовать, так называемые, batch insert’ы (групповая вставка)
> db.foo.insert( { “arr” : [ { a : 1 , b : 1 } , { a : 2 , b : 2 } ] } );Грубо говоря, просто вставляем массив.
Блог компании Jelastic → Jelastic PaaS — статистика использования баз данных, серверов и JVM в ноябре
Мы продолжаем делиться с вами статистикой использования программного стека на платформе Jelastic. Какими же были предпочтения девелоперов в прошлом месяце?
Начнем с SQL баз. Как и прежде MySQL остается неоспоримым лидером. PosgreSQL занимает второе почетное место, за ней следует MariaDB. Единственная среди наших NoSQL баз, MongoDB показала очень хороший результат в ноябре.
Если сравнить текущие данные с октябрьскими, то можно сделать вывод, что количество фанов каждой из баз практически не изменилось.
Ситуация в регионах (Европа и Северная Америка).
&chts=000000,12&chs=500x200&chf=bg,s,ffffff|c,s,ffffff&chxt=x,y&chxl=0:|MySQL|PostgreSQL|MariaDB|MongoDB|1:|0|10|20|30|40|50&cht=bvg&chd=t:100.00|90.00,34.00,36.00,40.00|88.00,24.00,48.00,40.00|100.00&chdl=|Europe|North+America|&chco=ffffff,0000ff,ff0000,ffffff&chbh=18)
Текущие цифры
Статистика использования баз данных MySQL, MariaDB, PostgreSQL и MongoDB
Начнем с SQL баз. Как и прежде MySQL остается неоспоримым лидером. PosgreSQL занимает второе почетное место, за ней следует MariaDB. Единственная среди наших NoSQL баз, MongoDB показала очень хороший результат в ноябре.
Если сравнить текущие данные с октябрьскими, то можно сделать вывод, что количество фанов каждой из баз практически не изменилось.
Ситуация в регионах (Европа и Северная Америка).
Текущие цифры
Информационная безопасность → Практический эпизод борьбы с DDoS
Один юноша очень любил ругаться на тематическом ресурсе. И за это его регулярно банили. А один раз взяли, да и не разбанили.
Обиделся юноша, и решил отомстить. Поднакопил денег, взял да и заказал DDoS ресурса. Благо это в РФ не уголовно, к сожалению, наказуемое деяние.
DDoS, на который юноше удалось накопить, заключался в отсылке армией ботов одинаковых HTTP-запросов.
Как водится, для придирчивых админов не нашлось удовлетворительно выглядящих решений, которые бы просто читали HTTP-лог и выдавали наружу те адреса, которые надо банить.
Поэтому пришлось построить свой лунапарк, с этим самым и этими самыми. Камрад metakey справился написать собственно логику отнесения айпи в бан, а ваш покорный слуга — настроить всю оставшуюся обвязку.
Тем, кто (предпо)читает Хемингуэя в подлиннике, можно сразу отправляться сюда. Там и код тоже можно найти.
Обиделся юноша, и решил отомстить. Поднакопил денег, взял да и заказал DDoS ресурса. Благо это в РФ не уголовно, к сожалению, наказуемое деяние.
DDoS, на который юноше удалось накопить, заключался в отсылке армией ботов одинаковых HTTP-запросов.
Как водится, для придирчивых админов не нашлось удовлетворительно выглядящих решений, которые бы просто читали HTTP-лог и выдавали наружу те адреса, которые надо банить.
Поэтому пришлось построить свой лунапарк, с этим самым и этими самыми. Камрад metakey справился написать собственно логику отнесения айпи в бан, а ваш покорный слуга — настроить всю оставшуюся обвязку.
Тем, кто (предпо)читает Хемингуэя в подлиннике, можно сразу отправляться сюда. Там и код тоже можно найти.
Ruby on Rails → MongodbLogger — складываем логи вашего Rails 3 приложения в MongoDB

Привет всем. Сегодня я поведаю о своей разработке для Rails 3 — MongodbLogger. Начнем по порядку.
Rails приложение по-умолчанию складывает логи запросов в папку logs. Сами по себе логи очень удобная штука — они помогают посмотреть какие запросы идут в ваше приложение, посмотреть trace ошибки и прочее. В них можно дописывать дополнительную информацию. Хотя файловый лог прост и эффективен, но у него есть определенные ограничения: при использовании множество веб-серверова, лог у каждого свой; нет простого доступа. Запись в РСУБД решает вопросы централизации и простого доступа логов, но сразу возникают другие проблемы: схема таблицы не настолько гибка, как может быть структура лога; запись может быть недостаточно быстра; чистка старых логов — задачи на Ваших плечах. И тут на помощь приходит MongoDB.
Персональные блоги → Основные тезисы конференции HighLoad++ 2011
В октябре 2011 года в Москве проходила ежегодная конференция разработчиков высоконагруженных проектов HighLoad++. Решил поделиться с читателями основными тезисами с конференции. Поскольку вся информация открыта и доступна на странице конференции, решил что собрать все тезисы вместе будет не такой уж и плохой затеей. Сразу отмечу, что в отчёте не содержится детальной информации о каждом докладе — затронуты лишь ключевые моменты.
Итак, о чём говорилось на HighLoad++ 2011.
Блог компании Jelastic → Jelastic Cloud PaaS — статистика использования баз данных MySQL, MariaDB, PostgreSQL и MongoDB
По просьбам наших пользователей выкладываем первую статистику использования баз данных в платформе Jelastic. Статистика собиралась самым простым способом. Мы подсчитали количество указанных баз данных во всех пользовательских окружениях. В статистической выборке учтено более 1000 окружений.
&chs=500x250&chl=MySQL|MariaDB|PostgreSQL|MongoDB&chco=3399CC,80C65A,FF0000,FFCC33&chdl=47%%20MySQL|14%%20MariaDB|19%%20PostgreSQL|21%%20MongoDB)
Исходя из статистики, на сегодняшний день лидирует MySQL, тем не менее другие базы данных тоже довольно популярны.
Распределение баз данных по регионам
Исходя из статистики, на сегодняшний день лидирует MySQL, тем не менее другие базы данных тоже довольно популярны.
Распределение баз данных по регионам
JAVA → Пишем простой UDP BitTorrent-трекер на Netty + MongoDB из песочницы
Введение
В это статье освещается работа UDP Tracker Protocol. Все примеры, приведенные в статье, будут на Java с использованием NIO-фреймворка Netty. В качестве БД взята MongoDB.
Обычно торрент-трекеры работают через протокол HTTP, передавая данные посредством GET-запросов. Работа трекера по протоколу UDP позволяет существенно сократить траффик (более чем в 2 раза), а так же избавиться от ограничения на количество одновременных соединений, которое накладывает протокол TCP.
Ссылка на UDP-трекер в клиенте может выглядеть так: udp://tracker.openbittorrent.com:80/announce, где на месте announce может быть что угодно (либо вообще ничего). А вот указание порта обязательно, в отличие от HTTP трекера.