altium is simple.
if you need to interface with a real PLM system (arena, windchill , teamcenter and a few others) get an enterprise server, shove all your footprints, symbols , designs , templates, outjobs and whatnot in there.
It keeps track of what is used where , what is out of date, is version control ( no need to muck with git or svn) and enforces the workflows ( you can set the flowcharts )
It 's a dream to work with. engineers can focus on doing engineering, librarians focus on building parts and layouters focus on layout. when all that is done : launch the managed outjob , the draftsman pdf file, gerber, odb and other output ends up in the right buckets in the PLM system and all parts are known.
Most "throw it over the wall" systems are problematic cause the other sides doesn't see it coming. Enterprise server can also pull. You have visibility on what the other side does. what parts have been attached, pricing information and other business information that lives in the PLM system is realtime visible in Altium, but it does NOT affect your design data.
This thing is different. The "design" is the whole of the cad data, the plm data , the mechanical data ( it can talk directly to creo, nx , solidworks). cross domain data is visible to all parties but lives in its own containers. Alterations to outside data update the"design" but not your container. you do not need to update your output because an outside dataset altered. it is all linked through the "internal part numbers"
the server is headless, in the sense you install it ,it is self contained , can run on real hardware, a vm or on aws or azure. management is through altium designer. backup is also easy. you split the server in a boot and a data volume. all you have to do is make a copy of the data volume. The database is a self contained firebird file, all your libraries are a directory structure with one symbol or one footprint per file and your designs sit in a GIT repository on the datadrive.
All you need is a disc clone for backup. if the thing goes down : spin up a new vm, install the server and tell it where the data drive is. you need a beefy server cause it does a lot of management and talking to the other services in your company. it will floor a Xeon Gold if it is indexing the database. Give it lots of ram so the database can be shadowed in ram and use nVME storage for lots of io operations.
It is very snappy. search is near instantaneous , even with 300+ users
If you can't do that your next best option is a dblib. MySQL or even a simple access database. you don;t interact with the database as Altium designer has a table browser built in you can edit the file there.
Drop your footprints and symbols and dblib on a shared folder. librarians have write permission to symbol/footprint folder.
use git or svn for project storage.
it is more crude but it works.
if you use an autonumber field as index and yuo store the internal part number as a regular field your BOM can spit out the cross reference as a csv file. set up the outjob to zip the files and drop stuff in a specific folder. design release is then a matter of sending out two zip files (one for board fabrication, one for assembly ) and a csv file containing the bom.