Jump to content
dcrdev

MySQL Support

Recommended Posts

Dibbes

And many, many companies have drowned by trying to take on too much too soon. We want to stay in our main lane and address our core audience (Personal Media Servers) right now. Who knows what the future holds but, right now, we still have a lot of work to do for just that audience.

You're not wrong... I really just would like to see Emby succeed :)

 

 

Sent from my iPad using Tapatalk

Share this post


Link to post
Share on other sites
Darkstyrm

I have many many movies, episodes, guide data, etc. And I have noticed my emby just keeps getting slower and slower as more gets put into it.

 

Typically I have found this to be the backend database or poor queries. I would assume the queries are good, so I would love to see a MS SQL backend! I've never worked with sqllite but I would assume since it's by Microsoft it would work similar to MSSQL and wouldn't be too hard to implement. Would love to see it!

  • Like 1

Share this post


Link to post
Share on other sites
muhfugen

this is simply due to a performance optimization we have implemented which gives us exclusive access to the DB.

If you have to maintain a write lock on the database the entire time, even when you have no intent of writing, as a "performance optimization", then that should tell you that you made the wrong choice for a database backend.

 

What you are asking for is concurrent access to the database which is not really related to the actual database implementation and is potentially a much more involved task than simply supporting a different back end implementation.

How? Transactions make these things easy. Am I missing something here? Or is this just due to technical debt, because no one ever thought more than a single thread in a single program would ever be accessing this database?

 

Also, you could easily take a snapshot of your database once a day and use that for these types of informational queries  :).  That would be a much safer approach to such a thing regardless of the back end in use.

Thats a dirty hack and you know it.

Edited by muhfugen
  • Like 2

Share this post


Link to post
Share on other sites
cayars

I have many many movies, episodes, guide data, etc. And I have noticed my emby just keeps getting slower and slower as more gets put into it.

 

Typically I have found this to be the backend database or poor queries. I would assume the queries are good, so I would love to see a MS SQL backend! I've never worked with sqllite but I would assume since it's by Microsoft it would work similar to MSSQL and wouldn't be too hard to implement. Would love to see it!

Not that it matters, but SQLite isn't by Microsoft.  It a bit weird and has core developers with support by the SQLite Consortium.

  • Like 2

Share this post


Link to post
Share on other sites
Dibbes

I have many many movies, episodes, guide data, etc. And I have noticed my emby just keeps getting slower and slower as more gets put into it.

 

 

Wait until you import music, ebooks and comics for the extended family... before I split up and started running multiple instances of Emby, my normal library scan took over 7 hours (Server is an AMD 4core CPU, 32GB RAM and NVidia 780ti card with the OS and Emby database on a SSD) It had a little over 900k objects in the DB... when the scan was running, the server could only be used over the webpage, when more than 3 connections, the 4th would take minutes to load...

  • Like 1

Share this post


Link to post
Share on other sites
shrouski

Mine isn't even that big (15k items plus IPTV) and it can be terribly slow even loading the front page.

 

Those SQL's should be returning in a split second, but it takes 5-10 seconds.

Share this post


Link to post
Share on other sites
ebr

Those SQL's should be returning in a split second, but it takes 5-10 seconds.

 

There is usually a whole lot more than just a db query going on.  We aren't just a database front end :).

  • Like 1

Share this post


Link to post
Share on other sites
Dibbes

There is usually a whole lot more than just a db query going on. We aren't just a database front end :).

Very true! Then, a 70GB DB does impact performance though, doesn't it? I mean it is kept in a single file and the standard install location is the system drive where all kinds of other interesting things are going on too...

 

 

Sent from my iPad using Tapatalk

Share this post


Link to post
Share on other sites
level20peon

+1

  • Like 1

Share this post


Link to post
Share on other sites
Duffyx

+1 as in "it would be cool to see this feature implemented".

Edited by Duffyx

Share this post


Link to post
Share on other sites
byakuya32

an sql database for all the metadata would be awsome rather than all the small little files.

Share this post


Link to post
Share on other sites
Luke

an sql database for all the metadata would be awsome rather than all the small little files.

 

Hi, what little files are you referring to?

Share this post


Link to post
Share on other sites
byakuya32

I was referring to all the nfo files. For all the subtitles aswell

Share this post


Link to post
Share on other sites
Luke

I was referring to all the nfo files. For all the subtitles aswell

 

But nfo files live in the media directories. You can already turn that off and then everything will live in your emby database. In fact saving nfo is already off by default.

Share this post


Link to post
Share on other sites
byakuya32

Thanks I was blind and didn't see that option

Edited by byakuya32

Share this post


Link to post
Share on other sites
laie_techie

Family history is another interest of mine. The GEDCOM file format was designed to (easily) transmit data, but each program can store the facts / events / relationships any way it wants.

 

I view NFO as serving the same role as GEDCOM, just for media instead of family history. It's great for identifying basic metadata about the actual media file, but much too cumbersome to use directly for real time queries.

Share this post


Link to post
Share on other sites
ebr

Family history is another interest of mine. The GEDCOM file format was designed to (easily) transmit data, but each program can store the facts / events / relationships any way it wants.

 

I view NFO as serving the same role as GEDCOM, just for media instead of family history. It's great for identifying basic metadata about the actual media file, but much too cumbersome to use directly for real time queries.

 

Hi.  I think you've misunderstood this request.

 

Emby does not use your NFO files for real-time queries.  Emby is backed by a full database.  This request is just for us to use a different one than we are.

 

Thanks.

Share this post


Link to post
Share on other sites
laie_techie

Hi.  I think you've misunderstood this request.

 

Emby does not use your NFO files for real-time queries.  Emby is backed by a full database.  This request is just for us to use a different one than we are.

 

Thanks.

byakuya32 was requesting using a database instead of the NFO. I was just comparing the two to another of my passions. Obviously Emby currently uses sqlite for realtime queries. The main request in this thread is to give admins an option of using a different DB (MySQL to be exact) to make it easier for 3rd party integration, and possible speed improvement.

Share this post


Link to post
Share on other sites
Darkstyrm

 

 

... (MySQL to be exact) ...

I am hoping for Microsoft SQL actually [emoji16]

Share this post


Link to post
Share on other sites
byakuya32

Microsoft Sql is amazing. You would then need to install Sql Express first and create the database for emby.

Share this post


Link to post
Share on other sites
level20peon

I am hoping for Microsoft SQL actually [emoji16]

 

 

Microsoft Sql is amazing. You would then need to install Sql Express first and create the database for emby.

 

Maybe open your own feature request thread for that filthy, closed source, software of yours :P

  • Like 4

Share this post


Link to post
Share on other sites
Zanson

As someone who runs everything in docker and an unraid nfs, sqlite corruption is an issue because you can't lock with db file. I'm dealing with this in Plex right now and it's a nightmare, especially as my library grows.

 

I would love to run emby, but mitigating sqlite corruption is a real problem.

  • Like 2

Share this post


Link to post
Share on other sites
jerrac

So, this seems like the most up to date topic about asking for MySQL support.

 

I just had to delete library.db, yet again, in order to get new/changed files detected. Using MySQL, or PostgreSQL, would help minimize the risk of database corruption due to unexpected power outages or other issues.

  • Like 3

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...