Zeige Artikel 891 bis 900 von 1179
« Zurück 10 Neuere Artikel | Weiter 10 Ältere Artikel »
Displaying posts with tag: MySQL (reset)
MariaDB on temporary tables

MariaDB soll laut folgender Page bei temporay tables schneller sein als MySQL. Da:

Our use of the Aria storage engine enables faster complex queries (queries which normally use disk-based temporary tables). The Aria storage engine is used for internal temporary tables, which should give you a speedup when doing complex selects. Aria is usually faster for temporary tables when compared to MyISAM because Aria caches row data in memory and normally doesn't have to write the temporary rows to disk.
Um dies zu testen wurden folgende Versionen installiert:

  • MySQL 5.5.12
  • MySQL 5.1.57
  • MariaDB 5.2.6
  • MariaDB 5.1.55

Es wurden zwei Tabellen mit jeweils 10000 Rows erstellt:

[Mehr]
Namensregeln für Schemadesign

Ein Freund fragte mich nach Konventionen für die Benennung von Tabellen bei der Entwicklung von Schemata für MySQL Datenbanken. Es begann damit, daß er mich fragte, wie man denn wohl eine Relation benennen soll, also eine Hilfstabelle, die zwei Tabellen in einer n:m-Beziehung miteinander verbindet.

In einem alten Job hatten wir die unten stehenden Regeln. Sie sind recht willkürlich und man kann sich anders entscheiden, aber wir hatten das so gemacht und es hat gut für uns funktioniert.

Jede Tabelle bekommt einen Namen in Kleinbuchstaben (oder der Server läuft mit lower_case_table_names = 1, was sowieso empfehlenswert ist). Der Name ist ein beschreibendes Wort im Singular. Auf diese Weise hat man weniger Schmerzen, wenn man über eine Query an einem Beispiel diskutiert. Zusätzlich wird für jede Tabelle ein eindeutiges Kürzel definiert.

Beispiel: Die Tabelle kunde bekommt das eindeutige Kürzel k.

Wir …

[Mehr]
DOAG SIG - Database sehr erfolgreich

Sehr erfolgreich ging heute die DOAG Doppel SIG - Database zum Thema "Cloud Computing" und die erste DOAG Veranstaltung zum Thema "MySQL" zu Ende. Die Teilnehmer bewerteten die Vorträge sehr gut. Es gab viele sehr gute und interessante Vorträge.

DOAG SIG - Database Cloud Computing und MySQL

Am Donnerstag, den 19. Mai 2011 findet in Hannover die DOAG SIG - Database zum Thema "Cloud Computing" und "MySQL" statt. Es gibt zwei parrallele Vortragsstreams, zwischen denen die Teilnehmer auswählen und pendeln können. Moderator ist der DOAG SIg - Leiter und ORACLE ACE Christian Trieb.

Mehr:
https://mydoag.doag.org/termine/termine.php?tid=413838

https://mydoag.doag.org/termine/termine.php?tid=423270

Power to the Backend

Ich selbst nutze unter anderem PowerDNS als DNS-Server. Im letzten Monat betrachtete ich mir dessen MySQL-Backend, da ich über zwei Kanäle darüber informiert wurde, dass PowerDNS mit dem Backend nicht skaliert.

Die DNS-Records werden in PowerDNS in zwei Tabellen abgelegt. Eine für die Domains:

create table domains (
id INT auto_increment,
name VARCHAR(255) NOT NULL,
master VARCHAR(128) DEFAULT NULL,
last_check INT DEFAULT NULL,
type VARCHAR(6) NOT NULL,
notified_serial INT DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
primary key (id)
) Engine=InnoDB;

Und eine weitere für die Records:

CREATE TABLE records (
id int(11) NOT NULL auto_increment,
domain_id int(11) NOT NULL,
name varchar(255) NOT NULL,
type varchar(10) NOT NULL,
content varchar(255) NOT NULL,
ttl …

[Mehr]
MariaDBs Kruschelkiste: Dynamic Columns for MySQL

Mit MariaDB 5.3 wird ein neuer ColumnType Einzug halten. Das sogenannte Dynamic Column. Die Idee ist gewisse Vorgehensweisen, welche aus den DocumentStore-Lösungen (z.B. MongoDB) bekannt sind zu erfüllen. Ob man das wirklich will, liegt nicht an mir zu entscheiden. Doch sei folgender Link dem geneigten Leser nahe gelegt.
Die Idee ist denkbar einfach: In der Tabelle wird eine BLOB-Spalte verwendet um darin die dynamischen Element zu verwalten.
Es sei erwähnt, dass zum Nachspielen  https://code.launchpad.net/~maria-captains/maria/5.3-mwl34 zu verwenden ist.

MariaDB [test]> SELECT VERSION();
+---------------------+
| VERSION()           |
+---------------------+
| 5.3.0-MariaDB-alpha |
+---------------------+ …

[Mehr]
01.05.2011: MySQL Stored Procedure - Performance und Versionsprobleme

MySQL hat bisher nicht den besten Ruf was die Performance von Stored Procedures angeht. Bereits 2008 war dies ein Thema in einem Blogeintrag[1]. Darin wurde die Fibonacci Formel[2] mit einer Stored Function nachgebildet. Das Ergebnis war: PHP ist mit einer ähnlichen Funktion 10x schneller als die MySQL Stored Function. Hat MySQL inzwischen nachbessern können? UPDATE 03.05.2011

ORACLE MySQL Skalierbarkeit und Leistung verbessern

Am Dienstag, den 10. Mai 2011 findet in Berlin und am Donnerstag, den 12. Mai 2011 in Kirchheim - Heimstetten (bei München) je eine Veranstaltung zum Thema "MySQL Skalierbarkeit und Leistung verbessern" statt.

Mehr:
http://www.oracle.com/us/dm/h2fy11/70841-wwmk10037168mpp216c004-oem2-359311-de.html

Berlin:
http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=131061&src=7011252&src=7011252&Act=181&evite=181

München:
http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=131062&src=7011252&src=7011252&Act=179&evite=179

Bughunter der ich bin?

Ich bin der Meinung, dass es sich gehört, dass Blogs Kommentare zulassen. Ist dies nicht der Fall, wird aus einem Blog zu schnell ein authistisches Tagebuch.
In diesem Blog fragt sich der Autor, ob er einen Bug in den neueren MySQL-Versionen (>5.1.x) gefunden hat:

mysql>SELECT BENCHMARK(100, fibonacci(10000));
ERROR 1690 (22003): DOUBLE value is out of range in '(f1@1 + f2@3)'

Uups, was ist das. Die MySQL Version 5.5.9 steigt mit einem SQL-Fehler (ERROR 1690) aus. Ist dies ein Bug?

Ganz im Gegenteil die Fehlermeldung ist hier genau richtig. Denn die Fibonacci-Reihe übersteigt den Definitionsbereich von DOUBLE. Das tat es schon in der 5.1.x und früher. Nur jetzt gibt es eben einen Fehler .. was gut ist!
Warum die genutzte Funktion …

[Mehr]
MySQL Undo Log

"Kris, kannst Du bitte mal gucken?"

Seit heute morgen, 10:00 Uhr, wächst das Undo Log immer weiter an.

Immer wenn InnoDB Daten schreibt wird die alte Version einer Zeile aus der Tabelle in das Undo-Log verschoben, also physikalisch von der ibd-Datei der Tabelle in die ibdata1 im Datadir von MySQL. In der Tabelle wird in der veränderten Zeile ein Zeiger von der neuen Version auf die alte Version der Zeile im Undo-Log installiert, der Roll(back)-Pointer. Die alte Version im Undo-Log zeigt mit ihrem eigenen Roll-Pointer auf eine noch ältere Version derselben Zeile und so weiter - es entsteht für jede Zeile in der Datenbank eine lineare Liste von Versionen in die Vergangenheit einer Row.

Der InnoDB Purge Thread hat die Aufgabe, das Undo Log zu verkürzen. Wenn er das nicht tut, dann sieht das so aus wie oben im Graphen gezeigt. Dafür kann es zwei Gründe geben: Purge Lag - also mehr Writes als der Purge Thread …

[Mehr]
Zeige Artikel 891 bis 900 von 1179
« Zurück 10 Neuere Artikel | Weiter 10 Ältere Artikel »