In late 2011 I attended a lecture by John
Wilkes on Google compute clusters, which link thousands of
commodity computers into huge task processing systems. At
this scale hardware faults are common. Google puts a lot of
effort into making failures harmless by managing hardware
efficiently and using fault-tolerant application programming
models. This is not just good for application up-time.
It also allows Google to operate on cheaper hardware with
higher failure rates, hence offers a competitive advantage in
data center operation.
It's becoming apparent we all have to think like Google to run
applications successfully in the cloud. At Continuent we run
our IT and an increasing amount of QA and development on Amazon Web Services …
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
Members of the MySQL Support Team wear a number of different hats here at Oracle. Obviously, our top priority is to provide amazing technical support that makes customers rave. We also have a team dedicated to processing bug reports from the MySQL Community. Some of us are active bloggers or assist on mailing lists or forums, while others find other ways to contribute to the MySQL Community. We help out with QA and product planning, write …
[Read more]The MySQL documentation section has always had this Topic Guides page containing links to the docs for the various MySQL Connectors -- the official database drivers for various languages and programming technologies. That is the most convenient way to get the information for each Connector in PDF form, rather than downloading the entire Ref Man PDF. For HTML, it was more of a shortcut, because
Having supported a number of successful load-balanced JDBC applications using MySQL Cluster and MySQL Connector/J over the years, I’ve found a few problems that are unique to specific Java app servers. A recent customer inquiry reminded me of a GlassFish-specific issue, and the Connector/J connection property we introduced to help solve it. I thought it might be useful to document this here for any GlassFish users looking to deploy a load-balanced JDBC application with MySQL (Cluster or multi-master replication).
If you’re entirely new to the load-balancing functionality in MySQL Connector/J, you may want to review some earlier posts. In particular, it’s important to understand how a …
[Read more]
I’m posting this because of a question raised against this older post on how to configure the
%CLASSPATH% to find the ojdbc6.jar
file. This is the lab file I use in my Database 1 class to expose
students to the moving parts of writing Java programs against the
Oracle database. That’s why I choose to use a CLOB
data type, which requires Oracle’s DBMS_LOB package
and wrapping stored procedures.
If you want the same content for MySQL, here’s the link. The full program in either blog entry is available by clicking on the fold/unfold Java Source Code Program widget at the bottom of the respective posts.
This demonstrates how to create an Java infrastructure for reading …
[Read more]
A couple students in one of my classes ran into a problem when
competing Java threads tried to insert new rows in a table. They
raised an error when they tried the DELAY keyword to
avoid the race (collision) condition in an INSERT
statement. It was simple to explain to them that the DELAY keyword doesn’t work with an
InnoDB table. Any attempt throws the following error:
ERROR 1616 (HY000): DELAYED OPTION NOT supported FOR TABLE 'message'
|
Important Update: INSERT DELAYED is gone
in MySQL 5.6.6 (announcement) and the whole issue comes down to
synchronizing threads (some dislike the solution) or using the
ON DUPLICATE KEY …
Instead of using the old DriverManager its the better way to use
the DataSource class to get a connection to a MySql Database.
This can be done by geting it from the app server container or by
creating and configuration it directly from the driver. Get the
MySQL datasource from the app container Context context [...]
The MySQL Cluster engineering team recently ran a live webinar, available now on-demand demonstrating the ClusterJ and ClusterJPA NoSQL APIs for MySQL Cluster, and how these can be used in building real-time, high scale Java-based services that require continuous availability.
Attendees asked a number of great questions during the webinar, and I thought it would be useful to share those here, so others are also able to learn more about the Java NoSQL APIs.
First, a little bit about why we developed these APIs and why they are interesting to Java developers.
ClusterJ and Cluster JPA
ClusterJ is a Java interface to MySQL Cluster that provides either a static or dynamic domain object model, similar to the data model used by JDO, …
[Read more]For Drizzle and for all of the projects we work on at Percona we use the Bazaar revision control system (largely because it’s what we were using at MySQL and it’s what MySQL still uses). We also use Jenkins.
We have a lot of jobs in our Jenkins. A lot. We build upstream MySQL 5.1, 5.5 and 5.6, Percona Server 5.1, Percona Server 5.5, XtraBackup 1.6, 2.0 and 2.1. For each of these we also have the normal trunk builds as well as parameterised ones that allow a developer to test out a tree before they ask for it to be merged. We also have each of these products across seven operating systems and for each of those both x86 32bit and 64bit. If we weren’t already in the hundreds of jobs, we certainly are once you multiply out between release and debug and XtraBackup being across so many MySQL and Percona …
[Read more]In Ausgabe 3/2012 der Fachzeitschrift JavaSPEKTRUM wurde kürzlich ein Artikel mit dem Titel "SOA-basierte NoSQL-Lösung im Mobile-Umfeld" veröffentlicht, dessen Co-Autor ich bin. Er beschreibt, wie eine mobile Java-Applikation mittels kreativer Ansätze und einem Mix aus moderner und altbewährter Technik zum Erfolg gebracht wurde.
Der Volltext kann entweder im Browser auf der codecentric Homepage unter der Rubrik Kompetenzen/Publikationen gelesen werden, steht aber auch als PDF zum Download bereit.