Showing entries 1 to 10 of 38691
10 Older Entries »
Bulgarian National Lottery chooses Galera Cluster

“We wanted a solution which was backward compatible with our frameworks, as we have used mainly MySQL, which was reliable and nearly 100% data consistent.  If our application were to execute a commit and receive a successful response, we needed a 100% guarantee that we have rows of data in our database — and for more than that one instance.”

There were many options E-CARD explored. “First, we tried MySQL NDB Cluster. That was a very frustrating experience. After that we tried a few other plugins and extensions of MySQL, but they weren’t complete solutions. At the end of this process, we found Galera with MySQL. It responded to our needs nearly 100% of the time.”


Read the full story

Bulgarian National Lottery chooses Galera Cluster

Webinar Wednesday, December 13, 2017: Open Source Database Software Year in Review

Join Percona’s Chief Evangelist, Colin Charles as he presents 2017 Year in Review for Open Source Database Software on Wednesday, December 13, 2017 at 7:00 am PST / 10:00 am EST (UTC-8).

Register Here

2017 is soon coming to an end, and it’s good to pause and take a look at the past year to see the impact of new software release. Colin will discuss the changes, growth and trends that have affected software producers and enterprises using open source.

Key topics will include:

  • How has the software supply chain landscape …
[Read more]
Designing a RDBMS SQL Table

Building tables initially should not really require a lot of thought. What? I'm suggesting that when designing a table think of the Table as a spreadsheet. Yes.

For instance, let's create a table that combines all social scores of a users' media in a single table. We will call this table platform_resources.
What do we need to record the social score total of a single person?

  • Who is this person? How I know this persona. 
  • What is the platform? Which Social Platform does this reference refer to
  • What is the platform identifier? What is the social platform identifier
  • What is a common social score for each user? View, Likes, Comments

So the table above answers my questions. For each piece of media that and interna_name owns, I am able to collect a summary of basic stats. By no means is this optimized. The row size is roughly

[Read more]
Build a GraphQL Server With Apollo Server and AdonisJS

Recently, I have been exploring GraphQL. Apollo (client and server) has really made working with GraphQL awesome. Apollo server has support for some NodeJS frameworks out of the box. When it is comes to NodeJS frameworks, AdonisJS is my preferred choice. Unfortunately, Apollo server does not support AdonisJS out of the box. For this reason, I created an AdonisJS package called adonis-apollo-server which integrates Apollo server with the AdonisJS framework.

In this tutorial, I will show you how to build a GraphQL server with Apollo server and AdonisJS using the package above.

This tutorial assumes you have some basic understanding of GraphQL. With that said, let's jump in and start building our GraphQL server.

What We’ll be Building

For the purpose of this tutorial, we’ll build a GraphQL server with the concept of a basic blog. The …

[Read more]
Sysbench: in-memory and a fast server, part 2

This post has results for in-memory sysbench with 1 table and 8M rows/table. My previous post was for in-memory sysbench with 8 tables and 1M rows/table. The goal is to understand whether performance is lost when there is more contention for a table, and in some cases more contention for the same rows. This repeats tests I ran in September and the results are similar.

There are four tests for which QPS with 1 table is much worse than with 8 tables:

  • update-one - all engines do worse. This is expected.
  • random-points - InnoDB and TokuDB do worse
  • hot-points - all engines do worse
  • insert - InnoDB and TokuDB do worse

All of the data is on …

[Read more]
Sysbench: in-memory and a fast server

In this post I share results for in-memory sysbench on a fast server using MyRocks, InnoDB and TokuDB. To save time I share throughput results at low, mid and high concurrency but skip the HW efficiency metrics that I derive from vmstat and iostat output.

tl;dr - for in-memory sysbench

  • MyRocks does worse than InnoDB for most tests, sometimes a lot worse
  • MyRocks gets up to 2X more QPS for write-heavy tests with the binlog disabled. The cost from the binlog is larger for it than for InnoDB. This is an opportunity to make MyRocks better.
  • InnoDB 5.7 and 8.0 tend to do better than InnoDB 5.6 at high concurrency and worse at low concurrency. 
  • For mid concurrency InnoDB 5.7 and 8.0 tend to do better than InnoDB 5.6 for write-heavy but worse for read-heavy except for range queries
  • InnoDB 5.7 and 8.0 benefit from improvements to range scan efficiency and a reduction in …
[Read more]
MySQL 5.7 reads all your binlog files more often than you think

After upgrading some of our slaves to latest 5.7, I have found  what looks like a serious regression introduced in MySQL 5.7.
A couple weeks ago I noticed that the error log file of one of our clusters, where I had implemented my in place transparent compression of binary logs,  was literally flooded by the following error:

[ERROR] Binlog has bad magic number;  It's not a binary log file that can be used by this version of MySQL

In the above setup this is  an harmless error, and it should only happen at server startup, where mysqld opens and reads all available binary log files.  The error is due to the fact that since files are now compressed, mysqld doesn't recognize them as valid - not an issue, as only older files are compressed, and only after …

[Read more]
Group Replication Features backported to MySQL 5.7

We have brought further enhancement to MySQL Group Replication 5.7 release by backporting some most requested features to MySQL 5.7.20 release:

  • Member weight for automatic primary election on failover
  • Disallow writes after leaving the group

And to MySQL 5.7.19 release:

  • Transaction savepoint support


Member weight for automatic primary election on failover

The Member weight for automatic primary election on failover feature will allow user to influence primary member election using a integer member weight value.…

Embulk: move easily data across datasources

At Drivy, we heavily use Embulk for our data needs. Embulk is an open-source data loader that helps data transfer between various databases, storages, file formats, and cloud services. It can automatically guess file formats, distribute execution to deal with big datasets, offers transactions, can resume stuck tasks and is modular thanks to plugins.

Embulk is written in JRuby and the configuration is specified in YAML. You then execute Embulk configuration files through the command line. It’s possible to inject environment variables and other configuration files can be embedded thanks to the Liquid template engine.

Overview of Embulk's architecture and its various components

The available components are the following:

  • Input: …
[Read more]
Ulimit conflict with PAM and Systemd​​​

As a part of the MySQL Support, we had a support request from a client.The issue is DB server runs out of open files limit, though it is configured. It causes the DB hang and crash at times. Sometimes they can’t able to fix. So we plan to write our experience with configuring. We believe this article can help in configuring appropriate Ulimit value without any obstacles. Let us jump to the subject. What are the errors we might face while ulimit is not properly configured?

  1. Too many open files
  2. System unable to allocate necessary resources for the monitor thread
  3. can’t create new thread, closing connection

The above-shared list is just sample’s, maybe people who currently reading this blog may also face issue related to ulimit, for that they may have different debug …

[Read more]
Showing entries 1 to 10 of 38691
10 Older Entries »