Thursday, February 27, 2014

Making Relativity relatively faster... Partition it baby, (sometimes)

Brent Ozar - How to Use Partitioning to Make kCura Relativity Faster

kCura Relativity is an e-discovery program used by law firms to find evidence quickly. I’ve blogged about performance tuning Relativity, and today I’m going to go a little deeper to explain why DBAs have to be aware of Relativity database contents.

In Relativity, every workspace (case) lives in its own SQL Server database. That one database houses:

  • Document metadata – where the document was found, what type of document it is
  • Extracted text from each document – the content of emails, spreadsheets, files
  • Document tagging and highlighting – things the lawyers discovered about the documents and noted for later review
  • Workspace configuration – permissions data about who’s allowed to see what documents
  • Auditing trails – who’s searched for what terms, what documents they’ve looked at, and what changes they made

For performance tuners like me, that last one is kinda interesting. I totally understand that we have to capture every activity in Relativity and log it to a table, but log-sourced data has different performance and recoverability requirements than other e-discovery data.


However, I don’t recommend doing this by default across all your databases. This technique is going to instantly double the number of databases you have and make your management much more complex. However, I do recommend reviewing your largest workspaces to see if AuditRecord is consuming half or more of the database space. If so, consider partitioning their AuditRecord tables to get faster backups, database maintenance jobs, and restores.

At the risk of sounding like a fanboy, this is one of the reasons I love working with the kCura folks. They really care about database performance, they take suggestions like this, and they implement it in a way that makes a real difference for customers.

This is also why database administrators need to:

  1. Understand the real business purpose of the biggest tables in their databases
  2. Build working, productive relationships with their software vendors
  3. Come up with creative approaches to ease SQL Server pains
  4. Help the vendors implement these approaches in software


If you're a Relativity shop, Brent's one of those "must go to dba guys," which this post makes very apparent...


Related Past Post XRef:
Making SQL Server a happy kCura Relativity camper (and your users too)

sp_AskBrent - Your new, "OMG, my SQL Server is sooo slow" free uber SP from Brent Ozar
Two SQL Server Resources that you might want to take another look at...

Free Training SQL Server Training DVD’s (or online) from Quest (reg-ware) - 12 Sessions, Two DVD’s, Zero cost…

"How to Develop Your DBA Career" Free eBook (and posters and whitepapers and more [oh my])

No comments: