Showing entries 171 to 180 of 1147
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: General (reset)
On performance of JDBC drivers.

Back when the first version of the MariaDB Java Client was released, someone asked in the comments about the performance characteristics of the driver compared to ConnectorJ. I answered with hand-waving, saying that nobody does anything stupid, the performance of the drivers would be roughly the same, but I promised to measure it and tell the world one day. And now that day has come. The day where three MySQL JDBC drivers (ConnectorJ, MariaDB JDBC, and Drizzle JDBC) are compared against each other. Unlike the server, which gets benchmarking attention all the time, there is no standard benchmark for connectors, so I needed to improvise, while trying to keep the overhead of the server minimal. So I did something very primitive to start. I used my two favorite queries:

  • DO 1 — this one does not retrieve a result set, and thus can be seen as a small “update”.
  • SELECT 1 — the minimal …
[Read more]
Percona Live Conference Notes

This is the required post about things I observed during this years MySQL conference.

Things that are awesome:

  • The tables in sessions. I think these were here last year. They are still awesome this year.
  • The new style power plugs. They solved the problem of people tripping over daisy chained power strips and the strips being accidentally turned off.
  • Massive quantities of coffee and real cream.

Things that can be improved:

  • Lunch tickets. I overheard the same conversation a dozen times about people not being able to find their lunch tickets or not really knowing about them.
  • Make badges reversible. A badge under observation will be facing the wrong way.

Things that just bumped me:

  • The music is different this year. Now it makes me feel like a teenager struggling with a breakup.
  • My secret clean bathroom has been …
[Read more]
MariaDB Java Client 1.1.2 Released

The MariaDB project is pleased to announce the immediate availability of the MariaDB Java Client 1.1.2. This is a Stable (GA) release. See the Release Notes and Changelog for detailed information on this release and the About the MariaDB Java Client page in the AskMonty Knowledgebase for general information about the client.

Download MariaDB Java Client 1.1.2

Release Notes

[Read more]
Database Master-Slave Replication in the Cloud

This is a guest post from Jelastic.

Many developers use master-slave replication to solve a number of different problems, including problems with performance, supporting the backup of different databases, and as a part of a larger solution to alleviate system failures. Traditionally, master-slave replication is done with real servers, but it can also be done with cloud database servers. This guest post from Jelastic (originally published here) describes how to set up MariaDB master-slave replication using their Jelastic PaaS (Platform as a Service).

Replication Overview

Master-slave replication enables data from one database server (the master) to be replicated to one or more other database servers (the …

[Read more]
OurSQL Episode 137: Playing in the Sandbox

This week we talk to Giuseppe Maxia about MySQL Sandbox. Ear Candy is about table_open_cache, Open_tables and Opened_tables, and At the Movies features MariaDB.

MySQL Sandbox
MySQL Sandbox

Examples:
MariaDB slave of a master:

make sandbox mysql-tarball --master
make sandbox mariadb-tarball --slaveof master-port=foo

Exporting:

./my sqldump instancename

Remote mysql sandbox deploy:

deploy remote sandboxes -m MySQLVer -l list,of,servers

Get MySQL Sandbox on Launchpad

read more

MariaDB Introduces Atomic Writes

Sysbench OLTP, transactions per second

When dealing with high performance, low latency storage devices, such as SSD cards, one finds bottlenecks in new places. This is a story about such a bottle neck and how to work around it.

One unique feature of InnoDB is the double write buffer. This buffer was implemented to recover from half-written pages. This can happen in case of a power failure while InnoDB is writing a page (16KB = 32 sectors) to disk. On reading that page, InnoDB would be able to discover the corruption from the mismatch of the page checksum. However in order to recover, an intact copy of the page would be needed.

The double write buffer provides such a copy. Whenever InnoDB flushes a page to disk, it is first written to the double write buffer. Only when the buffer is safely flushed to disk, InnoDB writes the page to the final destination. When recovering, InnoDB scans the double write buffer and for each …

[Read more]
The MERGE storage engine: not dead, just resting…. or forgotten.

Following on from my fun post on Where are they now: MySQL Storage Engines, I thought I’d cover the few storage engines that are really just interfaces to a collection of things. In this post, I’m talking about MERGE.

The MERGE engine was basically a multiplexer down to a number of MyISAM tables. They all had to be the same, there was no parallel query execution and it saw fairly limited use. One of the main benefits was that then you could actually put more rows in a MyISAM table than your “files up to 2/4GB” file system allowed. With the advent of partitioning, this really should have instantly gone away and been replaced by it. It wasn’t.

It is another MySQL feature that exists likely due to customer demand at the time. It’s not a complete solution by any means, PARTITIONING is way more complete and …

[Read more]
Sphinx @ Percona Live: Update

The Percona Live: MySQL User Conference is just around the corner! Before we begin our trek to San Jose, we want to provide you with one last announcement about our upcoming activities. First of all, as we’ve previously mentioned, Andrew Aksyonoff (Sphinx’s founder) is going to be delivering a Sphinx tutorial on the 22nd of April [...]

Refactoring Internal temporary tables (another stab at it)

A few weekends ago, I started to again look at the code in Drizzle for producing internal temporary tables. Basically, we have a few type of tables:

  • Standard
  • Temporary (from CREATE TEMPORARY TABLE)
  • Temporary (from ALTER TABLE)
  • Internal temporary (to help with query execution)

If you’re lucky enough to be creating one of the first three types, you go through an increasingly lovely pile of code that constructs a nice protobuf message about what the table should look like and hands all responsibility over to the storage engine as to how to do that. The basic idea is that Drizzle gets the heck out of the way and lets the storage engine do its thing. This code path looks rather different than what we inherited from MySQL. For a start, we actually have a StorageEngine object rather than just lumping everything into the handler (which we correctly name a Cursor). However… the final …

[Read more]
New BM25 functions and IDF operators in custom rankers

Until 2.1.1-beta the functions exposed in custom rankers for handling relevancy based on term frequency and Inverse Document Frequency (IDF) did not take field or document lengths into account. In 2.1.1-beta, Sphinx includes functions that take relevance ranking to the next level. New IDF functions mysql> SELECT * FROM myindex WHERE MATCH(‘less_common more_common’) OPTION RANKER= [...]

Showing entries 171 to 180 of 1147
« 10 Newer Entries | 10 Older Entries »