this post was submitted on 11 May 2024
195 points (100.0% liked)
Jellyfin: The Free Software Media System
160 readers
11 users here now
Current stable release: 10.10.2
Matrix (General Information & Help)
Matrix (Off-Topic) - Come get to know the team and blow off steam!
Matrix Space - List of all the available rooms on Matrix.
Discord - Bridged to our Matrix rooms
founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Oh, if only there was real database support like Mariadb or Postgres...
Theoretically, support for that could be coming... Emby (where Jellyfin is based on) always used their own layer for interacting with a SQLite database. All that custom made logic is currently being swapped out for EF Core. EF Core is a DotNet library for interacting with databases and EFCore that also supports MySQL, PostgreSQL, SQL Server besides SQLite.
So my guess is that, once all that work is completed, support of other database can be added.
For a little bit of context. I am currently running Jellyfin on Btrfs and there is quite a performance impact due to CoW. If 2 clients decide to browse the libraries, both clients grind to a near standstill with regards to being able to see things. So I am following this work with quite some interest.
CoW is not recommended for databases, all DB servers advise for turning it off for the actual database. You'll run into the same issue with a dedicated database if you leave CoW on I guess. You could also disable CoW for jellyfin's database right now and performance should increase.
I also follow the progress of a dedicated DB, but on the other hand I don't know how much sense it makes architecturally. The likeliness that you have multiple jellyfin server instances access the same database is low - after all, there is info very specific to the server in there like the file path. Just migration is already not easy, how likely is sharing the database live? And if each database is specific to an instance - why not use SQLite (like it's done right now) and allow for more specific parameter tuning, like used memory and the like?