Sobes.tech
Junior — Middle

Kas saaksite selgitada, mis on JSONB andmetüüp andmebaasis ja kuidas see erineb tavalisest JSON-ist?

sobes.tech AI

Vastus AI-lt

JSONB andmetüübi andmebaasis, näiteks PostgreSQLis, esindab binaarset JSON-andmete salvestamist. Erinevalt tavalisest JSON-ist, mis salvestab andmeid tekstina, salvestab JSONB need binaarformaadis, võimaldades:

  • kiiremat otsingut ja filtrit sisu järgi.
  • indeksite kasutamist päringute kiirendamiseks.
  • võtmete dubleerimise kõrvaldamist ja objektide sorteerimist.

Näide PostgreSQLis:

CREATE TABLE näide (
    data JSONB
);

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

-- Otsing võtme järgi indeksi kasutades
CREATE INDEX idx_data_name ON näide USING gin ((data -> 'name'));

SELECT * FROM näide WHERE data ->> 'name' = 'Alice';

Seega on JSONB tõhusam JSON-andmete töötlemisel, kui oluline on jõudlus ja keerukate päringute võimalus.