Laravel: Parallel Testing Is Now Available

We’re excited to announce that Parallel Testing is now available in Laravel. Starting Laravel v8.25, you may use the built-in `test` Artisan command to run your tests simultaneously across multiple processes to significantly reduce the time required to run the entire test suite.Laravel

NEW Smith & Wesson M&P9 M2.0 METAL Pistol

https://www.thefirearmblog.com/blog/wp-content/uploads/2022/08/NEW-Smith-Wesson-MP9-M2.0-METAL-Pistol-3-180×180.jpg

NEW Smith & Wesson M&P9 M2.0 METAL Pistol (3)Smith & Wesson has just announced the release of a new iteration of their M&P9 M2.0 pistol dubbed M&P9 M2.0 METAL. As the model name suggests, the new pistol features a metal frame. The aluminum frame of the new M&P9 M2.0 METAL pistol is externally similar to its polymer counterpart and is compatible with standard M&P9 M2.0 […]

Read More …

The post NEW Smith & Wesson M&P9 M2.0 METAL Pistol appeared first on The Firearm Blog.

The Firearm Blog

The problem with homeowners being more likely to vote

https://www.futurity.org/wp/wp-content/uploads/2022/08/home_ownership_voting_1600.jpgkey ring with keys and red house-shaped keychain

Homeownership boosts voter turnout. But is that a good thing?

Buying a home is a cornerstone of the American Dream, and the US government has long encouraged it with generous subsidies. As far back as the early 20th century, defenders of this policy have argued that it fosters a contented middle class and an engaged electorate.

Indeed, it’s a truism of American politics that homeowners turn out to vote in higher numbers than people who rent their homes. It’s no surprise, then, that politicians tend to court their favor.

But is the link between homeownership and electoral participation one of causation or correlation? Does buying real estate cause a person to plod through the voter guide? Or could it be that those who are more likely to own a home—perhaps due to age, education, or other demographic factors—are simply more prone to vote?

This actually matters. For one thing, subsidizing homeownership to foster a healthy democracy makes sense only if it does so; otherwise, it’s a giveaway to those least in need. And on the flip side, if homeownership does prompt people to vote, that might suggest they’re driven partly by self-interest—specifically, the desire to boost their property values.

In that case, those voters will presumably favor things like restrictive zoning laws that exclude lower-income people and prevent new construction, thus making it harder for others to break into the housing market and worsening social inequalities.

To get to the bottom of this, Andrew B. Hall, a professor of political economy at Stanford Graduate School of Business, and Jesse Yoder collected two decades’ worth of election records on 18 million people in Ohio and North Carolina. Then they combined that with deed data to see if people’s behavior changed when they became homeowners.

The result? They found that buying a home really did cause people to vote substantially more in local elections—and the bump in turnout was almost twice as big when zoning issues were on the ballot. What’s more, the effect increased with the purchase price. The greater the asset value, the more likely people were to vote.

“Taken together, these findings strongly suggest that the increase in voting is driven, at least in part, by economic considerations,” Hall says. “People are clearly paying more attention and turning out in larger numbers to weigh in on policies that affect their investment.”

Their findings appear in the Journal of Politics.

Voting rates of homeowners and renters

The idea that voters are spurred by pecuniary motives might seem obvious in these disenchanted times. But it’s hardly in line with our ideals as a nation, nor is it universally accepted by scholars of politics or psychology.

For one thing, Hall points out, voting is costly. Researching the issues, watching debates, suffering doorstep canvassers, getting to the polling station on a workday, standing in line—it’s kind of a pain. (If it were fun, there’d be no distinction in sporting “I voted” buttons.)

And the kicker is that your effort has an infinitesimally tiny effect on the outcome. Don’t tell the kids, but no election is decided by one person’s vote. On a narrow, individual cost-benefit basis, voting is not a great value proposition.

Yet the fact remains that homeowners vote at higher rates than renters. A different theory, Hall says, is that both homeownership and voting rates reflect preexisting differences. People who own their homes are wealthier and more educated, and are therefore more likely to identify with social and governmental institutions—and less likely, perhaps, to be alienated and disengaged.

“Both of those stories are plausible,” Hall says, “and you can’t disentangle them with cross-sectional data. You need to look at individuals’ behavior over time.”

Also, although wealthy people vote more, it’s important to be clear that buying a home does not instantly raise someone’s net worth, so any immediate effect would not be driven by wealth. But does converting assets from cash or stocks to real estate increase one’s interest in local politics?

Apparently so. Using data on all registered voters and homeowners in Ohio, Hall and Yoder found that buying a home boosted an individual’s turnout rate in local general elections by 5 percentage points on average, to 31%. Since the baseline turnout rate in the sample was only 26%, that’s an almost 20% increase in propensity to vote.

The researchers then sliced up the data by home price and found that people with more expensive homes increased their turnout even more. The effect rose sharply as home prices increased, being more than twice as large in the top decile than in the bottom decile.

“This certainly suggests, though it doesn’t prove, that the increase in voting by homeowners is driven by economic self-interest,” Hall says, “because the motivation to protect and enhance an investment would naturally tend to increase with the value at stake.”

Why homeowners vote

The researchers next gathered data on local ballot initiatives in Ohio to see what kind of issues galvanized homeowners. Here, they found that the increase in turnout was greatest when zoning measures were being decided—the effect of home ownership on election turnout was nearly doubled in such cases.

Of course, the data doesn’t show how people voted, but it seems unlikely that they made a special effort to vote against their own interests. And that raises a troubling issue. “This tells us that encouraging homeownership doesn’t just incentivize people to vote,” Hall says, “it also likely changes how they vote and the kinds of policies they support.”

In particular, he says, buying a home may instill a preference for restrictive housing policies, and that may help explain the chronic housing shortage that has plagued the US for decades.

“We don’t have direct evidence of this in the paper, but the results are consistent with the story that homeowners capture the local political process and resist the building of more residences,” Hall says. “Depressing the local supply of homes raises prices, and it makes it harder for people to move to where there are economic opportunities.”

That reduces economic growth and deepens social inequalities by making it harder for low-income families to break into the housing market and accumulate wealth of their own. The interests of homeowners can also result in NIMBYism—resistance to public works and job-creating investments that might alter their neighborhood’s character or demographics.

Support for home ownership is deeply ingrained in American politics, partly because it’s believed to give people an investment in the democratic process. President George W. Bush made this explicit when he extolled the benefits of an “ownership society” in 2004. “When citizens become homeowners, they become stakeholders as well,” the White House declared.

But the ownership society contains a paradox: While the possession of property does encourage civic participation—as this study uses large-scale data to document for the first time—it may do so in a way that is ultimately self-limiting, by excluding those who failed to get in on the ground floor.

Source: Lee Simmons from Stanford University

The post The problem with homeowners being more likely to vote appeared first on Futurity.

Futurity

S&W M&P M2.0 Metal: Aluminum-Framed, Optics-Ready Carry Machine

https://cdn.athlonoutdoors.com/wp-content/uploads/sites/8/2022/08/MP-M2.0-Metal-Left.jpg

Smith & Wesson launched a really interesting update to the M&P line today. The S&W M&P M.20 Metal brings an aluminum-framed, optics-ready variant into the vaunted duty/carry pistol series. The T6 aluminum frame should spark loads of interest with shooters that prefer a lightweight, rigid metal frame over plastics.

S&W M&P M2.0 Metal Details

The M2.0 Metal features an 18-degree grip angle for point of aim, combined with four interchangeable palmswell grip inserts for a custom fit. A textured polymer front strap, wide slide stop and reversible magazine release adds familiar feel and controls.

Keeping with current trends, the M2.0 Metal comes pre-cut for slide-mounted optics. Meanwhile, a Picatinny rail forward of the trigger guard enables attachment of lights/lasers. Forward slide serrations, a low bore axis and M2.0 flat-face trigger blend an assortment of proven component choices.

The two-tone M&P M2.0 Metal comes with a Cerakote finish.

Obviously, what’s cool here is the metal frame. But the pistol also sports an equally appealing Tungsten Gray Cerakote finish to the frame and stainless steel slide. Combined with the black accents of the controls and palmswells, and the M2.0 Metal delivers a really distinctive style and appearance.

More importantly, the 9mm pistol utilizes a 4.25-inch stainless steel barrel with an Armornite finish. The M2.0 Metal comes with a 17-round magazine, seated into a package that weighs just 30 ounces overall. The pistol rides in standard M&P9 holsters, and it also accepts and 17-round M2.0 magazine. Win-win all the way around.

Smith & Wesson is excited to introduce a new addition to the M&P family! Our new all Metal Pistol is chambered in 9MM has a 4.25in barrel, T6 Aluminum frame, M2.0 flat face trigger, wide slide stop, reversible magazine release, slide cut for optics and has the M&P’s patented take-down lever and sear deactivation systems to allow for disassembly without pulling the trigger!

A smart choice, the Metal series comes with a pre-cut optic channel in the slide.

The S&W M&P M2.0 Metal retails for $899. For even more info, please visit smith-wesson.com.

Smith & Wesson M&P M2.0 Metal

  • Optimal 18-degree grip angle for natural point of aim
  • Four interchangeable palmswell grip inserts for optimal hand fit and trigger reach – S, M, ML, L
  • Textured polymer front strap
  • Wide slide stop
  • Reversible magazine release
  • Slide cut for optics
  • M2.0 flat face trigger for consistent finger placement that allows for more accurate and repeatable shooting
  • Picatinny-style rail
  • Forward slide serrations
  • Low barrel bore axis makes the M&P pistol comfortable to shoot, reducing muzzle rise and allowing for faster aim recovery
  • Enhanced sear for lighter, crisper trigger let-off
  • Accurate 1 in 10 ̋ twist barrel
  • M&P’s patented take-down lever and sear deactivation systems allow for disassembly without pulling the trigger
  • Accepts any 17 round M2.0™ magazine
  • Comes with two 17-round magazines
  • Fits standard M&P9 holster

Smith & Wesson M&P M2.0 Metal Specifications

  • Model: M&P9 M2.0 METAL
  • Caliber: 9mm Luger
  • Overall Capacity: 17+1
  • Optics: Yes
  • Color: Two-Tone
  • Safety: No Thumb Safety
  • Overall Length: 7.4 inches
  • Front Sight: Steel White Dot
  • Rear Sight: Steel White 2-Dot
  • Action: Striker-Fire
  • Grip: Interchangeable Palmswell Inserts (4)
  • Barrel Material: Stainless Steel with Armornite Finish
  • Slide Material: Stainless Steel
  • Frame Material: T6 Aluminum
  • Slide Finish: Tungsten Gray Cerakote
  • Frame Finish: Tungsten Gray Cerakote
  • Barrel Twist: 1:10˝ RH
  • Barrel Length: 4.25 inches
  • Overall Weight: 30 ounces

Editor’s Take:

Yes, the polymer-framed, striker-fired 9mm pistol still reigns supreme. Nevertheless, interest remains for metal-framed semi-autos. It appears S&W put some thought into this approach, a nice blend of contemporary components and style. Optics-ready right out of the box, you can carry this bad boy on duty, shoot a match, or carry for defense. We will be especially interested how the Metal series builds out down the road, like a 5-inch competition model hopefully. In the meantime, stay tuned for a full range review coming real soon.

Didn’t find what you were looking for?

The post S&W M&P M2.0 Metal: Aluminum-Framed, Optics-Ready Carry Machine appeared first on Tactical Life Gun Magazine: Gun News and Gun Reviews.

Tactical Life Gun Magazine: Gun News and Gun Reviews

Two Extremely Useful Tools (pt-upgrade and checkForServerUpgrade) for MySQL Upgrade Testing

https://www.percona.com/blog/wp-content/uploads/2022/08/MySQL-Upgrade-Testing.pngMySQL Upgrade Testing

MySQL Upgrade TestingMy last blog, Percona Utilities That Make Major MySQL Version Upgrades Easier, detailed the tools available from the Percona toolkit that assists us with major MySQL version upgrades. The pt-upgrade tool aids in testing application queries and generates reports on how each question performs on servers running various versions of MySQL.

MySQL Shell Upgrade Checker is a utility that helps in compatibility tests between MySQL 5.7 instances and MySQL 8.0 upgrades, which is part of the mysql-shell-utilities. The util.checkForServerUpgrade() function checks whether the MySQL 5.7 instance is ready for the MySQL 8.0 upgrade and generates a report with warnings, errors, and notices for preparing the current MySQL 5.7 setup for upgrading to MySQL 8.0.

We can run this Upgrade Checker Utility in the current MySQL 5.7 environment to generate the report; I would recommend running it on any of the replica instances that have the same configuration as the production.

The user account used to execute the upgrade checker tool must have ALL rights up to MySQL Shell 8.0.20. The user account requires RELOAD, PROCESS, and SELECT capabilities as of MySQL Shell 8.0.21.

How to generate a report using Upgrade Checker Utility

To generate a report using Upgrade Checker Utility we may either login to the shell prompt or execute directly from the command prompt.

mysqlsh -- util checkForServerUpgrade 'root@localhost:3306' --target-version=8.0.29 --config-path=/etc/my.cnf > CheckForServerUpgrade_Report.txt
Please provide the password for 'mysqluser@localhost:3306':

$ mysqlsh
MySQL  JS > util.checkForServerUpgrade('root@localhost:3306', { "targetVersion":"8.0.29", "configPath":"/etc/my.cnf"})
Please provide the password for 'mysqluser@localhost:3306':

To quit the mysqlsh command prompt, type \exit.

MySQL  JS > \exit
Bye!

Do pt-upgrade and Upgrade Checker Utility do the same tests?  No!

Don’t confuse the Upgrade Checker Utility with the pt-upgrade tool since they are used for different kinds of major version upgrade testing. The Upgrade Checker Utility performs a variety of tests on the selected MySQL server to ascertain whether the upgrade will be successful; however, the tool does not confirm whether the upgrade is compatible with the application queries or routines.

Does it check both my.cnf file and the MySQL server variables?

The utility can look for system variables declared in the configuration file (my.cnf) but removed in the target MySQL Server release, as well as system variables not defined in the configuration file but with a different default value in the target MySQL Server release.  You must give the file path to the configuration file when executing checkForServerUpgrade() for these checks. However, the tool is unable to identify the variables that have been deleted in the my.cnf file but are set in the MySQL server.

Let us remove query_cache_type from /etc/percona-server.conf.d/mysqld.cnf and run the command.

]# mysql -uroot -p -e "SHOW VARIABLES WHERE Variable_Name IN ('query_cache_type','query_cache_size')"
Enter password:
+------------------+---------+
| Variable_name    | Value   |
+------------------+---------+
| query_cache_size | 1048576 |
| query_cache_type | ON      |
+------------------+---------+

]# cat /etc/my.cnf
#
# The Percona Server 5.7 configuration file.
#
#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#   Please make any edits and changes to the appropriate sectional files
#   included below.
#
!includedir /etc/my.cnf.d/
!includedir /etc/percona-server.conf.d/
]#

Remove query_cache_type variable from mysqld.cnf:

]# sed -i '/query_cache_type/d' /etc/percona-server.conf.d/mysqld.cnf
]#

]# grep -i query /etc/my.cnf /etc/percona-server.conf.d/mysqld.cnf
/etc/percona-server.conf.d/mysqld.cnf:query_cache_size=5058320
]#

As the query cache type variable has been deleted from my.cnf,  the tool is unable to detect it.

#  mysqlsh -- util checkForServerUpgrade 'root@localhost:3306' --target-version=8.0.29 --config-path=/etc/my.cnf | grep  -B 6  -i "query_cache"
15) Removed system variables
  Error: Following system variables that were detected as being used will be
    removed. Please update your system to not rely on them before the upgrade.
  More information:
    https://dev.mysql.com/doc/refman/8.0/en/added-deprecated-removed.html#optvars-removed

  query_cache_size - is set and will be removed
ERROR: 1 errors were found. Please correct these issues before upgrading to avoid compatibility issues.

In JSON format, the report looks like this:

Note: To make the blog more readable, I shortened the report.

# mysqlsh -- util checkForServerUpgrade 'root@localhost:3306' --target-version=8.0.29 --config-path=/etc/my.cnf --output-format=JSON
{
    "serverAddress": "localhost:3306",
    "serverVersion": "5.7.39-42 - Percona Server (GPL), Release 42, Revision b0a7dc2da2e",
    "targetVersion": "8.0.29",
    "errorCount": 1,
    "warningCount": 27,
    "noticeCount": 1,
    "summary": "1 errors were found. Please correct these issues before upgrading to avoid compatibility issues.",
    "checksPerformed": [
        {
            "id": "oldTemporalCheck",
            "title": "Usage of old temporal type",
            "status": "OK",
            "detectedProblems": []
        },
        {
            "id": "reservedKeywordsCheck",
            "title": "Usage of db objects with names conflicting with new reserved keywords",
            "status": "OK",
            "detectedProblems": []
        },
…
        {
            "id": "sqlModeFlagCheck",
            "title": "Usage of obsolete sql_mode flags",
            "status": "OK",
            "description": "Notice: The following DB objects have obsolete options persisted for sql_mode, which will be cleared during upgrade to 8.0.",
            "documentationLink": "https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-removals",
            "detectedProblems": [
                {
                    "level": "Notice",
                    "dbObject": "global system variable sql_mode",
                    "description": "defined using obsolete NO_AUTO_CREATE_USER option"
                }
            ]
        },
        {
            "id": "enumSetElementLenghtCheck",
            "title": "ENUM/SET column definitions containing elements longer than 255 characters",
            "status": "OK",
            "detectedProblems": []
        },
…
        {
            "id": "removedSysVars",
            "title": "Removed system variables",
            "status": "OK",
            "description": "Error: Following system variables that were detected as being used will be removed. Please update your system to not rely on them before the upgrade.",
            "documentationLink": "https://dev.mysql.com/doc/refman/8.0/en/added-deprecated-removed.html#optvars-removed",
            "detectedProblems": [
                {
                    "level": "Error",
                    "dbObject": "query_cache_size",
                    "description": "is set and will be removed"
                }
            ]
        },
        {
            "id": "sysVarsNewDefaults",
            "title": "System variables with new default values",
            "status": "OK",
            "description": "Warning: Following system variables that are not defined in your configuration file will have new default values. Please review if you rely on their current values and if so define them before performing upgrade.",
            "documentationLink": "https://mysqlserverteam.com/new-defaults-in-mysql-8-0/",
            "detectedProblems": [
                {
                    "level": "Warning",
                    "dbObject": "back_log",
                    "description": "default value will change"
                },
                {
                    "level": "Warning",
                    "dbObject": "innodb_max_dirty_pages_pct",
                    "description": "default value will change from 75 (%)  90 (%)"
                }
            ]
        },
        {
            "id": "zeroDatesCheck",
            "title": "Zero Date, Datetime, and Timestamp values",
            "status": "OK",
            "detectedProblems": []
        },
…
    ],
    "manualChecks": [
        {
            "id": "defaultAuthenticationPlugin",
            "title": "New default authentication plugin considerations",
            "description": "Warning: The new default authentication plugin 'caching_sha2_password' offers more secure password hashing than previously used 'mysql_native_password' (and consequent improved client connection authentication). However, it also has compatibility implications that may affect existing MySQL installations.  If your MySQL installation must serve pre-8.0 clients and you encounter compatibility issues after upgrading, the simplest way to address those issues is to reconfigure the server to revert to the previous default authentication plugin (mysql_native_password). For example, use these lines in the server option file:\n\n[mysqld]\ndefault_authentication_plugin=mysql_native_password\n\nHowever, the setting should be viewed as temporary, not as a long term or permanent solution, because it causes new accounts created with the setting in effect to forego the improved authentication security.\nIf you are using replication please take time to understand how the authentication plugin changes may impact you.",
            "documentationLink": "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password-compatibility-issues\nhttps://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password-replication"
        }
    ]
}

Please read Daniel Guzmán Burgos’ blog post to find out more about the Upgrade Checker Utility and click the link to learn more about the pt-upgrade testing.

Prior to a major version upgrade, application query testing and configuration checks are an inevitable task, and the pt-upgrade and “Upgrade Checker Utility” are quite helpful.

Planet MySQL

Athena (Trailer)

https://theawesomer.com/photos/2022/08/athena_trailer_t.jpg

Athena (Trailer)

Link

After a soldier loses his youngest brother in an apparent police altercation, he returns home to help bring justice to the fallen. But things quickly escalate as the community wants revenge. Director Romain Gavras’ immersive Athena drops us smack-dab into the middle of a tense and chaotic scene. Coming to Netflix 9.23.2022.

The Awesomer

Mining the MySQL Performance Schema for Transactions

The MySQL Performance Schema is a gold mine of valuable data.
Among the many nuggets you can extract from it is an historical report of transactions: how long a transaction took to execute, what queries were executed in it (with query metrics), and idle time between queries.
Mining this information is not trivial, but it’s fun and this blog post shows how to start.

Planet MySQL

Seven Ways To Reduce MySQL Costs in the Cloud

https://www.percona.com/blog/wp-content/uploads/2022/08/image1.pngReduce MySQL Costs in the Cloud

Reduce MySQL Costs in the CloudWith the economy slowing down and inflation raging in many parts of the world, your organization will love you if you find ways to reduce the costs of running their MySQL databases. This is especially true if you run MySQL in the cloud, as it often allows you to see the immediate effect of those savings, which is what this article will focus on.

With so many companies announcing layoffs or hiring freezes, optimizing your costs may free enough budget to keep a few team members on or hire folks your team needs so much. 

1. Optimize your schema and queries

While optimizing schema and queries is only going to do so much to help you to save on MySQL costs in the cloud, it is a great thing to start with. Suboptimal schema and queries can require a much larger footprint, and it is also something “fully managed” Database as a Service (DBaaS) solutions from major cloud vendors do not really help you with. It is not uncommon for a system with suboptimal schema and queries to require 10x or more resources to run than an optimized system. 

At Percona, we’ve built Percona Monitoring and Management (PMM), which helps you to find out which of the queries need attention and how to optimize it. If you need more help, Percona Professional Services are often able to get your schema and queries in shape in a matter of days, providing long-term saving opportunities with a very reasonable upfront cost.

2. Tune your MySQL configuration

Optimal MySQL configuration depends on the workload, which is why I recommend tuning your queries and schema first. While gains from MySQL configuration tuning are often smaller than from fixing your queries, it is still significant. We have an old but still very relevant article on the basic MySQL settings you’ll want to tune, which you can check out. You can also consider using tools like Releem or Ottertune to help you to get a better MySQL configuration for your workload.  

More advanced tuning might include exploring alternative storage engines, such as MyRocks (included in Percona Distribution for MySQL). MyRocks can offer fantastic compression and minimize required IO, thereby drastically reducing storage costs. For a more in-depth look at MyRocks performance in the cloud, check out the blog Scaling IO-Bound Workloads for MySQL in the Cloud. 

3. Implement caching

Caching is cheating — and it works great! The most state-of-the-art caching for MySQL is available by rolling out ProxySQL. It can provide some additional performance benefits, such as connection pooling and read-write splitting, but I think caching is most generally useful for MySQL cost reduction. ProxySQL is fully supported by Percona with a Percona Platform subscription and is included in Percona Distribution for MySQL.  

Enabling query cache for your heavy queries can be truly magical — often enough it is the heaviest queries that do not need to provide the most up-to-date information and can have their results cached for a significant time.

You can read more about how to configure ProxySQL caching on the Percona Blog, as well as these articles:

4. Rightsize your resources

Once you have optimized your schema and queries and tuned MySQL configuration, you can check what resources your MySQL instances are using and where you can put them on a diet without negatively impacting performance. CPU, memory, disk, and network are four primary resources that impact MySQL performance and often can be managed semi-independently in the cloud.  For example, if your workload needs a lot of CPU power but does not need a lot of memory for caching, you can consider CPU-intensive instances. PMM has some great tools to understand which resources are most demanded by your workload.  

MySQL Costs in the Cloud

You can also read some additional resource-specific tips in my other article on MySQL performance

In our experience, due to the simplicity of “scaling with credit cards”, many databases in the cloud become grossly over-provisioned over time, and there can be a lot of opportunity for savings with instance size reduction!

5. Ditch DBaaS for Kubernetes

The price differential between DBaaS and comparable resources continues to grow.  With the latest Graviton instances, you will pay double for Amazon RDS compared to the cost of the underlying instance. Amazon Aurora, while offering some wonderful features, is even more expensive. If you are deploying just a couple of small nodes, this additional cost beats having to hire people to deploy and manage “do it yourself” solutions. If you’re spending tens of thousands of dollars a month on your DBaaS solution, the situation may be different.   

A few years ago, building your own database service using building blocks like EC2, EBS, or using a DBaaS solution such as Amazon RDS for MySQL were the only solutions. Now, another opportunity has emerged — using Kubernetes.  

You can get Amazon EKS – Managed Kubernetes Service, Google Kubernetes Engine (GKE), or Azure Kubernetes Service (AKS) for a relatively small premium as infrastructure costs. Then, you can use Percona’s MySQL Operator to deploy and manage your database at a fraction of the complexity of traditional deployments. If you’re using Kubernetes for your apps already or use an infrastructure as code (IaC) deployment approach, it may even be handier than DBaaS solutions and 100% open source. 

Need help? Percona has your back with Percona Platform.

6. Consider lower-cost alternatives

A few years ago, only major cloud providers (in the U.S.: AWS, GCP,  Azure) had DBaaS solutions for MySQL.  Now the situation has changed, with MySQL DBaaS being available from second-tier and typically lower-cost providers, too. You can get MySQL DBaaS from Linode, Digital Ocean, and Vultr at a significantly lower cost (though, with fewer features). You can also get MySQL from independent providers like Aiven.    

If you’re considering deploying databases on a cloud vendor different than the one your application uses, make sure you’re using a close location for deployment and make sure to check the network latency between your database and your application — poor network latency or reliability issues can negate all the savings you’ve achieved. 

7. Let experts manage your MySQL database

If you’re spending more than $20,000 a month on your cloud database footprint, or if your application is growing or changing rapidly, you’ll often have better database performance, security, and reliability at lower cost by going truly “fully managed” instead of “cloud fully managed.”  The latter relies on “shared responsibility” in many key areas of MySQL best practices.  

“Cloud fully managed” will ensure the database infrastructure is operating properly (if scaled with a credit card), but will not fully ensure you have optimal MySQL configuration and optimized queries, are following best security practices, or picked the most performant and cost-effective instance for your MySQL deployment. 

Percona Managed Services is a solution from Percona to consider, though there are many other experts on the market that can take better care of your MySQL needs than DBaaS at major clouds.  

Summary

If the costs of your MySQL infrastructure in the cloud are starting to bite, do not despair. There are likely plenty of savings opportunities available, and I hope some of the above tips will apply to your environment.  

It’s also worth noting that my above advice is not theory, but is based on the actual work we’ve done at Percona. We’ve helped many leading companies realize significant cost savings when running MySQL in the cloud, including Patreon, which saved more than 50% on their cloud database infrastructure costs with Percona. 

 

Learn how Patreon saved more than 50% on database infrastructure costs

Percona Database Performance Blog

Caveman Spark AR-15 Crush Washers That Change Color When Hot

https://www.thefirearmblog.com/blog/wp-content/uploads/2022/08/Spark-Crush-Washers-Orange-180×180.png

Caveman LLC Spark AR-15 Crush WashersEarlier this year, Caveman LLC introduced a series of crush washers for AR-15s that change to bright colors when the barrel starts to heat up past 131 degrees F (55 degrees C). Caveman states that the intended idea behind their Spark AR-15 Crush Washers is to warn shooters when the barrel is too hot to […]

Read More …

The post Caveman Spark AR-15 Crush Washers That Change Color When Hot appeared first on The Firearm Blog.

The Firearm Blog