youtube.com
This video shows the processes communication graph for CouchDB running in a machine with 24-cores. CouchDB was exercised using YCSB and the video was generated using Ubigraph.
donpark.org
Вкратце: Почему я больше не использую CouchDB?
1. Я использовал базу, оптимизированную на чтение для задач, где важнее скорость записи.
2. Я не читал документацию и не поддерживал индексы в актуальном состоянии, так что первый запрос на чтение результата view-функции после множества записанных документов сильно обламывался в скорости.
3. У меня закончилось место на SSD дисках.
4. ...
5. Аццтой!
gist.github.com
Да, очень поздно они закрыли публичный доступ к _users, хотя не понятно, чем занимались админы npm т.к. поведение известное уже много релизов как и первый же security audit выявил бы эту проблему. Anyway, хорошо что исправились и дали проблеме огласку — в 1.2.0 проблему закрыли из коробки, правда релиз пока задерживается из-за двух багов, один из которых сулит хорошую прибавку к скорости индексации. Тем временем, чтобы не проверять свои сервера ручками, уже есть две тулзы для автоматизации процесса:
1. nodejs: github.com
2. python: code.google.com
Обе помогут провести анализа всего сервера или конкретной базы, определить что находится в паблике, а куда вход разрешен только специальным пользователям, сколько админов на сервере и не много ли их и т.п.
Такие дела. Берегите данные своих пользователей(:
infoq.com
Рассказывает о том, как он дошел до жизни такой, воплотил идею в жизнь и что из этого получилось.
github.com
Как заявляет разработчик: "Если CouchDB — это MySQL, то TouchDB — это SQLite". В целом более компактная и шустрая реализация(если смотреть по дискламеру), но при этом старается сохранить родной протокол. К слову, репликации работают так же как и у большого брата. Пока на iOS, но планируется выпуск версии под андроид. Stay tuned(;
Курс будет длиться с 09.01.12 по 20.03.12 и будут включать в себя введение в общий смысл устройства и работы CouchDB(как с ним работать должно быть уже изучено), обучение эрлангу: январь и пол февраля уходит только на него, но охватывается достаточно много тем. В качестве источника для самостоятельного обучения предлагают learnyousomeerlang.com .Только после этого уже рассматривается устройство и реализация всех основных фич и модулей CouchDB. И последние две недели курса уходят на групповые проекты. Я так понимаю, будем закрывать тикеты-долгострои и/или реализовывать фичи для 2.0.
При этом тут не получится ситуация, что записался, сидишь, слушаешь, выполняешь таски и как бы ты сам по себе: основным моментом является активная работа в команде — вся группа из 20 "студентов" делиться на более мелкие подгруппы по 2 человека, каждая группа обязана провести как минимум одно занятие в качестве докладчика.
В общем, отличное приключение я себе нашел на следующий год(: Посмотрим что из этого получится.
#1649080 на python. К сожалению, nodejs везде не стоит, а тузла полезная и нужная, хоть и не часто(:
code.google.com
Может кому еще пригодится.
Портировал audit_couchdb из code.google.com
Может кому еще пригодится.
couchdb.markmail.org
Можно сказать, официальный ответ на все слухи и домыслы по поводу отказа UbuntuOne от CouchDB и его(коуча) дальнейшей судьбе.
github.com
code.google.com
Не смотрел еще на RapidJSON, но UJSON с биндингами к python из коробки очень няшен.
Robert Newson:
Assuming you mean db_update_notification (and not _update handlers,
which are only called by clients) then, yes, they are triggered
whenever a db is updated. This sequence of events leads you to miss an
update, though;
1) Db updated
2) update notification fires
3) compaction occurs
4) processing update notification fetches doc
At step 3, all old revisions were met. Since the triggering of the
update notification and the subsequent exporting of the item are not
instantaneous, a window of data loss opens.
Storing old versions as attachments is a solid solution.