Sobes.tech
Junior — Middle

Puteți explica ce este tipul de date JSONB într-o bază de date și în ce se diferențiază de JSON-ul obișnuit?

sobes.tech AI

Răspuns de la AI

Tipul de date JSONB dintr-o bază de date, de exemplu în PostgreSQL, reprezintă o stocare binară a datelor JSON. Spre deosebire de JSON-ul obișnuit, care stochează datele sub formă de text, JSONB le stochează în format binar, ceea ce permite:

  • efectuarea mai rapidă a operațiunilor de căutare și filtrare după conținut.
  • utilizarea indexurilor pentru accelerarea interogărilor.
  • eliminarea duplicatelor de chei și ordonarea obiectelor.

Exemplu de utilizare în PostgreSQL:

CREATE TABLE exemplu (
    data JSONB
);

INSERT INTO exemplu (data) VALUES ('{"name": "Alice", "age": 30}');

-- Căutare după cheie folosind index
CREATE INDEX idx_data_name ON exemplu USING gin ((data -> 'name'));

SELECT * FROM exemplu WHERE data ->> 'name' = 'Alice';

Astfel, JSONB este mai eficient pentru lucrul cu date JSON atunci când performanța și posibilitatea de a realiza interogări complexe sunt importante.