Статьи

Остерегайтесь CouchDB

CouchDB Диван Я наблюдаю за проектом базы данных CouchDB с самого его начала. Это любимый проект программиста Дэмиена Каца . Сегодня я был рад прочитать обновление, объявляющее, что оно будет доступно через RESTful JSON API, а языком запросов для CouchDB будет JavaScript. Как это круто?!

CouchDB — это не реляционная база данных, а скорее база данных распределенных документов. Вместо того, чтобы вставлять строку значений столбцов в таблицу, вы сохраняете документ с любым количеством именованных полей и значений (теперь представленных как объекты JSON) в базе данных, где он существует в виде адресуемого пула. Документы могут создаваться, извлекаться, обновляться и удаляться, не беспокоясь о дизайне схемы, поскольку ее нет.

Если вам требуется небольшая структура, вы можете создавать представления. Представление — это динамическая структура, которая действует как поисковый запрос, предоставляя виртуальную таблицу документов, соответствующих запросу. Запрос, ранее выраженный на проприетарном языке, теперь является функцией JavaScript, которая используется для определения того, какие документы включить в представление. Поскольку представления являются полностью виртуальными, у вас может быть сколько угодно, и вы можете добавлять или удалять их в любое время, не касаясь каких-либо своих данных. Представления индексируются и регулярно обновляются, чтобы следить за состоянием документов в базе данных.

CouchDB имеет некоторые другие впечатляющие атрибуты; Он полностью совместим с ACID, имеет встроенную модель безопасности, двунаправленную инкрементную репликацию и разрешение конфликтов.

Но для чего это хорошо? В документации быстро указывается, что это не замена реляционных баз данных, но она хорошо подходит для приложений в стиле документов, таких как блоги, управление документами, отслеживание ошибок, форумы и так далее. Вики CouchDB говорит:

При очень небольшой работе с базой данных можно создать распределенное приложение для управления документами с детальной безопасностью и полной историей изменений.

CouchDB все еще только в Alpha, но уже есть доступные демонстрационные версии и клиентские библиотеки, написанные на PHP, Ruby и других. Вы также можете скачать исходный код под лицензией GPL.

Я думаю, что CouchDB будет один, чтобы смотреть!