Showing entries 36231 to 36240 of 44872
« 10 Newer Entries | 10 Older Entries »
CLA looming around the php world again

I have complained about this IP protection blabla put forth by CLA protected projects previously. But I keep hearing the same (imho false) arguments that CLA's are a non issue. I was kind of shocked that neither the Zend nor the eZ Systems representative at the PHP Conference in Frankfurt was unable to display that he actually knows what is in their respective CLAs. One issue is the one-way OSS, where due to the explicit copyright grant required, it becomes hard to cherry pick OSS code. While thats annoying, the bigger issue imho is the problem of the patent grant clause found in all CLA's I have seen (which all seem to be derived from the apache CLA). I keep bringing up this point until people who push CLA's will finally stop repeating lies about them. Saying that single developers do not need to worry about getting sued over patent infringements is simply wrong.

Anyways, we …

[Read more]
Organic vs Directed design

Trying to make a good first few implementation iterations is hard and is sometimes made harder by specifications which are not minutely detailed. When the specification is vague, organic development sometimes seems to excel, partly because there is little or no worries about refactoring or redesigning as necessary. Trying to make something absolutely perfect on the first iteration is difficult,

IPV6 support for MySQL

Today I finally had some time to go back and work on refactoring the patch Milos did for his Google Summer of Code project for MySQL. I started doing this about a month ago but hit a snag with my time and wasn't able to get back to it.

Well...

[brian@zim client]$ ./mysql --protocol=tcp --host=::1 --user=root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.2.6-alpha-debug-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>




So now it is just a matter of a few more cleanups to make it work. I fixed the localhost hack to handle issues with ipv6 having a different scheme for 127.0.01.
I've dropped a source tarball here:

[Read more]
Japan: Be Quick! 20% Off Certification Exams

Following up on the release of the Japanese versions of the certification exams, our Japan office has decided to run a campaign with a 20% discount off the exam price.

You gotta be quick, though… this is only for the first 100 takers!

One thing about this campaign that’s pretty cool is that you get a choice: You can either take a straight discount, reducing the exam price by 20% up-front. Or you can pick another option and get a gift card to Amazon for the same value.

More information (in Japanese, of course) available here.

Workbench beta adventure on Linux with Mono/WINE

MySQL Workbench has a beta out! No idea why its version 5.0.9, but its highly exciting. This software existed before, but this is quite unlike its predecessor. One snag for me is that it is Windows-only at the moment, with Linux and OS X versions to follow suit.

However, due to excitement, I decided to try running it on Linux, anyway.

Seeing that it is a .NET application, I thought I’d pass it through MoMA (the migration analyser). Everything passed, so I got excited. Running mono MySQLWorkbench.exe however, led me to a failure:
** ERROR **: Method ‘<Module>:<CrtImplementationDetails>.DoDllLanguageSupportValidation ()’ in assembly ‘/home/byte/Downloads/MySQL Workbench 5.0.9 OSS …

[Read more]
When starting out building an application should I use Complex Joins?

I get questions on how to build mysql application from time to time, and I wanted to share the response to the question below.



In the beginning, should a developer try and stay away from complex JOINS? Is it better to use many smaller queries and cache the results (using something like memcached) rather than 1 larger query requiring multiple table JOINS?

Needing to scale for millions of users is a great problem to have, but should I worry about it in the beginning? Whats the best approach to db design for day 1?



Well IMHO build the application, build it to spec. When the scope changes (and this will always happen) flow with it. This is in no means a knock against Product-I actually look forward to this, because things are being discussed and if something needs to change lets do it!

Now how to build the application to scale: Look at the scope of a page …

[Read more]
My Blog is on PlanetMySQL!!1oneone!!1

Firstly, I'd like to thank Jay Pipes for adding me to planetmysql. If you came to my blog through this website, then welcome. I promise I will try to continue to write good quality posts and maybe even use the spell checker from time to time.

So let me introduce myself. My name is Jonathan and I am currently employed by a company that owns a online hotel-reservation system. I have been living in Beijing, China for the last year and soon plan to move back to the UK. I am creative at finding solutions to problems and I use this blog to express my ideas. I started this blog to try to contribute back to the MySQL community by coming up with new ideas and hopefully implementing them as well.

So the purpose of this post is to highlight my previous posts (my greatest hits).

[Read more]
DRBD storm

These days, DRBD is a popular way of achieving HA without having to pay for a SAN and it plays nicely with MySQL. DRBD uses a network connection to mirror two disk partitions on two servers and can use a lot of bandwidth so, usually, the servers are connected through a crossover cable. Recently, I did an engagement where we were setting DRBD for a 100 GB partition on two servers hosted in one of the largest hosting company in the US. For extra reliability, the DRBD private network was using a bond of two Ethernet adapters on each servers.

For a reason that I am not aware of, the hosting company chose to use a VLAN for the private DRBD network instead of a pair of crossover cables. When we started the first DRBD synchronization, loading the private DRBD network at 110 MB/s. At that point, something interesting happened… Here is the explanation of the network engineer of the hosting company. Because of the bonding and the bonding mode chosen …

[Read more]
Controlling optimizer performance

The optimizer is the part of the mysql server whose responsibility is to discover the optimal plan (the execution oath) to solve an SQL query.
When dealing with joins there exist various execution paths depending on the number of tables involved. The number of possible plans to investigates grows exponentially with the number of tables. This is not a problem for queries with few tables (less than 10) but could be a serious problem when the number of tables climbs.
When dealing with dozens of tables the time spent to evaluate all possible plans to solve the query is longer than the execution of the query itself. Not good.
Starting from version 5.0.1 MySQL introduces a flexible method to avoid the possible bottleneck when you have lot of tables joined in a query.

Using the system variable optimizer_prune_level (possible values are 0 or 1) you can tell the optimizer to skip certain plans from being inspected based …

[Read more]
libeatmydata

Following my successful linux.conf.au talk “Eat My Data: How Everybody Gets POSIX File I/O Wrong“, I started to feel the need to easily be able to have my data eaten.

Okay, not quite. However, when you’ve written your software properly, so it uses fsync() correctly, opening files with O_SYNC or whatever - tests take longer as you’re having to wait for things to hit the rust.

So….. LD_PRELOAD=libeatmydata.so to the rescue! With a POSIX compliant fsync() (that does nothing) and filtering on open(2), it can take your test run times down dramatically.

The only time you shouldn’t use it for your tests is when you end up crashing the machine to test durability (i.e. when the OS doesn’t have the opportunity to cleanly write out the data to disk).

See the …

[Read more]
Showing entries 36231 to 36240 of 44872
« 10 Newer Entries | 10 Older Entries »