MySQL

The world's most popular open source database

Contact a MySQL Representative


  • MySQL.com
  • Developer Zone
  • Partners & Solutions
  • Customer Login
  • DevZone
  • Downloads
  • Documentation
  • Articles
  • Forums
  • Bugs
  • Forge
 
  • You are currently browsing the archives for the PHP category.

  • Pages

    • Press Release: “Kaj Arnö Appointed MySQL VP of Community Relations”
  • Archives

    • May 2008
    • April 2008
    • March 2008
    • February 2008
    • January 2008
    • December 2007
    • November 2007
    • October 2007
    • September 2007
    • August 2007
    • July 2007
    • June 2007
    • May 2007
    • April 2007
    • March 2007
    • February 2007
    • January 2007
    • December 2006
    • November 2006
    • October 2006
    • September 2006
    • August 2006
    • July 2006
    • June 2006
    • May 2006
    • April 2006
    • March 2006
    • February 2006
    • January 2006
    • December 2005
    • November 2005
    • October 2005
    • September 2005
  • Categories

    • Architecture of Participation (42)
    • Connectors (12)
    • Documentation (4)
    • Events (42)
    • Falcon (5)
    • GPL (7)
    • GUI (3)
    • Licensing (9)
    • MySQL (187)
    • MySQL Cluster (4)
    • MySQL Proxy (4)
    • MySQL Server (27)
    • MySQL Users Conferences (24)
    • MySQL Workbench (5)
    • Photography (11)
    • PHP (9)
    • Release Policy (17)
    • Ruby on Rails (5)
    • Running (3)
    • Summer of Code (8)
    • Sun (39)
    • Sun visits (21)
    • Travel (18)
    • Use cases (6)
    • Virtual company (34)



Kaj Arnö

Archive for the ‘PHP’ Category

Lunch with Mayflower

Sunday, March 2nd, 2008

Since well before I joined MySQL in 2001, I have had contact with now-members of the four-headed management team of Germany’s top-notch PHP experts and solution providers Mayflower GmbH.

Mayflowers and MySQLers frequently pop into each other at PHP conferences and other Open Source events, and meet informally under various circumstances ranging from Christmas parties to Biergarten discussions. It’s always interesting to exchange thoughts on virtual companies, Open Source, business models, IRC, scrum, and finding developers (some of which have worked for both MySQL and Mayflower, incidentally). And by sheer coincidence, Mayflower’s Munich headquarters is now about 150 metres from where I live, in the same street that I look out at from my home office (Mannhardtstr.). This time, they copied us, though — I arrived first and they became neighbours several months later …

So you can imagine that I was happy last Friday when I had asked Johann-Peter Hartmann to come to celebrate life under the Sun “with a colleague or two”, and he brought in all three other members of the Mayflower leadership quadruplet: Albrecht Günther, Björn Schotte and Gregor Streng. We had miso soup and sashimi, with hot sake and green tea, at Jin’s Heaven Takumi another 200 metres towards Isartor. Delicious food, good drinks (they wondered I hadn’t brought along salmiak vodka) and entertaining discussions.

Looking forward to more of the same with Mayflower over the years to come!

Posted in MySQL, PHP, Sun, Virtual company | No Comments »

Sun acquires MySQL

Wednesday, January 16th, 2008

This morning, Sun Microsystems announced plans to acquire MySQL AB.

After all the industry speculation about MySQL being a “hot 2008 IPO”, this probably takes most of us by surprise — users, community members, customers, partners, and employees. And for all of these stakeholders, it may take some time to digest what this means. Depending on one’s relationship to MySQL, the immediate reaction upon hearing the news may be a mixture of various feelings, including excitement, pride, disbelief and satisfaction, but also anxiety.

Being part of the group planning this announcement for the last few weeks, I have had the fortune to contemplate the consequences during several partially sleepless nights (I usually sleep like a log). And over the coming days and weeks, I’ll provide a series of blogs with various viewpoints of the deal.

First of all, let’s point out a couple of facts about Sun Microsystems — since all MySQL stakeholders may not be fully up to speed about Sun.

Facts on Sun Microsystems

  • Founded 1982 by Andreas von Bechtolsheim, Vinod Khosla, Bill Joy and Scott McNealy
  • 34.200 employees worldwide, 13.9 billion dollars (9.4 billion euros) in revenues FY 2007, market cap (total value of all Sun shares) about the same as yearly revenues
  • Grew astronomically with the Web, suffered from the Web bubble, now profitable over the last four quarters
  • Lead by Scott McNealy until 2006, now by Jonathan Schwartz (a prolific blogger)
  • The world’s biggest contributor to Open Source: Open Office, Java (now under GPL), GlassFish, NetBeans — and soon MySQL
  • Environmentally friendly; large numbers of distributed employees working at least partially from home
  • Headquartered in Santa Clara, California, just south of Cupertino (MySQL’s North American headquarters)
  • Counts some of the worlds most brilliant innovators amongst its current and past employees

For me personally, I’m excited to get the opportunity to actively contribute to the successful integration of MySQL into Sun. I want to make an impact in merging our corporate cultures, and I look forward to making that a bi-directional process. Since I am based outside the US, I am particularly excited about meeting the many Sun engineers located in Hamburg (Germany), Grenoble (France), Prague (Czech Republic), St Petersburg (Russia), Beijing (China) and Bangalore (India).

But let me now turn to the more general planned implications of Sun’s acquisition of MySQL AB.

What does the acquisition of MySQL by Sun mean for MySQL users?

Given Sun’s proven track record as the largest contributor to Open Source, I think MySQL users have plenty of reason to feel happy about the acquisition. There are many companies that attempt to ride the wave of positive attention towards Open Source, but in my judgement, Sun gets it right. Sun gets Open Source. Java has been released under the GPL. There’s the OpenSolaris operating system. There’s Open Office / Star Office. There’s the GlassFish application server. There’s the NetBeans IDE tool. And more.

Sun’s track record is embodied by individuals with a solid set of FOSS values, such as Simon Phipps (Sun’s Chief Open Source Officer), Ian Murdock (Debian founder, now Sun’s Chief OS Strategist), and Josh Berkus (PostgreSQL lead). I’ve met all three in various FOSS arenas, I respect their work, and I am looking forward to be working closely with them.

Anxiety on the part of MySQL users may stem from Sun’s success with Java and Solaris. Will MySQL’s support for other programming languages and operating systems now be given less attention?

Absolutely not. MySQL is still being managed by the same people, and the charter is still the same. There is no need for reducing the set of platforms or languages. It only makes sense for us to continue to support defacto Web development standards like LAMP, as well as emerging ones like Ruby and Eclipse. This deal is about addition, not subtraction.

But let’s dwell on the topic of Solaris a bit. Solaris has a special position in the heart of MySQL, as it was the first platform under which MySQL was developed. Linux came second. Internally, code coverage tests were long performed just on Sun. And with the DTrace probes planned as part of 6.0, some types of optimisation of MySQL applications are the easiest on Solaris.

I would expect that having access to the topmost Solaris and Java experts within the same company will accelerate our development for the benefit of MySQL users on the Solaris platform, and in the Java environment, respectively.

But I don’t expect that in any way to be at the cost of other popular operating systems (Linux, Windows, Mac OS/X, other Unixes etc.) or development environments (PHP, Ruby on Rails, Perl, Python, ODBC, C++, C#, VB etc.). MySQL grew with LAMP and MySQL without LAMP at its core is simply unimaginable. It was MySQLs part of LAMP that interested Sun in the first place. Hence I don’t see Sun having a platform migration strategy, but to continue to be an integral part of the dot in .com.

So while the news may be especially good for MySQL users on Solaris and/or Java, the news is definitely good irrespective of environment: As part of Sun, the MySQL database will have immediate access to technical, marketing, OSS developer relations and sales rescources that would have taken us years to build as an independent company.

What does the acquisition of MySQL by Sun mean for the core MySQL community?

I’d like to think that the acquisition of MySQL by Sun will be seen as good news also by the core group of users who form the active MySQL community. This is because Sun is a safe haven for MySQL. Sun knows Open Source, and to the extent things change, I expect Sun to add value to our community. I don’t expect huge change, though. We continue to work with our quality contributors, we continue to provide our MySQL Forums, the Planet MySQL blog aggregator, we remain on the #mysql-dev and #mysql channels on Freenode, we provide MySQL University lessons, we meet at the MySQL Users Conference. We’ll put effort into connecting the many FOSS enthusiasts and experts at Sun — whom we will now learn to know better — with our active user community.

What does the acquisition of MySQL by Sun mean for the MySQL employees?

Admittedly, this blog is not directed at MySQL employees. We have a different, internal blog called “Village MySQL” for that purpose (as opposed to “Planet MySQL”). But many of our users, community members, customers, and partners have close relationships with MySQL employees — and you may be interested in what Sun’s acquisition of MySQL means for the employees.

For employees, Sun’s acquisition means continuity. Mårten Mickos will continue to lead us, and our executives and key engineering leads plan to join Sun. In addition, our existing engineering staff will be invited to come over as well. Sun executives have made us feel very welcomed and valued.

Very important for our employees is the fact that we can continue to work on Free and Open Source software. We can continue to work from home (as most of us do, including myself). Titles, reporting structures, and long-term goals may change, but as acquisition goes, the Sun culture as I’ve experienced it so far seems fairly similar to ours.

And — whether it’s destiny, divinity or just good luck — we get the opportunity to digest all of this together, during the MySQL All-Company Meeting here in Orlando. It goes on this week until Saturday 19 Jan.

Being acquired by Sun is unique for all of us MySQLers. But for two very special employees, it’s something even more. I’m thinking of our founders, Michael “Monty” Widenius and David Axmark. I’m very happy for them. Sure, the transaction has a financial impact on them, and it’s positive. But we’re humble Scandinavians, so we don’t flash money, nor even talk about it. More importantly, I can see their heritage being in good hands at Sun. They didn’t develop MySQL in order to Get Rich Quick; in fact, they rejected offers that would have accomplished that goal during the Bubble. They developed MySQL in order to have a positive impact on the world of computing. And as a step in that direction, they took in venture financing.

VCs are more motivated by money than our founders, and obviously look for a return on their investment. That involves either an IPO or a trade sale. Of all candidates to acquire MySQL, I cannot imagine a more ideal buyer from a founder perspective than Sun Microsystems. If I know our founders right (and I’ve known Monty since the late 1970s and David since the 1980s), they will use this deal as an opportunity to accomplish even more within the space of Open Source and Sun Microsystems.

Congratulations, Monty and David! And congratulations, MySQL users, community members, customers, partners and employees!

P.S. I promise more later!

Posted in Architecture of Participation, MySQL, PHP, Ruby on Rails, Sun, Virtual company | 91 Comments »

Navigating categories within my blog

Saturday, December 15th, 2007

With 130 entries in the “MySQL” category and no MySQL-related subcategories, my blog had become impossible to search and navigate easily.

And thus I created a number of new categories for the MySQL entries within my blog. They’re listed in the left navigation bar, below the months, as well as below:

  • MySQL Server, MySQL Cluster, Falcon
  • Connectors: PHP, Ruby on Rails
  • Tools: GUI, MySQL Workbench, MySQL Proxy
  • Events: MySQL Users Conferences
  • Licensing: GPL
  • Architecture of Participation, Summer of Code, Virtual company
  • Other: Release Policy, Documentation, Use cases

I hope this will make my blog more (re)usable.

(The picture is from this summer, when navigating the way up the Großvenediger, a 3662 m high mountain in the Hohe Tauern region of Austria.)

Posted in Architecture of Participation, Connectors, Documentation, Events, Falcon, GPL, GUI, Licensing, MySQL, MySQL Cluster, MySQL Proxy, MySQL Server, MySQL Users Conferences, MySQL Workbench, PHP, Release Policy, Ruby on Rails, Summer of Code, Use cases, Virtual company | No Comments »

OSCON Lightning Talk: “State of the Dolphin”

Friday, July 27th, 2007

Today at OSCON, MySQL co-founder Michael “Monty” Widenius and I presented the “State of the Dolphin” lightning talk.

My slides for this preso weren’t too graphic, which makes them all the easier to reuse in this blog:

Use our new software!

  • Use MySQL 5.1, it‘s soon going RC
  • Use Falcon, it‘s soon going Beta (new transactional storage engine, faster than InnoDB on large servers)
  • Use MySQL Workbench (ER Tool), Now Beta
  • Use MySQL Proxy, just released
  • PHPers: Use mysqlnd (Native Driver)

Go test MySQL 5.1!

  • We‘re happy with the quality
    • More stable than 5.0 was four months after GA
    • RC happening very soon, GA within a few versions after that
    • A better MySQL 5.0 (thousands of small fixes)
  • We‘re happy with the new functionality
    • Table / Index Partitioning
    • Row-based replication – Transfers data instead of commands
    • Full-text indexing parser plugins – Flexible full text search
    • Disk-based Data Support for MySQL Cluster
    • Replication Support for MySQL Cluster
    • XPath Support - helps any customer wanting to better navigate and search XML documents stored in MySQL
    • Internal Task Scheduler (Events)

Other goodies coming soon (5.2, 6.0, …)

  • Global Backup API
  • Falcon and Maria (MyISAM++) storage engine
  • Further new storage engines
  • Hash & Merge joins (faster subselects)
  • Federated tables over ODBC
  • Foreign key support for all engines

Participate in our Development!

  • Report bugs! Test them! Submit patches!
  • Hang out on Freenode IRC #mysql-dev
  • Subscribe to commits@lists.mysql.com to see our code reviews
  • Attend MySQL University, the foremost education for MySQL developers (of C/C++ code, not apps)
  • MySQL Forge: List your MySQL apps! Upload your code snippets! Fix the missing documents!
  • Go visit MySQL Forge Worklog
    • Voting for best features starting soon

Hiring!

We are hiring outstanding C/C++ developers with systems or database engineering experience.
Visit www.mysql.com/jobs or email resume to jpugh@mysql.com

Posted in Architecture of Participation, Events, Falcon, MySQL, MySQL Proxy, MySQL Server, MySQL Workbench, PHP, Release Policy | No Comments »

mysqlnd (the MySQL native driver for PHP) needs testers and benchmarkers

Saturday, July 7th, 2007

MySQL welcomes external verification by high-volume LAMP websites of the performance improvements gained by replacing libmysql with mysqlnd.

To recap some basics from the mysqlnd download page at http://dev.mysql.com/downloads/connector/php-mysqlnd/:

The MySQL native driver for PHP is an additional, alternative way to connect from PHP 5 and PHP 6 to the MySQL Server 4.1 or newer. It is a replacement for the libmysql, the MySQL Client Library. From now on you can use ext/mysqli either together with libmysql as you did in the past or with mysqlnd.

We have no plans to remove libmysql support from ext/mysqli, which would break existing applications. We just add a new, superior alternative to our PHP offerings.

For development discussion and bug reporting a new mailing list has been created php@lists.mysql.com. See also http://lists.mysql.com/.

Georg Richter has now sent the PHP extensions for mysqlnd to the PHP Core Team for reviewing. The interfaces to PHP may then be put directly into the PHP CVS repository, whereas mysqlnd remains to be downloaded from MySQL’s download site.

The code base of mysqlnd has been synchronised with the PHP CVS repository of php.net. While mysqlnd was originally designed for PHP 6, Andrey Hristov has now finished the backport of mysqlnd to PHP 5 and added support for ext/mysql. Given that 60 % of the PHP user base is still on PHP 4, some heavy PHP users would like to see the backporting done all the way to PHP 4. We are evaluating that, but have no immediate plans for such a backport.

Our next ambition is to prove that mysqlnd is stable and meets the need of the most demanding PHP users. And that is where we need help from the user community. We are looking for testers among PHP users with a high server load, ideally willing to do benchmarks.

Typically, mysqlnd is at least as fast as libmysql. We are writing a MySQL Technical Whitepaper with further details on the performance of mysqlnd, which will be published soon. The document confirms previously published results for the Dell DVD Store, which show ext/mysqli with mysqlnd to be about 5% faster than libmysql. Now, we would like an external verification of our performance improvements, but a small web site is not proof enough, as differences will show up only under high load. We are curious to learn how big the overall speed-up is for a top web site, given that the time spent in the database interface is only a fraction of the overall web page generation time.

Our team has increased their Quality Assurance efforts to further stabilise mysqlnd. Code Coverage analysis with GCOV shows that our tests cover 88% of the underlying ext/mysql C-code, 93% of ext/mysqli and 83% of mysqlnd. We are proud of our improved figures. If you want to compare the values to those of PHP 4.4 and 5.2, check out http://gcov.php.net/.

Due to the help of Kent Boortz in the MySQL Build Team, we are building mysqlnd routinely on 28 platforms. We have run our test suite against more than 20 MySQL Server versions. Still, the positive lab tests need to be confirmed by field usage, quite as the performance figures.

So if you run a high load web site based on PHP and MySQL,

(i) read up on how to get mysqlnd, how to install it, and on the features & limitations as well as the FAQ on the download page

(ii) subscribe to php@lists.mysql.com at http://lists.mysql.com/

(iii) talk to Jay Pipes (at firstname@mysql.com) or Ulf Wendel (at firstname.lastname@mysql.com)! Or, better still, catch them on IRC (#mysql-dev on Freenode).

Posted in Connectors, MySQL, PHP | No Comments »

MySQL Camp: mysqlnd native PHP driver

Saturday, November 11th, 2006

Small but good interaction with Bill Karwin of Zend, Taso Du Val of Fotolog and others during the MySQL Camp session on mysqlnd native PHP driver that I’ve blogged about earlier.

Ulf Wendel of MySQL will soon be posting a survey on the new API calls to mysqlnd, so stay tuned for that.

Posted in MySQL, PHP | No Comments »

Pure PHP driver FAQ: Asking Georg Richter

Thursday, October 26th, 2006

Within hours of yesterday’s blog on a pure PHP driver, Georg Richter had been on the German PHP IRC channel as well as on efnet IRC. Georg wrote an FAQ in German.

“For MySQL’s PHP team (Ulf Wendel, Andrey Hristov and myself), the plan to publish a new library under the PHP license in March 2007 is not only a challenge and a programming task, but also an opportunity to improve upon what we already have“, Georg writes. “The new MySQL differentiation between Community and Enterprise gives us the possibility to speed up the implementation of features essential to PHP, without being as dependent on MySQL release cycles as before“, he concludes his overview.

Then, Georg provides this FAQ, based on the “partly skeptical, partly enthusiastic” questions he got over IRC and email, as the maintainer of the mysql extensions:

Q: A new PHP driver — is this yet another MySQL Extension for PHP?

A: No. When we talk about the “pure PHP driver”, we refer to a new library that substitutes libmysql.

Q: libmysql is tested in detail, and stable since a long time. Why something new?

A: The libmysql API was developed primarily for C/C++. MySQL wants to keep it lean. MySQL supports many programming languages, that all differ in their properties and working methods, and this reflects itself as differing requirements on the API. It’s impossible to get all of these onto one library. Besides technical arguments, there are also legal ones. There are incompatibilities between the GPL and the PHP license, as pointed out in the original blog.

Q: Will PDO and ext/mysql support the new library?

A: Initially, we will only support ext/mysqli. When we have a certain stability, we’ll actively support the PDO developers. At any rate, we will take PDO into account already in the design phase, including the wishes of the PDO developers.

Q: So what are the advantages for the developer? What candy will we get?

A: There will absolutely be advantages. Personally, I am looking for a clear performance boost, which our first tests have already indicated. Other advantages are less memory usage and leaner code. On top of that, we plan new functions, like client side query caching. But these are still only in the design phase.

Q: And what are the disadvantages?

A: With choice comes the need to decide between two solutions: The proven old one, and the new one, that will surely need some maturing time. Also, it will to begin with not be possible to use the embedded server with the new library.

Posted in MySQL, PHP | 1 Comment »

Developing a pure PHP driver for MySQL

Wednesday, October 25th, 2006

Talking to the PHP community members, I see a recurring theme:

How does MySQL integrate with PHP — both from a technical and from a licensing perspective?

MySQL provides several ways to integrate between PHP and MySQL, most notably the ext/mysql and ext/mysqli drivers for PHP. These rely on the GPL licensed libmysql library, which by its nature is not compatible with the PHP license. With our not-so-optimally-named “FOSS Exception” , we have extended the rights of our community to use MySQL together with a number of non-GPL FOSS licenses, including the PHP license. This solution works well for many in the PHP community.

But we want to do more:

We plan to develop a pure PHP driver for MySQL, to be licensed under the PHP license itself and donated to the PHP Group for inclusion into PHP6.

We hope this will remove any and all licensing issues that the PHP community might otherwise have with MySQL.

Besides resolving licensing issues, we want the new pure PHP driver to technically integrate better with MySQL:

  • we intend to add support for client-side query caching in the PHP driver for MySQL, probably already to MySQL 5.1 Community Server
  • we intend to add support for a Prepared Statements cache to the PHP driver for MySQL, also implemented on the MySQL Server

We believe both of these will bring added technical value to users of PHP6. Tentatively, we should be able to deliver this in stages starting Q1 of 2007, in time for the preview release of PHP6.

We are still working out the details of this. Expect to see more specifics soon after the PHP conference in Frankfurt early November. Once we have worked out the details, I look forward to this initiative turning into a commitment from our side, and delivering results in the form of a more community-friendly, pure PHP driver for MySQL!

Posted in MySQL, PHP | 5 Comments »

PHP database interfaces: PDO or PDBC?

Tuesday, September 27th, 2005

In a comment to my posting on MySQL 5.0 getting bug free, Lukas Smith wants MySQL to promote PDO.

I had a chat with Georg Richter about this. He tells me he is working on a PDBC (”JDBC for PHP”) specification and prototype which allows people

a) to write database independent programs
b) to migrate easily from or to other applications (e.g. Java)
c) write powerful applications
d) to reuse existing code written in Java or C++.

Georg’s goal for the upcoming OSDBCON (and PHP Conference) is to find some people from other OS DB projects which like the idea and would like to contribute to PDBC.

So, if you want to be involved in PDBC, talk to Georg at the OS DB Conference 8-9 November 2005 in Frankfurt (where I will also give a presentation on “10 Years of MySQL: Building a Commercial Open Source Software Company”).

Posted in MySQL, PHP | 4 Comments »

Kaj Arnö is proudly powered by WordPress MU running on Blogs.mysql.com.
Entries (RSS) and Comments (RSS).