Cara Menghubungkan Aplikasi Flask Anda Dengan CouchDB: Database NoSQL

Cara Menghubungkan Aplikasi Flask Anda Dengan CouchDB: Database NoSQL

Menghubungkan Flask dengan database SQL seperti PostgreSQL dan SQLite sangatlah mudah. Tetapi kerangka kerja disinkronkan dengan sempurna dengan database NoSQL seperti CouchDB juga. Dan sebagai manfaat tambahan, Anda dapat melakukan kueri data dengan mudah saat menggunakan CouchDB dengan Flask.





Siap membuat perubahan dengan menggunakan NoSQL seperti CouchDB dengan aplikasi Flask Anda? Berikut cara mengatur CouchDB di komputer lokal Anda dan menghubungkannya dengan Flask.





Apa Itu CouchDB?

CouchDB adalah database NoSQL yang saat ini dimiliki oleh Apache Software Foundation. Ditulis dengan Erlang, perangkat lunak ini pertama kali dirilis pada tahun 2005.





Tidak seperti database tertaut tabel biasa yang kemungkinan besar Anda gunakan, CouchDB adalah sistem manajemen database non-relasional yang menyimpan data sebagai JSON mentah.

CouchDB tidak memblokir, sehingga tidak mengunci database selama input data. Salah satu keunggulan CouchDB adalah ia menggunakan kebijakan kontrol konkurensi multi-versi untuk membaca dan menulis data. Sehingga memungkinkan input simultan dari beberapa pengguna tanpa gangguan dari struktur data yang ada di database.



Dengan demikian, CouchDB cepat selama kueri dan mudah digunakan saat menggunakan metode asinkron. Yang mengatakan, ini tidak membuatnya lebih baik daripada rekan SQL-nya. Setiap teknologi memiliki pro dan kontra.

Pengaturan CouchDB

Untuk mulai menggunakan CouchDB, unduh dan instal versi yang kompatibel dari Situs web resmi CouchDB .





Dan jika versi terbaru itu tidak bekerja untuk Anda, lanjutkan ke Arsip CouchDB dan unduh versi 1.6.1, yang merupakan versi CouchDB sebelumnya.

Setelah Anda menginstal CouchDB, jalankan di PC Anda seperti yang Anda lakukan pada aplikasi desktop lainnya.





Buka peramban Anda. Kemudian luncurkan server CouchDB dengan menempelkan yang berikut ke bilah alamat Anda:

http://localhost:5984/_utils/index.html

Siapkan Python dan Flask

Tutorial ini, bagaimanapun, mengasumsikan bahwa Anda sudah menginstal Python di PC Anda. Jika tidak, pergi ke python.org dan instal versi terbaru Python di PC Anda.

Setelah Anda mengatur CouchDB, buat folder root proyek. Kemudian buka baris perintah Anda ke direktori itu dan buat Lingkungan virtual python .

Instal Flask versi terbaru di ruang virtual menggunakan pip :

iphone 12 pro atau pro max
pip install flask

Hubungkan Flask Dengan CouchDB

Untuk mulai menggunakan CouchDB dengan aplikasi Flask Anda, instal Flask-CouchDB , paket runtime untuk menghubungkan database dengan Flask.

Untuk melakukan ini:

pip install Flask-CouchDB

Setelah Anda menginstal Flask-CouchDB berhasil, buat app.py file di folder root itu. Demikian pula, buat database.py file—ini menangani pembuatan database Anda.

Membuka database.py dan impor paket-paket berikut:

from couchdb import Server

Selanjutnya, buat database Anda di file yang sama menggunakan blok kode berikut:

from couchdb import Server
server = Server()
db = server.create('muocouch')

Menjalankan database.py melalui KLI. Kemudian buka atau refresh server lokal CouchDB melalui browser Anda seperti yang Anda lakukan sebelumnya. Anda sekarang akan melihat database ( muocouch dalam hal ini) terdaftar di CouchDB.

Terkait: Cara Menjalankan Skrip Python

Catatan: Pastikan Anda menggunakan konvensi penamaan huruf kecil untuk database, karena CouchDB mungkin tidak menerima huruf besar atau campuran.

Simpan Data CouchDB Pertama Anda Menggunakan Flask

Pada akhirnya, tujuan dari basis data apa pun adalah penyimpanan data. Setelah Anda memiliki database di CouchDB, Anda dapat mulai menyimpan data ke dalamnya dari aplikasi Flask Anda segera.

Untuk memulai, buka app.py dan impor paket-paket berikut:

from flask import Flask
from couchdb import Server
from flaskext.couchdb import Document

Selanjutnya, buat aplikasi Flask dan instance server CouchDB:

app = Flask(__name__, static_url_path='/static')
app.debug=True
server = Server()

Sekarang mari kita simpan beberapa input pengguna ke CouchDB:

@app.route('/', methods=['GET', 'POST'])
def register():
user = {
'username':'media site',
'email':'justmail@gmail.com',
'password':'encrypteddata'
}
db = server['muocouch'] #select the database
doc_id, doc_rev = db.save(user) #store your data in th database
return '

Your data should now be in the database

'

Jika mau, Anda dapat mengatur server Flask Anda ke mode pengembangan sebelum menjalankannya.

Untuk melakukan ini, jalankan perintah berikut melalui CLI Anda:

set FLASK_ENV=development

Perhatikan bahwa pengaturan mode server adalah opsional. Itu hanya membuat debugging kode Anda tidak merepotkan.

Namun terlepas dari pengaturan mode server, berikut cara memulai server Flask melalui CMD:

flask run

Flask, bagaimanapun, default port Anda ke localhost:5000 . Anda sekarang akan melihat pesan di H2 tag setelah Anda memuat alamat ini melalui browser Anda.

Validasi Data dan Periksa Duplikat Menggunakan Kueri CouchDB

Untuk menstandarisasi ini lebih lanjut, Anda dapat menggunakan kueri untuk memvalidasi input dan mencegah duplikat dalam database Anda. Membuat kueri CouchDB sedikit berbeda dari cara Anda melakukannya dengan database SQL.

CouchDB menggunakan apa yang disebutnya 'tampilan JavaScript' untuk meminta data dari database. Untungnya, ini relatif sederhana.

Sebelum Anda melangkah lebih jauh, inilah tampilan tampilan kueri CouchDB dasar:

map_func = '''function(doc)
{ emit(doc.doc_rev, doc); }'''
myQuery = [docType].query(db, map_func, reduce_fun=None)

Sekarang mari kita gunakan kode di atas secara praktis:

#Create a document object model called ' Users :'
class User(Document):
doc_type = 'User'
@app.route('/', methods=['GET', 'POST'])
def register():
user = {
'username':'media site',
'email':'justmail@gmail.com',
'password':'encrypteddata'
}
db = server['muocouch'] #select the database
# Use the view function to fetch your data from CouchDB
map_func = '''function(doc)
{ emit(doc.doc_rev, doc); }'''
# Get all the data by running a query set
myQuery = User.query(db, map_func, reduce_fun=None, reverse=True)
q = [i['username'] for i in myQuery] # Loop out all the usernames from the database
q2 = [i['email'] for i in myQuery] # Loop out all the email addresses from the database
q3 = q+q2 # Merge both queries into a single list
print(q3)
return '

Your data is now in the database

'

Kode di atas menggunakan Pengguna kelas untuk menanyakan data yang diambil oleh fungsi tampilan. Perhatikan baik-baik parameter dalam kumpulan kueri ( myQuery ).

Pencetakan q3 , seperti yang Anda lakukan di atas, sekarang seharusnya menampilkan semua nama pengguna dan alamat email dalam database di dalam baris perintah.

Jadi, inilah cara Anda dapat menggunakan kueri ini untuk memvalidasi input pengguna:

if not (user['username'] in q3 or user['email'] in q3):
#store your data into the database if itdoesn't exist
doc_id, doc_rev = db.save(user)
return '

Registered successfully

'
else:
return '

Username or email exists

'

Menyegarkan browser Anda mengembalikan lain pernyataan setiap kali Anda mencoba memasukkan nama pengguna atau email yang sudah ada di database. Dan jika Anda memasukkan yang baru, itu berhasil menyimpan data Anda dengan menjalankan jika kondisi.

Terkait: Cara Menggunakan Pernyataan Python if

Itu dia! Anda baru saja membuat database NoSQL pertama Anda menggunakan Flask-CouchDB.

Meskipun membuat dan menanyakan database di CouchDB berkisar pada contoh yang kami soroti di sini, Anda dapat memeriksa fungsionalitas Flask lebih lanjut. Misalnya, Anda dapat memutar bidang input menggunakan wtforms dan tandai duplikat menggunakan pesan Flask kilatan .

Anda bahkan dapat meneruskan kueri Anda ke jQuery JavaScript untuk memvalidasi input dan memeriksa duplikat secara asinkron.

Apakah CouchDB Lebih Baik Dari Database SQL?

Menggunakan CouchDB atau database NoSQL lainnya dengan Flask atau teknologi pemrograman lainnya tergantung pada preferensi Anda. Tapi itu berguna saat berurusan dengan data tanpa struktur dan media mentah.

Karena itu, sebelum Anda memutuskan, Anda mungkin ingin melihat perbedaan antara database NoSQL dan SQL untuk membantu Anda memutuskan mana yang cocok untuk proyek Anda.

Membagikan Membagikan Menciak Surel SQL vs. NoSQL: Apa Basis Data Terbaik untuk Proyek Anda Selanjutnya?

Memilih tipe database bisa jadi rumit. Haruskah Anda memilih SQL atau NoSQL?

Baca Selanjutnya
Topik-topik yang berkaitan
  • Pemrograman
  • basis data
  • Pemrograman
  • Tutorial Pengkodean
Tentang Penulis Idisou Omisola(94 Artikel Diterbitkan)

Idowu bersemangat tentang teknologi dan produktivitas apa pun yang cerdas. Di waktu luangnya, dia bermain-main dengan coding dan beralih ke papan catur ketika dia bosan, tetapi dia juga suka melepaskan diri dari rutinitas sesekali. Semangatnya untuk menunjukkan kepada orang-orang tentang teknologi modern memotivasinya untuk menulis lebih banyak.

More From Idowu Omisola

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan