MySQL with Sun Products

To say the past few months have been a whirlwind is an understatement.

And thanks for the reminders, I recognize it's been a while since I've posted a blog. For reasons why, just click here to read the background. And before you ask, SEC regulations and securities laws limit what I can discuss about the Oracle transaction, so don't expect any insights on the topic.

But there's still a ton going on at Sun - with JavaOne (June 2nd, in San Francisco) coming up fastest on the horizon. We're preparing to reveal what I believe is one of the most important advancements ever for the Java community - and this time, it's all about revenue and business opportunity.

As you know, we're fond of throwing great big numbers around when talking about Java's distribution: billions of PCs', mobile devices, and smartcards, millions of enterprise servers, set top boxes, Blu-Ray DVD players and a growing number of very cool Kindles (buy one here). Very few technologies on the internet have anywhere near that kind of distribution muscle. Adobe's Flash, and Microsoft's Windows are just about its only peers when measured by runtime volume.

But not all Java runtimes are the same. For most devices, from RIM's Blackberry to Sony's Blu-Ray DVD players, original equipment manufacturers (known as "OEM's") license core Java technology and brand from Sun, and build their own Java runtime. Although we're moving to help OEM's with more pre-built technology, the only runtimes currently that come direct from Sun are those running on Windows PC's.

And oddly enough, that's made the Windows Java runtime our most profitable Java platform. I thought I'd provide some insight into that business here, and then introduce a project we're planning to unveil at this year's JavaOne, known internally as Project Vector.

As a business model, traffic for traffic's sake isn't that interesting (but never confuse traffic with adoption). Free internet traffic is only interesting if a third party is willing to pay to drive distribution of their content to your audience - from highway billboards to internet runtimes, businesses will pay for exposure and distribution to drive their business, whether through branding/advertising, delivering news, or selling movies or retail products. "Getting distribution" used to mean getting access to bricks and mortar distributors in shopping malls - nowadays, it means having another company propel your content into the market via the internet.

Now to that point, a few years ago, we called our friends at one of the world's largest search companies (you can guess who), to talk about helping them with software distribution - because of Java's ubiquity, we had a greater capacity than almost anyone to distribute software to the Windows installed base. We signed a contract through which we'd make their toolbar optionally available to our audience via the Java update mechanism. They paid us a much appreciated fee, which increased dramatically when we renegotiated the contract a year later. Distribution was becoming quite valuable to us and to them - and given the "take" rates, or the rates at which consumers were choosing to install new content, the Java audience saw value in the new application.

The year following, the revenue increased dramatically again - when an aspiring search company (again, you can figure out who) outbid our first partner to place their toolbar in front of Java users (this time, limited to the US only). Toolbars, it turns out, are a significant driver of search traffic - and the billions of Java runtimes in the market were a clear means of driving value and opportunity.

The revenues to Sun were also getting big enough for us to think about building a more formal business around Java's distribution power - to make it available to the entire Java community, not simply one or two search companies on yearly contracts.

And that's what Project Vector is designed to deliver - Vector is a network service to connect companies of all sizes and types to the roughly one billion Java users all over the world. Vector (which we'll likely rename the Java Store), has the potential to deliver the world's largest audience to developers and businesses leveraging Java and JavaFX. What kinds of companies might be interested?

If you talk to a Fortune 500 company or a startup, pretty much everyone craves access to consumers - which is the one problem we've solved with the Java platform. Most folks don't think of Sun as a consumer company, and largely we're not, but our runtimes reach more consumers than just about any other company on earth. That ubiquity has obvious value to search companies, but it's also quite valuable to banks looking to sign up new accounts, sports franchises looking for new viewers, media companies and news organizations looking for new subscribers - basically, any Java developer looking to escape the browser to reach a billion or so consumers.

How will it work? Candidate applications will be submitted via a simple web site, evaluated by Sun for safety and content, then presented under free or fee terms to the broad Java audience via our update mechanism. Over time, developers will bid for position on our storefront, and the relationships won't be exclusive (as they have been for search). As with other app stores, Sun will charge for distribution - but unlike other app stores, whose audiences are tiny, measured in the millions or tens of millions, ours will have what we estimate to be approximately a billion users. That's clearly a lot of traffic, and will position the Java App Store as having just about the world's largest audience.

This creates opportunity for everyone in the developer community - and specifically, for any developer (even those not using Java/JavaFX) seeking to reach beyond the browser to create a durable relationship with their customers (and btw, don't forget to join us for CommunityOne - the day before JavaOne, June 1st, same location - click the graphic to learn more). Remember, when apps are distributed through the Java Store, they're distributed directly to the desktop - JavaFX enables developers, businesses and content owners to bypass potentially hostile browsers.

For details on how Vector will work, when it'll be available, how to submit your content or application - alongside insights into Project Vector's technology, roadmap, features and business model, come see us at JavaOne... In the interim, you can learn more about the latest JavaFX news at sun.com/javafx, and download the latest JavaFX design tools at netbeans.org.

And although we obviously don't comment on rumors, we might even have a special guest or two at JavaOne.

See you in San Francsico (or on the webcast...)!

MySQL 5.4 Scaling on Nehalem with Sysbench As a final followup to my MySQL 5.4 Scalability on 64-way CMT Servers blog, I'm posting MySQL 5.4 Sysbench results on a Sun Fire X4270 platform using the Intel x86 Nehalem ...
MySQL 5.4 Sysbench Scalability on 64-way CMT Servers As a followup to my MySQL 5.4 Scalability on 64-way CMT Servers blog, I'm posting MySQL 5.4 Sysbench results on the same platform. The tests were carried out ...
MySQL 5.4 Scalability on 64-way CMT Servers Today Sun Microsystems announced MySQL 5.4, a release that focuses on performance and scalability. For a long time it's been possible to escape the confines of a single ...

Open Source Benchmark Kit for SugarCRM has been recently released on-line. This benchmark kit is a standardized benchmark kit that can be used to measure the performance of SugarCRM 4.5.1 and 5.2.0 releases. The source and instructions to use the benchmark kit can be downloaded from here: http://kenai.com/projects/erpbench

Using the Open Source Benchmark Kit for SugarCRM the performance of SugarCRM 4.5.1i has been measured on Sun X4270 Server. The following results were obtained on this server.

Final Result: 66.937 @CRM Ops/Sec, Total Users: 330


Server Configuration

Sun X4270

SSD Drives (2 x 32GB)

2 x Intel X5570 Processors

24GB RAM

Software Configuration

SugarCRM 4.5.1i

Apache 2.2.11

MySQL 5.0.67

PHP 5.2.9

Open Solaris Build 110



Throughput and Response Time Graphs for CRM Operations

The CRM Operations are divided into three drivers that call these operations during the benchmark. I have provided the throughput graphs for all the three including the Response Times.








Open Source Benchmark Kit for SugarCRM

This kit is based on the Faban Harness that is known to scale well for thousands of concurrent user simulations across distributed drivers. More information regarding Faban can be obtained from the project website here: http://faban.sunsource.net/

This benchmark is based on the typical functions that can be performed on a CRM application like SugarCRM. The following Business Objects are used during benchmark runs.

Module

List View, Detail View

Create, Delete

Login

-

-

Contacts

Yes

Yes

Meetings

Yes

Yes

Tasks

Yes

Yes

Accounts

Yes

Yes

Opportunities

Yes

Yes

Leads

Yes

Yes

Emails

Yes

Yes

Notes

Yes

Yes

Cases

Yes

Yes

Logout

-

-



Performance Tunings

The following tunings were applied to SugarCRM 4.5.1i for this benchmark:

#file name config_override.php

#Some of the following are available only in 5.x

$sugar_config['calculate_response_time'] = false;

$sugar_config['verify_client_ip'] = false;

$sugar_config['use_real_names'] = false;

$sugar_config['stack_trace_errors'] = false;

$sugar_config['developerMode'] = false;

$sugar_config['disable_count_query'] = true;

$sugar_config['hide_subpanels_on_login'] = true;

$sugar_config['disable_vcr'] = true


#file name config.php following lines are modified

'special_query_limit' => 9000000,

'default_limit' => 9000000,

The following tunings were applied to the MySQL database configuration:

#file name /etc/mysql/5.0/my.cnf

[mysqld]

port = 3306

socket = /tmp/mysql.sock

datadir = "/db_ssd/data"

back_log = 50

max_connections = 5000

max_connect_errors = 10

table_cache = 2048

max_allowed_packet = 2M

binlog_cache_size = 8M

max_heap_table_size = 128M

sort_buffer_size = 64M

join_buffer_size = 128M

thread_cache_size = 3000

thread_concurrency = 3000

record_buffer = 8M

query_cache_size = 256M

query_cache_type = 1

query_cache_limit = 4M

query_prealloc_size=65536

ft_min_word_len = 4

default-storage-engine = innodb

thread_stack = 192K

transaction_isolation = REPEATABLE-READ

tmp_table_size = 1024M

log_long_format


server-id = 1

key_buffer_size = 64M

read_buffer_size = 8M

read_rnd_buffer_size = 64M

bulk_insert_buffer_size = 128M


innodb_additional_mem_pool_size = 1024M

innodb_buffer_pool_size = 1G

innodb_data_file_path = ibdata1:2048M:autoextend

innodb_data_home_dir = /db_ssd/data

innodb_file_io_threads = 8

innodb_thread_concurrency = 0

innodb_flush_log_at_trx_commit = 1

innodb_log_buffer_size = 16M

innodb_log_file_size = 1G

innodb_log_files_in_group = 2

innodb_log_group_home_dir = /ZFS_DISK/db/logs

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120


In the last three updates to this blog, I've tried to set out a clear direction of where Sun's headed. I've talked about our three basic priorities:

1. Technology Adoption
2. Commercial Innovation
3. Efficiently Connecting Adoption and Commercial Opportunity.

I'm hoping you've got a clear picture surrounding the first of these two priorities - how and where we drive software adoption, and focus our commercial efforts.

So now I'd like to talk about the linkages - while also addressing one of our biggest strategic challenges, our scale.

Selling Scale
First, why is scale a challenge for Sun? To be clear, I'm not talking about purchasing scale. As I've said before, we use innovation to drive product profitability, not simply bulk purchasing leverage. The scale to which I'm referring is selling and marketing scale. With Sun's current products, we could be selling to twice the number of customers we currently serve - our products appeal to an audience far greater than our customer base. But we're limited by our size - our sales and partner force has a tenth the resources of our biggest peers.

This is a particularly tough problem to solve in the midst of an economic downturn. Growing customers while reducing employees is an obvious challenge.

But it's also a huge opportunity. We have fewer than 100,000 customers worldwide. Using just one example, there are more than 10,000,000 MySQL users globally - reaching an additional 1% of them could more than double our customer base. The question is obviously how - we know we're relevant to those users, but we and our partners can't very well put sales reps on airplanes to visit all 10,000,000.

To answer that question, I'd like to examine what may seem like a tangential topic... the search business.

Discovering Intent
Now, why is the search business so valuable? Because it's an exceptionally efficient means of harvesting intentionality - if a consumer is searching for "flights to Cairo," the odds are good she's in the market for a trip to Egypt. That intent represents a ton of value for the airlines, hotel chains and car rental companies that serve travelers to Egypt. Whoever first recognizes that intent can broker a relationship between the traveler and those businesses, and charge a healthy toll for the privilege (that's the heart of on-line advertising). A discount airfare to Cairo, presented alongside the results of a "flights to Cairo" search, has a far higher likelihood of generating a ticket purchase than an unqualified billboard or ad in a newspaper. It's easier to find needles in haystacks when the haystacks are sorted by needle count.

Now I want you to think about the model I've described in these last few entries - Sun's business starts with exceptionally high volume free software adoption, literally millions of assets each day. What does that have to do with search?

Well, what is a customer telling us when they download software? Depending upon what they're downloading, they're telling us about what they value. If you're downloading MySQL or ZFS, you're more than likely storing data. If you're downloading OpenOffice.org, you're likely to create, save and maybe print documents. If you download VirtualBox, our virtualization software, you're telling us you work with multiple operating systems. An enormous stream of this kind of data funnels into Sun every day - signaling intent from customers spanning every corner of the world's technology market. That's the foundation of our analytical marketing activities.

Individuals and organizations opt-in to tell Sun, by what they download, what they're intending to do - which gives Sun a unique vantage point surrounding what comes next. If your company is downloading Lustre, the leading parallel file system for supercomputing, the odds are good you're on your way to building a supercomputing facility. Sun uniquely optimizes our solutions around Lustre, and we target those offers to an obviously interested user community. This is one reason we've been growing in the supercomputing market. We use software innovation to drive preference for Lustre - the majority of top supercomputing sites now use it. We target our product and service development to optimize for facilities using Lustre. And we target our selling and marketing activities around users that identify themselves to us - by downloading Lustre, or whitepapers and content related to it.

But as I've said, the majority of free software users aren't going to be building million dollar supercomputers, nor will they be issuing million dollar software purchase orders. And therein lies a new opportunity - one that helps us address our scaling challenges, as well.

Introducing Sun's Cloud
That opportunity is for Sun's Cloud - which we just announced today - to deliver commercial network services to the entire free software community.

Let's start with what we announced today.

This morning, Dave Douglas, the SVP of our Cloud Computing business, announced we're building the Sun Cloud, atop open source platforms - from ZFS and Crossbow, to MySQL and Glassfish. With more than 4,000 developers hard at work on these enabling elements, and a twenty year history of network scale software innovation, we're very comfortable with our technology lead. By building on open source, we're also able to radically reduce our costs by avoiding proprietary storage and networking products.

Second, we announced the API's and file formats for Sun's Cloud will all be open, delivered under a Creative Commons License. That means developers can freely stitch our and their cloud services into mass market products, without fear of lock-in or litigation from the emerging proprietary cloud vendors.

Third, unlike our peers, we also announced our cloud will be available for deployment behind corporate firewalls - that we'll commercialize our public cloud by instantiating it in private datacenters for those customers who can't, due to regulation, security or business constraints, use a public cloud. We recognize that workloads subject to fiduciary duty or regulatory scrutiny won't move to public clouds - if you can't move to the cloud, we'll move the cloud to you.

The Developing Cloud
How will developers use the cloud? Let me give you a very basic example - inside Sun, we're just now rolling out a version of OpenOffice extended for the cloud. If you take a look at the File menu in this picture, you'll see menu items that don't exist in your version - but will exist in Sun's distribution. "Save to Cloud," and "Open From Cloud..." will enable OpenOffice users to use our public cloud to store and retrieve documents from the network, rather than their PC. We're in beta deployment inside Sun as we speak, and with around 3,000,000 new users joining the OpenOffice community every week, the opportunity to deliver this as a public service, to nearly 200,000,000 users, adn their employers, is really exciting.

The same applies to, say, VirtualBox - our desktop virtualization product, used by millions of users across the world. VB users will see a new feature later this year, offering an upload service to those wishing to archive or run multiple OS/application stacks - in Sun's Cloud. Those users have already told us they run multiple OS's - now that we know their intent, delivering a cloud to add value is a simple step forward. The same will apply to Glassfish and NetBeans, whose adoption helps us discover and recruit application developers - who might have a similar interest in running and/or storing apps in the cloud.

So in addition to offering the basic infrastructure services developers have come to expect (storage, compute, bandwidth), we'll be bringing tens of millions of free software users a library of cloud services and design patterns - designed to enhance the value they derive from the underlying software, while encouraging community development around open clouds. And all this will be based on what users have already told us they're interested in.

The Network is the Computer
To me, this is the embodiment of Sun's vision statement, the Network is the Computer. The breadth and quality of Sun's open source software is well known, and has created a user community that numbers in the hundreds of millions across the globe. The evolution of Sun's cloud and cloud services, from remote storage to remote execution, will allow us to grow our market, and the value we deliver to customers - even in, and perhaps amplified by the economic downturn. Clouds are just as interesting to students and startups as they are to Fortune 500 customers. If you're interested in Sun's Cloud, just head over to sun.com/cloud.

The network is the computer has always been one of the most powerful statements describing the future of the technology we build. For the first time, we expect to translate that mission statement to our business model, investing in the free software community to grow our market, and leveraging the network to grow the value we deliver - to a market, and partner community, far larger than Sun.

And in that connection between adoption and commercial opportunity, we see near limitless opportunity, measured only by the scale of adoption we can achieve in a world where bandwidth is as pervasive as electricity, and free software adoption continues to accelerate.

With that said, this brings to a close this discussion of who Sun is, and where we're headed. I hope it's been useful. We're a very simple business, we strive to do three basic things. To drive free software across the world, both because it's good for the planet and innovation, and it's good for our business. Second, to deliver the world's most compelling technologies to captivate developers and deployers, alike. And finally, to put those assets to work in creating opportunities in the cloud, for our customers, our partners and for Sun, as well.

Thank you for your time and attention, I'll see you next time.

As I referenced in my prior entry, I'm reviewing Sun's three major strategic imperatives, and our progress going in to next fiscal year. Our strategic imperatives, in order, are:

1. Technology Adoption
2. Commercial Innovation
3. Efficiently Connecting 1. and 2.

This entry focuses on the second, Commercial Innovation, and reviews our core revenue products, services and strategies.

By now, you understand Sun's approach to growing the market - driving adoption of key technologies drives Sun's addressable market. Once you're using one of our fundamental technologies, Sun's innovations focused on those technologies are relevant to you. The beauty of free distribution is you don't have to pick customers, they pick you.

Three very valuable markets emerge from this adoption. I'll focus on the first two here, the products and services we sell.

The first market is obvious. Software isn't downloaded onto air.

Systems Innovations
There's always some system platform underneath software - sure, it might be a laptop in a dorm room*, but it's just as likely to be into a Fortune 500 company, attached to servers, storage and networking equipment. All told, this datacenter systems market is more than $150b annually.

And in this datacenter market we build exceptional systems - screaming fast entry level servers, all the way up to the most efficient mainframe class systems. We build super fast storage, from our new flash based platforms to eco-efficient tape and archive solutions. We also build the world's fastest networking switches, powering the planet's largest supercomputers. We cover the entire spectrum, and work with the smartest partners in the industry to serve customers across the globe. Although we focus on our own technologies, like Java, MySQL and Lustre, we also optimize for VMware, Microsoft's Windows and we're generally recognized to run Oracle better than anyone on the planet.

Now, you heard me call these our Systems products, not just hardware products. These systems are obviously more than just naked components, they're engineered with remote management and monitoring, component redundancy, integrated virtualization, and on board storage and networking. That's why our margins are higher than the industry's***. I'm very proud of our Systems team, they are the most talented platform engineers on earth, and they earn consistently stellar reviews.

But where's this first market headed? Here's where it's going to get interesting.

Datacenter Systems Convergence - Who Plays? Wins?
As I've said before, general purpose microprocessors and operating systems are now fast enough to eliminate the need for special purpose devices. That means you can build a router out of a server - notice you cannot build a server out of a router, try as hard as you like. The same applies to storage devices.

To demonstrate this point, we now build our entire line of storage systems from general purpose server parts, including Solaris and ZFS, our open source file system. This allows us to innovate in software, where others have to build custom silicon or add cost. We are planning a similar line of networking platforms, based around the silicon and software you can already find in our portfolio.

We believe both the storage and networking industry's proprietary approach, and their gross profit streams, are now open to those us with general purpose platforms. That's good news for customers, and for Sun.

At the heart of this convergence is Solaris - enabled by technologies such as ZFS (around which we're building our entire storage line), and Crossbow (around which you'll see us build some very compelling networking products). Technologists interested in ZFS and Crossbow can visit OpenSolaris.org, or request an OpenSolaris CD (click the CD image).

I've provided a picture here to make the point - these three industries (servers, storage and networking), are converging, driven by the raw performance of the underlying server operating system and microprocessor.

That means these adjacent markets are all open to Sun and the Solaris community. Leveraging inexpensive, general purpose components is one big advantage for us, but there are others - using a general purpose OS allows us to easily embrace specialized components (from flash memory to GPU's), or adapt to new storage or networking protocols entirely in software. The underlying OS and server are so fast, these extensions and enhancements are simple feature updates, and ones we can leverage across servers, and storage and networking.

This isn't to say the networking or storage companies don't have their own operating systems. They do, but in both instances, they're proprietary, have tiny volumes, and despite paying lip service to open standards and the Linux community, their core operating software is unavailable to developers, it's truly proprietary. Their niche OS's also lack cross industry support, which is why our Solaris OEM agreements with IBM, Dell, Intel, Fujitsu and HP are so important to our end customers - they know they'll never be locked in. Today's storage and networking vendors remind me of the server vendors in the late 1990's - with expensive software bolted to expensive hardware. Ultimately forced open by innovation.

At Sun, open source isn't for servers. Open source is for datacenters.

Where's the Money?
Let's also look at the financial backdrop to this convergence. For these networking and storage vendors, entering the server market means suffering profit degradation - the server industry is vastly more competitive than the storage and networking marketplace.

On the other hand, as Sun grows into the storage and networking markets, we're thrilled with higher profit margins. We're unique among platform vendors in being able to deliver Servers, Storage, Networking and Virtualization on our own terms, very well integrated and at our own prices. How will we differentiate against our peers?

Simple. Integration, innovation, and as a result of building atop open source and commodity components, we are the low cost supplier. They, on the other hand, will be forced into all kinds of contorted partnerships and complex reselling arrangements. They may ship the boxes, but they won't control the platform software - or profit streams.

How is our Systems business doing? The portions of this business sensitive to software adoption, primarily the low end of all these products, is doing quite well, growing double digits**. The weakness in our Systems business is really focused on the high end. This reflects really two things - the first is the deferrability of high end system purchases. Our high end business was up 20% a little over a year ago, it was down more than 20% in the December quarter of 2008 - across the industry, customers are holding off on big ticket purchases.

The second, and arguably more important headwind was a decision made back in the 1990's to cancel Solaris on Intel, in the belief it would protect Sun's SPARC hardware business. Conversely, that mistake destroyed a generation of Solaris developers, and accelerated the rise of alternatives to traditional SPARC hardware. And now you understand why we prioritize developers - they are the seeds from which great forests grow. If you don't water the roots, the trees wither.

But how do you make money giving software away to developers? Well, let's switch gears, and talk about Software and Services.

When Free is Too Expensive
One of my favorite customer stories relates to an American company that did nearly 30% of its yearly revenue on Christmas Day. They were a mobile phone company, whose handsets appeared under Christmas trees, opened en masse and provisioned on the internet within about a 48 hour period. When we won the bid to supply their datacenter, their CIO gave me the purchase order on the condition I gave him my home phone number. He said, "If I have any issues on Christmas, I want you on the phone making sure every resource available is solving the problem." I happily provided it (and then made sure I had my direct staff's home numbers). Christmas came and went, no problems at all.

A year later, he was issuing a purchase order to Sun for several of our software products. To have a little fun with him (and the Sun sales rep), I told him before he passed me the purchase order that the products were all open source, freely available for download.

He looked at me, then at his rep, and said "What? Then why am I paying you a million dollars?" I responded, "You can absolutely run it for free. You just can't call me on Christmas day, you'll be on your own." He gave me the PO. At the scale he was running, the cost of downtime dwarfed the cost of the license and support.

Numerically, most developers and technology users have more time than money. Most readers of this blog are happy to run unsupported software, and we are very happy to supply it. For a far smaller population, the price of downtime radically exceeds the price of a license or support - for some, the cost of downtime is measured in millions per minute. If you're tracking packages or fleets of aircraft, running an emergency response network or a trading floor, you almost always have more money than time. And that's our business model, we offer utterly exceptional service, support and enterprise technologies to those that have more money than time. It's a good business.

All in/all up, our Software business is among the fastest growing businesses at Sun. I've attached our latest financial summary at the end of this blog. We span network identity (built with the OpenDS community), application infrastructure (biult with Glassfish and OpenESB), data management (built with MySQL, ZFS and Lustre), embedded software (such as Java, and the emerging JavaFX), alongside our core operating system and virtualization software (Solaris, OpenSolaris and VirtualBox). These open source platforms generate, alongside the services attached to them, over a billion dollars a year, making Sun by far and away the world's largest open source software company. (For those that continue to ask if we make money with Java, the answer is yes, it's on a ramp to hit about $250m this year - one of our best businesses - and that's just Java on consumer devices, excluding servers).

Every day, these products are being adopted globally, driving university curriculum, corporate trials and design wins, influencing skills, even supporting Presidential campaigns. We know not every download yields revenue or users, but they do yield awareness and trials - a small, but intensely valuable portion of which yields revenue and profit. Our sales reps see the purchase orders at the point of value, not at the point of download. The revenue's recognized over the period of the Service contract - a business model the rest of the industry, at least for mass market products, will inevitably adopt. Fighting free and open software, like fighting free news or free search, is like fighting gravity - and btw, gravity gets a lot stronger during economic downturns.

Conclusion
And in a nutshell, that's how we monetize adoption - with targeted, high value innovations.

We deliver the world's most effective and efficient Systems portfolio, spanning x86 and SPARC servers, storage and networking. And the world's most appealing Software and Services products, spanning embedded software to high performance file systems.

We call all these products network innovations. I know that defies industry categorization, but that's what innovation's all about, defying categorization.

I've only touched on two of the three opportunities opened by mass adoption. And with that as a teaser, I invite you to return for the final blog entry, talking about what might be the most valuable of them all - a market enabled by the innovations described above, and set to transform the entire marketplace. Embodying the phrase, The Network is the Computer.

See you then.

-----------------------

* and before you dismiss those users, some of the world's biggest internet companies/datacenters were started on laptops in dorm rooms... a trend I expect to accelerate.

** Sun's x86 systems business, for example, grew over 11% last quarter, when both HP and IBM's comparable businesses shrank in double digits. For those wondering "how do you differentiate?", just ask our customers.

*** Compared to other industry standard server vendors.

As I referenced in my prior entry, I'm reviewing Sun's three major strategic imperatives, and our progress going in to next fiscal year. Our strategic imperatives, in order, are:

1. Technology Adoption
2. Commercial Innovation
3. Efficiently Connecting 1. and 2.

This entry focuses on the first, Technology Adoption. Adoption is a non-economic phenomena, no money is spent, only time - yet it has extreme financial consequences. Let me give you an example.

I was with a big customer of ours last year, and reading through my account briefing before the meeting, I knew we were doing well. An analysis of their download activity showed they were heavy users of Solaris and OpenSolaris, and they had a large internal community of MySQL users, as well. In the meeting, their CIO said "we love where Solaris is headed." I then asked if we could help with MySQL, and he said... "I banned it."

Not exactly a buying signal.

I was stunned. I asked, "why?" He responded, "Oracle is our global standard, and with 20,000 developers, people need to follow the rules." I said we had a very good relationship with Oracle, and started talking about how fast Oracle runs against our new Open Storage products. Until he interrupted me, "...but my ban failed." What? "We hire lots of people out of college every year, and they all come in knowing MySQL. All my prototypes are written to MySQL, and now I have a big base of MySQL apps I don't want to port, and a bunch of MySQL programmers I don't want to retrain. So I'd like a commercial relationship."

In a nutshell, that's adoption in action. Change in IT isn't just a top down phenomenon - it's more often bottom up*.

Innovation vs. Reselling Innovation
What's the cost of missing that adoption? For Sun to resell a 1-way x86 server running Microsoft's Windows or Red Hat yields (at best) a 10% gross profit margin. Very few companies have the scale to survive on those margins. More to the point, when you resell someone else's products, your customer relationship isn't built with the CIO or technology directors, it's built with their reverse auction web site. For technology companies, the same applies to reselling any product you don't own - it's impossible to differentiate with anything more than a cheaper price. A price your supplier can, and will always, undercut.

Alternatively, when a user picks our products - when they build their storage on ZFS, their network on Crossbow, or their application on MySQL, independent of whether they've paid, they've created an opportunity for Sun - going forward, there's only upside. It's called positive option value.

Not to dip into finance 101, when the net present value of a lifetime revenue cycle exceeds the value of a one time purchase, a product or service that initiates the payment stream is either freely distributed (if it has no marginal cost, like software), or subsidized (if it has a hard cost). That's why you see so many free credit cards, free checking account, free mobile phones, free month's rent, free social networking, etc. In the technology world, free is the new black.

Free Markets
That's also why the internet's most valuable brands are *all* free - Amazon, Google, EBay, Skype, Yahoo!, Facebook, Hi5, MySpace, Baidu, TenCent, etc. Those brands reach more and have greater affinity than just about any other consumer brands. And in the technology marketplace, Linux, Java, MySQL, Firefox, Apache, Eclipse, NetBeans, OpenOffice.org, OpenSolaris, the same applies - free is a universal price, requires no currency translation, and reaches the longest tail of the market.

Now, could Amazon charge you to shop? Could your bank charge you to open an account? Google charge you to search? Could Sun charge people to download MySQL or OpenOffice.org? Sure, we could also destroy those brands in a matter of days. If you're not free, by definition you miss serving those that can't afford, or aren't ready to pay - which means your audience is capped, or destroyed if your competition is already free.

Microsoft's the only company I didn't include in the above list - and although I consider them a stupendously great brand, they're the only company that can really approximate free while making money on the distribution of their products. The fact is they're bundled on almost every PC across the planet, and appear "free" to the users who use those PC's - they've amassed immense power with their distribution, and few users believe they're paying for Windows when they buy a personal computer.

Thus, to developers (Sun's target market) with Windows PC's, Microsoft's product are, in effect, already free. (As an aside, notice Microsoft inexorably moving toward free distribution, too, to reach new users - at some point, you can't bundle every product on every computer, it'd be like printing a Sunday edition of the newspaper every day of the week).

This is exactly why we freely distribute our key software assets all over the world - if we didn't, users and developers might pick someone else's free product (or simply use the one they assume to be free). And if they picked someone else's product on which to build their business or their application, Sun becomes a reseller - which isn't our mission or business model. It's a free market, in every sense.

The customer I referenced in my first entry

that said, "I haven't visited Sun in five years, but all of a sudden you seem to matter to my developers" was saying he was seeing exactly that, a lot more of our products used by his developers - from VirtualBox to MySQL, Glassfish to ZFS. For some users, and nearly all developers, budgets aren't measured in dollars, they're measured in time and attention - if you want those audiences to spend their time and attention with you, you have to earn it. If you earn it, a preference forms. For Sun, we drive that preference over our competition, primarily proprietary alternatives.

Our Products are Our Ads
Now, the words "driving preference" are used by the advertising industry when talking about branding. Businesses brand or advertise to drive awareness of or preference for their products. In the case of a Nike or Toyota, both have to spend fortunes to "buy media," or acquire the ad space (or airtime) through which they'll present, free of charge to consumers, the images or content they feel best represents their brands.

Why doesn't Facebook advertise? Because Facebook itself is a branding experience. Using Facebook drives preference for Facebook. And their audience, in users, outreaches just about every media company on earth. It would make no sense for them to buy media, they are media.

For the audiences Sun cares about, those building, deploying or buying technology, we've got a similar reach. By being freely distributed, our products build their own audiences. And using the products, from Glassfish to ZFS or NetBeans, creates a branding experience (and a wildly positive one, if we're doing our jobs well). So why don't we advertise in traditional outlets? Well, every day, the number of people using our products, getting that positive branding experience, eclipses nearly all major newspapers globally, combined.

By proliferating Sun innovations, even encouraging derivatives that will never drive revenue to Sun, we are creating preference for open source, awareness of Sun as an innovator, and displacing proprietary vendors that can't build comparable audiences. That preference has value to us, and to the broader communities in which we participate. The value spans awareness, market penetration, skills development, ecosystem expansion - a healthy community is a growing community.

How else is adoption or preference valuable? Volume adoption attracts application developers, and can drive tipping effects - once one independent software vendor, or ISV, picks your platform, others that work with that ISV follow suit. If you do a good job, you lead an avalanche of ISV's to pick your platform - which makes it more appealing to end users. That's why Red Hat has such a durable Linux model - once Oracle picked Red Hat as the Linux to which they'd first certify Oracle's database, the ISV's that relied on Oracle certified only to Red Hat, which tipped the market to Red Hat so strongly that not even Oracle has been able to undo that grip.

So adoption drives the ecosystem, which drives more adoption and more expansion... you get the idea. It's a virtuous cycle, a cycle that starts with volume adoption.

What Adoption Looks Like
So what does "Adoption" look like? Here's a picture, which shows the ramp we're seeing from free software adoption across the world for some of our key datacenter assets.

For competitive reasons, I won't specify which products are shown, but suffice it to say we're very happy with the ramp, and we love great product reviews - that's what drives the spikes. The troughs are weekends. Bear in mind these are datacenter assets (like Glassfish and OpenSolaris), not consumer runtimes (like Java or OpenOffice.org), so these downloads influence datacenter design. Every day, our software is working hard to drive preference in startups, in government agencies, dorm rooms, ISV's, fortune 100 IT shops, everywhere the internet reaches. Free products reach everyone interested in them, no barriers.

On the consumer side, OpenOffice.org, which certainly promotes Sun's vision of open standards and data formats, reaches nearly three million new users - every week. Adding them to a user base we estimate to be between 150 and 200 million users. Talk about global circulation.

Our products are our brands and one of our most effective means of driving design wins - in front of users, developers and OEM's. In markets as diverse as high performance computing and grid scheduling, web databases, application infrastructure and desktop virtualization. Free distribution and access to source code is our investment in the global developer community. We invest with our code, our ideas and time, and we promote and encourage derivatives. We gain by reaching people we'd otherwise never reach - and earning their attention and engagement. Even if we're never paid, that's positive option value.

Another way of looking at adoption are these "pink dot" maps - they show us where our products are gaining users via opt-in registration. My favorite dots on the map shown are in places we clearly have no sales coverage - I'd like to say hello to our users on the Falkland Islands, thank you for choosing Solaris :)

What's the value of all that adoption? Like the value of search, shopping, or opening a bank account, there's no instantaneous value beyond the fact you've chosen to invest your time and energy in our ecosystem, and not our competition's. At global scale, that makes us an enormously tough competitor for proprietary companies, or those without true innovation. For example, to get a sense for what our proprietary storage competitors are facing everywhere around the globe, Google the phrase, "love ZFS".

But as with all free business models, the real value arises in what comes after free - and that's my teaser to get you to read the next blog entry, focused on our Commercial Innovations.

Thanks, again, for reading, watching and commenting.

---------------------------------

* as I often say to groups of CIO's, "which one of you gave permission to your employees to search on Google?" No one ever raises their hand :)

And to my readers/viewers for whom English isn't your first language... I'm doing my best to talk more slowly. I will redouble those efforts in the next video... thank you for watching!

We've been making a fair number of announcements recently - on both the product and the partnering front. That's generated a lot of interest, and a fair number of questions. So I thought I'd take the opportunity to deliver this overview and the upcoming focused discussions on what makes Sun tick in a video format. Let me know if this is useful, or what else we can do to keep you informed via the comment field at the bottom.

We're approaching the end of our fiscal year, and given all the swirl in the economy, I thought it worthwhile to restate where Sun's headed as a company, to let customers, partners, employees and investors see and understand where we're headed. Clarity's always useful, doubly so in times of uncertainty.

Let me start by joining the chorus of those worried about the global economy. I am routinely talking to customers now partially owned by governments, whose share prices have declined 95% or more, whose balance sheets and basic business models are under extraordinary duress. Like every business, our health is a derivative of our customers', and to that end, we've got our challenges - sure, innovation loves a crisis, but only after customers have stepped out from under their desks.

The glass isn't only half empty. I'm also seeing customers who've never had it better, from media startups and telecommunications firms, to government agencies flush with new funding - but they're certainly a cheerful minority.

Sun is privileged to have an exceptionally strong balance sheet, over $3 billion in cash, and a nearly two decade history of generating positive cash flow. We've also got a set of technologies and people that continue to play an ever more vital role in the economy. Sun's products help companies grow and help them consolidate, and they help governments stimulate the economy, as well. From building bridges to automating health care, government stimulus will undoubtedly drive technology investment, and we're well positioned to participate globally.

Which is all to say, I'm neither worried about the role information technology will play in the economy, nor am I worried about the relevance of Sun's offerings. I'm not worried about the future, I'm focused on its arrival date.

So I'm going to divide my comments on Sun's future into three or four blog entries, of which this is the first. You're going to see an accelerating series of announcements over the coming year, from amplifying our open source storage offerings, to building out an equivalent portfolio of products in the networking space; from the addition of new and potentially surprising Solaris and MySQL OEM's, to our newest cloud offerings and startup programs. I want to put all this in context, to be as clear as possible about our priorities and market approach, and help everyone understand both the parts and the sum of the parts.

Let's get on with it.

In my view, we have a very simple business - when I talk about Sun, I talk about us needing to do "only three things."

1. Recruit every developer on earth to use our software or services.

This is a strategic activity, not a financial one, so don't look for revenue here. I'll devote an entire entry to understanding the motivations and mechanisms driving technology adoption, and to discussing the varied audiences we target. As the head of developer technologies from a very large customer said to me last week over dinner, "I haven't visited Sun in five years, but all of a sudden you seem to matter to my developers." I'll help parse that statement in my next entry.

2. Deliver the world's most compelling commercial offerings - focused primarily, but not exclusively, on deployers of the technologies whose adoption we're driving.

Our software and service products target those that find free to be a more expensive alternative than commercially supported, for whom the cost of downtime exceeds the price of a commercial license. That's a small fraction of the planet, but it's a lucrative one. On the systems side of the house, our products reach across rack and blade servers, storage and networking systems - basically, everything to power the cloud.

I'll talk about the reliance this business has on developers to drive differentiation, and gross margin dollars, and the competitive advantage such reliance creates as we broaden our market offerings into storage and networking.

3. Execute the world's most effective selling/service connection between 1. and 2.

I spend a lot of time talking publicly about the first two points, and very little talking about this last one - in part, because it's been a work in progress, and because the scale of our sales/services channel has been one of our biggest strategic challenges.

But the ordering matters - our first financial priority is to generate free cash flow; our first strategic priority is to grow our available market. When they're in sync, as I believe we are in our Open Storage business right now, you have to beat us in the free software community and then again in front of paying customers. That's a tough combination, especially if you're a proprietary storage vendor that pretends to like free software, so long as it doesn't compete with your products.

As you know, simplicity takes a lot of engineering, so it's easy to say "just three things," but I'm not in any way suggesting these tasks are easily accomplished. But our intent is to create, promote, and commercialize the highest quality network innovations. Innovations that captivate developers, and deployers.

To understand Sun, you have to understand both, you have to see what drives our financial performance, as well as read our financial statements. Absent both perspectives, you'll miss the bigger picture, the bigger threat, or the bigger opportunity.

With this as a backdrop, you should expect me to focus on the points enumerated above in the next few blogs entries. Focusing on today's market, and - independent of the economic slowdown - on tomorrow's.

Thanks for reading.

(YouTube version of video here)

In 1809, a hero in America's Revolutionary War, General John Stark, was forced to decline an invitation to a military reunion due to ill health. He sent a toast to be read in his absence that began, "Live Free or Die." That phrase is now the official motto of the American state of New Hampshire (where Stark lived), known for a fierce sense of independence (and no income taxes).

Hold that thought for a moment.

Today, we're announcing the single biggest and most important OEM/distribution agreement Sun's ever signed for the open source Solaris operating system - through which we'll be joining forces with the world's largest supplier of high volume servers, Hewlett Packard. As a result of the deal, Solaris gains tier 1 status, becoming a peer to Microsoft's Windows among HP's channels and partners. Commercial licenses and support services will be made available across the full breadth of x86 systems HP ships under the Proliant banner. More importantly, we'll both be investing in the innovation, community and marketplace surrounding our jointly delivered platforms - it's all about growing the Solaris market.

This relationship brings every major server vendor to the Solaris OEM marketplace, with HP capping a great list of Solaris endorsers that includes Intel, AMD, IBM, Dell and many others. At this stage, we count more than a 1,000 x86 systems supported by Solaris and OpenSolaris, and nearly 8,000 ISV applications. With Intel's Nehalem systems just around the corner, this ensures customers and ISV's looking for a robust, scalable open source cloud operating system, one that leverage every ounce of x86 performance, will see Solaris - alongside ZFS, DTrace, MySQL, Java and a whole array of embedded XVM virtualization support - from every x86 OEM on earth. Congratulations, HP, it's great to have you on the team!

Now, returning to the thought above, more than a century after General Stark's toast, New Hampshire found itself home to one of the earliest, and most effective software teams ever built, the Unix Group at Digital Equipment Corporation. In the 1980's, they adopted the same motto for their beloved Unix operating system, "Live Free or Die." That phrase has since become synonymous with software independence, innovation and intellectual property freedom - it's a way of life for an enormous portion of the free software company.

And it was with that exact spirit that Sun broke from the traditional Unix vendors in the late 1990's, freeing the Solaris operating system from ties to the underlying hardware on which it ran - and from traditional notions of proprietary software development. We made the source code available under a free software license, we invested heavily in communities outside of Sun (both Intel and AMD have been fabulous technical partners), and we drew customers and partners into the mix. Today, I am officially calling that transition complete, as we announce the most significant Solaris OEM agreement we've ever signed. Under the terms of the agreement, HP is joining the OpenSolaris community, optimizing its performance for HP servers and storage, while simultaneously investing to expand our penetration across a variety of new markets, from health care and manufacturing, to small and medium businesses.

From our vantage point, the spirit of "Live free or die" defines the future for all software, not just operating systems. Traditional proprietary software models, like traditional newspaper businesses, will slow as customers move to the cloud. Governments across the world, spurring economic activity with stimulus programs are already mandating or promoting open source software as a means of driving progress. Live free or die is a spirit spreading choice, technical independence and innovation - the revolution is well underway.

Numerous customers who share this philosophy helped bring the HP/Solaris agreement to fruition. Mark Hurd and I heard (and read) your encouragement directly, and both teams have worked tirelessly for months to craft a comprehensive, robust and effective engagement. On behalf of Sun, to our colleagues at HP, we're looking forward to working together.

If you'd like a Solaris CD, just click the image. Live free, indeed.

I have some extraordinary news to share.

As of late this evening, Sun will have shipped its 100,000,000th JavaFX runtime. Congratulations, folks! From a standing start in early December last year, JavaFX's download rate makes it the fastest growing RIA platform on the market - demonstrating the fastest adoption of any product Sun has ever shipped.

The 100,000,000 milestone was reached just in time for us to announce the second phase of our JavaFX strategy, the release of JavaFX Mobile at next week's Mobile World Congress. JavaFX Mobile is a runtime identical to JavaFX Desktop, but preconfigured for gizmos with very small memory footprints (like mobile phones). With our newest partners, from Sony Ericsson to LG Electronics (and more adding every day), this should add a massive breadth of mobile runtimes to the converged JavaFX count - and create even more opportunity for Java developers.

Why such a fast uptake? The Java platform continues to provide the world's most complete open source platform for a rich internet - supported by the world's largest developer community. JavaFX allows Sun to reach beyond our traditional base to creative professionals and non-coders working with audio, video and high performance graphics. And most importantly - JavaFX allows content owners to bypass potentially hostile browsers, to install applications directly on user desktops and phones. You'll see that phenomenon heat up in 2009, accelerated by the emergence of "AppStores" on every device connected to the internet.

What's our view of the overall marketplace? Here are a few thoughts.

First, freely distributed, open source software will continue to create enormous revenue opportunities for those that understand the underlying business model - as an example, the Java business for Sun, last quarter, delivered more than $67m in billings, up nearly 50% year over year. On an annualized basis, that means the Java client business (as distinct from the Java server business) is now a multi-hundred million dollar business, opening doors for Sun, and the Java community, across the planet. All built on freely available runtimes and source code. Free as in beer, free as in speech, and free as in market.

Second, devices are becoming functionally equivalent - what you can do with Flash is comparable to Silverlight, and again comparable to JavaFX. We each have our specialty, but over the long haul, my view is adoption rates and business models will be a greater driver of success than the technologies themselves. Why? Because if you're Amazon building the extraordinary Kindle 2, it matters that Sun won't put its business model between you and your customers - you want the technology you select to enable your business, not your supplier's, while enabling access to the world's largest developer community. (That said, must you use JavaFX or Flash or Silverlight to be a part of the rich internet future? Well, no - Apple used Objective-C for the iPhone, after all, completely discrediting the purist notion that if the app isn't written with a web scripting language, it isn't fashion forward).

Finally, the consumer electronics market is going to be infinitely more vibrant and competitive than the relatively stagnant personal computer market. Having just seen a host of new Java devices, from automobile dashboards and BluRay DVD players, to set top boxes, picture frames, VOIP phones and new consumer electronics... the economy might be cooling down, but the RIA market is definitely heating up.

The Java platform is only growing in importance and value, across billions of devices. At Sun, we're planning on maintaining Java's ubiquity as the number one runtime environment, backed by the world's most price performant datacenter infrastructure, all powered by Sun's cloud. After all, the network is the computer.

So again, congratulations to the team - and the Java community! Now, on to the next 100,000,000! (For those interested, download JavaFX SDK here.)

These are my spoken notes from last week's earnings call - rather than recraft them, I figured I'd simply republish.

_______________________________

And thank you all for joining us this afternoon. 

I'll start with some perspective on our Q2 results and the current climate, then follow-up with commentary on our products disclosure - slides 6 and 7 in the slide deck. Then I'll turn it over to Mike Lehman (Sun's CFO) for commentary on financial metrics, and an update on the restructuring plan we announced back in November.

Overall, results for Q2 were in line with what we expected, as macro worries factored into customer discussions across all geographies. These concerns resulted in decisions related to higher end system purchases being pushed out - so billings were down year over year for SPARC Enterprise Servers, alongside the Storage and Service businesses attached to them, continuing a trend that began about a year ago. With that said, growth in our key areas continued, with Software a high point, and our Open Storage, CMT or "Niagara," and x86 systems businesses all delivering double-digit growth.

As we shared with you last quarter, Sun's business can be viewed in two categories, “Traditional” and “Growth," depicted on slide 7. Growth Categories now account for over 1/3rd of Sun's products billings, up from just 23% one year ago, and are continuing to open new opportunities within our existing installed base, and more importantly, far beyond it.

On the traditional front, declines in Enterprise SPARC systems are, by and large, the result of purchase delays - and with mission critical systems platforms continuing to age, this business represents significant future upgrade and refresh opportunities. But we were disappointed with the results, and the related effect it had on our storage and attached service offerings. Our tape and archive business out performed the competition, albeit in a declining market, but also represents an attractive base of annuity opportunities going forward.

On to the growth businesses. 

Software was a shining light in Q2 as total software billings grew 21% year over year and 52% sequentially. Java software billings grew 47% year over year, as we continued to monetize our distribution power to the world's client devices, from personal computers, to set top boxes and mobile handsets, and as we began delivery of our new platform, JavaFX, to OEMS across the world. As mobile devices and network enabled consumer devices continue to heat up, we believe the Java platform, running in front of billions of consumers, represents an increasingly attractive business.

MySQL and Infrastructure software billings grew 55% year over year on a surge in demand for open source middleware, from identity management and database management, to integration software. In the midst of this economic downturn, discussions related to free and open source software have substantially heated up - this is no longer a peripheral discussion with CIO's - cost reduction related to open source adoption has become a focal point for decision makers across the world.

Solaris, Management and Virtualization billings grew sequentially but not year over year, as customers migrated to subscriptions and service offerings and away from traditional licensing. We believe this transition has been largely completed in Q2, and again, positions the Solaris and OpenSolaris platform as one of three surviving operating systems for cloud computing - alongside Microsoft's Windows and Linux. As a result of our assets, from Java and OpenSolaris to MySQL and xVM, Sun is positioned to be the provider of the world's most complete open source software platform - for enterprise computing, and more importantly, for the cloud.

Now, on to the Systems side of our business. 

Billings for our Solaris-based Chip Multi Threading systems (also known as CMT or Niagara platforms) increased over 30% year over year in Q2. Based on Q1 and Q2 FY09 billings, CMT systems have now become a $1.4 billion dollar plus annual business for Sun, growing at significant double digits - and with IBM's Power and HP's Itanium available in only high end configurations, our Niagara platforms stand alone as volume alternatives to customers running IBM's AIX and HP's HPUX.  We continue to broaden our Niagara offerings, most recently with the addition of the T5440, a powerful midrange computer fueled by the growing base of volume Niagara units, in both blade and rack form, complementing our x86 platform offerings.

Speaking of which, Sun's family of Intel and AMD-based X64 servers increased 11% year over year in Q2 billings. Blades, which include SPARC, Intel and AMD processor-based systems, delivered another outstanding quarter, growing billings 62% year over year. We believe this performance reflects market share gains across both industry-standard and blade servers, building a footprint that allows for higher margin software, service and storage offerings. 

To that end, billings for Open Storage Products grew 21% year over year, which reflected, in part, a transition to Sun's flash-based 7000 family, also known as "Amber Road," around which we're seeing tremendous customer and partner interest. Based on industry standard components and the popular open source ZFS file system, these platforms deliver massive price/performance benefits against proprietary NAS vendors. With more than 2,000 channel partners now trained and certified to sell Amber Road, and with customer buzz among the highest we've ever seen for a new storage product, we have high expectations going forward. This is the first of what will be a complete line of open storage based products, covering the smallest customers, all the way up to mainframe storage.

Amber Road also sets us up to broaden our line of appliances - just as the freely distributed ZFS file system creates opportunity and awareness for Sun's open storage offerings, I believe our newly introduced Crossbow platform creates similar opportunities for Sun in the networking marketplace. Like the market for traditional storage, the networking marketplace is characterized by very high prices, proprietary software and restrictive hardware platforms - exactly the environment in which open source software and commodity components create choice and competition, welcome changes for customers seeking budgetary and technical relief.

To conclude, I'll remind you that tough times create unique opportunity for those who innovate - although we see customers under stress across the world, that pressure is opening their eyes to the alternatives Sun provides, across a wide range of ubiquitous software and systems innovations. Sun can draw upon the most pervasive software brands and developer platforms, the broadest user communities, and among the most powerful products and distribution assets to drive more aggressive growth in the future.

_____________________

Today I presented at the SugarCon 2009. The agenda for the conference can be found here: http://www.sugarcrm.com/crm/events/sugarcon/agenda.html. My presentation was regarding "Benchmarking Sugar and MySQL on Solaris". The presentation itself can be downloaded from here: http://blogs.sun.com/vanga/resource/sugar/BenchmarkingSugarOnSolaris-SugarCon2009.pdf.

There are a couple of bookstores in my neighborhood. They could not be more different from one another.

The first is known to focus on best seller lists, to promote popular books, and use displays and traditional retail techniques to drive business. They seem to do well, year in, year out. The other bookstore is more of a community treasure, beloved by the neighborhood, with a focus on the (thoughtful) insights of their staff. Those insights are delivered via small note cards appended to shelving throughout the store, where books are displayed alphabetically, with library-like neutrality.

The first store is very market focused, changes with the season, and seems to be quite succesful. The latter store, beloved though it may be, struggles to stay in business.

Now you might consider that an awkward introduction to a discussion of datacenter storage devices, but it was the best I could muster after reading yet another week's worth of horrible economic headlines, dominated by multi-billion dollar losses and bailouts for some of the world's largest corporations. But I (really) don't want to talk about the economy (or the irony of a Wall Street analyst with a sell rating on Sun asking me for a job). Nor do I want to talk about the economics of selling books. I do, however, want to talk about storage and flash memory, far more scintillating topics (to me, anyways).

As you're aware, flash memory is making its way into data centers at a very rapid clip. Flash has exceptional performance characteristics, and is generally orders of magnitude faster than a traditional disk drive at responding to requests to read and write information - up to 100's of times faster. It also requires little/no power, dissipates no heat, and can withstand vibration, temperature extremes and shock. Plus it's got that great name, "flash memory" - who wouldn't want that in their datacenter ( (myths about flash being less reliable than traditional disks debunked here).

Sun recently introduced a storage device heavily optimized with flash memory. It's known by a similarly scintillating name, the Sun Storage 7000, and is what we call an "open storage" device - one built with commodity flash and disk components, alongside open source software (this is an excellent summary).

The 7000 has one remarkably interesting attribute: it learns. The longer it's doing its job, interacting with applications and serving data, the faster it becomes. How it accomplishes this relates to the bookstores I first discussed.

Most storage devices behave like the unsuccessful bookstore, organizing books with a sorting algorithm to which the user ascribes no value - disks make no attempt to position data based on the frequency of access, and as a result, popular content is delivered with the same, or poorer latency as unpopular content. Storage architects go to great lengths to provide band-aids to the problem, but most fail in their attempt and fall back on massive over provisioning. That is, they throw money at the problem by "short stroking" data - making sure all data is written to the outer sectors on a disk platter, the parts that spin fastest, delivering highest performance reading/writing. This can work, but it's exceptionally inefficient - and wastes money, power, space, disks and patience.

Conversely, the 7000 behaves like the commercially oriented bookstore, and uses algorithms (instead of storage admins) to adaptively place the most frequently accessed data where it will be fastest to retrieve: flash memory. (I was talking to a software analyst today who wanted to know why we bothered with the hardware business when so much value was in our software assets - this is a perfect example, the value isn't in the software or the hardware, it's in the systems we build with both.)

The internal operating system (OpenSolaris, paired with ZFS) actually "warms up" the device after it starts working - it watches traffic, notices which files are being most frequently accessed, and caches them in flash. Thereafter, they're available near instantaneously. The 7000 can then use far slower, and less power consumptive disks for the infrequently accessed data. Net result? Hot files are served up orders of magnitude faster than even short stroked, jet fueled premium enterprise disks (did I mention those disks cost an outrageous fortune?) - and customers spend radically less on the device, on power, cooling, space, etc.

From your end user's perspective, the front page of your news site, your most frequently accessed products or content, or the Facebook profile of the pilot who just saved the lives of 185 passengers landing an airplane on a river, are served up with lightning speed. Your users are happier, your CFO is happier, your family, with whom you're spending more time, is happier. (And if there were ever a machine optimized for MySQL, this would be it - but it also runs brilliantly with Oracle, DB2 and SQL Server - and Postgres, of course).

It's common sense: if you put the bestsellers on the first shelf a visitor sees when they walk in the door, they're more likely to buy one than if you put them in alphabetical order around the store. As the bestsellers change, so do your promotions and displays - if you adapt to demand, you capture more of it. That's the basic premise behind the 7000, to use systems innovation to drive performance, eliminate latency and radically cut purchase and operating cost.

That behavior might make a bookstore less beloved in my neighborhood, but it makes Sun more beloved in the datacenter. And it makes the 7000 a great candidate to be one of the storage industry's best sellers.

If you're a reseller or customer, and would like to try out a 7000 free of charge, just click here...

There's also a great simulator available for free download here - so admins can check out the user interface and diagnostic capabilities of the 7000 without installing a machine.

And speaking of best sellers, here's a video in which the 7000 plays a starring role - showing you how not to coax the best performance out of your storage devices.

Wikipedia is one of the world's most visited web sites (8th in the top 10, in fact), delivering an enormous breadth of content to an audience as vast as the internet. But Wikipedia's evolved to become more than an on-line encyclopedia: they've become one of the world's largest search engines, they're a global source of real-time news, alongisde educational, political and health related content - and one of the world's most valuable brands and media properties.

Wikipedia's also a great example of a "redshift" application: a segment of the market that's growing faster than the technology industry's capacity to innovate. Technology companies have to pay special attention to such redshifted segments - not only do they eventually grow the overall market, but their innovation often drives the technology landscape. Broadly speaking, social media, from free news and social networking, to search and content sharing, is doing exactly that - defining new architectures and requirements for radical scale, economics and availability.

So I was really pleased that Wikimedia had chosen Sun's Open Storage platforms over proprietary alternatives, to help manage their evolution to rich media - bringing high quality video and time based content to their more than 250,000,000 users globally. That's a big audience waiting to upload - and interact with - high quality content.

Like Wikipedia, most of the planet's largest web sites (just look at the top 100) are built atop Sun's MySQL database. Which is why we've just introduced a line of systems platform designed specifically to run MySQL - at up to 3x the performance of whitebox alternatives (after all, it's far easier marketing to audiences that have already chosen Sun). We're now expanding those offerings with our newest Open Storage portfolio, as well - built to run ZFS from 5 to 50x traditional performance. And again, all such systems are available here for free trial - pick the system you want to try, we'll cover shipping costs to and from your site.

And while I'm on the topic of systems... I've been asked for insights into our recent software reorganization, in which we announced three main focus groups (a Systems group, an Applications group, and a Cloud group). Why'd we make that change?

First, look no further than this win for one of my main motivations: I'd like to enhance the value and alignment we offer to customers that want to run our system software (like MySQL and ZFS) at very high scale - and require, from Sun and our OEM partners, the tightest possible technical collaboration and alignment between hardware and software.

Second, this move amplifies the obvious (at least to us): the storage market will be larger than the server market, but you may not be able to tell - they're converging, built from the same systems software and hardware components (networking will follow the same path, more on that in the future).

Finally, adoption and software distribution/marketing is different than revenue generation. And with the adoption of ZFS well underway, technical and business alignment have become our dominant priorities. It's at the heart of what's fueling one of Sun's fastest growing businesses (ZFS based Open Storage was up more than 150% last quarter, growing far faster than our proprietary peers).

How large is the redshift opportunity? It's not just businesses like Wikipedia that are defining new scale requirements for the industry. It's the on-line bank I saw last week, now serving more than 100m accounts globally - contemplating the addition of video chat for customer service. It's the government customer I just visited trying to deliver driver's license and passport renewal services to hundreds of millions of its citizens. The term redshift describes applications, not customers (remember, even Wikipedia has payroll - not exactly a redshift application).

In an openly networked world, redshift applications begin to equate to social phenomena - and social phenomena don't respect your IT budget. Which is to say, neither a 10 person startup, nor a 10,000 person retailer want to go broke buying software licenses and storage, just because they've struck a chord with the planet. Which is increasingly why both sides of the industry are moving to open source.

And open storage.

________________

(And with apologies to the OpenOffice community - we are not going to be inserting ads into OpenOffice.org - we're creating partnerships to brand and promote StarOffice, and the cloud we're developing behind it.)

I just uploaded one of my chapters in my book "Developing Web Applications using Perl, Memcached, MySQL and Apache" (Wiley). This was the 50% point. Man, this is a ton of work. Writing a book really takes up every second of your life, which is really hard when there are other projects you maintain - namely DBD::mysql, Memcached UDFs, FederatedX and my interest in helping with Drizzle. I've tried as much as possible to use my projects as material for the book making it possible to do two things at once, as well as make it interesting to write.

It's harder to write on reference material and explaining basic concepts than it is to write about code examples. The code examples I really enjoy because they are first interesting, and secondly there are some tricks and code functionality (particularly with Perl, DBI, stored procedures, etc) that I have never tried out before despite having been writing code for many years, that this book has forced me to demonstrate.

The latter half of the book will be more interesting as I'll start giving web application demonstrations. I wish I knew more about ajax, which I think is pretty much standard for web applications now. This will force me to come up to speed with it.

I'm particularly looking forward to the chapter I write on Memcached as I will showcase my UDFs as well as forcing me to write perl code that takes advantage of them.

One of the hardest things about writing a book is constantly questioning myself if the material I write is good or not. Well, that and waking up early before work to write because getting a certain number of pages written for the day are hanging over my head!

Off to SQL Camp today! Can't wait to see everyone there.

Do you know that there are two limits about dirty (modified but not flushed to disk) blocks of InnoDB buffer pool? One is the limit of “amount”. The other is the limit of “age”.

– limit of “amount” –

As you know, buffer pool of InnoDB works as write-back cache of its datafiles. If the buffer pool is filled by dirty blocks, InnoDB cannot allocate new blocks without flushing the dirty blocks and the performance would get worse. This is the limit of dirty block “amount”. We can avoid this limit by setting ‘innodb_max_dirty_pages_pct’ smaller or setting the larger buffer pool size. We might be never at a loss about the limit.

The another limit we should understand is limit of dirty block “age”.

– limit of “age” –

As you know again, because InnoDB write the modifies of datafile to transaction log file synchronously, InnoDB is allowed to treat its buffer pool as write-back cache. The transaction log from the last checkpoint assures the latest-committed consistent data. So, the transaction log must contain the all transaction log from the last checkpoint.

Basically, InnoDB makes the checkpoint passively (it is called “fuzzy checkpoint”). InnoDB makes the point of time when the oldest dirty block occurred as the new checkpoint.

In short,
the dirty block older than the oldest transaction log is never allowed to exist.

This is the limit of dirty block “age”.

The max age is determined by the total size of the transaction log files, because InnoDB uses the transaction log circulately. But, the larger transaction log file may not solve the problem of dirty block “age”…

The main essence of the “age” limit problem might be clustered distribution of “age”. If there are huge number of similar aged dirty blocks and their age nears the max age, InnoDB flushes the dirty blocks with its best, but the oldest “age” of dirty blocks might not change and might reach the critical limit. Then InnoDB will pause until all of the old dirty blocks flushed…

I will show you the examples.
The workload is TPC-C like and the graphs show the change of throughput, write IO and checkpoint age with time.

<Normal>

The first is the case of normal (not patched) InnoDB.

Normal case

The intense write IO occur and InnoDB stalls when the checkpoint age reaches the red broken line. After that, InnoDB stalls periodically.

The steady flushing may be short, and there may be clustered distributed “age”. The clustered “age” may causes the clustered flushing and the next clustered “age”…

<innodb_max_dirty_pages_pct(native parameter) & innodb_io_capacity(patched parameter)>

The next graph is the case when I tried to restrain the checkpoint age growing by controlling steady flushing with only innodb_max_dirty_pages_pct and innodb_io_capacity.

Tuned by dirty_pages_pct

There are no sudden stalls, but many write IO and regression of the average throughput. The optimum setting may be very difficult by this method, because innodb_max_dirty_pages_pct and innodb_io_capacity are independent to the checkpoint age.

<innodb_adaptive_checkpoint(new patched parameter) & innodb_io_capacity>

The last is the case of using innodb_adaptive_checkpoint instead of innodb_max_dirty_pages_pct.

Tuned by adaptive_checkpoint

During the checkpoint age excesses the light-blue broken line, the steady flushing occurs. If the checkpoint age reaches the next orange line, the flushing becomes more strong. This is the effect of innodb_adaptive_checkpoint. And its strength can be controlled by innodb_io_capacity. (The optimum setting may not be difficult as the 2nd case.)

At first, the checkpoint age touch the red line once and the regression occurs. However after that, the periodical regression waves seem to be attenuated quickly. The clustered “age” may be flatted. There are no the regression of the average throughput.

innodb_adaptive_checkpoint will solve or soften such problems of dirty block “age” limit
with easier setting.

In addition, innodb_io_patches.patch also adds
max checkpoint age“, “modified age” and “checkpoint age
to SHOW INNODB STATUS and we can check them easily.


Entry posted by Yasufumi | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks

In this month’s Database Journal article  we write about Replication Pitfalls with MySQL.

Replication is fairly straightforward to setup, however your slave databases can get out of sync, or throw errors.  We investigate some of the reasons why, and help you identify those before they come back to bite you!

The Umlaut Problem - How To Successfully Back Up And Restore MySQL Databases With Special Characters Using MySQLDumper

There are lots of forums with heaps of reports of umlauts or other special characters being displayed erroneously. Attempts to help come from many sides, but hardly anyone seems to have a really complete picture of the problem. Even web hosts' support hotlines seem to reach their limit of knowledge with this one. There are incredible amounts of half-truths. They prove correct in certain circumstances, but they do not help all people. Simply because setups vary so much. In my role as developer of MySQLDumper I naturally spent a lot of time evaluating this situation. And I now believe to be able to offer a complete overview which covers the different aspects of this problem. A lot, and I mean a lot of research has gone into the explanations in this article.

I rarely use MySQL Fulltext indexes. Their performance is just not good enough, so often its better to just stick with "LIKE" or move to something else like Sphinx, Lucene etc. The only nice thing about them is the ability to compute a match "rank". Well anyways I had to write a new search plugin for a project that is based around MySQL Fulltext indexes and a match rank and all as well .. except that for some reasons some words just would not produce any results. As I was trying to find a pattern I finally noticed that in my test data some words were used in most rows and exactly those were not matching. Obviously it makes sense to exclude automatically any words that have a very high hit ratio. And indeed the documentation states that by default all words with a hit ratio of over 50% are excluded. Doh!

When MySQL’s root password is lost and must be reset, there are two popular ways to create a new password. One of the options is far too popular, in my opinion. The preferred way of setting a root’s password is by using an init-file. The process for doing this is well explained in MySQL’s manual. Using [...]
As consumer spending slows across the world, a variety of "brick and mortar" retailers are clearly feeling the impact. Foot traffic is slowing, and it's getting harder to balance debt laden real estate portfolios and fickle consumer trends.

For consumer product manufacturers, retail distribution is key - it's how you get in front of a customer. It's why the big PC manufacturers are all working hard to score deals with big retailers (or build their own retail outlets) around the world.

But making money on PC's is tough - for most PC makers, you're remarketing someone else's operating system and someone else's microprocessor - it's not for the faint of heart (or faint of balance sheet). For Sun, our retail distribution concerns don't surround consumer hardware (we don't make PC's) as much as consumer software - the popularity of which defines our market opportunity. Said simply, if you're running Java or another open source platform, Sun can build differentiated datacenters in the clouds behind those devices. If not, it's a lot tougher (not impossible, just a lot tougher).

Consumer software, though, is defined by a virtuous cycle. Developers target popular software (like Firefox, Flash or Java). In so doing, they create applications and content that consumers use. What consumers use, they tend to use in volume (the internet's a very big place, after all). Developers notice those volumes, and target the platforms that reach the most consumers. And that defines Sun's market opportunity (someone smart once jumped up and down on stage yelling "Developers! Developers! Developers!" Amen.)

The Java runtime remains one of the world's most popular platforms used by developers - and thus, one of the world's most popular consumer software products. For the cynics about to chime in with "but I don't use it," the odds are good you do - it's become an invisible, but critical part of an enormous breadth of consumer and business services (from video uploaders on social networks, to stock market analytical tools). And as that content becomes more popular, so does the Java platform - expanding Sun's market opportunity in the corresponding datacenters. That's why we see it as a virtuous cycle.

That cycle also provides Sun with some exceptional foot traffic - just last month, we distributed more than 60,000,000 Java runtimes, to users all across the planet. The number is growing, as more content is built for Java 6 and the upcoming JavaFX, as more PC's join the network, and as more workers join the workforce (and are assigned Java-enabled laptops). At this point, I'd bet there are about 1,000,000,000 (that's a billion) Java runtimes installed on PC's around the world. With more by the day - each generating revenue for Sun.

As with most of our software products, we don't distribute products without intent - like Google, our products are both a means of acquiring customers, and generating revenue. Freely distributed software establishes a relationship with an end user - just like free search, free news or free shopping. About two years ago, we reached an agreement with Google in which they recognized the value of our relationships with Java consumers. Just as the PC makers want distribution via retail outlets, Google wanted distribution of their search technologies - via our Java update mechanism. When we present an update to a user, we may offer other sponsored software (a Google search toolbar, eg).

After a careful negotiation, we agreed, and crafted a wonderful relationship that served consumers, Google, and Sun. Last year, we renewed the agreement, and recognized even more value for all involved. This year, we decided to run an open auction, and received bids from a number of companies. It was a tough process, but given the growing volume and momentum around Java, we clearly represented just about the most popular distribution vehicle on the internet today - and Microsoft worked hard to represent the most attractive total offer.

The decision to go with Microsoft was based on overall value - it was also predicated upon their endorsement of and agreement to help promote MySQL. Stay tuned for more details on what we'll be doing together.

What's the deal worth to Sun? This deal will be one of the most valuable distribution deals ever struck in the industry - and it likely makes Microsoft one of Sun's largest customers. It'll also set the stage for an even more interesting auction next year, as more and more folks realize the value of retail distribution. Thus far, our deal with Microsoft is US only - and new auctions are in flight for international rights (alongside other non-toolbar products for the US, perhaps a browser...).

As for other high value distribution assets at Sun? I just read one analyst report questioning whether anyone actually used OpenOffice. We happen to run Sun Microsystems on OpenOffice - more importantly, it's used across the world, and we're now commercially licensing it to brand name companies wanting to save big dollars on office productivity.

To put some data around its popularity, last week, we distributed more than 3,000,000 copies of OpenOffice 3. Downloads are accelerating, giving us a reachable user base we estimate to be between 150,000,000 and 200,000,000 users - a global recession will amplify OpenOffice adoption. And 100's of millions of users drive a lot of foot traffic. An auction's afoot (no pun intended) to see who we'll be partnering with us to integrate their businesses and brands into our binary product distribution - the possibilities are limitless: people tend to print those documents, fax them, copy them, project them (and I know this annoys my friends in the free software community, but branding allows us to invest more in OO.o community and features, from which everyone benefits)).

With Verizon running a similar auction to integrate a search vendor into their wireless devices, they (and their industry across the world) are seeing the same opportunity. Just because a few retailers are having trouble doesn't mean the value of reaching customers has gone away. Foot traffic still counts, but in today's economy, software distribution's a lot easier to manage and monetize than a real estate portfolio.

After all, who wouldn't want to meet a few hundred million new customers?

As consumer spending slows across the world, a variety of "brick and mortar" retailers are clearly feeling the impact. Foot traffic is slowing, and it's getting harder to balance debt laden real estate portfolios and fickle consumer trends.

For consumer product manufacturers, retail distribution is key - it's how you get in front of a customer. It's why the big PC manufacturers are all working hard to score deals with big retailers (or build their own retail outlets) around the world.

But making money on PC's is tough - for most PC makers, you're remarketing someone else's operating system and someone else's microprocessor - it's not for the faint of heart (or faint of balance sheet). For Sun, our retail distribution concerns don't surround consumer hardware (we don't make PC's) as much as consumer software - the popularity of which defines our market opportunity. Said simply, if you're running Java or another open source platform, Sun can build differentiated datacenters in the clouds behind those devices. If not, it's a lot tougher (not impossible, just a lot tougher).

Consumer software, though, is defined by a virtuous cycle. Developers target popular software (like Firefox, Flash or Java). In so doing, they create applications and content that consumers use. What consumers use, they tend to use in volume (the internet's a very big place, after all). Developers notice those volumes, and target the platforms that reach the most consumers. And that defines Sun's market opportunity (someone smart once jumped up and down on stage yelling "Developers! Developers! Developers!" Amen.)

The Java runtime remains one of the world's most popular platforms used by developers - and thus, one of the world's most popular consumer software products. For the cynics about to chime in with "but I don't use it," the odds are good you do - it's become an invisible, but critical part of an enormous breadth of consumer and business services (from video uploaders on social networks, to stock market analytical tools). And as that content becomes more popular, so does the Java platform - expanding Sun's market opportunity in the corresponding datacenters. That's why we see it as a virtuous cycle.

That cycle also provides Sun with some exceptional foot traffic - just last month, we distributed more than 60,000,000 Java runtimes, to users all across the planet. The number is growing, as more content is built for Java 6 and the upcoming JavaFX, as more PC's join the network, and as more workers join the workforce (and are assigned Java-enabled laptops). At this point, I'd bet there are about 1,000,000,000 (that's a billion) Java runtimes installed on PC's around the world. With more by the day - each generating revenue for Sun.

As with most of our software products, we don't distribute products without intent - like Google, our products are both a means of acquiring customers, and generating revenue. Freely distributed software establishes a relationship with an end user - just like free search, free news or free shopping. About two years ago, we reached an agreement with Google in which they recognized the value of our relationships with Java consumers. Just as the PC makers want distribution via retail outlets, Google wanted distribution of their search technologies - via our Java update mechanism. When we present an update to a user, we may offer other sponsored software (a Google search toolbar, eg).

After a careful negotiation, we agreed, and crafted a wonderful relationship that served consumers, Google, and Sun. Last year, we renewed the agreement, and recognized even more value for all involved. This year, we decided to run an open auction, and received bids from a number of companies. It was a tough process, but given the growing volume and momentum around Java, we clearly represented just about the most popular distribution vehicle on the internet today - and Microsoft worked hard to represent the most attractive total offer.

The decision to go with Microsoft was based on overall value - it was also predicated upon their endorsement of and agreement to help promote MySQL. Stay tuned for more details on what we'll be doing together.

What's the deal worth to Sun? This deal will be one of the most valuable distribution deals ever struck in the industry - and it likely makes Microsoft one of Sun's largest customers. It'll also set the stage for an even more interesting auction next year, as more and more folks realize the value of retail distribution. Thus far, our deal with Microsoft is US only - and new auctions are in flight for international rights (alongside other non-toolbar products for the US, perhaps a browser...).

As for other high value distribution assets at Sun? I just read one analyst report questioning whether anyone actually used OpenOffice. We happen to run Sun Microsystems on OpenOffice - more importantly, it's used across the world, and we're now commercially licensing it to brand name companies wanting to save big dollars on office productivity.

To put some data around its popularity, last week, we distributed more than 3,000,000 copies of OpenOffice 3. Downloads are accelerating, giving us a reachable user base we estimate to be between 150,000,000 and 200,000,000 users - a global recession will amplify OpenOffice adoption. And 100's of millions of users drive a lot of foot traffic. An auction's afoot (no pun intended) to see who we'll be partnering with us to integrate their businesses and brands into our binary product distribution - the possibilities are limitless: people tend to print those documents, fax them, copy them, project them (and I know this annoys my friends in the free software community, but branding allows us to invest more in OO.o community and features, from which everyone benefits).

With Verizon running a similar auction to integrate a search vendor into their wireless devices, they (and their industry across the world) are seeing the same opportunity. Just because a few retailers are having trouble doesn't mean the value of reaching customers has gone away. Foot traffic still counts, but in today's economy, software distribution's a lot easier to manage and monetize than a real estate portfolio.

After all, who wouldn't want to meet a few hundred million new customers?

________________

Update: I should've clarified, above: users without any interest in toolbars can simply decline the offer during install - and receive their Java update without any sponsored software.

Daniel (aka Mr. Messina of Malaysia) is organising a bunch of events, and since they’re on weekends, I’m going to gladly participate, without seeking approval from the overlords.

First up is Startup Camp KL, on 22-23 November 2008, in MidValley. On Sunday, I’m going to lead a session titled “Using Free Software to bootstrap your startup”. Check out the agenda. It should be fun, especially in today’s market to ensure there are no software licensing costs, especially if you’re a startup.

Then there’s BarCampJB, 6-7 December 2008, in Johor Bahru. I haven’t been there in…. ages :) I’ll be talking about “MySQL Best Practices for Developers”, where we’ll go through good schema practice, understanding different engines (and their uses), and probably a lot more. If there’s enough interest, a similar discussion on free software in business, will be there (AMP stacks, ftw!).

As you likely have seen Sun has posted the new SpecJAppServer Results More information from Tom Daly can be found here These results are quite interesting for me as I worked on some of the previous SpecJAppServer Benchmarks several years ago while being employed by MySQL.

These are great results, plus they can be relevant to a lot of us because commodity x86 based hardware was used for the test. So it is not just about Sun it is about OpenSource hardware on Commodity Hardware.

As usually with results from such benchmarks there is no direct comparison available. The configuration Tom compares results to are not OpenSource and on the hardware of the different class so it is really hard to see what really caused the difference. It would be very interesting to see for example results on the same hardware just running PostgreSQL instead of MySQL or having Sun box replaced with comparable Dell or HP box. Unfortunately such benchmarks are more about marketing then fair technical comparison and we, technical people, just can assume the team had tried to get the most the given configuration and look for tuning ideas or try to read between the lines.

For example we can see for J2EE the system with 8 cores was used while for database 4 cores was enough. Does it mean the J2EE system got saturated before the database ? Or does it mean MySQL did not scale well to 8 cores on this benchmark ?

Now lets look at Java Settings:

JDBC Pool (for EJBs): max-pool-size=100 steady-pool-size=50
cachePrepStmts=true prepStmtCacheSize=512 alwaysSendSetIsolation=false
useLocalSessionState=true useServerPreparedStmts=false useLocalSessionState=true useReadAheadInput=false
elideSetAutoCommit=true useUsageAdvisor=false useReadAheadInput=false
useUnbufferedInput=false cacheServerConfiguration=true

This gives you some hints what you can try for JDBC configuration. Some caching options are must (otherwise JDBC will have a lot of extra calls checking various server changes which typically never change). We can also see Server prepared statements were disabled for the run (same as we had few years ago). Prepared statements generally should have helped this benchmark because it has a lot of same queries an Prepared Statements can be more efficient on the server side but I guess something is not as well optimized with them as it could be which makes it better to disable them.

The MySQL Settings are probably what is the most interesting:

MySQL 5.0 Tuning in /etc/my.cnf (included in FDA)
[mysqld]
sql-mode = IGNORE_SPACE
transaction-isolation = READ-COMMITTED
max_allowed_packet = 1M
max_connections=300
max_connect_errors=100
table_cache = 6000
read_rnd_buffer_size = 2M
sort_buffer_size = 32k
thread_cache = 16
query_cache_size = 0M
thread_concurrency = 8
max_heap_table_size=200M
log-output = FILE
log-slow-queries=/tmp/mysql-slow.log
long_query_time = 1
innodb_data_home_dir = /data/mysql/var
innodb_data_file_path = ibdata1:10000M:autoextend
innodb_file_per_table
innodb_log_group_home_dir = /log/mysql/var/
innodb_checksums = 0
innodb_doublewrite = 0
innodb_buffer_pool_size = 5000m
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 1600M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 300
innodb_thread_concurrency = 0
innodb_sync_spin_loops = 40
innodb_locks_unsafe_for_binlog = 1
innodb_max_dirty_pages_pct=15
innodb_support_xa=0
innodb_flush_method = O_DIRECT

First the options are somethat benchmark optimized - for example doublewrite is disabled; checksums are disabled; binary log is disabled - this is not what you would probably run in production but as I guess benchmark does not require these properties and so they are tuned away…. though I bet the over vendors do the same thing of tuning database options for benchmark rather than running production reasonable options.

It is interesting though slow query log remained enabled - probably it caused so little overhead because there were no slow queries it just was left in tact.

Other important settings:
transaction-isolation = READ-COMMITTED - this is indeed good setting for many workloads so unless you have repeatable reads requirement consider using this.
sort_buffer_size = 32k - It is interested how much this was really investigated. Indeed this is much smaller than default. If you have queries which only do small sorts it is indeed better to have smaller sort buffer because allocating it will likely be faster.
query_cache_size = 0M - query cache disabled. Not a big surprise though as this is default value I believe there was attempt to enable it and it did not make things better.
max_heap_table_size=200M - I’m not sure why is it set. Are any explicit MEMORY tables use in the benchmarks ? As otherwise you also need to boost tmp_table_size to deal with implicit memory tables.
innodb_file_per_table - so I assume storing each table in its own file worked better for this benchmark. Depending on workload it can be a bit slower or faster but it is surely better for operations.
innodb_log_file_size = 1600M - another Benchmark optimization. Such large logs typically will cause too long recovery time in case of crash so people settle on smaller log for a little bit lless of performance.
innodb_thread_concurrency = 0 Good! So Innodb performed best in this workload without restricting number of threads inside Innodb Kernel. Again this is rather workload specific.
innodb_sync_spin_loops = 40 - This tuning option is rarely used so I’m curious how much speed benefit did it really provide in this case.
innodb_max_dirty_pages_pct=15 - Another interesting one. So the it was better to restrict amount of dirty pages Innodb can have to get better performance. It probably was done to deal with “dips” which can affect peak response times a lot. The fuzzy checkpointing could be done a lot better in Innodb (and we have patches for this)

Operating System Notes from database server:

UFS Options for log and data
noatime, nologging
mysqld moved into the FX scheduling class via priocntl -s -c FX mysql-pid

“nologging” looks a bit scary here but again potential fsck on power failure is probably not the problem for benchmark specs. But what really surises me here is why not ZFS ? The ZFS MySQL success story is all over across Sun’s blogs, so why benchmarks are still run on UFS ? It would be really cool to know how ZFS would score here. And it is really OK for it to be a little bit slower - it has many nice features which are worth a bit of performance overhead.

My best wishes to the Tom Daly and his team in further benchmark results improvements. I guess we’ll see more of these to come.


Entry posted by peter | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks

10 years ago, Monty Widenius released MySQL 3.22.10.

That version was the first release of MySQL which included my contributions. I would submit a few more patches and write a couple of storage engines before I finally accepted Monty and David's 3rd or 4th job offer, over 4 years later; I cannot remember if the first offer, which occurred with great humor in December 1998 was in jest or serious. I have seen lots of stuff happen to MySQL over the last 10 years. Its user-base has grown far larger than I would have imagined 10 years ago - MySQL was not the first free database, nor was it the first opensource database. But it is friendly and has great people involved who are helpful and care about their users.

Time flies...

At LISA 2008, I gave a presentation entitled “How to Stop Hating MySQL: Fixing Common Mistakes and Myths”.

The presentation is downloadable as a PDF at:

http://technocation.org/files/doc/stophatingmysql.pdf

Here are some notes and links I referred to:

Technocation, Inc containing free videos, a MySQL podcast (currently on hiatus) and blog posts about MySQL.

Why you want to switch to MySQL 5.1

How MySQL Uses Memory

Query Cache Configuration

EXPLAIN manual page

EXPLAIN cheatsheet



Sun's 2008 Customer Engineering Conference (CEC) is an opportunity for Sun engineers to get in depth training. So over 2,000 Sun engineers are kept indoors at Paris Las Vegas from eight in the morning to eight or ten at night to get up to speed on new subjects.  This year MySQL is one of tracks and over eighty engineers are being trained by George Trujillo.  This is also a record class size for a MySQL training class.  And at the end of the week they will take a MySQL Certification exam.

Rather than a standard DBA class, George has opened up some time to other to teach.  Cliff Conklin brought up valuable insights on storage engines.  Anders "Make ZFS GPL" Karlsson provided the students a view into how MySQL is integrated into organizations, clustering and database performance.  We even had the SVP Marten Mickos take some time out of his heavy schedule to discuss a high level view of where MySQL came from and where it is going.  Later in the week there are other speakers scheduled.

The quote I am using to title this entry 'Every techie under 35 has used  MySQL in one way or another' caught me by surprise.  Marten made this statement and I noticed that very few people in the room jumped when they heard that.  The engineers in attendance are working hard to understand how to best fit MySQL to support their customers.  A good number of them have DBA level experience with other DBMSes. Many have confessed they have been getting queries from customers about MySQL since the January purchase.  George is providing the heavy technical training and the cameo appearances are filling the other gaps. And the attendees are really soaking up the material.

Many are cramming with the MySQL 5.0 Certification Study Guide for the certification exam on Friday.  That is a lot of dedication considering the many available 'distractions' in Las Vegas.  And it gives a good feeling for the customers of these engineers after seeing their dedication.


I've been posed with an interesting question, and because I don't know Zend very well, I don't have the answer.

I want to do a pretty standard MySQL replication configuration, with one write master and with multiple read slaves. Is there a straightforward way to configure Zend's database interface to split the reads off from the writes, and to load balance the reads?

It can be done with MySQL proxy, but, I like to have as few moving parts as possble, so can it be done without proxy, and without having to completely rewrite the Zend DB interface.
As Tasktop releases a new version, I (finally) realize that it is leveraging the "open core" business model that I'm a proponent of. READ MORE