postgres nosql paul leroux...allow materialized views to be refreshed without blocking concurrent...

23
< @paulmcfreely

Upload: others

Post on 24-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

<

@paulmcfreely

Page 2: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

PostgresQL comme Nosql DB :

Le meilleur des deux mondes

Page 3: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

Haskell C Lang

Page 4: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

Python Ruby

Page 5: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

Rust Golang

Page 6: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be
Page 7: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be
Page 8: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be
Page 9: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

???

Page 10: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be
Page 11: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

descas,leSQLrépondra à vos besoins

99%

Page 12: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

* Liste non exhaustive

Page 13: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

Analyse des besoins

Type d’opérations / de données

Volume des données

Performances

Page 14: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

JSON & JSONB

JSONJSON classiqueEfficace pour la récupération de donnéesOpérations sont plus longue que JSONB

JSONBReprésentation JSON BinaireEfficace pour un travail plus complexePlus long pour construire représentation => Couteux en écriture

Page 15: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be
Page 16: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be
Page 17: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be
Page 18: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

Indices JSON

General inverted Index: Efficace pour de la recherche full text

CREATE INDEX idxgin ON users USING GIN (infos);

Page 19: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

Indices JSONB

HashetBtree Indices

Importantpourvérifier l’égalité entredeux documentsJSON

Page 20: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

PerformancesSource: pg_nosql_benchmark via http://erthalion.info/

SELECT INSERT

Page 21: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

Update

Page 22: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

ORMs

ll estsouventnécessairederéécrireunecouchepourgérerleJSON

- Sérialization /Déserialization- Manipulation

Page 23: postgres nosql paul leroux...Allow materialized views to be refreshed without blocking concurrent reads Add support for logical decoding of WAL data, to allow database changes to be

Le futur ?