Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 32251 to 32260 of 45499 « Previous | Next »
MySQL as DBMS Case study

http://www.youtube.com/watch?v=IxdrCDRCKuM is a case study of MySQL made available by Indian Institute of Technology, Madras.

The comments that I posted there did not appear for some reason. So here are a couple of comments:

  1. The one stop resource for MySQL would be http://www.mysql.com and \*not\* http://www.mysql.org
  2. A useful reference for Storage Engines would be http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html

The video lecture is a somewhat 'okayish' type introduction to MySQL.

I am going to deliver a lecture on MySQL with a …

[Read more]
PHP: New network traffic, CPU and memory savings with mysqlnd

BIT and CPU squeezing with Facebook, Tuenti and Andrey - for the die hard experts… The MySQL Client Server Protocol supports two flavours of sending database results to the client send as text and as binary. Unlike the text protocol, the binary protocol avoids converting data into strings whenever possible. For example, the binary protocol send a TINYINT column value as one byte and not as a length coded string of a length of one to four bytes. This saves CPU cycles on the server by avoiding a cast operation and it saves at least one byte of network traffic - sometimes. Furthermore, ext/mysqli will use an (PHP) integer variable instead of a string to hold the column value. This saves memory when caching database results in …

[Read more]
PHP: New network traffic, CPU and memory savings with mysqlnd

BIT and CPU squeezing with Facebook, Tuenti and Andrey - for the die hard experts… The MySQL Client Server Protocol supports two flavours of sending database results to the client send as text and as binary. Unlike the text protocol, the binary protocol avoids converting data into strings whenever possible. For example, the binary protocol send a TINYINT column value as one byte and not as a length coded string of a length of one to four bytes. This saves CPU cycles on the server by avoiding a cast operation and it saves at least one byte of network traffic - sometimes. Furthermore, ext/mysqli will use an (PHP) integer variable instead of a string to hold the column value. This saves memory when caching database results in …

[Read more]
Visual Studio 2008 unreferenced local variable bug

screenshot ’cause typing is for wusses

UPDATE: not actually VS bug. Nasty macro defining strtok_r to strtok on Win32. ouch.

PHP: New network traffic, CPU and memory savings with mysqlnd

BIT and CPU squeezing with Facebook, Tuenti and Andrey - for the die hard experts… The MySQL Client Server Protocol supports two flavours of sending database results to the client send as text and as binary. Unlike the text protocol, the binary protocol avoids converting data into strings whenever possible. For example, the binary protocol send a TINYINT column value as one byte and not as a length coded string of a length of one to four bytes. This saves CPU cycles on the server by avoiding a cast operation and it saves at least one byte of network traffic - sometimes. Furthermore, ext/mysqli will use an (PHP) integer variable instead of a string to hold the column value. This saves memory when caching database results in …

[Read more]
Datetimes and Ints

In my last article I found, and others confirmed (thanks), that timestamps were much slower than datetimes. I next wondered if datetimes were slower than storing dates as ints in the UNIX timestamp format (seconds since January 1, 1970). The conclusion is that ints are a bit faster than datetimes, but not enough for me to give up all the functionality that datetimes provide.

I ran this sql 100 times against tables of about 20 gig, with the innodb_buffer_pool_size=2G and innodb_flush_method=O_DIRECT, to get physical io and make the tests reasonably realistic.

Running this datetime sql 100 times took 21.2 minutes.  The month randomly varied for each of the 100 executions to avoid caching issues. 

select sum(unit) from Sale where purchaseDate >= '2001-02-01' and purchaseDate < '2001-03-01'

Running the equavlent int sql 100 times took 20.7 minutes, a difference of about 2.4%.

select sum(unit) …

[Read more]
Maatkit version 2325 released

There’s a new release with a lot of goodies – speed, efficiency, user-friendliness, and new features. In particular some of Percona’s clients have sponsored features for things they need such as the ability to more frequently verify that replicas are in sync with their masters. If you need features, please ask Percona about it.

Daniel Nichter has written most of the code for this release. Having a dedicated developer is really moving the project forward. Thanks Daniel!

If you check the issues list on the project’s website you’ll see we have some ambitious plans for the project, mostly driven by real-world needs from Percona’s clients, many of whom run very large data centers and such. It makes me really happy that Maatkit is solving serious problems for which no other solution exists.

Here’s the changelog: …

[Read more]
Canadian party includes open source software in election platform

The Green Party of Canada has included Open Source Software in its election platform. How long until a major North American party follows suit? READ MORE

Scaling Digg

Listening to Joe Stump speak at NYC Web 2.0 Expo about scaling digg.

A few notes as Joe is talking.

When scaling needs go up, normalization becomes less likely. Data often needs to be denormalized to spread it around.

Keep cache entries forever and explicitly expire. You may have some things that get used all the time, others that are used less frequently but that should still be left around until they get purged for space reasons instead of time.

MemcachedDB replaced MySQL in their "Green" badges project. Needed 3,000+ writes per second starting with 5 terrabytes of data growing at 7GB per day.

They are building IDDB, which has elastic partitions, eventual consistency, and variable partition types. Will continue developing and then hopefully open source it in a year or so.

BLOB streaming has changed its name and home

Hi all,
So you may have been thinking that maybe calling something "MyBS" was not such a great marketing idea. Even as a developer I have to admit that it isn't the best name abbreviation to have. So we decided to change it. We considered calling it the "BLOB Streaming Engine" but that resulted in the abbreviation "BSE" which also isn't so great. What we have finally settled on is the "PrimeBase Media Stream" engine or "PBMS" which I think is fairly safe.
We have also relocated the source for PBMS from sourceforge  onto LaunchPad where you can find it at: https://code.launchpad.net/pbms