TOTD #93 showed how to get started with
Java
EE 6 using NetBeans 6.8 M1 and GlassFish v3 by
building a simple Servlet 3.0 + JPA 2.0 web application. TOTD #94 built upon it by using Java Server Faces
2 instead of Servlet 3.0 for displaying the results. However we
are still using a POJO for all the database interactions. This
works fine if we are only reading values from the database but
that's not how a typical web application behaves. The web
application would typically perform all CRUD operations. More
typically they like to perform one or more CRUD …
In the age of jetsetting and space travel and ORMs and such, MySQL DBAs are the least sophisticated ones nowadays, usually fighting terabytes or petabytes of data with army of shell scripts – as there’re no nice frameworks to explain what you want to do in MySQL administration. The nice thing about proper object frameworks is that they allow to concentrate on the work and logic done, allowing to think on the process done, rather on languages/APIs/etc.
For example, moving a slave to another master down a replication topology could be expressed this way (this is a working code, actually):
slave = mysql(options.slave) oldmaster = mysql(slave.get_master()) newmaster = mysql(options.newmaster) oldmaster.lock() oldpos = oldmaster.pos() newmaster.wait(oldpos) newmaster.lock() oldmaster.unlock() slave.wait(oldpos) slave.change_master(newmaster) newmaster.unlock()
I’m sure transaction group/global IDs would simplify the process …
[Read more]Ever wondered how fast stored routines are in MySQL? I just ran a quick micro-benchmark to compare the speed of a stored function against a "roughly equivalent" subquery. The idea -- and there may be shortcomings that are poisoning the results here, your comments welcome -- is to see how fast the SQL procedure code is at doing basically the same thing the subquery code does natively (so to speak).
Before we go further, I want to make sure you know that the queries I'm writing here are deliberately mis-optimized to force a bad execution plan. You should never use IN() subqueries the way I do, at least not in MySQL 5.1 and earlier.
I loaded the World sample database and cooked up this query:
PLAIN TEXT SQL:
- SELECT sql_no_cache sum(ci.Population) FROM City AS ci
- WHERE …
TOTD #93 showed how to get started with
Java
EE 6 using NetBeans 6.8 M1 and GlassFish v3 by
building a simple Servlet 3.0 + JPA 2.0 web application. TOTD #94 built upon it by using Java Server Faces
2 instead of Servlet 3.0 for displaying the results. However we
are still using a POJO for all the database interactions. This
works fine if we are only reading values from the database but
that's not how a typical web application behaves. The web
application would typically perform all CRUD operations. More
typically they like to perform one or more CRUD …
TOTD #93 showed how to get started with
Java
EE 6 using NetBeans 6.8 M1 and GlassFish v3 by
building a simple Servlet 3.0 + JPA 2.0 web application. TOTD #94 built upon it by using Java Server Faces
2 instead of Servlet 3.0 for displaying the results. However we
are still using a POJO for all the database interactions. This
works fine if we are only reading values from the database but
that's not how a typical web application behaves. The web
application would typically perform all CRUD operations. More
typically they like to perform one or more CRUD …
There are several ways to take backups (some good, some bad, and
some will depend on your situation). Here's the thought process I
use for choosing a backup strategy.
-
- mysqldump
If your data set is small (I realize "small" is a relative term.. to qualify it, let's say
- backup everything or just certain databases or tables
- backup only the DDL
- optimize the dump for a faster restore
- make the resultant sql file more compatible with other
RDBMSes
and many more things.
However, the most important options are related to the
consistency of your backup. My favorite options are:
- --single-transaction : this option gives a consistent backup, if (and only if) the tables are using InnoDB storage engine. If you have any non-read-only MyISAM tables, then don't use this …
Installing Apache2 With PHP5 And MySQL Support On CentOS 5.3 (LAMP)
LAMP is short for Linux, Apache, MySQL, PHP. This tutorial shows how you can install an Apache2 webserver on a CentOS 5.3 server with PHP5 support (mod_php) and MySQL support.
|
Joyent and Sun have announced a highly tuned MySQL Accelerator that claims 2x-4x better performance than EC2 (but see comments). Joyent focuses on "Enterprise-Class Cloud Computing", with offerings on Public Cloud and the Private … |
Tungsten clustering and replication has been
accessible as open source for almost a year, but it has taken us
an amazingly long time to get our contribution policy set up. The
dithering ended promptly after Monty Widenius wrote an excellent
blog article on dual-licensed software from his experiences at
AskMonty.org and previously at MySQL AB. One of
the things I especially like is Monty's emphasis on contributor
rights. Contributor rights create the sense of reciprocity that
makes open source function effectively as a development model.
Tungsten is henceforth adopting the AskMonty.org contribution
model.
So, if you want to contribute code to Tungsten (I'll describe
shortly why you might …
A new release of the PrimeBase Media Streaming engine is now
available for download at
http://www.blobstreaming.org .
The main focus of this release was to provide the features
required to make PBMS production ready and with the addition of
transaction support and engine level backup I think it is almost
there. The engine does not yet provide engine level replication
but it will in a future release.
What's new:
- PBMS now provides two methods to backup the BLOB repository
which are documented here.
- PBMS now supports transactions independently of the storage engine.
- There is now a PHP extension for PBMS. Check it out! …