6 points par xguru 2020-12-04 | 6 commentaires | Partager sur WhatsApp

"SQLite for Analytics"

  • SGBDR embarqué optimisé pour les requêtes d’analyse complexes

  • Écrit en C++11, sans dépendances, sous la forme d’un binaire unique s’exécutant dans le processus hôte

  • API disponibles pour Python/R/Java/C/C++/Node.js

  • Stocke la base de données dans un seul fichier, comme SQLite

  • Cas d’usage adaptés

→ traitement et stockage de données tabulaires comme CSV/Parquet

→ analyse de données interactive avec jointures et agrégations sur plusieurs grandes tables

→ lorsque de grosses modifications doivent être effectuées simultanément sur plusieurs grandes tables (ajout de nombreuses lignes ou ajout/suppression/modification de colonnes, etc.)

6 commentaires

 
xguru 2020-12-04

On dirait que l’objectif est de partager les rôles dans les bases de données embarquées, avec SQLite pour l’OLTP et DuckDB pour l’OLAP.

Contrairement à SQLite, sorti il y a 20 ans et qui a désormais complètement dominé le segment de l’embarqué, c’est un nouveau projet open source dont la version 0.1 n’est sortie qu’il y a environ un an et demi. ^^

Il y a quelques jours, une API node.js a été ajoutée, ce qui semble le rendre plus pratique à utiliser dans divers contextes.

 
galadbran 2020-12-04

À chaque fois que je regarde ça, je me dis que je ne comprends toujours pas clairement la différence entre l’OLTP et l’OLAP. T_T On dirait aussi qu’il n’y a pas vraiment d’explication qui l’expose de façon limpide.

 
galadbran 2020-12-05

Oui, c’est vrai : comme l’explication qu’on rencontre le plus souvent oppose les transactions et l’analyse, les SGBDR connus sont généralement à la fois rapides pour insérer et retirer des données, et rapides aussi pour les tâches d’analyse. Par exemple, on ne peut pas vraiment dire qu’Oracle ou PostgreSQL soient spécialisés de façon nette dans l’un ou l’autre domaine… et j’ai aussi l’impression qu’à l’ère du big data, l’analyse s’est de toute façon déjà très largement éloignée de ce type de systèmes. Ce que je voulais dire, c’est que je ne vois pas très bien quel sens il y a encore aujourd’hui à distinguer OLTP et OLAP ^^;

 
nicewook 2020-12-04

L’OLTP est spécialisé dans l’insertion, l’extraction, la suppression, etc.

L’OLAP, c’est plutôt le fait de manipuler dans tous les sens les données déjà présentes pour les analyser.

On peut le voir à peu près comme ça, non ?

 
xguru 2020-12-04

Hmm... ma façon de l’expliquer est la suivante

  • OLTP, c’est l’horizontal : on ajoute quelque chose ligne par ligne (une nouvelle commande arrive)

  • OLAP, c’est le vertical : on lit une colonne entière pour calculer ou modifier quelque chose (calculer la moyenne des ventes quotidiennes)

 
amdev 2024-06-05

L’OLTP, c’est horizontal
l’OLAP, c’est vertical