כיצד לחבר את אפליקציית הבקבוק שלך עם CouchDB: מסד נתונים של NoSQL

כיצד לחבר את אפליקציית הבקבוק שלך עם CouchDB: מסד נתונים של NoSQL

חיבור הבקבוק עם מסדי נתונים של SQL כמו PostgreSQL ו- SQLite הוא דבר פשוט. אבל המסגרת מסתנכרנת באופן מושלם עם מסדי נתונים של NoSQL כמו CouchDB, גם. ובתור יתרון נוסף, תוכל לבצע שאילתות בקלות על הנתונים שלך כאשר אתה משתמש ב- CouchDB עם Flask.





מוכן לבצע שינוי באמצעות NoSQL כמו CouchDB עם אפליקציית הבקבוק שלך? כך תוכל להגדיר את CouchDB במחשב המקומי שלך ולחבר אותו עם Flask.





מהו CouchDB?

CouchDB הוא מסד נתונים NoSQL בבעלות כיום קרן Apache Software. התוכנה נכתבה עם Erlang, ופורסמה לראשונה בשנת 2005.





שלא כמו מסדי הנתונים הרגילים המקושרים לשולחן שאליהם סביר להניח שאתה רגיל, CouchDB היא מערכת ניהול מסדי נתונים שאינה קשורה לאחסון ושומרת נתונים כ- JSON גולמי.

CouchDB אינו חוסם, כך שהוא אינו נועל את מסד הנתונים במהלך קלט הנתונים. אחת הנקודות החזקות של CouchDB היא שהיא משתמשת במדיניות שליטה במקביל בגרסאות מרובות כדי לקרוא ולכתוב נתונים. כך שהוא מאפשר כניסות בו זמנית ממספר משתמשים ללא הפרעה מהמבנה הקיים של הנתונים במסד הנתונים.



לפיכך, CouchDB הוא מהיר במהלך שאילתות וקל לעבוד איתו תוך שימוש בשיטות אסינכרוניות. עם זאת, זה לא הופך את זה לטוב יותר מאשר עמיתו ל- SQL. לכל טכנולוגיה יש יתרונות וחסרונות.

הגדרת CouchDB

כדי להתחיל להשתמש ב- CouchDB, הורד והתקן גרסה תואמת מ- האתר הרשמי של CouchDB .





ואם הגרסה האחרונה לא עובדת עבורך, המשך אל ארכיון CouchDB ולהוריד את גרסה 1.6.1, שהיא גרסה קודמת של CouchDB.

לאחר התקנת CouchDB, הפעל אותו במחשב האישי שלך כמו בכל יישום שולחן עבודה אחר.





פתח את הדפדפן שלך. לאחר מכן הפעל את השרת של CouchDB על ידי הדבקת הדברים הבאים בשורת הכתובת שלך:

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

הגדר פייתון ובקבוק

אולם הדרכה זו מניחה שכבר התקנת את פייתון במחשב האישי שלך. אחרת, לך אל python.org והתקן את הגרסה העדכנית ביותר של Python במחשב האישי שלך.

לאחר שתגדיר את CouchDB, צור תיקיית שורש פרוייקט. לאחר מכן פתח את שורת הפקודה לספרייה זו וצור א סביבה וירטואלית של פייתון .

התקן את הגירסה העדכנית ביותר של Flask במרחב הווירטואלי באמצעות צִפצוּף :

דברים שכדאי לעשות כשמשעמם לך באינטרנט
pip install flask

חבר בקבוק עם CouchDB

כדי להתחיל להשתמש ב- CouchDB עם אפליקציית הבקבוק שלך, התקן Flask-CouchDB , חבילת זמן הריצה לחיבור מסד הנתונים עם Flask.

כדי לעשות זאת:

pip install Flask-CouchDB

ברגע שאתה מתקין Flask-CouchDB בהצלחה, צור app.py הקובץ בתיקיית השורש ההיא. באופן דומה, צור א database.py קובץ - זה מטפל ביצירת מסד הנתונים שלך.

לִפְתוֹחַ database.py וייבא את החבילות הבאות:

from couchdb import Server

לאחר מכן, צור את מסד הנתונים שלך באותו קובץ באמצעות בלוק הקוד הבא:

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

לבצע database.py באמצעות CLI. לאחר מכן פתח או רענן את השרת המקומי של CouchDB באמצעות הדפדפן שלך כפי שעשית קודם. כעת אתה אמור לראות את מסד הנתונים ( muocouch במקרה זה) המופיע ב- CouchDB.

קָשׁוּר: כיצד להריץ סקריפט פייתון

הערה: ודא שאתה משתמש במוסכמת שמות של אותיות קטנות עבור מסדי נתונים, מכיוון ש- CouchDB לא יכול לקבל אותיות גדולות או מעורבות.

אחסן את נתוני CouchDB הראשונים שלך באמצעות בקבוק

בסופו של דבר, מטרתו של כל מסד נתונים היא אחסון נתונים. ברגע שיש לך מסד נתונים ב- CouchDB, תוכל להתחיל לאחסן בו נתונים מאפליקציית הבקבוק שלך מייד.

כדי להתחיל, פתח app.py וייבא את החבילות הבאות:

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

לאחר מכן, צור יישום Flask ומופע שרת CouchDB:

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

עכשיו בואו לאחסן כמה תשומות משתמש ב- 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

'

אם תרצה, תוכל להגדיר את שרת הבקבוק שלך למצב פיתוח לפני שתפעיל אותו.

לשם כך, הפעל את הפקודה הבאה באמצעות CLI שלך:

set FLASK_ENV=development

שים לב שהגדרת מצב השרת היא אופציונלית. זה רק גורם לאיתור באגים לקוד שלך ללא טרחה.

אך ללא קשר להגדרת מצב השרת, הנה כיצד להפעיל את שרת הבקבוק באמצעות CMD:

flask run

עם זאת, בקבוק כברירת מחדל ליציאה שלך מארח מקומי: 5000 . כעת אתה אמור לראות את ההודעה ב H2 תג ברגע שאתה טוען כתובת זו דרך הדפדפן שלך.

אמת נתונים ובדוק כפילויות באמצעות שאילתות CouchDB

כדי לתקנן זאת עוד יותר, תוכל להשתמש בשאילתות כדי לאמת תשומות ולמנוע כפילויות במסד הנתונים שלך. שאילתת CouchDB שונה במקצת מאיך שאתה עושה זאת עם מסדי נתונים של SQL.

CouchDB משתמש במה שהוא מכנה 'תצוגות JavaScript' כדי לחפש נתונים ממאגר הנתונים. למרבה המזל, זה פשוט יחסית.

לפני שתתקדם הלאה, כך נראית תצוגת שאילתת CouchDB בסיסית:

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

עכשיו בואו נשתמש בקוד לעיל באופן מעשי:

#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

'

הקוד למעלה משתמש ב- מִשׁתַמֵשׁ class לשאול את הנתונים שנאספו על ידי פונקציית התצוגה. שימו לב לפרמטרים בתוך קבוצת השאילתות ( myQuery ).

הַדפָּסָה q3 כפי שעשית לעיל, כעת יש להוציא את כל שמות המשתמשים וכתובות הדוא'ל במסד הנתונים בתוך שורת הפקודה.

אז כך תוכל להשתמש בשאילתה זו כדי לאמת את תשומות המשתמשים:

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

'

רענון הדפדפן שלך מחזיר את אַחֵר הצהרה בכל פעם שאתה מנסה להזין שם משתמש או הודעת דוא'ל שכבר נמצאת במסד הנתונים. ואם אתה מזין אחד חדש, הוא מאחסן את הנתונים שלך בהצלחה על ידי ביצוע אם מַצָב.

קָשׁוּר: כיצד להשתמש בהצהרת Python if

זהו זה! הרגע יצרת את מסד הנתונים NoSQL הראשון שלך באמצעות Flask-CouchDB.

למרות שיצירת מאגרי מידע ב- CouchDB וחיפוש בהם סובבים סביב הדוגמאות שהדגשנו כאן, תוכל לסקור את הפונקציונליות של Flask עוד יותר. לדוגמה, תוכל לסובב שדות קלט באמצעות wtforms ולסמן כפילויות באמצעות ההודעה של Flask הֶבזֵק .

אתה יכול אפילו להעביר את השאילתה שלך ל- jQuery של JavaScript כדי לאמת תשומות ולבדוק כפילויות באופן אסינכרוני.

האם CouchDB טוב יותר ממסדי נתונים של SQL?

השימוש ב- CouchDB או בכל מסד נתונים NoSQL אחר עם Flask או כל טכנולוגיית תכנות אחרת תלוי בהעדפתך. אבל זה שימושי בעת התמודדות עם נתונים חסרי מבנה ומדיה גולמית.

עם זאת, לפני שתחליט, ייתכן שתרצה לבחון את ההבדלים בין מסדי נתונים של NoSQL ו- SQL כדי לעזור לך להחליט איזה מהם מתאים לפרויקט שלך.

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל SQL לעומת NoSQL: מהו מסד הנתונים הטוב ביותר לפרויקט הבא שלך?

בחירת סוג מסד נתונים יכולה להיות מסובכת. האם לבחור SQL או NoSQL?

קרא הבא
נושאים קשורים
  • תִכנוּת
  • מאגר מידע
  • תִכנוּת
  • הדרכות קידוד
על הסופר אידיסו אומיסולה(פורסמו 94 מאמרים)

Idowu נלהב מכל דבר חכם וטכנולוגי. בזמנו הפנוי הוא משתעשע בקידוד ועובר ללוח השחמט כשהוא משועמם, אבל הוא גם אוהב להיפרד מדי פעם מהשגרה. התשוקה שלו להראות לאנשים את הדרך לטכנולוגיה המודרנית מניעה אותו לכתוב יותר.

עוד מאת Idowu Omisola

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה