Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Previous 30 Newer Entries Showing entries 31 to 60 of 60

Displaying posts with tag: partitioning (reset)

Enterprise Software as a Service (SaaS) and Partitioning
+0 Vote Up -0Vote Down

 

Partitioning, new with MySQL 5.1, has complicated interactions with queries and indexes.  If one isn’t careful it is easy to degrade performance.   For example, select queries that go with that grain (queries where partition elimination occurs) can be much quicker, but select queries that go against that grain can be much slower.   Queries that go against the grain must query each partition, so for a table with 12 partitions,  one query against that  table can result in 12 queries, one against each of the partitions.  An example of this would be a query against a month partitioned table that is looking to see how much activity a product had in the past 12 months. 

The ideal partitioning scheme would be a system where all queries only needs to access data from one

  [Read more...]
partitioning + auto_increment is buggy!
Employee +0 Vote Up -0Vote Down
Folks, I just want to warn you how buggy partitioned tables with negative values are. Never use negative values for InnoDB auto_increment columns!!!!

There are more bugs than I listed here..

  [Read more...]
MySQL Sandbox and Spider at FrOSCon and OpenSQLCamp
+1 Vote Up -0Vote Down



FrOSCon and the OpenSQLCamp are about to start.
I am packing for Sankt Augustin, where I will attend the fourth edition of FrOSCon and the second OpenSQLCamp. I will have two sessions, Sharding for the masses, about the Spider storage engine and MySQL Sandbox 3, about one of my favorite tools.

The program is very rich. There will be several tracks in the main event and in the associated conferences. If you have any involvement or simply some





  [Read more...]
Why you don’t want to shard.
+6 Vote Up -1Vote Down

Note: This blog post is part 1 of 4 on building our training workshop.

The Percona training workshop will not cover sharding. If you follow our blog, you'll notice we don't talk much about the subject; in some cases it makes sense, but in many we've seen that it causes architectures to be prematurely complicated.

So let me state it: You don't want to shard.

Optimize everything else first, and then if performance still isn't good enough, it's time to take a very bitter medicine. The reason you need to shard basically

  [Read more...]
Partition by column_list ready for alpha testers
Employee +3 Vote Up -0Vote Down
I got time to spend on a really old worklog I completed coding
already october 2005. I blogged about it in July 2006 and
interestingly enough it's still the second most read blog
entry on my blog (probably related to search engines in some
way).

I have merged it with the azalea tree (this is an internal code
name for our development tree, name is likely to change). This
tree contains subquery optimisations, Batched join and some more
optimisations.

I have fixed a whole bunch of bugs that always shows up in early
code. The code quality is still alpha but at least you won't find
10 bugs per hour :)


Here
you can find the launch pad tree for this code.

There are two important additions

















  [Read more...]
Sharding for the masses: the spider storage engine
+5 Vote Up -0Vote Down


In my previous article about the Spider storage engine, I made some tests and I saw that the engine has potential. I did also identify some problems, which were promptly addressed by the author. I have looked at the latest version (0.12), and the results are very much encouraging.

Installing the Spider storage engine is not trivial but not extremely difficult either. My previous article has a



  [Read more...]
MySQL University: Boosting Performance With MySQL 5.1 Partitioning
Employee +3 Vote Up -0Vote Down

This Thursday (June 4th, 14:00 UTC), Giuseppe Maxia will give a MySQL University session on Boosting Performance With MySQL 5.1 Partitioning. Giuseppe is leading the Community team at MySQL and has done various MySQL University sessions before.

For MySQL University sessions, point your browser to this page. You need a browser with a working Flash plugin. You may register for a Dimdim account, but you don't have to. (Dimdim is the conferencing system


  [Read more...]
MySQL University - Boosting performance with partitions
+2 Vote Up -0Vote Down



Mark your calendars: A MySQL University session about Boosting performance with MySQL 5.1 will take place on Thursday, June 4th at 13:00 UTC ( 8am CDT (Central) / 9am EDT (Eastern) / 14:00 BST / 15:00 CET / 17:00 MDT (Moscow) / 18:30 IST (India))
The session will be conducted through DimDim, a system that allows you to follow the audio and visuals of a presentation from your browser, without any additional settings.

Attendance is free. Please follow the instructions given in the





  [Read more...]
Partitioning Presentation from MySQL Conference
+0 Vote Up -0Vote Down

It appears that my presentation isn’t available at the conference site. I’ve added it below.   Sorry for the delay. 

Without some context that I talked about at the conference the presentation may not make sense.

Partitioning creates a grain in the table.  Select queries that go with that grain can be quicker, at times much faster, but select queries that go against that grain can be slower, at times much slower. 

An example is a table that is partitioned by date and has an orderId primary key.  Queries that select data by date will either be almost as fast (partitioning can add a slight overhead) as the non-partitioned table to much faster.   But queries that don’t query by date will have to query all the partitions.  A table partitioned 12 times, one partition for

  [Read more...]
Test driving the Spider storage engine - sharding for the masses
+7 Vote Up -0Vote Down


At the MySQL Conference 2009 I attended a session about the Spider storage engine, an engine with built-in sharding features.
The talk was notable for the speaker wearing a spiderman costume, and for some language barrier that made the talk less enjoyable than it should be. That's a pity, because the engine is very intriguing, and deserves some exploration.

What is the Spider engine, then? In short, it's an extension to the partitioning engine with the ability of connecting to remote servers. Basically, partitions + federated, except that Federated is explicitly removed during the compilation. Additionally, the spider




  [Read more...]
Database Sharding at Netlog, with MySQL and PHP
+0 Vote Up -0Vote Down

This article accompanies the slides from a presentation on database sharding. Sharding is a technique used for horizontal scaling of databases we are using at Netlog. If you're interested in high performance, scalability, MySQL, php, caching, partitioning, Sphinx, federation or Netlog, read on ...

This presentation was given at the second day of FOSDEM 2009 in Brussels. FOSDEM is an annual conference on open source software with about 5000 hackers. I was invited by Kris Buytaert and Lenz Grimmer to give a talk in the MySQL Dev Room. The

  [Read more...]
Database sharding at Netlog (FOSDEM talk slides)
+0 Vote Up -0Vote Down

Here are the slides from yesterday's presentation about horizontal database scaling through sharding at the mySQL dev room at FOSDEM 2009.

I've got a ton of notes and remarks to these slides, which will become available here soon.

FOSDEM 2009 - Boosting performance with MySQL 5.1 partitions
Employee +0 Vote Up -0Vote Down

The MySQL Developers Room at FOSDEM was a success. There was a full room (about 80 seats, and many sitting on the floor) throughout the day. We started at 9am with a talk on PBXT, and ended at 17:00. My talk had a large audience and was very well received.

The enthusiasm was quite high also because of a stunt I did during the presentation. It was a creative way of explaining the difference between physical and logical partitioning. I will repeat this stunt at the MySQL Users Conference, during my Tutorial on Partitioning.
Those who were

  [Read more...]
FOSDEM 2009 - Boosting performance with MySQL 5.1 partitions
Employee +0 Vote Up -0Vote Down

The MySQL Developers Room at FOSDEM was a success. There was a full room (about 80 seats, and many sitting on the floor) throughout the day. We started at 9am with a talk on PBXT, and ended at 17:00. My talk had a large audience and was very well received.

The enthusiasm was quite high also because of a stunt I did during the presentation. It was a creative way of explaining the difference between physical and logical partitioning. I will repeat this stunt at the MySQL Users Conference, during my Tutorial on Partitioning.
Those who

  [Read more...]
FOSDEM 2009 - Boosting performance with MySQL 5.1 partitions
Employee +0 Vote Up -0Vote Down

The MySQL Developers Room at FOSDEM was a success. There was a full room (about 80 seats, and many sitting on the floor) throughout the day. We started at 9am with a talk on PBXT, and ended at 17:00. My talk had a large audience and was very well received.

The enthusiasm was quite high also because of a stunt I did during the presentation. It was a creative way of explaining the difference between physical and logical partitioning. I will repeat this stunt at the MySQL Users Conference, during my Tutorial on Partitioning.
Those who

  [Read more...]
MySQL Webinar on Partitioning — by Use Case Competition Winner
Employee +0 Vote Up -0Vote Down

Do you remember Guy Adams? He was one of the winners of the “5.1 Use Case Competition”, ending up on position #2. Guess what: He has a webinar coming up tomorrow, by the title Deploying MySQL in a High Performance Satellite Network Management Environment by Parallel.
 
Guy works with Parallel Ltd. in Milton Keynes in the UK. You may also want to read up on

  [Read more...]
Some partition movement tricks with MySQL 5.1
+0 Vote Up -0Vote Down

I have been using partitioning in MySQL 5.1 since it has been in late beta, and with the odd bump I’ve been quite satisfied with its stability and ease of use. Perhaps the days of maintaining nasty application logic to maintain tables like table_yyyymm manually are finally over!

While some control freaks out there might still prefer the painful approach of manually keeping dated tables and using merge tables/views to link them together, you still have a lot of flexibility in how you manage individual partitions with the ALTER TABLE REORGANIZE/CHANGE/ADD PARTITION commands.

One trick i’ve discovered to work pretty well, is that you can swap in and out partitions right out from under MySQL’s nose. This can be useful in some situations.

WARNING!! This is not supported by MySQL to the best of my knowledge, and possibly is a risky, bad idea. Proceed only if you think you

  [Read more...]
Q&A on MySQL 5.1
+0 Vote Up -0Vote Down
Listening to Sheeri's presentation on MySQL 5.1, I saw that there are a few questions left unanswered. I am listing here some of the questions that I found interesting, plus a few from an early webinar on the same topic.

Q: does Partitioning physically split data?A: No. Some engines (MyISAM, Archive) do a physical split, but this is not necessary, as you see if you apply partitioning to a InnoDB table. Partitioning is a logical split of data, for easy retrieval. It is completely transparent to the user.Q: Can you set partitions to different servers?A: No. Partitions are logical parts of one table within one server. Partitioning through the Federated engine is not supported.Q: How efficient are Row-Based Replication operations compared to Statement based

  [Read more...]
New in MySQL 5.1: Sheeri’s Presentation
+0 Vote Up -0Vote Down

In a nutshell: What’s New in MySQL 5.1.

Release notes: Changes in release 5.1.x (Production).

And yes, very early on (at about two minutes in), I talk about my take on Monty’s controversial post at Oops, we did it again.

To play the video directly, go to http://technocation.org/node/663/play. To download the 146 Mb video to your computer for offline playback, go to http://technocation.org/node/663/download. The slides can be downloaded as a

  [Read more...]
Tutorial on Partitioning at the MySQL Users Conference 2009
+0 Vote Up -0Vote Down



Another approval has arrived. I will be co-presenting a tutorial at the MySQL Users Conference 2009.
Partitioning in MySQL 5.1. My co-speaker is Sarah Sproehnle, a well known MySQL trainer. The topic is one of the flagship features of MySQL 5.1.

The tutorial will cover the basics, several practical scenarios, tips and tricks, and some sneak peeks of the latest enhancements being developed.
Backing up MySQL partitioned tables is nothing special
+0 Vote Up -0Vote Down
In case you were wondering, after seeing this self-defined tutorial, backing up MySQL 5.1 partitioned tables does not require any particular additional technology.
This tutorial presents MySQL 5.1 in a short paragraph, and then starts talking about a commercial backup application, as if it were the only way of backing up partitioned tables.
The title, for sure, is misleading. Backing Up MySQL Partitioned Tables. Reading such a title, readers expect either a list of possible solutions, or being presented with the only existing way of dealing with this task. Instead, the only instructions that you get is how to use the above mentioned tool, which is definitely not the only way of getting the job done. It is also doubly misleading because, since partitioning is a new technology,

  [Read more...]
Recovery features for ALTER TABLE of partitioned tables
Employee +0 Vote Up -0Vote Down
A feature which hasn't been so public about the implementation
of partitioning is the support for atomicity of many ALTER TABLE
statements using partitioned tables.

This atomicity exists for
ALTER TABLE ADD PARTITION ....
ALTER TABLE REORGANIZE PARTITION ...
ALTER TABLE DROP PARTITION ...
ALTER TABLE COALESCE PARTITION

Given that partitioning often works with very large tables it
was desirable to have a higher level of security for ALTER TABLE
of partitioned tables. To support this a DDL log was implemented.
This DDL log will in future versions be used also for many other
meta data statements. The DDL log will record all files added,
renamed and dropped during an ALTER TABLE command as above.

The design is done in such a way that the ALTER TABLE will either
fail and then all

















  [Read more...]
The partition helper - Improving usability with MySQL 5.1 partitioning
+0 Vote Up -0Vote Down


I talked several times about partitioning usability. In my many tests of partitioning I found myself in need of generating list of partitions for a given range.
I made the Partition Helper to scratch this particular itch, i.e. making partitions reasonably quickly and without thinking too much.
The Partition Helper is a Perl script that converts some simple options into lots of



  [Read more...]
MySQL 5.1 release schedule
Employee +0 Vote Up -0Vote Down

With the delivery of MySQL 5.1 GA, our release policy sees a couple of changes in relation to that of MySQL 5.0.

First, initially we will deliver both MySQL Enterprise Server and MySQL Community Server in parallel. The bug fixes to the initial MySQL 5.1 GA releases will thus be delivered also in binary form for both MySQL Community Server and MySQL Enterprise Server.

Second, after a period of time, we will revert to the different release schedule for MySQL Enterprise Server and MySQL Community Server that we have been using. MySQL Enterprise Server will have more frequent binary releases. However, at this point, we do not have

  [Read more...]
MySQL 5.1 Use Case Competition: Position 1
Employee +0 Vote Up -0Vote Down

MySQL 5.1 is here! It’s announced! And it’s time for the overall winner, Position 1 in the MySQL 5.1 Use Case Competition.

1. Greg Haase (Lotame Solutions Inc., Elkridge, Maryland, USA): Using Partitioning and Event Scheduler to Prune Archive Tables. See Greg’s DevZone article, and his blog.

Thanks and congratulations,

  [Read more...]
Monty Rants or Yet Another Case Of Developers vs Users
+0 Vote Up -0Vote Down
I saw Monty's latest rant and I told myself "here we go again." I blogged before about deaf developers, and here's another symptom of the same disease.
This is another case of a developer, a brilliant one, mind you, one of the brightest in the open source arena, but a developer nonetheless, who has a non-user oriented mindset and is inflicting his view on the users.
I will stay clear of the reasons. Why the co-founder of MySQL decides to spoil the party on release day and ambushes his colleagues with a truckload of blame is beyond my understanding.
What concerns me is the patronizing plea that Monty uses against the users. "Don't use MySQL 5.1"? Really? What about the


  [Read more...]
Quality of 5.1 GA release
+0 Vote Up -0Vote Down

With all due respect to Monty (and I mean that — much respect is due), I have some serious issues with his portrayal of the 5.1 release.  I hate to make my first entry on Planet MySQL about a controversy, but he encouraged people to blog about their experience with 5.1, so that’s what I’ll do here.

Overall Quality

As a long time user, I am very confident that the quality of 5.1 GA far exceeds that of the initial 5.0 GA release (5.0.15).  In fact, I would go further and suggest that the MySQL organization has if anything been too conservative about declaring 5.1 GA.

It’s obviously true that there are still many bugs open.  However no software is bug free, especially not those with codebase as large as MySQL.  So the question is not if they are bug free,

  [Read more...]
Cracking the Tokutek contest with MySQL 5.1
+0 Vote Up -0Vote Down
Hello, blog! Long time without posting. Here I am again.
My attention was caught a few days ago by a contest posted by Tokutek.
This is a company that makes a proprietary engine for MySQL. In their contest, they claim that it takes 20 days to insert 1 billion records into a InnoDB table, and that MyISAM is not even up to the task. In their example, InnoDB inserts 404 rows per second and MyISAM died after a few days of inserting 93 rows per second.
It looks farfetched to me. Surely you can do better than that.
Now, I don't have a quad 3.16Ghz Xeon server with 16GB RAM available like the one used by Tokutek, and so I tried with a modest quad 2.7Ghz AMD, 8GB RAM server. The problem is mostly the same. Once your index becomes bigger than the available



  [Read more...]
MySQL 5.1 Use Case Competition: Positions 5 to 10
Employee +0 Vote Up -0Vote Down

With the GA announcement of MySQL 5.1 coming up, we have picked the winners in the MySQL 5.1 Use Case Competition.

To keep you in suspense, let me first announce those on positions 5 to 10:

5. Fourat Zouari (TriTUX.com, Tunis, Tunisia): Using Partitioning for Data Warehousing. See Fourat’s DevZone article, and

  [Read more...]
A quick usability hack with partitioning
+0 Vote Up -0Vote Down
A few days ago I was describing a common grievance when using partitions.
When you care at a table, like the following
CREATE TABLE t1 ( d DATE ) 
PARTITION by range (to_days(d))
(
partition p001 VALUES LESS THAN (to_days('2001-01-01'))
, partition p002 VALUES LESS THAN (to_days('2001-02-01'))
, partition p003 VALUES LESS THAN (to_days('2001-03-01'))
);

Then you have the problem of finding out the original values. SHOW CREATE TABLE doesn't help.
show create table t1\G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` (
`d` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (to_days(d)) (PARTITION p001 VALUES LESS THAN (730851) ENGINE = MyISAM, PARTITION p002














  [Read more...]
Previous 30 Newer Entries Showing entries 31 to 60 of 60

Planet MySQL © 1995, 2013, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.