Database Replication – What is it and why is it important?

Database replication is a service for shipping changes to your database, off to a copy housed on another server, potentially even in another data center. Each change to the records of information in your database or groups of them are organized into transactions.  These each get unique identifiers or change numbers.  Those groupings of changes …

Query Profiling – What is it and why is it important?

Queries are so-named because of the lovely language we call SQL – simplified query language.  That’s a bit of sarcasm on my part, I’ve never found it particularly simple or elegant.  Profiling them involves finding how they are spending their time, and what they are asking the server to do.   In this way you can …

NOSQL Database – What is it and why is it important?

NOSQL is a sort of all-encompassing term which includes very simple key/value databases like Memcache, along with more sophisticated non-relational databases such as Mongodb and Cassandra. Relational databases have been around since the 70’s so they’re a very mature technology.  In general they support transactions allowing you to make changes to your data in discrete, …

iHeavy Insights 81 – Web Performance Metrics

Metrics are those pesky little numbers we like to keep an eye on to see how we’re doing.  Website performance may be full of lots of jargon and fancy terminology but in the end the purpose is the same.  Watch the numbers to know how we’re doing. In Economics If you follow the economy you’re …

Performance Metrics – What are they and why are they important?

In order to understand how fast your website is, we need some numbers.  We call these fancy numbers performance metrics, objective measures that we can track over time.  We can track them for seasonality as well as website traffic and growth.  But we can also track them for feature and application changes based on deployments …

Sharding – What is it and why is it important?

Sharding is a way of partitioning your datastore to benefit from the computing power of more than one server.  For instance many web-facing databases get sharded on user_id, the unique serial number your application assigns to each user on the website. Sharding can bring you the advantages of horizontal scalability by dividing up data into …

Object Relational Mapper – What is it and why is it important?

Object Relational Mappers or ORMs are a layer of software that sits between web developers and the database backend.  For instance if you’re using Ruby as your web development language, you’ll interact with MySQL through an ORM layer called ActiveRecord.  If you’re using Java, you may be fond of the ORM called Hibernate. ORMs have …

Big Data – What is it and why is it important?

There’s lots of debate about exactly what constitutes “big” when talking about big data.  Technical folks may be inclined to want a specific number. But when most CTOs and operations managers are talking about big data, they mean data warehouse and analytics databases.  Data warehouses are unique in that they are tuned to run large …

Decoupling – What is it and why is it important?

Processes are said to be coupled when they are tightly wound together, and dependent on one another. A loose analogy might be replacing a traffic light by a traffic circle.  You keep the traffic moving, reducing the overall wait time for any car entering the intersection. Decoupling web applications might involve replacing a makeshift queue …

High Availability – What is it and why is it important?

Highly available systems build redundancy into the application and the architecture layers to mitigate against disasters.  Since computing systems are made from commodity hardware and components which are prone to failure, having redundancy at every layer is key. Redundancy of switches, network interfaces, and load balanced webservers are fairly straightforward and run-of-the-mill.  But clustering your …