Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 2, 2010 19:17:47

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

couchdb создание базы

После установки python-couchdb
как

sudo aptitude install python-couchdb
в консоле питона как в доке по примеру ввожу:
In [1]: import couchdb
In [2]: couchdb.Server()
Out[2]: <Server 'http://localhost:5984/'>

In [3]: s =couchdb.Server()
In [6]: s.create('mmm')
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)

/home/devel/django_sites/worldpass/opencolab/Source/OpenColab/<ipython console> in <module>()

/usr/lib/pymodules/python2.6/couchdb/client.pyc in create(self, name)
202 :raise PreconditionFailed: if a database with that name already exists
203 """
--> 204 self.resource.put(validate_dbname(name))
205 return self[name]
206

/usr/lib/pymodules/python2.6/couchdb/client.pyc in put(self, path, content, headers, **params)
987 def put(self, path=None, content=None, headers=None, **params):
988 return self._request('PUT', path, content=content, headers=headers,
--> 989 **params)
990
991 def _request(self, method, path=None, content=None, headers=None,

/usr/lib/pymodules/python2.6/couchdb/client.pyc in _request(self, method, path, content, headers, **params)
1012 return _make_request(retry - 1)
1013 raise
-> 1014 resp, data = _make_request()
1015
1016 status_code = int(resp.status)

/usr/lib/pymodules/python2.6/couchdb/client.pyc in _make_request(retry)
1007 try:
1008 return self.http.request(uri(self.uri, path, **params), method,
-> 1009 body=body, headers=headers)
1010 except socket.error, e:
1011 if retry > 0 and e.args[0] == 54: # reset by peer

/usr/lib/pymodules/python2.6/httplib2/__init__.pyc in request(self, uri, method, body, headers, redirections, connection_type)
1127 content = ""
1128 else:
-> 1129 (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
1130 except Exception, e:
1131 if self.force_exception_to_status_code:

/usr/lib/pymodules/python2.6/httplib2/__init__.pyc in _request(self, conn, host, absolute_uri, request_uri, method, body, headers, redirections, cachekey)
899 auth.request(method, request_uri, headers, body)
900
--> 901 (response, content) = self._conn_request(conn, request_uri, method, body, headers)
902
903 if auth:

/usr/lib/pymodules/python2.6/httplib2/__init__.pyc in _conn_request(self, conn, request_uri, method, body, headers)
869 pass
870 try:
--> 871 response = conn.getresponse()
872 except (socket.error, httplib.HTTPException):
873 if i == 0:

/usr/lib/python2.6/httplib.pyc in getresponse(self)
982 else:
983 response = self.response_class(self.sock, strict=self.strict,
--> 984 method=self._method)
985
986 response.begin()

/usr/lib/python2.6/httplib.pyc in __init__(self, sock, debuglevel, strict, method)
328
329 def __init__(self, sock, debuglevel=0, strict=0, method=None):
--> 330 self.fp = sock.makefile('rb', 0)
331 self.debuglevel = debuglevel
332 self.strict = strict

AttributeError: 'NoneType' object has no attribute 'makefile'

In [7]:
То есть вопрос как лечить ошибку?

спасибо

Офлайн

#2 Сен. 2, 2010 19:59:38

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

couchdb создание базы

СouchDB очень ограничена в плане выборки данных. Например, невозможно сделать выборки такого вида:

1. Диски по цене от 1 до 100, производитель Samsung или Seagate
2. Производитель Samsung или Seagate, объем 500 Мб или 1000 Мб

два элементарных запроса для SQL или MongoDB….

CouchDB все еще интересует?



Офлайн

#3 Сен. 2, 2010 23:17:30

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

couchdb создание базы

dimabest
два элементарных запроса для SQL или MongoDB….
Четыре элементарных запроса в CouchDB.
dimabest
CouchDB все еще интересует?
Как это всё вообще относится к вопросу?



Офлайн

#4 Сен. 2, 2010 23:19:54

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

couchdb создание базы

romankrv
То есть вопрос как лечить ошибку?
Какая версия CouchDB и couchdb-python?



Офлайн

#5 Сен. 3, 2010 05:26:31

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

couchdb создание базы

Daevaorn
Четыре элементарных запроса в CouchDB
Отлично, дисков так много, что я добавил еще пару фильтров:

http://hotline.ua/gd/106/9518-933-934-6417-8859-935-937-938-950-9517-965-3360-3357-12285-12286/

а сколько тут запросов? :)

Daevaorn
Как это всё вообще относится к вопросу?
Непонятна ниша этой CouchDB. По возможностям выборки данных - это немного расширенное key-value хранилище. Ради чего отказываться от реляционных БД с транзакциями и полноценным языком запросов?

Например Redis дает скорость; MongoDB - скорость, гибкую схему данных и полноценный язык запросов. А CouchDB потерялся где-то между чистым key-value и полноценной документ-ориентированной БД.

Афтар топика, не теряй время на это поделие



Офлайн

#6 Сен. 3, 2010 11:54:00

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

couchdb создание базы

Саша привет. вот в продолжении темы:

Daevaorn
Какая версия CouchDB и couchdb-python?
dpkg -l |grep couchdb
ii couchdb-bin 0.10.0-1ubuntu2 RESTful document oriented database, programs
ii evolution-couchdb 0.4.5-0ubuntu1 Evolution support for CouchDB databases
rc libcouchdb-glib-1.0-1 0.5.2-0ubuntu1 GLib-based API for CouchDB
ii libcouchdb-glib-1.0-2 0.6.3-0ubuntu1 GLib-based API for CouchDB
ii python-couchdb 0.6-1 library for working with Apache CouchDB

спасибо

Офлайн

#7 Сен. 3, 2010 13:48:24

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

couchdb создание базы

dimabest
Отлично, дисков так много, что я добавил еще пару фильтров:

http://hotline.ua/gd/106/9518-933-934-6 … 285-12286/

а сколько тут запросов? :)
Не многим больше.

К счастью ПО и веб-сервисы в частности не ограничиваются только фильтрами HDD дисков.
dimabest
Непонятна ниша этой CouchDB. По возможностям выборки данных - это немного расширенное key-value хранилище. Ради чего отказываться от реляционных БД с транзакциями и полноценным языком запросов?
Ради гибкости документ-ориентированного хранилища.



Офлайн

#8 Сен. 3, 2010 13:51:30

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

couchdb создание базы

romankrv
Что говорит

curl http://localhost:5984/
?



Офлайн

#9 Сен. 3, 2010 22:53:30

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

couchdb создание базы

Daevaorn
Что говорит
$ curl http://localhost:5984/
curl: (7) couldn't connect to host
как я правильно понимаю что в консоле ipython(например) я должен сделать так:
In [1]: import couchdb

In [2]: a =couchdb.Server()

In [3]: a
Out[3]: <Server 'http://localhost:5984/'>
или нужно как то по другому запускать сервер couchdb?

Офлайн

#10 Сен. 3, 2010 23:00:04

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

couchdb создание базы

dimabest
два элементарных запроса для SQL или MongoDB….
Что ты хотел(а) сказать этим причем тут монго?
Почему в яндексе такую недоделку(по твоим словам) тогда юзают: http://webnewage.org/2009/10/17/nosql/#comment_3294

Отредактировано (Сен. 3, 2010 23:33:23)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version