We use MySQL on most of our projects. One of these projects has a
an access pattern unlike any other I've worked on. Several
million records a day need to be written to a table. These
records are then read out once at the end of the day, summarised
and then very rarely touched again. Each record is about 104
bytes long (thre's one VARCHAR column, everything else is fixed),
and that's after squeezing out every byte possible. The average
number of records that we write in a day is 40 million, but this
could go up.
A little bit about the set up. We have fairly powerful boxes with
large disks using RAID1/0 and 16GB RAM, however at the time they
only had 4GB. For BCP, we have a multi-master set up in two colos
with statement level replication. We used MySQL 5.1.
My initial tests with various parameters that affect writes
showed that while MyISAM performed slightly better than InnoDB
while the tables were small, it quickly …
Save the date - October 14th, 3pm Paris & Berlin, 2pm London, 4pm Jerusalem - for this free live webinar where you'll have a chance to ask questions to our experts.
This webinar focuses on how ZFS, SSDs and the Open Storage line of products from Sun are changing the rules in the database storage industry. You will learn how to increase data security, scalability, and reduce the price/performance ratio with these technologies. This webinar includes ZFS best practises for databases backup and performance.
To register, click here.
|
|
The next OpenSQLCamp will be held in Portland, Oregon, USA. It is being organized by Eric Day, well known to the open source community for his active and productive participation to several projects (especially Drizzle and Gearman). |
The event is public and free. Therefore, it needs public
sponsoring. I don't know yet if I can attend, but I have already
donated something to the organizers, and I am officially a
sponsor. You can be one too. Simply go to the sponsors page and donate a minimum of $100 as in
individual or $250 as an …
Just in case you missed the live event, we have a recording of the ZFS + SSD for databases webcast
You can also download the slides from Slide share. Download Slides
There is a little-known setting, myisam_block_size in MySQL. This
affects the block size used in the indexes of MyISAM tables
stored in .MYI files on disc and in the key buffer.
The default value is 1k, this is possibly too small for best
performance on modern systems; in particular, many filesystems
used a bigger block size, so writing a single index block
requires a read followed by a write. Random reads are really slow
on hard discs (writes are mostly fast as they go into your
battery-backed raid controller which has lots of RAM).
I am currently in the process of experimenting with
myisam_block_size, and so far have determined the
following:
- myisam_block_size is settable only at server start time, either in my.cnf or on the command-line
- myisam_block_size only affects newly created tables or tables rebuilt using ALTER TABLE; existing MyISAM tables keep their old index block size and …
TOTD #97 showed how to install GlassFish Tools Bundle for Eclipse 1.1. Basically there are two options - either install Eclipse 3.4.2 with WTP and pre-bundled/configured with GlassFish v2/v3, MySQL JDBC driver and other features. Or if you are using Eclipse 3.5, then you can install the plug-in separately and get most of the functionality.
TOTD #98 showed how to create a simple Metro/JAX-WS compliant Web service using that bundle and deploy on GlassFish.
This Tip Of The …
[Read more]TOTD #97 showed how to install GlassFish Tools Bundle for Eclipse 1.1. Basically there are two options - either install Eclipse 3.4.2 with WTP and pre-bundled/configured with GlassFish v2/v3, MySQL JDBC driver and other features. Or if you are using Eclipse 3.5, then you can install the plug-in separately and get most of the functionality.
TOTD #98 showed how to create a simple Metro/JAX-WS compliant Web service using that bundle and deploy on GlassFish.
This Tip Of The …
[Read more]TOTD #97 showed how to install GlassFish Tools Bundle for Eclipse 1.1. Basically there are two options - either install Eclipse 3.4.2 with WTP and pre-bundled/configured with GlassFish v2/v3, MySQL JDBC driver and other features. Or if you are using Eclipse 3.5, then you can install the plug-in separately and get most of the functionality.
TOTD #98 showed how to create a simple Metro/JAX-WS compliant Web service using that bundle and deploy on GlassFish.
This Tip Of The …
[Read more]Hi all,
The past few months, I've been developing a course on the concepts of cloud computing and virtualization. It's coming along very well, and this week I've been working on a demo for an application in the cloud that uses a database located elsewhere in the cloud (i.e. on another virtual server). I'd thought I share the steps with you. I used MySQL, but the steps should be similar for other databases.
- Install MySQL on the server.
- Create a new user for MySQL:
create user USERNAME identified by 'PASSWORD'; - Grant the user access to the database:
grant all privileges on DATABASE.* to USERNAME identified by 'PASSWORD'; - Then I started up the IDE and went to the Services window, where I connected to my local MySQL database.
- After connecting, I right-clicked the MySQL driver node and
chose Connect Using.
The New Database Connection dialog box …
Hi all,
The past few months, I've been developing a course on the concepts of cloud computing and virtualization. It's coming along very well, and this week I've been working on a demo for an application in the cloud that uses a database located elsewhere in the cloud (i.e. on another virtual server). I'd thought I share the steps with you. I used MySQL, but the steps should be similar for other databases.
- Install MySQL on the server.
- Create a new user for MySQL:
create user USERNAME identified by 'PASSWORD'; - Grant the user access to the database:
grant all privileges on DATABASE.\* to USERNAME identified by 'PASSWORD'; - Then I started up the IDE and went to the Services window, where I connected to my local MySQL database.
- After connecting, I right-clicked the MySQL driver node and
chose Connect Using.
The New Database Connection dialog box …