Найти - Пользователи
Полная версия: couchdb создание базы
Начало » Базы данных » couchdb создание базы
1 2 3
romankrv
После установки 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]:
То есть вопрос как лечить ошибку?

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

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

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

CouchDB все еще интересует?
Александр Кошелев
dimabest
два элементарных запроса для SQL или MongoDB….
Четыре элементарных запроса в CouchDB.
dimabest
CouchDB все еще интересует?
Как это всё вообще относится к вопросу?
Александр Кошелев
romankrv
То есть вопрос как лечить ошибку?
Какая версия CouchDB и couchdb-python?
dimabest
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 и полноценной документ-ориентированной БД.

Афтар топика, не теряй время на это поделие
romankrv
Саша привет. вот в продолжении темы:
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

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

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

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

К счастью ПО и веб-сервисы в частности не ограничиваются только фильтрами HDD дисков.
dimabest
Непонятна ниша этой CouchDB. По возможностям выборки данных - это немного расширенное key-value хранилище. Ради чего отказываться от реляционных БД с транзакциями и полноценным языком запросов?
Ради гибкости документ-ориентированного хранилища.
Александр Кошелев
romankrv
Что говорит
curl http://localhost:5984/
?
romankrv
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?
romankrv
dimabest
два элементарных запроса для SQL или MongoDB….
Что ты хотел(а) сказать этим причем тут монго?
Почему в яндексе такую недоделку(по твоим словам) тогда юзают: http://webnewage.org/2009/10/17/nosql/#comment_3294
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB