cloudant / python-cloudant

A Python library for Cloudant and CouchDB
Apache License 2.0
163 stars 55 forks source link

Support for configuring number of shards and replicas for a couch database #472

Closed CodipherX closed 4 years ago

CodipherX commented 4 years ago

Please read these guidelines before opening an issue.

Feature Request

From the source code, I found that it is not possible to use the cloudant to configure the shards and replica count of a database. https://docs.couchdb.org/en/stable/cluster/sharding.html

I would like something as couch_client.create_database(db_name, shards=3, replica=2, partitioned=False)

Environment details

Cloudant: 2.13 Python: 3.7

bessbd commented 4 years ago

Hi @CodipherX ,

Thank you for this feature request! For python-cloudant, the primary purpose is allowing developers to interact with IBM Cloudant databases. For IBM Cloudant, setting shard count and replicas is not enabled: https://cloud.ibm.com/docs/Cloudant?topic=cloudant-how-is-data-stored-in-ibm-cloudant-#setting-shard-count

I recommend using Endpoint access if you want to control shard count and replicas. Also, I suggest being careful adjusting those values (or not adjusting them at all) as it's easy to run into issues of fault tolerance and/or performance by setting incorrect numbers.

CodipherX commented 4 years ago

Hi @bessbd ,

As of now, I have been using the Endpoint access. But it would be good to have this flexibility as part of create_database() function. Please see if your team can accommodate this in the next major release. Regards

ricellis commented 4 years ago

Our new cloudant-python-sdk(beta) makes the q parameter available.