Quite a few people have chimed in on a recent discussion about PHP, MySQL, database abstraction layers, and performance. I think enough viewpoints have been covered that I don’t need to comment, but one question I don’t see answered is “what are the qualities of a good SQL abstraction layer?” I think it’s a very interesting—and complicated—question. As it turns out, the term has several meanings, and I think it’s important to understand them.
Setting up MySQL replication is fairly easy. Just tell the slaves which master they need to connect to and make sure the master is writing binlogs. Ok, it is a little more complicated, but in the end it's pretty straight-forward.
If however you have large number of slaves and a rather busy master machine, the network load can become significant. This is because all statements that are written to the binlog are transferred to all the slaves. They put them into their relay logs and asynchronously process them. Each slave may decide which statements need to be executed and which can be discarded. This is especially useful in setups where there are tables modified on the slaves that should not be replicated.
Use case
In a production scenario we have up to 35 slaves configured against a single master. The master does "full" binlogs, i. e. no exceptions are made. This is done on purpose, because the binlogs are backed up for …
[Read more]
mysql> CREATE TABLE `a` (
-> `a` text
-> ) ENGINE=TABLE_FUNCTIONS DEFAULT CHARSET=latin1
CONNECTION='/ usr/lib/libhello.so' ;
Query OK, 0 rows affected (0.04 sec)
mysql> select * from a;
+--------------+
| a |
+--------------+
| Hello World! |
| Hello World! |
+--------------+
2 rows in set (0.02 sec)
mysql>
This is one in a series of articles on how to use innotop, a MySQL and InnoDB monitor. In this
article I'll explain how innotop can make it much easier to
collect useful information from SHOW STATUS
and
SHOW VARIABLES
into one place. There are three modes
in innotop that do this in different ways, so one of them may
meet your needs.
Scaling Patterns This is a translation of a
german language article I wrote two weeks ago
for my german language blog.
In 2004, when I was still working for web.de, I gave a little talk on Scaleout on Linuxtag. Even back then one major message of the talk was "Every read
problem is a cache problem" and "Every write problem is a problem
of distribution and batching":
To scale, you have to partition your application into smaller
subsystems and …
I’ve recently completed a contract and I’ve been in discussions with agents and other employers for further work. Having had one of the worse experiences in my previous work, I’ve been extra careful to ensure what I’m told at the interview/meeting stage is indeed true and accurate (in my last case it was not). I’ve also not made the assumption that an organisation that is dependent on software has placed a certain level of value on what’s in place. (in my last case I did, simply due to the size of the organisation and volume of business).
So, when being asked by people what I’m seeking, outside of the technical skills and compendencies, I’m seeking an organisation that places value on it’s existing software, it’s software quality, it’s software improvement and most importantly it’s software developers. It was unfortunate that for an organisation that lived in software, and would not survive long (especially at …
[Read more]The article that Peter Gulutzan and I wrote a couple of weeks ago is now online:
MySQL 5.1 New Features: MySQL Partitions
Here’s a brief outline:
- A Grammar Description That’s Expressed Differently From The
Manual
- Partitioning Types
- Creating Partitioned Tables
- Partitioning Keys, Primary Keys, and Unique Keys
- Altering Partitioning Tables
- Performance Considerations
- Advantages of Partitioning
- Partition Pruning
- Maintenance of Big Tables
- Doing It With Dates And Times
- Some Simple Speed Tests
- Comparison With Other Database Systems
- Examples:
- Creating a Table With …
This is one in a series of articles on how to use innotop, a MySQL and InnoDB monitor. In this article I’ll explain how innotop can make it much easier to collect useful information from SHOW STATUS and SHOW VARIABLES into one place. There are three modes in innotop that do this in different ways, so one of them may meet your needs. Note: VividCortex is the startup I founded in 2012.
MySQL has been one of the most popular databases amongst the
Pentaho community. We receive questions and comments regularly
about setting up and writing solutions for Pentaho on MySQL,
which tells me people are putting MySQL to work in the business
intelligence space. These questions were the catalyst for our
Tech Tips, a collection of very useful how-to's
for the Pentaho platform and Pentaho tools.
Today, I published a short tech tip regarding how to move the Pentaho sample data from HSQLDb to
MySQL. Not rocket science, yet definitely made much easier
with a Kettle transformation donated by Nic Guzaldo - thanks
again Nic! Check it out, it's a good example of moving data with
Kettle and also is a great utility tool to stick in your Pentaho
toolbox. …