I have been doing some reading into data mining recently. It's
really interesting stuff. To explain it, lets take an
example:Lets say you work in a business that has been working for
some years. They have their own way of running themselves and
their processes. One day someone comes along and suggests that
the business should automate some of their procedures by
developing a website that would interact with customers and
process their orders. Some nice PHP/MySQL guy or girl is hired
and develops the website and the cycle of acquiring knowledge has
unwittingly started.
The diagram below describes how management starts to process its
own business knowledge and passes them down the chain so they can
be implemented into the application.Eventually, every transaction
is saved in the database. Over time, the database has more and
more data and then the management of the company asks to get
reports from this data.
Why would they ask that? …
Update: You can now download a recording of the webinar and the slides from http://www.mysql.com/news-and-events/on-demand-webinars/display-od-403.html
I’ll be presenting the fourth (and final) session of the MySQL for Online Applications webinar series today (29 September). Today’s High Availability Architectures for Online Applications webinar covers:
- MySQL Replication
- MySQL Cluster
- Distributed Replicated Block Device (DRBD)
- Other high-availability technologies
…
[Read more]This Thursday (October 1st, 14:00 UTC), Calvin Sun will give a session on InnoDB Internals: InnoDB File Formats and Source Code Structure. The InnoDB storage engine provides transactions, row-level locking, and automatic crash recovery. Its on-disk files play a pivotal role for those key features. This presentation describes how on-disk files are structured, how compressed tables are organized, and how long variable-length columns are stored. As we develop new features, it is inevitable for file format changes. We will explain how the new file format management works in the InnoDB Plugin.This talk also covers InnoDB source code structure.
For MySQL University sessions, point your browser …
[Read more]MySQL backup soon becomes an important matter when the database is used in production. The pain-point comes from the fact that while backuping the database is not available to respond to client requests anymore. With mysqldump - the standard tool for performing MySQL backups - and a large database the operation can go over many tenth of minutes if not hours. If I am running my business on line this is simply not acceptable.
The classical approach to workaround this problem is to take
advantage of MySQL replication. I set up a master/slave
configuration where the slave acts as copy of the master. Then,
when needed, I run mysqldump on the slave without any
service interruption on the master.
But ZFS snapshosts bring a new straightforward approach
that avoids the pain and the complexity of a master/slave
replication.
Snapshots are a key feature of ZFS that allows me to save a copy of …
[Read more]I’ve been investigating a few different storage engines for MySQL lately, and something I’ve noticed is that they all list what they support, but they generally don’t say what they don’t support. For example, Infobright’s documentation shows a list of every data type supported. What’s missing? Hmm, I don’t see BLOB, BIT, ENUM, SET… it’s kind of hard to tell. The same thing is true of the list of functions that are optimized inside Infobright’s own code instead of at the server layer. I can see what’s optimized, but I can’t see whether FUNC_WHATEVER() is optimized without scanning the page — and there’s no list of un-optimized functions.
I don’t mean to pick on Infobright. I’ve recently looked at another third-party storage engine and they did exactly the same thing. It’s just that the docs I saw weren’t public as …
[Read more]It is pretty understood the tables which have long rows tend to be slower than tables with short rows. I was interested to check if the row length is the only thing what matters or if number of columns we have to work with also have an important role. I was interested in peak row processing speed so I looked at full table scan in case data fits in OS cache completely. I created 3 tables - First containing single tinyint column which is almost shortest type possible (CHAR(0) could be taking less space), table with 1 tinyint column and char(99) column and table with 100 tinyint columns. The former two tables have the same row length but have number of column different 50 times. Finally I have created 4th table which is also 100 columns but one of them is VARCHAR causes raw format to be dynamic.
More specially:
PLAIN TEXT SQL:
- CREATE TABLE `t1` ( …
This Thursday (October 1st, 14:00 UTC), Calvin Sun will give a session on InnoDB Internals: InnoDB File Formats and Source Code Structure. The InnoDB storage engine provides transactions, row-level locking, and automatic crash recovery. Its on-disk files play a pivotal role for those key features. This presentation describes how on-disk files are structured, how compressed tables are organized, and how long variable-length columns are stored. As we develop new features, it is inevitable for file format changes. We will explain how the new file format management works in the InnoDB Plugin.This talk also covers InnoDB source code structure.
For MySQL University sessions, point your browser …
[Read more]This Thursday (October 1st, 14:00 UTC), Calvin Sun will give a session on InnoDB Internals: InnoDB File Formats and Source Code Structure. The InnoDB storage engine provides transactions, row-level locking, and automatic crash recovery. Its on-disk files play a pivotal role for those key features. This presentation describes how on-disk files are structured, how compressed tables are organized, and how long variable-length columns are stored. As we develop new features, it is inevitable for file format changes. We will explain how the new file format management works in the InnoDB Plugin.This talk also covers InnoDB source code structure.
For MySQL University sessions, point your browser …
[Read more]