Последние новости:

Поиск по сайту:

Не стоит изучать язык, который не меняет вашего представления о программировании. (Алан.Дж.Перлис)

Взаимодействие CouchDB с Python2 мин для чтения

FavoriteLoadingДобавить в избранное
27.12.2019
Взаимодействие CouchDB с Python

Apache CouchDB — это база данных, ориентированная на простоту использования. Она может быть связанна с универсальным языком программирования Python, как показано в этой статье.
Apache CouchDB — это популярная база данных с открытым исходным кодом, которая используется как документно-ориентированная база данных NoSQL. Как и большинство других баз данных NoSQL, CouchDB использует формат JSON для хранения данных. JSON (JavaScript Object Notation) — это открытый формат файла данных, который используется в качестве альтернативы XML для передачи данных между несколькими несовместимыми и разнородными серверами.

Ключевые особенности CouchDB:

  • Имеет распределенную архитектуру с простой и быстрой репликацией базы данных для нескольких экземпляров сервера.
  • Быстрый поиск данных и индексация
  • Интерфейс на основе REST для вставки, обновления, поиска и удаления документов
  • Формат документа на основе JSON (легко переводится на разные языки)
  • Доступны разные библиотеки для нескольких языков или просто для локализации и интернационализации контента.
  • Подписка на обновления данных очень быстрая
  • Хранение документов
  • Основанная на ACID семантика
  • MapReduce индексы и представления
  • Все элементы имеют уникальный URI для HTTP
  • Консистенция
  • Репликация для устройств, включая смартфоны для обработки автономной и онлайн-синхронизации данных.
  • Встроенная панель администрирования, доступ к которой можно получить с помощью панели администрирования веб-интерфейса под названием Futon.
  • Безблокировочные обновления базы данных
  • Формат документа в свободной форме
Взаимодействие CouchDB с Python

Установка 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 может выполняться как в автономном режиме, так и в сервисном режиме.

Читать  Как использовать снимки с Redis

 

Futon — панель администрирования графического интерфейса пользователя CouchDB

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

Взаимодействие CouchDB с Python

Создание базы данных на панели Futon

 

Взаимодействие 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.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы или предложения.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 1,00 из 5)
Загрузка...
Поделиться в соц. сетях:

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно

Статьи партнеров:

Рекомендуемое
Мир телефонов Android сильно отличается от мира телефонов Apple. Apple стремится…
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить

Спасибо! Ваша заявка принята

close

Спасибо! Ваша заявка принята

close