Ako prepojiť svoju aplikáciu v banke s CouchDB: databázou NoSQL

Ako prepojiť svoju aplikáciu v banke s CouchDB: databázou NoSQL

Prepojenie banky s databázami SQL, ako sú PostgreSQL a SQLite, je hračka. Rámec sa však perfektne synchronizuje s databázami NoSQL, ako je CouchDB. A čo je ďalšou výhodou, pri použití CouchDB s bankou sa môžete ľahko pýtať na svoje údaje.





Ste pripravení vykonať zmenu pomocou aplikácie NoSQL ako CouchDB vo svojej aplikácii Flask? Tu je návod, ako nastaviť CouchDB na miestnom počítači a pripojiť ho k banke Flask.





Čo je CouchDB?

CouchDB je databáza NoSQL, ktorú v súčasnosti vlastní Apache Software Foundation. Softvér, napísaný spoločnosťou Erlang, bol prvýkrát vydaný v roku 2005.





Na rozdiel od bežných databáz prepojených s tabuľkami, na ktoré ste pravdepodobne zvyknutí, CouchDB je nerelačný systém správy databáz, ktorý ukladá údaje ako nespracované JSON.

CouchDB je neblokujúci, takže počas zadávania údajov databázu nezamkne. Jednou zo silných stránok CouchDB je to, že používa na čítanie a zápis údajov viacstupňovú politiku riadenia súbežnosti. Umožňuje teda simultánne vstupy od viacerých používateľov bez rušenia z existujúcej štruktúry údajov v databáze.



CouchDB je teda rýchly počas dotazov a ľahko sa s ním pracuje pri použití asynchrónnych metód. To znamená, že to nie je o nič lepšie ako jeho náprotivok v jazyku SQL. Každá technológia má svoje pre a proti.

Nastavenie CouchDB

Ak chcete začať používať CouchDB, stiahnite si a nainštalujte kompatibilnú verziu z Oficiálna webová stránka CouchDB .





A ak vám táto najnovšia verzia nefunguje, pokračujte na Archív CouchDB a stiahnite si verziu 1.6.1, ktorá je staršou verziou CouchDB.

Akonáhle si nainštalujete CouchDB, spustite ho na počítači ako akúkoľvek inú aplikáciu pre stolné počítače.





Otvorte prehliadač. Potom spustite server CouchDB tak, že do panela s adresou vložíte nasledujúce:

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

Nastavte Python a banku

Tento tutoriál však predpokladá, že Python už máte vo svojom počítači nainštalovaný. V opačnom prípade choďte na python.org a nainštalujte si do počítača najnovšiu verziu Pythonu.

Po nastavení CouchDB vytvorte koreňový priečinok projektu. Potom otvorte príkazový riadok do tohto adresára a vytvorte súbor Virtuálne prostredie Python .

Nainštalujte najnovšiu verziu banky do virtuálneho priestoru pomocou pip :

veci, ktoré môžete robiť s malinovým pi
pip install flask

Pripojte banku s CouchDB

Ak chcete začať používať CouchDB s aplikáciou Flask, nainštalujte si Flask-CouchDB , runtime balík na prepojenie databázy s Flaskom.

Robiť to:

pip install Flask-CouchDB

Hneď po inštalácii Flask-CouchDB úspešne vytvorte súbor app.py súbor v tomto koreňovom priečinku. Podobne vytvorte a database.py súbor - toto sa stará o vytváranie databázy.

Otvorené database.py a importujte nasledujúce balíky:

from couchdb import Server

Potom vytvorte databázu v tom istom súbore pomocou nasledujúceho bloku kódu:

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

Vykonať database.py prostredníctvom CLI. Potom vo svojom prehliadači otvorte alebo obnovte miestny server CouchDB, ako ste to urobili predtým. Teraz by ste mali vidieť databázu ( muocouch v tomto prípade) uvedené v CouchDB.

Súvisiace: Ako spustiť skript Python

Poznámka: Zaistite, aby ste pre databázy používali malú konvenciu pomenovania, pretože CouchDB nemusí akceptovať veľké alebo zmiešané písmená.

Uložte svoje prvé údaje CouchDB pomocou banky

Nakoniec, účelom akejkoľvek databázy je ukladanie údajov. Keď máte databázu v CouchDB, môžete do nej ihneď začať ukladať údaje z aplikácie Flask.

Ak chcete začať, otvorte app.py a importujte nasledujúce balíky:

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

Potom vytvorte aplikáciu Flask a inštanciu servera CouchDB:

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

Teraz uložme niektoré vstupy používateľov do 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

'

Ak chcete, môžete server Flask pred spustením nastaviť do vývojového režimu.

Ak to chcete urobiť, spustite nasledujúci príkaz prostredníctvom svojho CLI:

set FLASK_ENV=development

Upozorňujeme, že nastavenie režimu servera je voliteľné. Vďaka tomu je ladenie kódu iba bezproblémové.

Ale bez ohľadu na nastavenie režimu servera, tu je návod, ako spustiť server Flask prostredníctvom CMD:

flask run

Banka však predvolene nastaví váš port localhost: 5 000 . Teraz by ste mali vidieť správu v H2 označte po načítaní tejto adresy prostredníctvom prehliadača.

Overte údaje a skontrolujte duplikáty pomocou dotazov CouchDB

Ak to chcete ďalej štandardizovať, môžete použiť dotazy na validáciu vstupov a zabránenie duplikátom vo vašej databáze. Dotaz na CouchDB je trochu odlišný od toho, ako to robíte s databázami SQL.

CouchDB používa to, čo nazýva „zobrazenia JavaScript“, na dopytovanie údajov z databázy. Našťastie je to relatívne jednoduché.

Predtým, ako budete pokračovať ďalej, vyzerá základné zobrazenie dotazu CouchDB takto:

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

Teraz použijeme vyššie uvedený kód prakticky:

#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

'

Vyššie uvedený kód používa príponu Používateľ triedy na dotazovanie údajov načítaných funkciou zobrazenia. Venujte veľkú pozornosť parametrom v rámci sady dotazov ( myQuery ).

Tlač q3 , ako ste urobili vyššie, by teraz mali v príkazovom riadku zobrazovať všetky používateľské mená a e -mailové adresy v databáze.

Tento dotaz teda môžete použiť na validáciu vstupov používateľov:

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

'

Obnovením prehliadača sa vráti súbor inak pri každom pokuse o vloženie používateľského mena alebo e -mailu, ktorý už je v databáze. A ak zadávate nový, úspešne uloží vaše údaje spustením súboru keby podmienkou.

Súvisiace: Ako používať vyhlásenie Python if

To je všetko! Práve ste vytvorili svoju prvú databázu NoSQL pomocou Flask-CouchDB.

Aj keď sa vytváranie a dopytovanie databáz v CouchDB točí okolo príkladov, ktoré sme tu zdôraznili, môžete ďalej skúmať funkcie Flasku. Vstupné polia môžete napríklad roztočiť pomocou wtforms a označte duplikáty pomocou správy od Flaska blesk .

Dokonca môžete svoj dotaz odoslať do JavaScriptu jQuery na overenie vstupov a asynchrónnu kontrolu duplikátov.

Je CouchDB lepší ako databázy SQL?

Použitie CouchDB alebo akejkoľvek inej databázy NoSQL s Flask alebo akoukoľvek inou technológiou programovania závisí od vašich preferencií. Pri riešení bezštruktúrnych dát a surových médií však príde vhod.

To znamená, že predtým, ako sa rozhodnete, by ste sa mali pozrieť na rozdiely medzi databázami NoSQL a SQL, aby vám pomohli rozhodnúť sa, ktorá z nich je vhodná pre váš projekt.

zdieľam zdieľam Tweet E -mail SQL vs. NoSQL: Aká je najlepšia databáza pre váš ďalší projekt?

Výber typu databázy môže byť zložitý. Mali by ste zvoliť SQL alebo NoSQL?

Čítajte ďalej
Súvisiace témy
  • Programovanie
  • databázy
  • Programovanie
  • Návody na kódovanie
O autorovi Idisou Omisola(94 publikovaných článkov)

Idowu je zanietený pre čokoľvek, čo sa týka inteligentných technológií a produktivity. Vo svojom voľnom čase sa hrá s kódovaním a keď sa nudí, prejde na šachovnicu, ale tiež rád, keď sa raz za čas odtrhne od rutiny. Jeho vášeň ukazovať ľuďom cestu okolo moderných technológií ho motivuje písať viac.

Viac od Idowu Omisola

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber