# Gladys Assistant 4.45 : DuckDB, une révolution dans Gladys ! ⚡

**URL:** <https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058>\
**Category:** Actualités\
**Created:** [Août 26, 2024, 6:30 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058 "2024-08-26T18:30:41Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![tiboys](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/tiboys/32/17668_2.png) [@tiboys](https://community.gladysassistant.com/u/tiboys)\
**Post date:** [Août 28, 2024, 4:30 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/41 "2024-08-28T16:30:51Z")

</div>

> [@pierre-gilles](#):
>
> Alors est ce qu’il y a eu d’autres belles réductions de DB ? 😄
> 
> Normalement la tout le monde devrait être à jour !

Pour ma part, belle réduction de volume :

 ![Capture d’écran 2024-08-28 à 18.27.43](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/7/5/75f44e048a5756808b59d8f3c84c02083e0329c2.png)  
 ![Capture d’écran 2024-08-28 à 18.29.10](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/a/8/a851cc076a136058d05435efabbed81db3189a41.png)  
Gros boulot, merci  
👍 🙏

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 28, 2024, 5:15 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/42 "2024-08-28T17:15:54Z")

</div>

Génial tout ça !! Sacré réduction pour tout le monde

---

<div class="post-metadata">

**Author:** ![StephaneB](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/stephaneb/32/15443_2.png) [@StephaneB](https://community.gladysassistant.com/u/StephaneB)\
**Post date:** [Août 28, 2024, 6:14 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/43 "2024-08-28T18:14:00Z")

</div>

Allez, à mon tour de livrer mes stats de migration :

- Presque 17 millions d’états
- 2h de migration
- 33h de purge des états sqlite
- Base avant migration : 13.9 Go
- Base après migration : 89 Mo (-99.4%)
- Sauvegarde Gladys plus avant : 3.35 Go
- Sauvegarde après : 86 Mo (et elle se fait en quelques secondes !)  
C’est impressionnant 💪

---

<div class="post-metadata">

**Author:** ![GBoulvin](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/gboulvin/32/10006_2.png) [@GBoulvin](https://community.gladysassistant.com/u/GBoulvin)\
**Post date:** [Août 28, 2024, 6:18 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/44 "2024-08-28T18:18:16Z")

</div>

@pierre-gilles c’est peut-être l’occasion de proposer un petit article de blog/promo pour/avec DuckDB, non ?

---

<div class="post-metadata">

**Author:** ![guim31](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/guim31/32/4840_2.png) [@guim31](https://community.gladysassistant.com/u/guim31)\
**Post date:** [Août 28, 2024, 6:35 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/45 "2024-08-28T18:35:28Z")

</div>

J’imagine que c’est prévu ! 🕶

---

<div class="post-metadata">

**Author:** ![gaelbillon](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/gaelbillon/32/12185_2.png) [@gaelbillon](https://community.gladysassistant.com/u/gaelbillon)\
**Post date:** [Août 28, 2024, 7:46 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/46 "2024-08-28T19:46:14Z")

</div>

Bonsoir, migration faite aussi voici les résultats :  
Avant :

 ![Capture](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/9/2/926a65e95717cab2c56389a73d42ae983acb08d8.jpeg)  
 ![Screenshot 2024-08-27 at 23-22-56 Gladys Assistant](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/6/6/66f7a311fcd2f967d8562fb25fc47138aeb447d9.png)

Après :

 ![Capture2](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/d/f/df287f89eb50550b4e1b5bc2133cdfa7bddd0cf9.jpeg)  
 ![Screenshot 2024-08-28 at 21-45-35 Gladys Assistant](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/2/f/2f492bcf3bea74e15515050649ae6e7ee1cfe37f.png)

 ![Screenshot 2024-08-28 at 21-45-52 Gladys Assistant](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/8/f/8f43fcdfa8ca948b11b98cc749c5042deab3c825.png)

---

<div class="post-metadata">

**Author:** ![bjm](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/bjm/32/1753_2.png) [@bjm](https://community.gladysassistant.com/u/bjm)\
**Post date:** [Août 28, 2024, 9:07 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/47 "2024-08-28T21:07:21Z")

</div>

J’ai terminé

 ![Screenshot_20240828_230457_Firefox](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/e/a/ea40cf9c3e90e6dd479f7b57887fae5cc781eb36.jpeg)

---

<div class="post-metadata">

**Author:** ![ProtZ](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/protz/32/1641_2.png) [@ProtZ](https://community.gladysassistant.com/u/ProtZ)\
**Post date:** [Août 29, 2024, 6:36 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/48 "2024-08-29T06:36:09Z")

</div>

Beau boulot, j’ai hâte ma BDD fait plus de 10Go !  
Pour le moment, je suis bloqué malheureusement. C’est peut être lié au raspberry pi 3 ou alors une donnée moisie en bdd.

C’est l’erreur que j’ai et qui fait cracher le serveur si ça parle à quelqu’un :

```auto
2024-08-29T01:20:36+0200 <info> device.migrateFromSQLiteToDuckDb.js:39 (DeviceManager.migrateFromSQLiteToDuckDb) DuckDB: Migrating data from SQLite
node: ../src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp:47: void duckdb::aggr_ht_entry_t::SetPointer(duckdb::data_t* const&): Assertion `(reinterpret_cast<uint64_t>(pointer) & SALT_MASK) == 0' failed.

```

En parallèle je vais faire un test sur un autre serveur plus rapide et avec un backup plus vieux de ma bdd.

---

<div class="post-metadata">

**Author:** ![guim31](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/guim31/32/4840_2.png) [@guim31](https://community.gladysassistant.com/u/guim31)\
**Post date:** [Août 29, 2024, 6:39 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/49 "2024-08-29T06:39:21Z")

</div>

En effet on dirait qu’une donnée dans la BDD pose problème 😕 là faut que quelqu’un de plus expert te réponde, moi je n’en sais trop rien !

De mon côté la réduction est toujours aussi spectaculaire :  
 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/a/b/abcc1092936c6a91220803a346a18c5903c05435.png)

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 29, 2024, 8:32 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/50 "2024-08-29T08:32:00Z")

</div>

> [@StephaneB](#):
>
> Allez, à mon tour de livrer mes stats de migration :

Incroyable ! Merci d’avoir partagé 🙏

> [@GBoulvin](#):
>
> @pierre-gilles c’est peut-être l’occasion de proposer un petit article de blog/promo pour/avec DuckDB, non ?

C’est prévu ! Pour l’instant je faisais un lancement «&nbsp;français&nbsp;» uniquement auprès des utilisateurs existants, histoire de voir si tout tourne bien chez tout le monde, et avoir des statistiques à partager.

Ensuite, j’attaque le lancement «&nbsp;international&nbsp;», et je vais publier sur Twitter en tagguant DuckDB cette fois-ci afin qu’ils re-partagent. Je verrais ensuite avec eux si Gladys peut faire l’objet d’un cas d’usage dans leur communication.

Enfin, la phase 3 c’est de titiller un peu frontalement Home Assistant sur ce point, car on a maintenant un vrai avantage compétitif sur Gladys sur le core.

Je suis allé sur le forum HA pour voir, et les problèmes de tailles de DB sont un souci récurrent, les utilisateurs ont les mêmes soucis que nous ici, ce qui est logique vu qu’ils utilisent SQLite actuellement par défaut. Certains utilisateurs utilisent InfluxDB, mais ça reste quelque chose à configurer en plus, le défaut reste SQLite (MariaDB/PostgreSQL configurable, mais avec les mêmes soucis d’espace disque que SQLite)

Concernant la migration à DuckDB côté HA, ils n’y sont clairement pas. J’ai vu que @McFlyPartages avait créé un sujet sur leur forum, et ça n’a pas vraiment pris pour l’instant. C’est la seule mention de DuckDB sur tout leur forum…

Bref, on est très en avance, et je compte bien en profiter 😃

> [@gaelbillon](#):
>
> Bonsoir, migration faite aussi voici les résultats :

Génial 🤩

> [@bjm](#):
>
> Terminé

Incroyable !

> [@ProtZ](#):
>
> Pour le moment, je suis bloqué malheureusement. C’est peut être lié au raspberry pi 3 ou alors une donnée moisie en bdd.

Tu es sur un Raspberry Pi 3 avec un OS 64 bits ? Si tu es sur un OS 32 bits, ça ne marchera pas je pense. Il faut bien être en 64 bits.

> [@guim31](#):
>
> De mon côté la réduction est toujours aussi spectaculaire :

C’est dingue 🤩

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 29, 2024, 8:50 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/51 "2024-08-29T08:50:45Z")

</div>

Le post Twitter anglais:

> <https://x.com/gladysassistant/status/1829078767953748306>

A vos RT/like 😃

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Août 29, 2024, 10:17 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/52 "2024-08-29T10:17:49Z")

</div>

![1000023020](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/f/e/fe22861ee7582147cecef1e96992c22c9c23c600.jpeg)  
Ouch !! C’est long les build … avec DuckDB …^^

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 29, 2024, 10:28 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/53 "2024-08-29T10:28:03Z")

</div>

> [@Terdious](#):
>
> Ouch !! C’est long les build … avec DuckDB …^^

Yes, si c’est juste pour toi et que tu veux t’économiser 99% du temps de build, build juste pour les plateformes dont tu as besoin (amd64 c’est en quelques minutes par exemple)

Le build qui prend le plus de temps c’est celui en arm/v7, je ne crois pas que tu ai d’appareil en arm/v7… ^^

---

<div class="post-metadata">

**Author:** ![ProtZ](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/protz/32/1641_2.png) [@ProtZ](https://community.gladysassistant.com/u/ProtZ)\
**Post date:** [Août 29, 2024, 10:35 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/54 "2024-08-29T10:35:18Z")

</div>

> Tu es sur un Raspberry Pi 3 avec un OS 64 bits ? Si tu es sur un OS 32 bits, ça ne marchera pas je pense. Il faut bien être en 64 bits.

Linux rpi3 6.6.31-v8+ #1766 SMP PREEMPT Fri May 24 12:14:10 BST 2024 aarch64 GNU/Linux

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 29, 2024, 10:43 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/55 "2024-08-29T10:43:02Z")

</div>

J’ai partagé la migration sur le Reddit Node.js ! Tout upvote est le bienvenu 🙂

[https://www.reddit.com/r/node/comments/1f3z6jh/migrated\_our\_nodejs\_app\_from\_sqlite\_to\_duckdb\_and/](https://www.reddit.com/r/node/comments/1f3z6jh/migrated_our_nodejs_app_from_sqlite_to_duckdb_and/)

> [@ProtZ](#):
>
> Linux rpi3 6.6.31-v8+ #1766 SMP PREEMPT Fri May 24 12:14:10 BST 2024 aarch64 GNU/Linux

Ok ça l’air bon. c’est peut-être une donnée foireuse dans ta base, tu pourrais inspecter un peu ta DB SQLite ? Voir si il n’y a pas des données qui en sont pas des double dedans ?

ça se trouve tu as un «&nbsp;string&nbsp;» qui s’est glissé dans ta table, d’où l’erreur de cast

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Août 29, 2024, 10:52 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/56 "2024-08-29T10:52:50Z")

</div>

> [@pierre-gilles](#):
>
> Yes, si c’est juste pour toi et que tu veux t’économiser 99% du temps de build, build juste pour les plateformes dont tu as besoin (amd64 c’est en quelques minutes par exemple)

Ah top merci, oui en effet c’est Gladys pour la partie professionnel avec mes modifications pour retirer l’acces a plein de page si pas admin !!

> [@pierre-gilles](#):
>
> J’ai partagé la migration sur le Reddit Node.js ! Tout upvote est le bienvenu 🙂

Au top !! C’est fait !!

---

<div class="post-metadata">

**Author:** ![Jluc](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jluc/32/12397_2.png) [@Jluc](https://community.gladysassistant.com/u/Jluc)\
**Post date:** [Août 29, 2024, 12:55 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/57 "2024-08-29T12:55:35Z")

</div>

Bonjour,  
Je suis sur le chemin du retour de vacances et constate sur mon mobile que la migration mouline.  
Je n’ai rien modifié sur le système et les dernières sauvegardes sont passées de 11 % à 17 %. La mise à jour de la dernière version indique bien 4.45

---

<div class="post-metadata">

**Author:** ![Tolkyen](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/t/ba8739/32.png) [@Tolkyen](https://community.gladysassistant.com/u/Tolkyen)\
**Post date:** [Août 29, 2024, 1:01 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/58 "2024-08-29T13:01:38Z")

</div>

Félicitation pour cette version 👏.  
Base SQLite : 37 Go  
Base DuckDB : 272 Mo  
Une économie supérieure à 99% 🤩  
La purge SQLite a été longue (plus de 12 heures).  
Encore bravo.

---

<div class="post-metadata">

**Author:** ![jgcb00](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jgcb00/32/5863_2.png) [@jgcb00](https://community.gladysassistant.com/u/jgcb00)\
**Post date:** [Août 29, 2024, 1:14 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/59 "2024-08-29T13:14:27Z")

</div>

![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/2/d/2d571973c17b3d2721f3606e472d35c652b8fe4e.png)

Félicitations pour ce super travail !

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 29, 2024, 1:18 UTC](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058/60 "2024-08-29T13:18:17Z")

</div>

> [@Tolkyen](#):
>
> Base SQLite : 37 Go  
> Base DuckDB : 272 Mo  
> Une économie supérieure à 99% 🤩

Génial 🤩

> [@jgcb00](#):
>
> Félicitations pour ce super travail !

C’est fou ! De rien 🙌

[Page précédente](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058.md?page=2)

[Page suivante](https://community.gladysassistant.com/t/gladys-assistant-4-45-duckdb-une-revolution-dans-gladys/9058.md?page=4)
