Seite wählen

NETWAYS Blog

Prague: Postgres Conference Europe 2012

Nach 22 Jahren war es für mich mal wieder an der Zeit die Goldene Stadt zu besuchen. Natürlich auch, wie damals zur Fortbildung. Wars 1990 noch zu Bildungszwecken von der Schule aus, so war diesmal die Postgres Conference der willkommene Anlass. Deshalb starte ich auch gleich mit den ersten drei Bildern von der Konferenz selbst, gefolgt von Bildern, die auf der Karlsbrücke entstanden sind. Davon ist auf zwei Bildern die Prager Burg mit dem bilddominierenden Veitsdom zu sehen, einmal bei Tageslicht und das zweite mal angestrahlt bei Nacht.


Die vorletzten Reihe beschäftigt sich dann mit neuerer deutscher Geschichte. Hier ist neben dem Zaun der Balkon der deutschen Botschaft zu sehen. Vom Balkon verkündete der damalige Außenminister Hans-Dietrich Genscher am 30. September den ca. 4000 in die Botschaft geflüchteten DDR-Bürgen, das ihre Ausreise in die Bundesrepublik genehmigt sei.  Die letzten drei Bilder sind dann eine Reise in meine Vergangenheit und erinnern mich an einen denkwürdigen Abend im U Flecu im Herbst 1990.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

Bacula Web Gui Bacula-Web

Seit einiger Zeit ist eine neue Version der Web Gui „Bacula-Web“ für Bacula erschienen.
Bacula-Web ist ein Open Source Tool, welches ein Teil des Bacula Projectes ist.
Mit dieser Oberfläche ist es zwar nicht möglich Jobs zu steuern, aber man kann sich dafür
viele Informationen über Jobs, Volumes und Pools übersichtlich anzeigen lassen.

Die Installation und Konfiguration ist schnell durchgeführt, was ein Ausprobieren
sehr einfach macht.
Für die Installation benötigt man lediglich einen Webserver mit PHP Modulen
(Howto) und eine laufende Bacula Director Datenbank egal ob MySQL, postgreSQL oder SQLite.
Leider bin ich heute auf einen Fehler gestoßen, der mit der neusten Version 5.2.10 und
postgreSQL auftritt. Der Bug ist bekannt und ich hoffe, dass dieser schnell behoben wird.

Trotzdem lohnt sich das Ausprobieren auf jeden Fall.

Martin Schuster
Martin Schuster
Senior Systems Engineer

Martin gehört zu den Urgesteinen bei NETWAYS. Wenn keiner mehr weiss, warum irgendwas so ist, wie es ist, dann wird Martin gefragt. Er hat es dann eigentlich immer mal schon vor Jahren gesehen und kann Abhilfe schaffen :). Vorher war er bei 100world als Systems Engineer angestellt. Während er früher Nürnbergs Partykönig war, ist er nun stolzer Papa und verbringt seine Freizeit damit das Haus zu renovieren oder zieht einfach um und fängt von vorne an.

Weekly Snap: Hardware deals & OSMC CfP to Pangolin & PostgreSQL

7 – 11 May was packed with tidbits from all corners of the office – from hardware sales and open source events to database and operating system tips.
Georg began by announcing our hardware shop’s summer sale, as well as a new 2N UMTS router in store.
Stefan followed with his hyperthreading workaround for slow performance in Ubuntu LTS 12.04 “Precise Pangolin”, while Marius put his case forward for PostgreSQL.
On the event circuit, Bernd presented at the Open Source System Management Conference in Bolzano and Eva opened the Call for Papers to our Open Source Monitoring Conference on 17 – 18 October. Interested speakers are welcome to submit their presentation ideas by 30 June.
Finally, Tobias gave us his second round of IT buzzwords to lighten a busy week.

Postgresql: Neues vom Elefant

Postgresql bereichert die Welt von OpenSource Datenbanken schon seit langem, führte allerdings bisher eher ein Schattendasein und überließ MySQL das Feld – Allerdings völlig zu unrecht. Postgresql orientiert sich mehr am SQL Standard und fördert deutlich stärker die Kompatibilität mit anderen Systemen. Das ganze System fühlt sich auch mehr nach „echter“ Datenbank an, z.B. durch Namespaces, Sequenzen, Partitionierung oder die interne Verwaltung. Durch stärkere Kontrolle der Datenhaltung gewinnt man viel Performance und Transparenz bei der Entwicklung von Software oder den Betrieb von Plattformen auf Basis von Postgresql. Mir haben ein paar Sachen besonders gut gefallen die ich gerne Vorstellen würden:

Table Inheritance

Postgresql unterstützt Vererbungen. Damit ist es Möglich Objektrelationen aus der Softwareentwicklung auf die Datenbank zu übertragen ohne sich verbiegen zu müssen. Die Vererbung kann auch zur Partitionierung benutzt werden da die Attributwerte des ganzen Datensatz in den jeweiligen Tabellen landen.

create sequence universal_seq;
CREATE TABLE Base(
  oid INT8 PRIMARY KEY DEFAULT nextval('universal_seq'),
  name varchar(100) NOT NULL CHECK (name <> '')
);
CREATE TABLE asset(
  vendor VARCHAR(100),
  assetid uuid NOT NULL DEFAULT uuid_generate_v4()
) inherits (base);
create table server(
  description varchar(255),
  ipaddress cidr
) inherits(asset);

Arrays

Will man ein paar Werte in einem Feld abspeichern und nicht gleich eine abhängige Relation durch Fremdschlüssel anlegen eigenen sich simple Arrays. Die Arrays werden in der Datenbank als native Datentypen behandelt.

create table rezepte(
  id SERIAL,
  titel varchar(100),
  tags VARCHAR(100)[]
);
insert into rezepte(titel, tags) VALUES('Spinatauflauf', '{"spinat", "vegetarisch", "feta"}');
insert into rezepte(titel, tags) VALUES('Spaghetti bolognese', '{"tomaten", "hackfleisch"}');
insert into rezepte(titel, tags) VALUES('Spanakopita', '{"spinat", "vegetarisch", "feta"}');
insert into rezepte(titel, tags) VALUES('Gyros', '{"tzatziki", "knoblauch"}');
select * from rezepte WHERE 'spinat'=ANY(tags);

HSTORES

Hier prallen eigentlich zwei Welten aufeinander: Relationale Datenbanken und NOSQL. HSTORES ist ein Datentyp welcher ein Dictionary enthält. Interessant ist auch hier das es sich um einen ‚internen‘ Typ handelt der speziell indiziert werden kann.

create table attributes(uid SERIAL, dict HSTORE);
create table attributes(uid SERIAL, dict HSTORE);
insert into attributes(dict) VALUES('"f"=>"Eduart", "l"=>"Zimmermann"');
CREATE INDEX attr_dict_lastname
ON attributes
((attributes.dict -> 'l'));
select dict -> 'f' as firstname from attributes where dict -> 'l' = 'Zimmermann';

Zugegeben, es ist nicht wirklich alles neu aber es lohnt sich ein Blick über den See. Wer ungebunden ist und die Möglichkeit besitzt sich auf ein System festzulegen, kriegt mit Postgresql gleich eine komplette Fabrik zum Werkzeugkasten hinzu.

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

Weekly Snap: Icinga Workshops, Database Expansion & Fing for Home

2 – 6 April started spring with Icinga training courses and ideas for networks large and small.
From the Managed Services team, Sebastian offered his tips to expand LVM, MongoDB and PostgreSQL volumes while Marius shared his for managing home networks from your smart phone.
Eva announced our upcoming Icinga courses in Nuremberg on 7 – 11 May and Düsseldorf 21 – 25 May, ideal for beginners to monitoring. Register for the intensive workshops now!