Black Friday prices end in 26d 06h 10m — See the sale

Author: Jeremiah Peschka

When I’m not working with databases, you’ll find me at a food truck in Portland, Oregon, or at conferences such as DevLink, Stir Trek, and OSCON. My sessions have been highly rated and I pride myself on their quality.

The Basics of Database Sharding

There are many ways to scale out your database; many of these techniques require advanced management and expensive add-ons or editions. Database sharding is a flexible way of scaling out a database. In this presentation, Jeremiah Peschka explains how to scale out using database sharding, covers basic techniques, and shares some of the pitfalls. This talk is for senior DBAs, database architects, and software architects who are interested in scaling out their database.

Read more about The Basics of Database Sharding 5 comments — Join the discussion

When a Query Isn’t Quite a Query

Databases exist to store data and answer questions about that data. The way we ask questions has to change based on the database itself - SQL changes between different RDBMS vendors. Things get even stranger when you venture outside the RDBMS world and start storing your data in Hive. Even though Hive Query Language (HiveQL) looks like SQL, there are some subtle but important differences to querying that first timers will want to keep in mind.

Read more about When a Query Isn’t Quite a Query 2 comments — Join the discussion
Production DBA

The Trouble with Keys

Scaling up is hard: big hardware gets expensive fast. Scaling out is equally difficult; interesting design problems creep in to scale out solutions. One of the more troublesome issues architects face when scaling out is the issue of distributing identity. It's often advantageous for object identity to be unique and portable across all database instances…

Read more about The Trouble with Keys 22 comments — Join the discussion

Potential Problems with Partitioning

Getting started with table partitioning is difficult; there are many decisions to make after you've decided to partition data. Correctly configuring partitioning is critical to the long term performance and stability of the database from both a querying and data modification standpoint. There are three key considerations that database architects should devote time to before embarking on a partitioning implementation: the design of the partitioning key, a thorough study of querying practices, and an examination of data modification practices.

Read more about Potential Problems with Partitioning Be the first to comment

SQL Server RDS

Amazon Web Services (AWS) is a platform that offers a ton of services ranging from block storage, operating systems, to mail queues, DNS, and caching. When you say “cloud”, a lot of people think of AWS. AWS hosts a variety of businesses, large and small. Unfortunately, you still have to administer and configure your servers.…

Read more about SQL Server RDS 49 comments — Join the discussion
Production DBA

SQL Server Always On Availability Groups in AWS

Many companies are investigating a move into cloud hosting. With the recent release of SQL Server 2012, these very same companies are also looking at a migration to SQL Server 2012 to take advantage of readable secondaries. Combining Amazon Web Services and SQL Server 2012 seems like a perfect match. Unfortunately, there are some gotchas,…

Read more about SQL Server Always On Availability Groups in AWS 6 comments — Join the discussion
Production DBA

Hash Partitioning, SQL Server, and Scaling Writes

At first glance, SQL Server’s partitioning seems like it should be an easy way to solve problems inserting data into busy tables. If the writes are spread across many partitions it only makes sense that we can avoid write hot spots in SQL Server, right? The truth is much more complicated than it appears. Asking…

Read more about Hash Partitioning, SQL Server, and Scaling Writes 18 comments — Join the discussion
Production DBA

Availability, Data Locality, and Peer-to-Peer Replication

I want to make something clear: high availability is not load balancing. The two options don't have to be mutually exclusive, but they aren't the same thing. Several months ago, I wrote about resolving write conflicts. Some of the approaches I mentioned for resolving write conflicts (such as taking a "last write wins" approach) involved…

Read more about Availability, Data Locality, and Peer-to-Peer Replication 4 comments — Join the discussion