CouchDB একটি ডিস্ট্রিবিউটেড ডকুমেন্ট-ভিত্তিক ডাটাবেস যা ডেটা JSON ফরম্যাটে সংরক্ষণ করে এবং এটি RESTful API সমর্থন করে। Python ব্যবহার করে CouchDB এর সাথে যোগাযোগ করতে, python-couchdb
লাইব্রেরি একটি খুবই জনপ্রিয় এবং কার্যকরী উপায়। এই লাইব্রেরিটি CouchDB ডেটাবেসের মধ্যে ডেটা ইনসার্ট, আপডেট, রিড এবং ডিলিট করার জন্য সহজ পদ্ধতি প্রদান করে।
এখানে python-couchdb লাইব্রেরি ব্যবহার করে CouchDB-এর সাথে ইন্টিগ্রেশন এবং ডেটাবেস অপারেশনগুলি করার সম্পূর্ণ গাইড দেওয়া হলো।
প্রথমে আপনাকে python-couchdb লাইব্রেরি ইনস্টল করতে হবে। এটি pip ব্যবহার করে ইনস্টল করা যায়।
pip install couchdb
এই কমান্ডটি লাইব্রেরিটি আপনার পরিবেশে ইনস্টল করবে।
CouchDB সার্ভারের সাথে সংযোগ স্থাপন করতে, আপনাকে প্রথমে CouchDB URL, ডেটাবেস নাম এবং যদি প্রয়োজন হয় ব্যবহারকারী নাম এবং পাসওয়ার্ড প্রোভাইড করতে হবে।
import couchdb
# CouchDB সার্ভারের URL (এটি আপনার সার্ভারের URL হতে পারে)
couch = couchdb.Server('http://localhost:5984/')
# ডেটাবেস নাম
db_name = 'mydatabase'
# ডেটাবেসে সংযোগ করা
if db_name in couch:
db = couch[db_name]
else:
db = couch.create(db_name)
print(f"Connected to database: {db_name}")
এখানে:
যদি ডেটাবেসটি পূর্বে তৈরি করা না থাকে, তবে এটি তৈরি করা হবে।
CouchDB-তে ডেটা ইনসার্ট করতে, একটি document তৈরি করতে হবে, যেটি একটি JSON অবজেক্টের মতো কাজ করে। একটি নতুন ডকুমেন্ট ইনসার্ট করার জন্য:
# নতুন ডকুমেন্ট তৈরি
doc = {
'name': 'John Doe',
'email': 'johndoe@example.com',
'age': 30,
'type': 'user'
}
# ডকুমেন্ট ইনসার্ট করা
doc_id, doc_rev = db.save(doc)
print(f"Document created with ID: {doc_id} and Revision: {doc_rev}")
এখানে:
db.save(doc)
: এই ফাংশনটি ডকুমেন্টটি ডেটাবেসে সেভ করে এবং নতুন ID এবং Revision প্রদান করে।CouchDB তে একটি নির্দিষ্ট ডকুমেন্ট রিড করতে, তার ID ব্যবহার করে ডকুমেন্টটি খুঁজে বের করতে হবে।
# ডকুমেন্টের ID ব্যবহার করে ডেটা রিড করা
doc_id = 'document_id_here'
doc = db[doc_id]
print(f"Document Retrieved: {doc}")
এখানে:
db[doc_id]
: এটি ডেটাবেস থেকে doc_id এর ভিত্তিতে ডকুমেন্ট ফেরত দেয়।CouchDB তে ডকুমেন্ট আপডেট করতে, আপনাকে প্রথমে সেই ডকুমেন্টটি রিড করতে হবে এবং পরে তার _rev ফিল্ড ব্যবহার করে পরিবর্তন করতে হবে।
# ডকুমেন্ট রিড করা
doc = db[doc_id]
# ডকুমেন্টে কিছু পরিবর্তন করা
doc['age'] = 31
# আপডেট করা
db.save(doc)
print(f"Document updated with new age: {doc['age']}")
এখানে:
db.save(doc)
: এটি আপডেট করা ডকুমেন্টটি পুনরায় সেভ করবে এবং _rev এর মাধ্যমে কনফ্লিক্ট সমাধান করবে।CouchDB তে ডকুমেন্ট ডিলিট করতে, ডকুমেন্টের _id এবং _rev ফিল্ডের প্রয়োজন হবে।
# ডকুমেন্ট ডিলিট করা
doc = db[doc_id]
# ডিলিট করার জন্য
db.delete(doc)
print(f"Document with ID: {doc_id} deleted")
এখানে:
db.delete(doc)
: এটি ডকুমেন্টটি ডেটাবেস থেকে মুছে ফেলবে।আপনি একাধিক ডকুমেন্ট একযোগে ইনসার্ট করতে চাইলে, bulk_save() ফাংশন ব্যবহার করতে পারেন।
# একাধিক ডকুমেন্ট ইনসার্ট করা
docs = [
{'name': 'Alice', 'email': 'alice@example.com', 'age': 25, 'type': 'user'},
{'name': 'Bob', 'email': 'bob@example.com', 'age': 28, 'type': 'user'}
]
# ব্যাচ ইনসার্ট
db.bulk_save(docs)
print("Batch documents saved")
এখানে:
db.bulk_save(docs)
: এটি একাধিক ডকুমেন্ট একসাথে ইনসার্ট করে।ডেটাবেস মুছে ফেলতে, আপনি delete() ফাংশন ব্যবহার করতে পারেন।
# ডেটাবেস মুছে ফেলা
couch.delete(db_name)
print(f"Database {db_name} deleted")
এখানে:
couch.delete(db_name)
: এটি ডেটাবেস মুছে ফেলবে।CouchDB তে আপনি View ব্যবহার করে কাস্টম কুয়েরি পরিচালনা করতে পারেন। উদাহরণস্বরূপ, name দ্বারা অনুসন্ধান করা:
# একটি কাস্টম View থেকে ডেটা অনুসন্ধান করা
view = db.view('user_by_name') # 'user_by_name' একটি প্রি-ডিফাইনড View
for row in view:
print(row.key, row.value)
এখানে:
CouchDB এবং Python এর মধ্যে ইন্টিগ্রেশন খুবই সহজ এবং শক্তিশালী। python-couchdb লাইব্রেরি ব্যবহার করে আপনি ডেটাবেসে ডেটা ইনসার্ট, রিড, আপডেট এবং ডিলিট করতে পারেন। এছাড়াও, Views এবং MapReduce ফাংশন ব্যবহার করে কাস্টম কুয়েরি পরিচালনা এবং ডেটা বিশ্লেষণ করা যায়। Python এর সহজ ভাষায় CouchDB এর সাথে কাজ করার মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনকে আরও স্কেলেবল এবং কার্যকর করতে পারবেন।
common.read_more