A covering index is a fantastic query performance optimization. An index covers a query when the index has all the data needed to execute the query, so the server can…
Databases are confusing! Not only are they complicated bits of software, but database jargon is really complicated. Part of this comes from the number of words with multiple meanings: depending…
If you use a programming language framework such as Django or Ruby on Rails, chances are you use an ORM to help you construct queries. What’s an ORM? If you’re…
If you use ACID transactional databases, you’ve probably heard of lock wait timeouts and deadlocks. What are these? And how are they different? Inevitably, many of us will come across…
I wrote a couple of “definitions and nuances” posts about terminology in databases recently (cardinality, selectivity), and today I want to write one about cardinality in monitoring, as opposed to…
I wrote recently about database cardinality, and there’s a closely related topic that is equally confusing and I want to explain too: index selectivity. Index selectivity is how tightly a…
Monitoring is a hopelessly overloaded term in tech culture. The term now carries decades of inaccurate and imprecise use. The result is that several people can be engaged in an…
Modern systems can emit thousands or millions of metrics, and modern monitoring tools can collect them all. Faced with such an abundance of data, it can be difficult to know…
Observability is all the rage, an emerging term that’s trending up very quickly in certain circles even while it remains unknown in others. As such, there isn’t a single widely…
A SaaS product needs to use security measures you might not ordinarily use in an on-premises solution. In particular, it’s important for all sensitive data to be secured. Encryption plays…