Apache CouchDB – это база данных, ориентированная на простоту использования. Она может быть связанна с универсальным языком программирования Python, как показано в этой статье.
Apache CouchDB – это популярная база данных с открытым исходным кодом, которая используется как документно-ориентированная база данных NoSQL. Как и большинство других баз данных NoSQL, CouchDB использует формат JSON для хранения данных. JSON (JavaScript Object Notation) – это открытый формат файла данных, который используется в качестве альтернативы XML для передачи данных между несколькими несовместимыми и разнородными серверами.
Ключевые особенности CouchDB:
- Имеет распределенную архитектуру с простой и быстрой репликацией базы данных для нескольких экземпляров сервера.
- Быстрый поиск данных и индексация
- Интерфейс на основе REST для вставки, обновления, поиска и удаления документов
- Формат документа на основе JSON (легко переводится на разные языки)
- Доступны разные библиотеки для нескольких языков или просто для локализации и интернационализации контента.
- Подписка на обновления данных очень быстрая
- Хранение документов
- Основанная на ACID семантика
- MapReduce индексы и представления
- Все элементы имеют уникальный URI для HTTP
- Консистенция
- Репликация для устройств, включая смартфоны для обработки автономной и онлайн-синхронизации данных.
- Встроенная панель администрирования, доступ к которой можно получить с помощью панели администрирования веб-интерфейса под названием Futon.
- Безблокировочные обновления базы данных
- Формат документа в свободной форме
Установка CouchDB
Чтобы установить в Ubuntu/Debian Linux, введите:
$ sudo aptitude install couchdb
Для установки на Gentoo Linux введите:
$ sudo emerge couchdb
Службы можно запускать или останавливать с помощью сценариев инициализации во всех дистрибутивах следующим образом:
$ /etc/init.d/couchdb start
Для Windows установщик CouchDB доступен по адресу http://couchdb.apache.org. Установленная в системе CouchDB может выполняться как в автономном режиме, так и в сервисном режиме.
Futon – панель администрирования графического интерфейса пользователя CouchDB
Futon – это панель графического интерфейса пользователя, созданная для CouchDB. Она обеспечивает базовый интерфейс для большинства функций, включая создание, удаление, обновление и просмотр документов. Он обеспечивает доступ к параметрам конфигурации и интерфейс для запуска репликации.
Взаимодействие CouchDB с Python
Python – это популярный язык программирования, который является как универсальным, так и кроссплатформенным. Его можно использовать как самостоятельный набор или реализацию через Интернет с API-интерфейсами.
Для взаимодействия Python с CouchDB используется специальный пакет couchdb со следующими основными модулями:
- couchdb.client – Клиентская библиотека для взаимодействия с CouchDB
- couchdb.mapping – Этот модуль обеспечивает расширенное отображение между документами JSON объектов CouchDB и Python
- couchdb.view – Этот модуль реализует сервер на основе представлений для представлений, написанных на Python
>>> import couchdb Import CouchDB >>> couch = couchdb.Server()
Функция couchdb.Server () создает объект сервера.
На рабочих серверах это будет выглядеть так:
>>> couch = couchdb.Server(http://www.myportal.com:5984/) >>> db = couch.create(test)
Чтобы создать новую базу данных, введите:
>>> db = couch[mydb]
Чтобы использовать существующую базу данных, введите:
>>> doc = {Country: Russia}
После выбора базы данных создайте документ и вставьте его в базу данных:
>>> db.save(doc)
Метод save () возвращает ID и rev для текущего документа.
>>> db.delete(doc) >>> couch.delete(test)
Код выше очищает документ и базу данных.
Couchdbkit: фреймворк для Python
Цель couchdbkit – предоставить специальную среду для приложения Python для управления и доступа к CouchDB.
Следующие функции присущи couchdbkit:
- HTTP-бэкэнд используется через py-restclient
- Документы управляются динамически
- Threadsafeview
- Дизайнерские документы прилагаются к заявке и отправляются в CouchDB.
- Управляет документами с динамической схемой
Вы можете установить couchdbkit с помощью Pip следующим образом:
$ curl -O http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py
$ easy_install pip
Чтобы установить или обновить до последней выпущенной версии couchdbkit, введите:
$ pip install couchdbkit
Чтобы запрограммировать couchdbkit, введите следующий код:
from couchdbkit import Server myserver = Server() db = myserver.create_db(couchbdkit_test) db[myid] = { x: Hello } doc = db[myid]
Чтобы легко сопоставить объект CouchDB с объектом Python с помощью динамической схемы, введите:
from couchdbkit import Document class WelcomeNote(Document): author = StringProperty() content = StringProperty() date = DateTimeProperty() WelcomeNote = WelcomeNote() WelcomeNote.author = AuthorName WelcomeNote.homepage = http://couchdbkit.org
Как только это будет сделано, первый документ CouchDB будет показан как:
import datetime from couchdbkit import * class WelcomeNote(Document): author = StringProperty() content = StringProperty() date = DateTimeProperty()
Вот код для сохранения WelcomeNote в база данных «WelcomeNote». Давайте также посмотрим, как создать базу данных.
server = Server() db = server.get_or_create_db(WelcomeNote) WelcomeNote.set_db(db) WelcomeNote = WelcomeNote ( author=AuthorName, content=Welcome, date=datetime.datetime.utcnow() ) WelcomeNote.save()
Мы показали взаимодействие CouchDB с Python.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы или предложения.