INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Networked Library Woes  (Read 3517 times)

SterlingY

  • Regular Member
  • Recent member
  • *
  • Posts: 40
  • nothing more to say...
Networked Library Woes
« on: April 02, 2007, 12:44:36 am »

I'm sure I am just doing something wrong, but I can't seem to fix this problem:

I have several computers in my house, all on a network. I have all of the music on an external drive plugged into one machine. That drive also has the library database, which I want shared on all computers. The drive is shared and mapped to every computer.

So my problem is that only one computer has write acces to the library, which ever is the first to open the Library. How do I fix this?

Thanks,

Sterling :-\
Logged

JONCAT

  • Guest
Re: Networked Library Woes
« Reply #1 on: April 02, 2007, 07:58:11 am »

It's by design.

Search forum for Glynor script system. He has developed a system using scripts to allow usrrs to retain tagging rights on multiple workstations. There is also a post on it in the 3rd Part App & Plugin forum in the thread: "What's Here".

DC
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Networked Library Woes
« Reply #2 on: April 02, 2007, 08:33:02 am »

Correct.  That's just how it works.  The database backend to MC was not designed as a multiuser system, but had speed, stability, and flexibility as its primary design considerations.  As computer and network power has grown significantly, having a well-performing and capable multi-user system is now starting to be within reach, so hopefully this will change in the future, but we're not there yet.

That being said, you can manage the system fairly well using my scripted system, that Dr. C mentioned.  More info here: http://yabb.jriver.com/interact/index.php?topic=35978.0
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72443
  • Where did I put my teeth?
Re: Networked Library Woes
« Reply #3 on: April 02, 2007, 08:42:45 am »

... The database backend to MC was not designed as a multiuser system...

Not exactly.  Library Server allows full mult-user access.  It just doesn't allow multi-user write, which is a very thorny problem. 

To implement it correctly would require adding a layer to let an admin decide who could write and who couldn't, and other similar issues.
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Networked Library Woes
« Reply #4 on: April 02, 2007, 08:58:37 am »

Not exactly.  Library Server allows full mult-user access.  It just doesn't allow multi-user write, which is a very thorny problem. 

To implement it correctly would require adding a layer to let an admin decide who could write and who couldn't, and other similar issues.

Interesting... I was told previously (around the development of v11 I think) that it was a design goal thing.  Of course, I don't remember for sure who or what or how.  Either way, we aren't there yet.   ;D
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72443
  • Where did I put my teeth?
Re: Networked Library Woes
« Reply #5 on: April 02, 2007, 09:05:08 am »

Interesting... I was told previously (around the development of v11 I think) that it was a design goal thing.
You may be thinking of the 3-user limit for Library Server.  That's just to discourage unlimited "sharing" (and hopefully keep JRiver out of court).  We could probably raise that to 5 or 10 on a single network and still have a good fair use argument.

Quote
Either way, we aren't there yet.
We will never ever get "there" -- there are so many "theres" to get to.

As far as building a "true" multi-user MC, it would be expensive, would probably raise new issues, create new bugs, and result in a .00001% increase in sales.  We've got other fish to fry.


Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Networked Library Woes
« Reply #6 on: April 02, 2007, 09:13:49 am »

We'll see.  I know you guys well enough to know...

You'll go where we tell you to.

I think that, some day soon, your average customer will have at least two computers (the Office machine and the HTPC).  There will also be a smattering with 3+ (kids' personal machines).  Of course, soon is a relative term.  Soon by product refresh schedules in the IT world?  No.  Soon in geologic time?  Likely.   ;D
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

Fred1

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 491
  • Change this by choosing profile
Re: Networked Library Woes
« Reply #7 on: April 02, 2007, 12:59:04 pm »

I can't see what is so very special to MC that no real database (like MySQL to mention only one of many) can be used for multi user (write)-access.
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42376
  • Shoes gone again!
Re: Networked Library Woes
« Reply #8 on: April 02, 2007, 01:38:20 pm »

MC works just like Microsoft Office here.  First in gets read/write.  Next in gets read-only.  Other applications like Thunderbird won't even allow a second, third, etc. in until the first is out. 

I can't see what is so very special to MC that no real database (like MySQL to mention only one of many) can't be used for multi user (write)-access.

By real, do you mean the database that Real uses in Real Player or as in the opposite of a pretend database?
Logged
Matt Ashland, JRiver Media Center

Mr ChriZ

  • Citizen of the Universe
  • *****
  • Posts: 4375
  • :-D
Re: Networked Library Woes
« Reply #9 on: April 02, 2007, 02:23:41 pm »

Itunes allows library sharing also.
One nice feature is You can connect to multiple libraries at the same time
I think.  I don't know if it's got a limit on the number of users though.
Will have to try that one.  If it doesn't then maybe JRiver can
point at Apple?  ;)

Fred1

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 491
  • Change this by choosing profile
Re: Networked Library Woes
« Reply #10 on: April 03, 2007, 02:15:53 am »

Quote from: Matt
By real, do you mean the database that Real uses in Real Player or as in the opposite of a pretend database?

Sorry, english is not my native tongue, so i obviously used a wrong word (real). I didn't have Real Player in mind.

What i wanted to say is: Why can't MC support a common database (Relational DBMS) like MySQL, Oracle, PostgreSQL, MS-SQL Server (Express) or MS-Access.

All these databases are available in free versions, so costs would not be the problem.

Even the most simple of these databases (Access) is able to handle multi user access (read and write) without problems as long as not too many users are connected simultaneously.

Performance is no problem, too, if you take into account, how many records are needed for MC. I doubt that more than 500,000 records are contained in a MC database and these are handled easily by any of the mentioned databases.

I've tested the current MC database with 200,000 records and noticed a very slow performance when editing or simply clicking the "Audio" button to load the records into the list. The MC database is situated on my "fileserver"-PC, so it is accessed via LAN. The audio- and picture files are stored there, too. To test with so many audiofiles, i copied my tracks to various locations on the same drive.

The advantage of the above databases (except Access) is, that they are server databases, so they are layed out for network use, what you can't claim for the MC database.


Quote from: Matt
MC works just like Microsoft Office here.  First in gets read/write.  Next in gets read-only.  Other applications like Thunderbird won't even allow a second, third, etc. in until the first is out. 

You can't compare the MC- (or any other) database to a Microsoft Office (MS-Word?) application.
For a database it is sufficient to lock a single record (corresponds to an open Word document here).
To lock write access for the entire database isn't an adequate method to control multi user application.
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Networked Library Woes
« Reply #11 on: April 03, 2007, 08:37:54 am »

Itunes allows library sharing also.
One nice feature is You can connect to multiple libraries at the same time
I think.  I don't know if it's got a limit on the number of users though.
Will have to try that one.  If it doesn't then maybe JRiver can
point at Apple?  ;)

The iTunes library sharing does have a limit (5 concurrent users), which is actually annoying because you can connect to multiple "remote" libraries at the same time.  Because it doesn't auto-disconnect itself from these remote libraries when they're not being used, generally if I share my library using iTunes at the office, that 5 user limit fills up in about 15 minutes and no one else can get in (even though the 5 users actually just connected to see what I had).

The iTunes system is a bit different than what the parent poster (and Fred and I frankly) were looking for though.  The iTunes system actually streams the media files themselves to the connected libraries.  This is nice, but not really what we need.  We'd simply like multi-user, read/write access to the database itself (the machines would need to be able to access the actual media files though some other means -- such as a mounted network drive).  Access to the database only certainly poses no copyright infringement problems.  Also, there is no real legal reason that Apple had to limit their system to 5 concurrent users (so long as the remote users can't "record" the stream to their own machines they should be cool).  They just didn't want to end up as a test case in court so it was easier to slap on an arbitrary 5 user limit.

So you know, Firefly Media Server (the "new" mt-daapd server) works quite well and doesn't have any user limit at all.

I've tested the current MC database with 200,000 records and noticed a very slow performance when editing or simply clicking the "Audio" button to load the records into the list. The MC database is situated on my "fileserver"-pc, so it is accessed via LAN. The audio- and picture files are stored there, too. To test with so many audiofiles, i copied my tracks to various locations on the same drive.

A couple of things here... First off, I don't know that their point was that you couldn't build a networked, multi-user, relational database back end for MC.  I think their point was that they don't want to, because the effort isn't worth the gain from their point of view.

Next... Your performance issues are quite likely because your database is situated on your fileserver PC.  MC performs about a million times better when the library (the database files) live on a fast, local hard drive.  That's the whole reason I built my scripted system!  Plenty of users here have libraries of 200,000+ files and get acceptable performance.  It's perfectly fine for the media files themselves to live on network or other slow drives (or even removable media), but MC likes it's database to live on a fast drive.  This need has been reduced somewhat with MC12 vs. older versions, but it still doesn't work great with large libraries.

So, in some way, that points to some of the issues that they'd have using a networked, relational database.  It's certainly possible, but not for users trying to run MC on Pentium3 CPUs on 10mbit networks (and we have plenty of those).  Everything is a tradeoff!

All in all... Jim's response is quite helpful.  I had been (back of my mind) considering replacing my current scripted system with an actual application that provides a similar service.  This could be better in a number of ways: I could provide a nice GUI to configure it, the system could more easily support more than two machines, installation would be greatly simplified, and I could make the copy process smarter (to avoid copying over files that haven't changed).  However, I've been hesitant to do so because I suspected that as soon as I was 1/2 way through the project, JRiver would add the functionality themselves and my effort would be wasted (especially since the current scripts work fine for me).  This gives me an indication that, at least for the next version or two, we're not likely to see too much change in this area.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

Fred1

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 491
  • Change this by choosing profile
Re: Networked Library Woes
« Reply #12 on: April 03, 2007, 08:49:31 am »

Quote
Next... Your performance issues are quite likely because your database is situated on your fileserver PC.  MC performs about a million times better when the library (the database files) live on a fast, local hard drive.

Exactly - that's the point!
With a relational DatabaseManagementSystem it would be no problem to manage even a million records on a machine on the LAN. It is really annoying to manage local databases via scripts to make them work satisfactory (in the LAN environment).

I can understand that customers with old machines have to be taken care of.
But a fast system should be availabe optionally at least.
Logged

John Gateley

  • Citizen of the Universe
  • *****
  • Posts: 4957
  • Nice haircut
Re: Networked Library Woes
« Reply #13 on: April 03, 2007, 09:54:39 am »

A general purpose database performs slower than a (well crafted) special purpose database.

j

dtblair

  • Regular Member
  • Junior Woodchuck
  • **
  • Posts: 77
  • Change this by choosing profile
Re: Networked Library Woes
« Reply #14 on: April 03, 2007, 10:35:37 am »

I write MS Access and SQL Server databases for a living.  Access has gotten an undeserving reputation as not being able to handle multiple users which is bunk.  Bad design makes anything fail.  My systems are being used worldwide with 50 -100 concurrent users with individual recordsets of 2 to 3 million and databases of 500MEG to up to 2 GIG (the limit on Access).  Our SQL Server databases are over 10GIG in size and can easily handle multiple terabytes. 

I contacted JRiver a long time ago after getting MC10, about their database structure.  I had and still do have corruption issues trying to use the system in a multi-user environment.  I have learned to backup, backup, backup.  I have 5 computers throughout the home using MC as an HTPC.  I used to keep the library on the server and have each instance of MC point to the server.  The last out approach to overwriting the library file killed me.  Now I have a master that I put on the server and each station has a local library that gets restored.  There is no way I can safely use MC as a multi-user read write database.  This is a problem as all edits (adding new records or creating playlists) can only be done on one workstation.

That said, MC is the best system out there.  I have created my own using Access as a test and it can be done to create a fully functional media center using Access as the database core.  Because it’s relational and a true multi-user platform, it doesn’t fail or corrupt (within Access’s limitations.  SQL Server is a far better platform but a bit of an overkill.)  As far as speed goes, I imported my complete JRiver library and the Access system was just as fast.  Comparing it with multi-users, I would expect it to be faster

I do think that JRiver has created a problem that will need to be addressed.  As it tries to be everything to everybody their database structure will come back to haunt them.  For me, it is the one major factor that would make me switch or write my own. 
Logged

TheLongshot

  • Junior Woodchuck
  • **
  • Posts: 73
Re: Networked Library Woes
« Reply #15 on: April 03, 2007, 10:48:33 am »

Kinda frustrating that one of the main selling points of this product (multiuser) is kind of a pain and doesn't seem to scale very well on a network.  I mean, having to run a library locally to get large collections running at an acceptable speed, and have a third party script to make it all work is a hack in my eyes, and is somewhat disappointing. 

Right now, I have the library on the server, and since I'm the only one who does updates, that works ok for now.  But, it would be nice if there was some sort of timeout on the application where if it doesn't access the DB that it gives up the write token.  Course, there may be circumstances where you may not want that to happen (like if you keep a copy open all the time on a machine where you do all of your edits.), but for most people, that would probably address the problem for the time being.

Another issue I have that I don't know if it has been fixed in 203 is that when the library is locked for reading and you load up a new instance, the dialog that informs the user that the library is locked appears underneath the initial splash screen for the application.  I always have to move it to close it and load the application.

Jason
Logged

Fred1

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 491
  • Change this by choosing profile
Re: Networked Library Woes
« Reply #16 on: April 03, 2007, 10:49:25 am »

A general purpose database performs slower than a (well crafted) special purpose database.

But you don't want to say that MC's database outperforms any Relational DBMS in a LAN environment?
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72443
  • Where did I put my teeth?
Re: Networked Library Woes
« Reply #17 on: April 03, 2007, 11:14:25 am »

Sorry, but this conversation isn't going anywhere useful and it's a distraction from things we need to work on. 
Locking this thread now.  If you have a specific problem, please start a new thread.

Listening to: Why Don't You Write Your Own Song?' by 'Willie Nelson' on Media Center 12
Logged
Pages: [1]   Go Up