Depozite de date NoSQL non-tabulare

Introducere în NoSQL

Jake Roach

Data Engineer

Baze de date de documente

Definiție: Un instrument de stocare NoSQL care stochează datele într-un format flexibil, semi-structurat, compus din perechi cheie-valoare, cheie-array și cheie-obiect (similar cu JSON).

$$

$$

Logo Postgres JSON.

{
    "title": "Python for Data Analysis",
    "price": 53.99,
    "topics": [
        "Data Science",
        "Data Analytics",
        ...
    ],
    "author": {
        "first": "William"
        ...
    }
}
Introducere în NoSQL

Interogarea datelor JSON cu Postgres JSON

Date JSON evidențiate stocate într-un tabel Postgres.

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

Rezultând următorul output:

Rezultatul interogării Postgres JSON.

Introducere în NoSQL

Conectarea la o bază de date 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)

Pentru a crea o conexiune la o bază de date Postgres:

  • Formați un șir de conexiune
  • Creați un engine folosind sqlalchemy.create_engine
  • Variabila db_engine va fi creată anterior exercițiului
Introducere în NoSQL

Scrierea și executarea interogărilor 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)

Pentru a scrie și executa o interogare:

  • Construiți interogarea într-un șir de caractere
  • Transmiteți query și db_engine funcției pd.read_sql()
  • Afișați DataFrame-ul rezultat
Introducere în NoSQL

Alte depozite de date NoSQL non-tabulare

Cheie-valoare
{
    "name": "Jane Doe",
    "age": 25,
    "email": "[email protected]"
}

$$

Logo Redis.

Graf

Imagine a unei baze de date de tip graf.

Introducere în NoSQL

Să exersăm!

Introducere în NoSQL

Preparing Video For Download...