What is performance for content management

In my PhD thesis i follow the theme of designing a high-performance Content Management system.

Obviously, in this process i try to write down which are the metrics by which one can decide that a CM system is performant or not (or more is more performant than another).

Some work has been done for the RDBMS world on this, but i found none for Content Manegement. This may be because the majority of (E)CM products out there always use a RDBMS to store the data. Therefore the performance of the RDBMS drives the performance of the CM itself.

I really think this is not the best approach and that there is a need to design a content management system which truly addresses the specific requirements and does not try to bend other systems to fit the purpose.

That being said i should write down the 4 topics i think should be used to measure a content management system performance:

  1. It should natively implement all basic content management functions. Including here:CRUD operations, security, version control, concurrency control, format variants control, streaming support, search, observation. Maybe transactions.
  2. Its implementation must not be tied to one technology (eg. specific OS, programming language etc.). CM systems need to be universal since they tend to store content for a long time and cannot afford to suffer from changes in IT strategies.
  3. Must find content. This is the primary thing ed users look for. no matter how complex is the underlying architecture, no matter how many data elements it handles, search must be accurate, fast and adequate.
  4. It should be able to use various storage environments. This must not be understood as needing to work low level with disks/tape libraries but being able to store and manage content on all types of storage without needing to limit functionality and while keeping the full transparency to the user. For example, if a document is stored on a tape (slow access, readonly medium) the user should only find out that the item is readonly and takes some while to access.

Any thoughs? Should anything else be considered as amajor  performance indicator of a CM system?


8 thoughts on “What is performance for content management

  1. I’d drop the first point, rename the second “Fast ROI” (who cares what would be the underlying technology?…), put the third first (usability, putting the customer first, etc.) and make the forth the problem of vendors, not designers. By the time you’d finish your thesis, who knows what would be the storage system du jour?

  2. Pingback: Measuring ECM Performance « Word of Pie

  3. Avi, I’m trying to focus only on core CM engine not on UI. Frankly I fully agree (also with Pie) that user interface makes a lot of difference on (E)CM systems especially from the user (sigh!) point of view.
    I can for sure say that a user will consider a system better than another just by using the UI.
    Unfotunately there is just so much a person can do as research once, so i limit myself to the core (only to the external API level) and leave out any UI and even applications.

  4. Pie, thanks for the dctm link. I’m working with EMC for some years now as a partner (and also with other major vendors). Read some docs…, piled some others…

  5. Just realized i did not quite replied to avi:
    First point is not really a performance indicator indeed. Is more like a on/off switch – the system is or not a CM as per my simplist definition. nevertheless, by implementing ALL the functions the system needs to ba fairly complex and take into account multiple requirements. Otherwise it may favour others and have nice performance in limited areas.
    Second: technology is important for maintenance and also drives performance. I’m a huge fan of C++ and i might be biased on this.. so i shut up
    Last (storage): i meant “independent by architecture”. is not needed to talk to the jukebox directly. that’s a job for others

  6. This idea goes against my architectural sensibilities but with respect to point 2, I wonder if the assumption that making the implementation universal in its support of underlying technology really improves system longevity. Being a veteran of multiple Documentum server upgrades (I started with v3 of the C/S) it has been my experience that dependence on externally managed components like the database can weaken the system over time. Different components will progress or degrade at different rates. Every component outside the direct control of the managed stack creates an opportunity for a major segment to fall out of support or even availability. This is far more apparent in the presentation layer and to a diminishing degree as you move back to the content file itself. The system is therefore no more universal than any one of it’s parts. If you want to real longevity – embed as much as possible. Granted, this works against scale and integration but acquisitions won’t force you to redesign your solution after you have a global install base. Sorry for the long comment – should have followed Pie’s example.

  7. Ldallas, see my new post. I’m actually thinking the same: embed as much as possible.
    My experience points sameways, although in commercial life it may get difficult to convince a CIO to buy-in on the idea.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s