Purpose of MySQL?

phs

Member
So I've finally got the MySQL database working with RB after the last update, however I'm a little confused as to it's purpose.

Looking at the database schema, there doesn't appear to be any tag data stored (artist, title, genre etc), only the RB specific metadata (bpm, playcount, time markers, startdate, enddate etc).

I was expecting all the data currently stored in the XML library files would have been migrated to MySQL and used for things like the Playlist Generator. We have performance issues with the Playlist Generator (1.5 minutes to load a single 'Category' when reading 12,500 tracks from our music library XML) and I was hoping moving to MySQL meant that SQL could be used to speed up this process.

Having to still read Genre etc from the XML file has shown no noticable improvement to the Playlist Generator speed.

Is this a work in progress, or are my expectations misaligned?
 

djsoft

Well-known member
Staff member
phs said:
So I've finally got the MySQL database working with RB after the last update, however I'm a little confused as to it's purpose.
Generally it's used when there are multiple RadioBOSS instances used, or the music is prepared on one computer and played from another. In this case, the music is stored on a shared network folder or NAS, and you can use e.g. Track Tool in RadioBOSS to edit track parameters and they will be immediately seen on all other computers. Using database is a lot better in terms of performance and reliability than modifying files on a shared network folder.

phs said:
Looking at the database schema, there doesn't appear to be any tag data stored (artist, title, genre etc), only the RB specific metadata (bpm, playcount, time markers, startdate, enddate etc).
The tag data will be stored as well in another table (cache2) if you enable the tag caching: https://manual.djsoft.net/radioboss/en/tag-cache.htm

phs said:
and I was hoping moving to MySQL meant that SQL could be used to speed up this process.
It will, if tag caching is enabled. If you only use it on one computer, then using SQLite should be faster than using MySQL.
 

phs

Member
Thanks for the quick reply. We are using RB on multiple computers (a library management/playlist generator host and the on-air machine), with the library and tracks stored on a FreeNAS storage server, mapped to L: drive on both Windows 7 machines.

We do have caching enabled, but I can't figure out what prompts a track to be added to the `cache2` table.  There is a large discrepancy between each table at the moment:

Code:
MariaDB [rb_test]> SELECT count(*) FROM tracks;
+----------+
|    12751 |
+----------+

MariaDB [rb_test]> SELECT count(*) FROM cache2;
+----------+
|      184 |
+----------+
 

djsoft

Well-known member
Staff member
phs said:
We do have caching enabled, but I can't figure out what prompts a track to be added to the `cache2` table.  There is a large discrepancy between each table at the moment:
The track is added to the cache when its tag is being read. You can add all your music to the Music Library, this will trigger all tags to be read, and so the cache table will be filled with all your tracks. Or you can do nothing and let it fill by itself.
 

phs

Member
djsoft said:
Or you can do nothing and let it fill by itself.
That's not the behavior I'm seeing - the above numbers are after RB has been running for several days on the management machine.

I'll keep playing with it and let you know if I still have problems. Thanks again.
 

djsoft

Well-known member
Staff member
Please let me know if the number of records in the cache2 table is not being increased.
 
Top