Showing entries 38041 to 38050 of 43781
« 10 Newer Entries | 10 Older Entries »
"Streaming" MySQL slave deployment

In August 2006 I made a post about the MySQL blackhole engine and its possible use for replication scenarios.

Back then the primary focus was to reduce the amount of data being transferred between master and possible many slaves during normal business. This speeds up processing on the slaves, because they have considerably less data to first store to their relay logs and then immediately discard again.

What still takes a lot of time is the initial setup of a slave system. This is because there is a potentially large SQL based dump file to be executed on maybe relatively low-end systems (e. g. Celeron CPUs and single IDE hard drives). While this can be made to work reliably with a set of scripts to automate the process of downloading a zipped SQL file from a local server and running it against the clients' databases, it …

[Read more]
"Streaming" MySQL slave deployment

In August 2006 I made a post about the MySQL blackhole engine and its possible use for replication scenarios.

Back then the primary focus was to reduce the amount of data being transferred between master and possible many slaves during normal business. This speeds up processing on the slaves, because they have considerably less data to first store to their relay logs and then immediately discard again.

What still takes a lot of time is the initial setup of a slave system. This is because there is a potentially large SQL based dump file to be executed on maybe relatively low-end systems (e. g. Celeron CPUs and single IDE hard drives). While this can be made to work reliably with a set of scripts to automate the process of downloading a zipped SQL file from a local server and running it against the clients' databases, it …

[Read more]
irritation of the day?.

There’s a lot of things about the MySQL bug tracking system i like… but there’s a few things that annoy the heck out of me.

Today it’s the fact that if you put a term in the “with any of the words” field on advanced search that’s an number (e.g. ‘839′ as you’re looking for bugs that talk about error 839) you get taken to bug numebr 839. Funnily enough, this has nothing to do with an NDB problem I’m trying to see the status of. grr…

and now, back to your regular programming…

MyThis, MyThat, MySpice, MySquel! Oh MY!!!

So, within MySQL it's not 'allowed' to release or name anything prefixed with 'My' (but MySQL of course). An example is MyODBC doesn't exists anymore, it's Connector/ODBC.

But you see lots of successful MyThis and MyThats.



Bah, anyway, there are lots of them of course. What's 'yours' on the net?

Now Available: Profiling in MySQL

Back around November 2005, I started working on query profiling in MySQL via the SHOW PROFILE and SHOW PROFILES commands. It’s been an interesting ride, but profiling support is finally available in public releases of MySQL starting with MySQL Community 5.0.37!

I had a few thoughts on the process and the feature that I’d like to share:

It’s been rough — Although everyone at MySQL who had seen the patch had wildly positive feedback about it, it took almost a year and a half to get things committed. Chad Miller took up my cause (back in December?) with the profiling patch as well as many others, and things actually started making progress. …

[Read more]
Myths, GUID vs Autoincrement

I am a fan of using GUIDs as primary keys. They are database
independent, object independent and I can either create them in my
application or in the database (MySQL since 5.0 has had a UUID()
function but since it does not replicate I don't use it normally...
this has been fixed in 5.1 though).

What I have heard for years was that Innodb didn't handle them very
well. I have had my doubts, but never taken the time to see if this
was true or not.

This week I finally got around to putting this to a test.

/mysqlslap --concurrency=1,50,100,150,200,250,300 --iterations=10 --
number-int-cols=2 --number-char-cols=3 --auto-generate-sql --auto-
generate-sql-add-autoincrement --auto-generate-sql-load-type=update --
auto-generate-sql-execute-number=10000 --auto-generate-sql-unique-
write-number=10 --auto-generate-sql-write-number=100000 …

[Read more]
[Presentation announcement] HTTP Load Balancing & High Availability with Wackamole

[Update 16/03/2007]: Wrapped up a short post about the proceedings.

Next Thrsday, March 15th 2007, I'll give a short presentation on HTTP Load Balancing & High Availability with Wackamole at the PHP User Group Dortmund. We can use eZ System's office (cheers!) at Emil-Figge-Strasse 80. If you're in the area consider saying hello. We meet at 18:30 (that's 6:30pm :-) and I'll start with the presentation as soon as everybody is there and everything is set up.

You'll learn about how to reliably spread a lot of HTTP requests over a set of machines and when and why it is a good idea to do so. I'll shed some light on the confusion (even if you're not aware of any) about Load Balancing and High Availability and how they relate to scaling HTTP. That …

[Read more]
MySQL: Efficient Stored Procedure Editing

This is not about how to write a Stored Procedure (SP), But how to efficiently write a SP.

MySQL Query Browser

The easiest way to write a SP is to use a MySQL Query Browser, Just select the database and right click the dB and "Create Stored Routite..." This shall help you do easily modify, edit and create procedures.

Command Line

Unfortunately, not many of the dB guys could have access to GUI and create/edit access permissions, they may have to rely on the CLI. This is where create / edit of SPs is the most tedious. Lets set something in our system, before we log into MySQL.

  • In your ~/.bashrc add the following...
    export EDITOR=vim VISUAl=vim
    
  • Create / Edit ~/.vimrc file, and add the following...
    set noai
    set nonu
    
  • Log into the MySQL CLI, and set the following command
    delimiter //
[Read more]
MySQL: Efficient Stored Procedure Editing

This is not about how to write a Stored Procedure (SP), But how to efficiently write a SP.

MySQL Query Browser

The easiest way to write a SP is to use a MySQL Query Browser, Just select the database and right click the dB and "Create Stored Routite..." This shall help you do easily modify, edit and create procedures.

Command Line

Unfortunately, not many of the dB guys could have access to GUI and create/edit access permissions, they may have to rely on the CLI. This is where create / edit of SPs is the most tedious. Lets set something in our system, before we log into MySQL.

  • In your ~/.bashrc add the following...
    export EDITOR=vim VISUAl=vim
    
  • Create / Edit ~/.vimrc file, and add the following...
    set noai
    set nonu
    
  • Log into the MySQL CLI, and set the following command
    delimiter //
[Read more]
Code size of an engine versus test suite

If you count the lines of code in the MySQL Cluster (NDB) test suite (mysql-5.1/storage/ndb/test - and exclude the old ODBC stuff) you come up with about 104000 lines of code. This is in contrast to the approximate other 350,000 lines of code for the NDB engine (excluding the handler, which is an additional 12,000 lines - this isn’t tested much by the NDB test suite… mysql-test-run.pl is meant to take care of a lot of that).

If you go and check the MyISAM tree, it’s only 40545 lines of code - for the entire engine. That’s right, the MySQL Cluster test suite is about 2.5 times the size of MyISAM.

If you look at mysql-test-run.pl tests, which are just lists of SQL commands with static data, it comes up at 250,000 lines (that excludes result files). The NDB tests do things programmatically - so can generate large amounts of data and different loads quite easily.

The architecture of the NDB tests (commonly referred to …

[Read more]
Showing entries 38041 to 38050 of 43781
« 10 Newer Entries | 10 Older Entries »