Wpis z mikrobloga

Hej,
Z racji tego, że dockerowa wersja gitlaba zżera ponad 2,5 Gb tuż po uruchomieniu, to postanowiłem postawić sobie zamiast niego Gitea, które powinno dużo bardziej troszczyć się  o zasoby niż Gitlab.

Podczas konfiguracji jestem pytany czy chcę użyć SQlite czy może Mysql(jako oczywiście Mariadb).

Dostęp do repozytorium maksymalnie ze 3/5 osób będzie miało z czego bardzo rzadko będzie używane przez więcej niż jedną osobę jednocześnie.
Dodatkowo Mysql chyba na dzień dobry bierze kilkaset MB ramu, aa nie mogłem znaleźć informacji ile bierze sqlite.

Zgodnie z powyższymi wymaganiami oczywistą opcją wydaje się SQLite, ale jednak mam niewielkie obawy co do wydajności.
Jeśli dobrze rozumiem, to bazie danych zapisywane są jedynie nagłówki, sumy kontrolne etc. a nie całe repozytoria?
Może są jeszcze jakieś za/przeciw, które mogą być kluczowe a ich nie zauważyłem?

#bazydanych #sqlite #mysql #mariadb #linux
  • 5
  • Odpowiedz
@qarmin: No to zpytaj się sam czy docker vol który bęziesz montował ma jako taki performance. Na potrzeby produkcyjne szedłbym w osobny kontener z MariaDB i jakiś sensowny dump bazy.
Jeżeli chodzi Ci prostote to wal wszystko w jeden kontener i sqlite.
Z doświadczenia wiem jednak, że takie decyzje lubią się mścić bo się okaże, że z 3/5 osób zrobi się 20 i setki commitów i się zesra z a takim
  • Odpowiedz
@qarmin: mam instalację bitbucketa na wbudowanej bazie od lat i nie sprawia żadnych problemów. Średnio 3-5 osób, w porywach do 8. Oczywiście gitea to inny system i inny silnik (sqlite zamiast hsqldb) ale moim zdaniem spokojnie wystarczy, w razie potrzeby migracja nie będzie ciężka. Z tym że u mnie powodem była prostota konfiguracji - odchodzi kolejny serwer do konfigurowania, aktualizacji, utrzymania.
  • Odpowiedz
@qarmin: @bramborak: SQLite sobie spokojnie poradzi. Problem by był, gdyby różne aplikacje nagle zaczęły do niego pisać jednocześnie, ale jeśli jest to jedna aplikacja, to nie widzę problemu. Nawet w wielu wątkach.

Pamięci to to nie zjada w ogóle, bo nie odpala osobnego procesu. Po prostu sterownik zawiera w sobie już cały kod potrzebny do manipulacji plikiem bazy danych.

Żeby się uwiarygodnić - jestem autorem SQLiteStudio, więc trochę z tą
  • Odpowiedz