Feed Aggregator

Is RethinkDB a possible solution for RRD SE?

oli - Fri, 2010-04-02 08:44

When I dug through RethinkDB white papers I have seen that they make use of round-robin mechanisms.

We have to investigate a bit further to see if this can be used as a RRD SE and keep you informed…


Taxonomy upgrade extras: 
Categories: 

Managing sparse files on NTFS

opal - Wed, 2010-03-31 22:17

Hello Shinguz,

NTFS is sparse file-capable too. However there is no tools to deal with it in convenient way. I have written one. Check the “SparseChecker” (http://www.opalapps.com/sparse_checker/sparse_checker.html). Current version is free.

I guess my post is relevant here because MySQL is available for Windows too. And for huge preallocated database files sparse regions (regions full of continuous zeroes) is a known problem, as well as disk and memory images for virtual machines and preallocated download manager’s files (pending downloads).

Best regards, Oleh

P.S. It would be interesting and valuable to hear your proffesional opinion about the SparseChecker as well as if it makes sense to port it to Linux.


Taxonomy upgrade extras: 
Categories: 

MySQL, where are you going?

sales_en - Sun, 2010-03-28 20:51

Our presentation MySQL, where are you going? of March 25 at the OpenExpo in Bern is now available in German and English.

When you have missed it, you can download it now from here

The video recording should be available as well soon.


Taxonomy upgrade extras:  english, mysql, alternative, future,
Categories: 

The FromDual Blogs

Shinguz - Fri, 2010-03-26 10:20

On this page you can find the various blogs of FromDual employees and some useful blog aggregates.

FromDual employee blogs

Oli’s Blog in German german RSS feed

Shinguz’s Blog in English english RSS feed

Abdel-Mawla’s Blog in English english RSS feed

Jörg’s Blog in English english RSS feed

Cédric’s Blog in English english RSS feed

FromDual Sales Blog in German german RSS feed

FromDual Sales Blog in English english RSS feed

FromDual blog aggregates

FromDual AllFeed in German german RSS feed

FromDual AllFeed in English english RSS feed

FromDual TechFeed in German german RSS feed

FromDual TechFeed in English english RSS feed

FromDual InfoFeed in German german RSS feed

FromDual InfoFeed in English english RSS feed

MySQL Tech-Feed in German german

MySQL Tech-Feed in English english RSS feed

PostgreSQL Tech-Feed in German german

PostgreSQL Tech-Feed in English english



This page was translated using deepl.com.


Taxonomy upgrade extras: 
Categories: 

MySQL and MariaDB Configuration File template (my.cnf/my.ini)

oli - Mon, 2010-03-15 22:53

The MySQL and MariaDB default configuration is not very great for production use. Some of the default values in my.cnf should be changed when you need it for business critical applications.

The following MySQL configuration file is in our opinion a good average configuration file for MySQL, Galera Cluster, MariaDB and Percona Server. For MySQL servers more performance tuning is not need in most cases.

Download the sample MySQL and MariaDB configuration file with wget directly from here.



Taxonomy upgrade extras:  configuration, sample, my.cnf, my.ini, template,
Categories: 

MySQL High-Availability (HA) solutions

oli - Mon, 2010-03-15 22:25

The following solutions are used with MySQL:


Taxonomy upgrade extras:  high availability, ha, drbd, architecture, heartbeat,
Categories: 

The MySQL CSV Storage Engine

oli - Mon, 2010-03-15 20:53

A little summary about the MySQL CSV table engine:

  • The SQL-Demo script (930 byte) for the following article.
  • The CSV converter to convert normal CSV files into a CSV format which is for MySQL acceptable.

Caution: Use on your own risk!

MySQL CSV tables (internally also called TINA tables) are driven by the MySQL CSV storage engine. This feature was added in MySQL release 4.1.4. CSV tables store data in text files using the Character-Separated-Value format.

mysql> SELECT version();
+------------+
| version()  |
+------------+
| 5.0.16-max |
+------------+

CSV tables are an equivalent to Oracle external tables. They can be use to import data from your favourite spread sheet software (e.g. OpenOffice Calc), exchange data from or with other data sources or just migrating data from an other database system to MySQL.

To enable CSV tables, use the --with-csv-storage-engine option during configure when you build MySQL. If you got a already compiled MySQL binary you can find out if CSV tables are supported like …


Taxonomy upgrade extras:  storage engine, csv,
Categories: 

MySQL Cluster analysis for foodmart

oli - Mon, 2010-03-15 20:19

This is an automated analysis of the DBI:mysql:database=foodmart;host=localhost database for migration into MySQL Cluster. No warranty is made to the accuracy of the information.

This information should be valid for MySQL 4.1 and 5.0. Since 5.1 is not a final release yet, the numbers should be used as a guide only.

5.1-dd is for tables stored on disk. The ndb_size.pl estimates are experimental and should not be trusted. Notably we don’t take into account indexed columns being in DataMemory versus non-indexed on disk.

Parameter Settings

NOTE the configuration parameters below do not take into account system tables and other requirements.

Parameter4.15.05.1
DataMemory (kb)386243862437088
IndexMemory (kb)538164484044840
MaxNoOfTables212121
MaxNoOfAttributes225225225
MaxNoOfOrderedIndexes646464
MaxNoOfUniqueHashIndexes646464
MaxNoOfTriggers256256256

Memory usage because of parameters

Usage is in kilobytes. Actual usage will vary as you should set the parameters …


Taxonomy upgrade extras:  mysql cluster, memory, sizing, foodmart,
Categories: 

ndb_size.pl report for database foodmart (21 tables)

oli - Mon, 2010-03-15 20:08

Connected to: DBI:mysql:database=foodmart;host=localhost

Including information for versions: 4.1, 5.0, 5.1

Table List

account

DataMemory for Columns


* means varsized DataMemory

Column NameTypeVarsizedKey4.15.05.1
account_parentsmallint(6)MUL444
account_descriptionvarchar(30)Y323216*
account_rollupvarchar(30)Y32324*
HIDDEN_NDB_PKEYbigintPRI888
account_typevarchar(30)Y32328*
account_idsmallint(6)UNI444
custom_members …

Taxonomy upgrade extras: 
Categories: 

MySQL Architectures Overview

oli - Mon, 2010-03-15 19:00

Database Architecture & Design

Application logic in the middle tier?

Reduce money spent on software licenses by moving logic to the middle tier. This means moving stored procedures into the application server or web server layer where it is much cheaper to scale out. Reducing or eliminating business logic running in the DB may reduce Database CPU utilisation and hence save support costs for the DB Portability is key! [1]

The complete Open Source MySQL High Availability and Scale-Out Architecture Stack

Click on the map to get to you favourite mater…

Architecture Stack

Legend


Taxonomy upgrade extras:  mysql, architecture,
Categories: 

What's going on when MySQL does operations on Partitions

oli - Mon, 2010-03-15 16:50

Following question came up recently: What happens if you drop or add a partition of an existing already partitioned table with ALTER TABLE? Will it be copied or will just the single partition be dropped and added? How are the index(es) rebuild after such a drop/add?

In the MySQL documentation were not to many details mentioned:

ALTER TABLE … ADD PARTITION creates no temporary table except for MySQL Cluster.

ADD or DROP operations for RANGE or LIST partitions are immediate operations or nearly so. ADD or COALESCE operations for HASH or KEY partitions copy data between changed partitions

If other cases, MySQL creates a temporary table, even if the data wouldn’t strictly need to be copied …

So it would be interesting to find out what happens. Because I am not a developer I am not able to read code. So I have to find it out somehow different:

  1. We need the following Tool: MySQL Super Smack

  2. With gen-data from MySQL Super Smack we generate some data:

    ./gen-data -n 1000000 -f …

Taxonomy upgrade extras:  operations, partition,
Categories: 

Operating System Signals on different platforms

oli - Mon, 2010-03-15 16:21
shell> kill -l

Linux

 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
 9) SIGKILL10) SIGUSR111) SIGSEGV12) SIGUSR2
13) SIGPIPE14) SIGALRM15) SIGTERM16) SIGSTKFLT
17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP
21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU
25) SIGXFSZ26) SIGVTALRM27) SIGPROF28) SIGWINCH
29) SIGIO30) SIGPWR31) SIGSYS
34) SIGRTMIN35) SIGRTMIN+136) SIGRTMIN+2
37) SIGRTMIN+338) SIGRTMIN+439) SIGRTMIN+540) SIGRTMIN+6
41) SIGRTMIN+742) SIGRTMIN+843) SIGRTMIN+944) SIGRTMIN+10
45) SIGRTMIN+1146) SIGRTMIN+1247) SIGRTMIN+1348) SIGRTMIN+14
49) SIGRTMIN+1550) SIGRTMAX-1451) SIGRTMAX-1352) SIGRTMAX-12
53) SIGRTMAX-1154) SIGRTMAX-1055) SIGRTMAX-956) SIGRTMAX-8
57) SIGRTMAX-758) SIGRTMAX-659) SIGRTMAX-560) SIGRTMAX-4
61) SIGRTMAX-362) SIGRTMAX-263) SIGRTMAX-164) SIGRTMAX

Solaris 10 (x86, Sparc)

 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE …

Taxonomy upgrade extras:  operating system, signal, platform, kill,
Categories: 

MySQL Cluster overview

oli - Mon, 2010-03-15 14:19

This is a chaotic collection of my MySQL Cluster experience…

Table of Contents

config.ini template

A generic MySQL Cluster configuration file (config.ini) to start with. It is pretty much what the MySQL Cluster experts recommend right now:

#
# config.ini
#

# This configuration file is fore MySQL Clusters 6.2 and above...

# ----------------------------------------------------------------------

[TCP DEFAULT]

# Default is too small!
SendBufferMemory              = 2M
ReceiveBufferMemory           = 2M


# When this is configured together with section above ndb_mgmd will
# return with erro -1 (255). This is a bug and should be fixed earlier
# or later!
# When you move this section to the bottom it should work.
# You need one TCP section for EACH cluster node pair!
# (for example: 4 nodes = 6 sections)

# [TCP]
#
# NodeId1: 10
# …

Taxonomy upgrade extras:  mysql cluster,
Categories: 

MySQL Cluster memory sizing

oli - Mon, 2010-03-15 13:53

MySQL Cluster is pretty fast. The reason for this is, that it is completely memory based. Nowadays memory is still, in contrary to disk, limited to your systems. Thus, before installing a MySQL Cluster you have to calculate the amount of memory you need.

To say it in advance: You should consider to only use 64-bit Linux system with huge amount (4 - 64 GB) of RAM!

In release 5.1 MySQL Cluster became disk based. Now you have the possibility to swap out some data to disk. How much it is we will probably see a little further down…

Calculating or estimating

For calculating or estimating how much Memory you need, you have several different possibilities:

  • You can do it by hand.
  • This OO calc spread sheet helps you.
  • You can have it much easier by using ndb_size.pl (or the newer not yet official released version → link).
  • Or you can extrapolate from a consisting data set.

Memory usage

First we want to see where memory is used in Cluster. When we do a ps we know how much memory our cluster process allocates:

# …

Taxonomy upgrade extras:  mysql cluster, memory, sizing,
Categories: 

MySQL hints

oli - Mon, 2010-03-15 13:38

Table of Contents

Result set with temporary sequence

Sometimes you would like to have a result set with something like a rownum. You can do this at least in the following two ways:

a) with a TEMPORARY MEMORY table:

CREATE TEMPORARY TABLE mem (
    seq  INT NOT NULL AUTO_INCREMENT PRIMARY KEY
  , data VARCHAR(32)
) ENGINE=MEMORY;

INSERT INTO mem
SELECT NULL, data
  FROM test
 LIMIT 5;

SELECT *
  FROM mem;

+-----+------+
| seq | data |
+-----+------+
|   1 | abc  |
|   2 | def  |
|   3 | ghi  |
|   4 | abc  |
|   5 | def  |
+-----+------+

b) with a user defined variable

SET @seq=0;
SELECT @seq:=@seq+1, data FROM test WHERE id < 100 LIMIT 5;
+--------------+------+
| @seq:=@seq+1 | data |
+--------------+------+
|            1 | abc  |
|            2 | def  |
| …

Taxonomy upgrade extras:  mysql, migration, innodb, hint, primary key, index, prefixed index, sequence, temporary, keyword, auto_increment, memory table,
Categories: 

DBA wisdoms

oli - Mon, 2010-03-15 13:29

Controlling developers is like herding cats.

Kevin Loney, Oracle DBA Handbook

Oh no, it's not. It's much harder than that!

Bruce Pihlamae, long-term Oracle DBA


Do not assume!

Unknown IT specialist


Backups ist was für Warmduscher!
(engl. Backup is for sissies!)

Unkown DBA


Yesterday (the DBA version)

Yesterday, All those backups seemed a waste of pay. Now my database has gone away. Oh I believe in yesterday.

Suddenly, There's not half the files there used to be, And there's a milestone hanging over me The system crashed so suddenly.

I pushed something wrong What it was I could not say. Now all my data's gone and I long for yesterday-ay-ay-ay.

Yesterday, The need for back-ups seemed so far away. I knew my data was all here to stay Now I believe in yesterday.

Unkown source


The SISO DB principle: Shit In - Shit Out

Unknown source


Der altehrwürdigste aller …


Taxonomy upgrade extras:  backup, dba, tuning, database administrator,
Categories: 

MySQL trouble shooting

oli - Mon, 2010-03-15 11:46

Table of Contents

max_open_files warning during mysqld startup

Problem

[Warning] Changed limits: max_open_files: 1024  max_connections: 100  table_cache: 457

[Warning] Could not increase number of max_open_files to more than 1024 (request: 1070)

Explanation

The operating system hard limit of open files was exceeded.

Analysis

Finding the soft and hard limits of open files for your account you can find like this:

# ulimit -Sa | grep "open files"
open files                    (-n) 1200

# ulimit -Ha | grep "open files"
open files                    (-n) 8192

This corresponds to:

mysql> show variables like ...
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| open_files_limit  | 1200  |
| table_cache …

Taxonomy upgrade extras:  trouble shooting, open_files_limit, table_open_cache, limitnofile,
Categories: 

Limitations of MySQL

oli - Mon, 2010-03-15 11:01

Often asked but informations are spread around: The limitations of MySQL.

If you know any other MySQL limitations, please let us know.

Table of Contents


General limitations of MySQL

[Lit.]

32-bit binaries cannot address more than 4 Gbyte of memory. This is not a MySQL limitation, this is a technical limitation.

BLOB’s are limited to 1 Gbyte in size even thought you use LONGBLOB because of a limitation in the MySQL protocol: The protocol limit for max_allowed_packet is 1GB.


Limitations of MySQL 4.1

Limitations of Joins

In MySQL 4.1, the maximum number of tables that can be referenced in a single join is 61. This also applies to the number …


Taxonomy upgrade extras:  mysql, mysql cluster, limitation, limitations, galera, general query log,
Categories: 

Pages

Subscribe to FromDual aggregator