ที่เก็บข้อมูล NoSQL แบบไม่ใช้ตาราง

NoSQL เบื้องต้น

Jake Roach

Data Engineer

ฐานข้อมูลเอกสาร

นิยาม: เครื่องมือเก็บข้อมูล NoSQL ที่จัดเก็บข้อมูลในรูปแบบยืดหยุ่น กึ่งโครงสร้าง ประกอบด้วยคู่ key-value, key-array และ key-object (คล้ายกับ JSON)

$$

$$

โลโก้ Postgres JSON

{
    "title": "Python for Data Analysis",
    "price": 53.99,
    "topics": [
        "Data Science",
        "Data Analytics",
        ...
    ],
    "author": {
        "first": "William"
        ...
    }
}
NoSQL เบื้องต้น

การคิวรีข้อมูล JSON ด้วย Postgres JSON

ข้อมูล JSON ที่ถูกไฮไลต์ในตาราง Postgres

SELECT
    books -> 'title' AS title,
    books -> 'price' AS price
FROM data_science_resources
WHERE 
    books -> 'author' ->> 'last' = 'Viafore';

ผลลัพธ์ที่ได้:

ผลลัพธ์ของคิวรี Postgres JSON

NoSQL เบื้องต้น

การเชื่อมต่อกับฐานข้อมูล Postgres

import sqlalchemy

# Create a connection string, and an engine
connection_string = "postgresql+psycopg2://<user>:<password>@<host>:<port>/<database>"
db_engine = sqlalchemy.create_engine(connection_string)

การสร้างการเชื่อมต่อกับฐานข้อมูล Postgres:

  • สร้าง connection string
  • สร้าง engine ด้วย sqlalchemy.create_engine
  • ตัวแปร db_engine จะถูกสร้างไว้ก่อนเริ่มแบบฝึกหัด
NoSQL เบื้องต้น

การเขียนและรันคิวรี Postgres JSON

import pandas as pd

# Build the query
query = """
    SELECT
        books -> 'title' AS title,
        books -> 'price' AS price
    FROM data_science_resources;
"""

# Execute the query
result = pd.read_sql(query, db_engine)
print(result)

ขั้นตอนการเขียนและรันคิวรี:

  • สร้างคิวรีในรูปแบบสตริง
  • ส่ง query และ db_engine ไปยังฟังก์ชัน pd.read_sql()
  • แสดงผล DataFrame ที่ได้
NoSQL เบื้องต้น

ที่เก็บข้อมูล NoSQL แบบไม่ใช้ตารางประเภทอื่น

Key-value
{
    "name": "Jane Doe",
    "age": 25,
    "email": "[email protected]"
}

$$

โลโก้ Redis

Graph

ภาพแสดงฐานข้อมูล graph

NoSQL เบื้องต้น

มาฝึกกันเถอะ!

NoSQL เบื้องต้น

Preparing Video For Download...