Чтобы добавлять сообщения и комментарии, .

@netneladno:
netneladno

"Scale it to Billions — What They Don’t Tell you in the Cassandra README" prsm.tc

Читаю саксес стори про кассандру
Полный пиздец

@kamenev:
kamenev

slideshare.net

@tosh:
tosh

Продолжаем наш марафон уриной по монговысеру. Многое мы с вами уже знаем, но пора добавить в копилку ещё немного прекрасного.

on 32-bits systems led to losing all data silently after some 3GB
losing all data silently after some 3GB

cryto.net

@khades:
khades

великолепно

@tosh:
tosh

Ха-ха, монгоблядки начинают понимать, что надо изобретать базу.
There was a lot of talk about schemas at the conference. For a "schema-less" database, as MongoDB has been promoted, this may seem odd but it does appear that MongoDB, Inc has re-discovered that a regular structure to the documents stored in the database can be helpful for managing the evolution of a database.
Хотя там всё такое же: и индексы, и валидаторы.

compose.io

@netneladno:
netneladno

новый заход aphyr.com

@amyodov:
amyodov

Весьма неожиданный ход со стороны крупного RDBMS-вендора: Percona покупает Tokutek. percona.com

@khades:
khades

а есть ли базы данных, в которых явно запрещено обновление уже сущесвтующих записей?

@tosh:
tosh

Я писал как-то, что мы избавились от жанги в проекте. Это было первым важным, победным шагом на пути к здоровью сервиса. Сегодня мы сделали следующий — погасли последние инстансы монги, только данные вживых на крайний случай. Осталось сменить mysql на постгрес, и можно будет говорить о СТАБИЛЬНОСТИ. Ура, товаrищи!

@amyodov:
amyodov

Кто там хотел ACID и «нормальное хранилище вместо основанного на mmap-е» в MongoDB?
Встречайте MongoDB 2.8.0 rc0 с подключаемыми storage engine-ами, и, в качестве «первого пробного камня» — WiredTiger, от архитекторов Berkeley DB в Sleepycat Software (купленном потом Oracle-ом): blog.mongodb.org

@netneladno:
netneladno

scontent-b-ams.xx.fbcdn.net
на фотографии справа снизу чувак рассказывает про монгодб
теперь посмотрите на лица слушателей

@netneladno:
netneladno

youtube.com

@tosh:
tosh

Странно, но некоторые подписчики моего блога до сих пор спрашивают за что я не люблю монгу. Вот для них еще одна причина:
docs.mongodb.org
Unlike repairDatabase, compact does not free space on the file system.

@tosh:
tosh

Идите. Нахуй. Из. Профессии. И. Больше. Никогда. Не. Приближайтесь. Нахуй. Суки.
stackoverflow.com

@trapdoor:
trapdoor

"Очень важным примером NoSQL-систем являются обычные файловые системы, такие как Ext4 или NTFS. Они предназначены для хранения объектов в виде иерархической структуры с содержимым свободного формата."
squadette.ru

@netneladno:
netneladno

читаю щас новый пост от нефликса как у них кассандра хуярить 1кк записей в секунду
на 285 машинах с ссд
по 3к рпс пер ноду. хайлоад

@norguhtar:
norguhtar

habrahabr.ru
NoSQL is webscale!

@tosh:
tosh

Надо запомнить сегодняшний кейс для собеседований.
Есть монгоколлекция на 500кк записей (содержат информацию о некоторых событиях) для кучи объектов с полями obj_id, timestamp и т.д. Есть объект (obj_id = 1), для которого в этой коллекции лежит 10кк записей. Задача: брать из этих десяти миллионов по 50к для аггрегации. Сложность: skip() дичайше сканит все предыдущие события, т.е. чем больше число, переданное в skip(), тем дольше работает вся кверя. Дискас.

@tosh:
tosh

MongoDB — это быстро!
2014-06-16T19:04:03.772+0000 [conn128] query buzzoola.stat_tuple query: { $query: { ev_id: 4273 }, $orderby: { timestamp: 1 } } planSummary: IXSCAN { ev_id: 1, timestamp: 1 } cursorid:125433744307 ntoreturn:50000 ntoskip:9138532 nscanned:9144499 nscannedObjects:9144498 keyUpdates:0 numYields:388205 locks(micros) r:714168583 nreturned:5966 reslen:4194604 5091311ms

Кто не понимает, что произошло, подсказываю
IXSCAN... но тут внезапно:
5091311ms

@tosh:
tosh

M for mongodb. Вот что я люблю! Пара-па-па-па, мон-го ху-и-та!
Я думал, в этом туторе рассказывают как ротировать логи. Ан нет, как уронить сервер:
docs.mongodb.org

@tosh:
tosh

С хабра:
Вы столько раз употребили термин «Big Data», что стало интересно, а на какие объемы данных рассчитана БД?
На те, что в Excel уже не умещаются.

@tosh:
tosh

Монга — это просто
stackoverflow.com

@tosh:
tosh

Задеплоил на работе обновленную архитектуру приложения, смигрировав часть важных данных из монги в скл. Даже не смотря на ущербность мускула, отклик бэкенда внезапно увеличился в несколько раз (хотя такой цели не преследовалось). Where is your god now? inb4: не умеете работать с монгой.

@norguhtar:
norguhtar

Facebook представил WebScaleSQL, высокомасштабируемый вариант MySQLТеперь фраза "NoSQL is Web Scale" начинает звучать совсем по другому!

@netneladno:
netneladno

hbase мне вообще чем нравится — изза отсутствия секондари индексов, он заставляет всё делать в 3NF

@tosh:
tosh

Немного о том, как в монге удалять записи с лимитом:
The easiest way to do this is probably to do the query to get the _id
values and then to delete them by _id value using $in.
Remove/delete does not have a limit option.

@tosh:
tosh

Запустили тест для любимой монги, который в два потока пишет, в один читает проиндексированные записи. Спустя десяток итераций количество считанных/записанных документов упало на порядок, а спустя еще пару итераций всё окончательно слегло. Robust web-scalable production-ready solution has died.

@netneladno:
netneladno

"mongodb all the way. full web scale power. i think mongodb should be written in nodejs to take advantage of event driven nature of fast web scale loop. and gruntjs and lessc and uglifyjs adds full power to angulrjs real time web scale RDBMS."

@goodic:
goodic

а что, db.update в $set не умеет $concat? А вот если мне к уже имеющимуся (string) надо инфу добавить, как тогда?

@goodic:
goodic

а кто какими гуями пользуется для работы с mongodb? Желательно с вариантом работы из-под Windows

@netneladno:
netneladno

▪ Five Things About Scaling MongoDB <emptysqua.re>: create the right indexes for your queries; On Linux, choose ext4 or xfs; Since MongoDB is constantly accessing its files, you can get significant performance by telling Linux not to track files' access times; calculate working set size correctly; use SSD when storing data large than RAM; shard. 

так смешно стало

@tosh:
tosh

devblog.me
Ёб бы я б её б и ёб

@netneladno:
netneladno

котаны, а вы встречали вменяемых ноуэскуэльщиков без гноя в голове?

@tosh:
tosh

Базу данных в монго так и не завезли:
You cannot refer to the document itself in an update (yet). You'll need to iterate through the documents and update each document using a function.

@netneladno:
netneladno

Mongo, not evil, just misunderstood. Like your ex-wife.

@Kxepal:
Kxepal

MongoDB switches to U-238 for atomic updates

@netneladno:
netneladno

twitter.com

@vessi:
vessi

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

@netneladno:
netneladno

посмотрите же скорее на бенчмарк монги, кассандры и коучбейз
drive.google.com

тлдр: 15кк Документов, четыре ноды, 10г интернет
лучший результат у коучбейза, кстати не путайте с коучдб, в 22к рпс!

ГРАУНД БРЕЙКИНГ

@kamenev:
kamenev

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

# Когда область грязных страниц заполнится на этот процент начать сброс буферов
vm.dirty_background_ratio = 50
# Такой процент системной памяти может быть использован под грязные страницы
vm.dirty_ratio = 80
# После данного времени, в сотых секунды осуществляется сброс на диск. По умолчанию 3000.
vm.dirty_expire_centisecs = 360000

Источники:
docs.neo4j.org
kernel.org