How Online Florists Can Show Their Databases Some Love Before Valentine's Day
Valentine's is a big day for eCommerce. Keeping your database healthy by capacity testing, slowing deploys, and expecting the unexpected is key.
Join the DZone community and get the full member experience.Join For Free
It's almost Valentine’s Day, the busiest time of year for florists and fresh flower sales. This is especially true for digital storefronts, where online Valentine purchases are expected to soar. Over the past five years, online flower shop sales have grown 6.6% annually to reach $3 billion in 2016, according to a study by IBISWorld. That trend is likely to continue.
In today’s digital marketplace "slow" is the new "down," and your eCommerce website must be ready to withstand heavy activity, anytime customers come to shop. For online florists, this means preparing their web platforms in advance of Valentine’s Day.
Your storefront might be the only part of the website that customers see, but every company's web platform has another key piece: the database. Databases play a critical role in website performance. They can shape customers' entire online shopping experiences, affecting such simple things as searches and transactions. If the database isn't able to execute queries smoothly and efficiently, the whole website will suffer, leading to possible slowdowns or even outages. Heavy traffic will only make those problems worse.
There's no reason your website needs to miss out on holiday traffic because of your database. Here are three tips that any flower seller should take as they prepare their database before Valentine's Day shopping begins.
1. Calculate What Your Database Can Handle — Its Capacity
Databases are complex environments, with many moving parts. Even though all retail websites depend on their databases, each one can be set up and configured in all kinds of ways. Each database's unique nuances and characteristics can present problems in specific situations.
Limitations on resources like CPU, I/O, and disk space can all be culprits for a database's problems, so it's important to understand the exact limits of what your database can handle. This is called capacity planning, and it's meant to help you determine the traffic loads that will push your database's resources beyond their limits. This kind of forecasting allows you to project how much of your resources you’ll need to add or set aside before Valentine's in order to handle traffic peaks.
There are a few tried and true ways to capacity plan, but it's easier and more accurate when you have a monitoring solution. Database monitoring helps you see exactly what your database is doing and can correlate its performance to resources like CPU, so you know what your system needs to continue functioning well. There are also statistical formulas like the Universal Scalability Law, which is an important tool for modeling the variables that allow a system to grow. Techniques like these can help expose liabilities in a system, which might otherwise stay hidden… until traffic reaches a point where the issues rear their heads and you find yourself in real trouble.
2. Try a "Code Slush"
A traditional way that engineering teams have avoided problems during seasonal surges is with "code freezes." A code freeze is an extreme measure, when a team declares that no new code can be deployed for a period of time, in order to prevent bad code from breaking a working system.
But a total code freeze has the very real risk of backfiring. Sometimes a system will seem to be in perfect working order, but then the seasonal surge reveals scalability limits—and the code freeze prevents anybody from being able to make adjustments in response.
As its name implies, a code "slush" is a less extreme version of a code freeze. In a slush, code deploys are only partially frozen, but the team is still allowed to push code here and there, to make tactical changes as necessary. This kind of fluidity lets you respond to the effects of seasonal surges.
3. Try to Know Where You Can Expect Unknowns
Just as databases are complicated systems, the technologies, solutions, and communities that support them are fast-changing too. Each year introduces new updates and versions to database platforms. The new technology available to your database is always exciting, but when an organization changes something in its environment, it can be hard to predict what kind of effect it'll have.
If you've upgraded to a new database version or changed the way you handle replication since your last seasonal surge, there's a chance that your database will behave differently under load than you've seen before. These are necessary unknowns—your system and its components should be evolving and changing—but it's important to recognize where they might crop up, so you can keep a close eye on them ahead of time.
Each of these tips for preparation involves understanding the database at a fairly deep level, knowing what to look for, and the ability to actually see it. A lot of the information that makes a big difference for organizations during seasonal traffic spikes is highly detailed. You'll need a specialized monitoring solution, preferably one that provides real-time feedback.
That kind of information doesn't just let users react during traffic surges—it also helps them look deeply into their database and understand the benchmarks for good performance. With that kind of knowledge, a team can be proactive, and online florists’ data engineers can plant the seeds for a successful, profitable holiday.
Opinions expressed by DZone contributors are their own.