Bei Bitrix24 handelt es sich um ein Online-CRM, das in erster Linie auf die speziellen Anforderungen von kleinen und mittleren Unternehmen ausgerichtet ist. Die Software wird von dem gleichnamigen russischen Softwareunternehmen Bitrix mit Hauptsitz in Kaliningrad in Russland entwickelt. Bitrix24 zeichnet sich in erster Linie durch eine große Vielfalt an unterschiedlichen Funktionalitäten und Features aus. Mit mehr als 35 verschiedenen Social Kollaborations-Tools bietet die Lösung die richtigen Tools für effiziente Projektarbeit, schnelle Kommunikation und produktive Kundenbetreuung.

Allgemeine Informationen zu Bitrix24

Bitrix24 glänzt in erster Linie mit einem Feature-Reichtum, der im hohen Maße über den eines gängigen Social Intranet- und CRM-Tools hinausgeht und mit bekannten CRM-Systemen wie Salesforce, Pipedrive oder Odoo vergleichbar ist. Für die mobile Nutzung werden sogar eigene Android- und iOS-Apps zur Verfügung gestellt. Im Fokus des CRM-Systems stehen die umfangreichen Optionen, die Ihnen die Möglichkeit geben, mit Ihrem Team jederzeit zu kommunizieren und sich zu vernetzen. So bietet Bitrix24 beispielsweise eine breite Palette an wichtigen Funktionen und Features, um Ihre interne Kommunikation so angenehm und effizient wie möglich zu gestalten. So werden im zentralen Activity Stream alle Neuigkeiten aus dem Unternehmen übersichtlich angezeigt. Hier können Sie Posts Ihrer angestellten jederzeit liken und wichtige Ankündigungen und Neuigkeiten für alle Nutzer auf einer prominenten und gut sichtbaren Stelle anpinnen.

 

Sie haben die Möglichkeit, Einzel- oder Gruppenchats zu starten und auch eine Funktionalität für Video- und Sprachanrufe ist integriert. An einer Videokonferenz können bis zu vier Teilnehmer mitwirken. Des Weiteren verfügt Bitrix24 über ein eingebautes Screen-Sharing-Feature, mit dem Sie Ihren Mitarbeitern schnell und einfach einen Blick auf Ihren Desktop gewähren können. Dokumente werden entweder in ein gemeinsames Verzeichnis (Shared Directories) oder in Ihren privaten Cloudspeicher geladen. So können Sie und Ihre Kollegen, auf eine ähnliche Weise wie bei OneDrive, gemeinsam und kontrolliert auf Dokumente zugreifen. Um Ihnen die Suche nach Dokumenten zu erleichtern, stellt Bitrix eine globale Suchfunktion zur Verfügung. Technisch basiert Bitrix24 auf der Skriptsprache PHP und nutzt MySQL als Datenbank.

Integration von CRM und HRM

Zusätzlich zu den zahlreichen Funktionalitäten, die für die interne Kommunikation bereitgestellt werden, ist Bitrix24 auch mit umfangreichen Features für ein effizientes Kundenbeziehungs– und Human Resource-Management versehen. So können Sie beispielsweise Ihre Unternehmensstruktur schnell und einfach visualisieren und ein Angestelltenverzeichnis anlegen, sodass Sie automatisch Berichte versenden und Aufgaben delegieren können. Sie haben die Möglichkeit für alle Bitrix24-Nutzer die automatische Zeitaufzeichnung zu aktivieren. Mit einem einfachen Klick können Ihre Mitarbeiter auf diese Weise Ihren Arbeitsalltag im Unternehmen starten und beenden. Einer detailliertere Verwaltung Ihrer Mitarbeiter wird Ihnen durch Urlaubsplanungs- und Abwesenheitslisten-Funktionalität ermöglicht. Ein ausführlicher Statusbericht über Ihre aktiven Rechnungen und Aufträge wird übersichtlich im Dashboard dargestellt. Dort können Sie mithilfe von IP-Telefonie direkt aus der Software heraus Kontakt zu Ihren Kunden aufnehmen. Durch den Einsatz eines speziellen HTML-Codeschnipsels haben Sie die Möglichkeit auf Ihrer Website einen Live-Chat zu implementieren, über den Sie Ihre Kunden jederzeit kontaktieren können.

Performantes Powerpaket

Bitrix24 zeichnet sich durch die Integration einer großen Vielfalt an Schnittstellen zu anderen Apps und Softwareprodukten aus, sodass sich das CRM-System problemlos in Kombination mit vielen anderen Lösungen nutzen lässt. Falls dies jedoch für Ihre individuellen Bedürfnisse nicht ausreichend ist, können Ihre Entwickler dank Zugriff auf das Application Programming Interface (API) und das Software Development Kit (SDK) individuelle Lösungen programmieren, die optimal auf Ihre Anforderungen zugeschnitten sind. Darüber hinaus können Sie auch im offiziellen App-Store nach einer alternativen Lösung suchen. Im Rahmen der selbstgehosteten Version (On-Premise) erhalten Sie sogar den Zugriff auf den kompletten Quellcode von Bitrix24.

Der größte Vorteil von Bitrix24 ist seine gigantische Funktionsvielfalt. Hier liegt jedoch auch der größte Nachteil, zumindest in Bezug auf die Usability. Obwohl Bitrix übersichtlich gestaltet und die Benutzeroberfläche in modernem Flat Design umgesetzt ist, ist das CRM-System aufgrund der vielen Funktionen und Features anfangs kompliziert zu bedienen. Insbesondere Anfänger werden anfangs mit der gigantischen Informationsflut nahezu erschlagen.

Basis- und Premium-Version von Bitrix

Bitrix24 ist in der Basis-Version kostenlos erhältlich. Die Bitrix-Basis erlaubt eine unbegrenzte Zahl an Nutzern und 5 GB kostenlosen Cloudspeicher. Dafür müssen Sie jedoch einige Einbußen in Bezug auf Funktionen und Features in Kauf nehmen. Während beim Social Intranet kaum Einschnitte vorhanden sind, werden sämtliche HR- und CRM-Funktionen stark heruntergefahren. In der Premium-Version sind alle Funktionalitäten inklusive sehr spezieller Features enthalten. Aus diesem Grund sollten Sie sich vorher selbst informieren, welche Version am besten die Anforderungen Ihres Unternehmens erfüllt. Die kostenpflichtige Premium-Version ist je nach Funktionsumfang ab 24 Euro im Monat erhältlich. Die selbstgehostete Version kostet ab 1490 US-Dollar. Hier kommen allerdings die Kosten für den Betrieb sowie die Administration des eigenen Bitrix-Servers hinzu, der in vielen Fällen nginx als Webserver nutzt.

Schneller Support mit einem eigenen Bitrix-Forum

Auch in Sachen Support überzeugt Bitrix mit einer Vielzahl an unterschiedlichen Optionen. Bei auftretenden Problemen steht Ihnen als erste Recherche ein umfangreiches Online-FAQ zur Verfügung. Falls Ihnen das nicht ausreichend weiterhilft, können Sie Ihr Problem im mehrsprachigen Online-Forum posten. Bitrix-Administratoren werden sich binnen kürzester Zeit, um Ihr Problem kümmern. Alternativ können Sie eine Anfrage über das Online-Ticketsystem stellen. Hier wird jedoch der Support nur in englischer Sprache angeboten. Eine Telefon-Hotline ist nicht vorhanden.

Wo Server betrieben werden, ist Virtualisierung heutzutage meist nicht weit. Hyper-V heißt die Lösung von Microsoft in diesem Bereich. Einzelne Server lassen sich darauf bequem erstellen und verwalten. Aber auch ganze Netzwerkstrukturen können virtualisiert werden. Skalierbarkeit und Ausfallsicherheit sind Hauptargumente für einen Betrieb virtueller Server. Zudem kann Hardware besser ausgelastet und Systemlast einfacher verteilt werden.

Allgemeines zu Hyper-V

Im Jahr 2008 stellte Microsoft seine Virtualisierungslösung mit dem Namen Hyper-V vor. Sie war erstmals in den Betriebssystemversionen Windows Server 2008 und Windows 8 enthalten. Ihre Vorgänger waren der Microsoft Virtual Server im Bereich der vServer und der Virtual PC für den Desktop-Bereich.

Wie aus dem Namen schon hervorgeht, ist Hyper-V ein sogenannter Hypervisor. Dieser stellt eine Abstraktionsschicht zwischen der realen Hardware und dem virtualisierten System, Gastsystem genannt, dar. Im Gegensatz zu vollständig virtualisierten Systemen, werden dem Gastsystem auch Ressourcen der physikalischen Hardware zur Verfügung gestellt. Dies aber nur unter Überwachung und Steuerung des Hypervisors. Diese Technik wird Paravirtualisierung genannt.

Hyper-V gibt es als Typ-1- und Typ-2-Hypervisor. Die Ausführung vom Typ 1, die auch als Bare-Metal-Hypervisor bezeichnet wird, stellt nur ein abgespecktes Betriebssystem zur Verfügung. Hauptbestandteil ist der Hypervisor. Die Administration erfolgt über die Kommandozeile oder per Remoteverbindung mit der Software „Hyper-V-Manager“, die ab der Windows-Versionen „Professional“ Bestandteil des Betriebssystems ist. Sie muss lediglich in der Systemsteuerung aktiviert werden.

Die Ausführung des Typ-2-Hypervisors ist in den Server-Betriebssystemen von Windows und den Desktop-Varianten „Professional“ und „Enterprise“ enthalten. Sie lässt sich ebenfalls in der Systemsteuerung zu den Programmen hinzufügen. Die Bedienung erfolgt auch hier mit dem „Hyper-V-Manager“. Die Bedienung ähnelt der von im Desktop-Bereich bekannter Virtualisierungssoftware, etwa Virtual-Box oder VMWare-Player.

Funktionsweise und Vorteile

Durch die Virtualisierungssoftware werden virtuelle Hardwareplattformen erzeugt. Bei der Paravirtualisierung müssen die Gastsysteme kompatibel zur Plattform des Wirtsrechners (Host) sein. Die Erzeugung der virtuellen Maschinen kann auf herkömmliche Weise, mit einem Installationsmedium erfolgen. In der Regel werden aber Vorlagen verwendet, die in Minutenschnelle geladen sind und ein betriebsbereites Gastsystem bieten.

Die virtuellen Maschinen haben jeweils ihren eigenen, abgeschotteten Bereich. Die Hardware stellt der Hypervisor zur Verfügung. Entsprechend besteht dabei große Flexibilität. So kann Arbeitsspeicher einfach angepasst werden und dynamischer Speicherplatz zugeteilt werden. Auf diese Weise können Lastspitzen abgefangen und zu lastärmeren Zeiten die Leistung wieder verringert werden.

Eine weitere große Stärke spielt eine Virtualisierungslösung wie Hyper-V bei der Virtualisierung von Netzwerkstrukturen aus. Es können beliebig Switche und Router erzeugt und damit getrennte Netze oder Subnetze gebildet werden. Letztlich lassen sich ganze Rechenzentren auf diese Weise virtuell verwirklichen.

Der Aufwand für die Einrichtung und Wartung wird dabei minimiert. Anstatt Patchkabel zu stecken, müssen nur Einstellungen im Hyper-V-Manager vorgenommen werden.

Eine recht neue Technologie ist die der Container-Lösungen wie Docker. Diese werden seit der Hyper-V-Version 2016 ebenfalls unterstützt. Hierbei wird keine vollständige virtuelle Maschine erzeugt, sondern nur eine Laufzeitumgebung für einzelne Anwendungen. Diese verwendet Ressourcen zudem nur solange, wie sie auch in Benutzung ist. Die Last, die ein Betriebssystem im Leerlauf erzeugt, fällt bei Nutzung von Container-Anwendungen weg.

 

Bezüglich der Gastbetriebssysteme besteht eine große Auswahl. Virtualisiert werden können:

-Windows-Server-Betriebssysteme,

-Windows-Desktop-Betriebssysteme,

RedHat-Enterprise,

Debian-Linux,

Ubuntu-Linux,

SuSE-Linux,

FreeBSD.

Zu beachten ist, dass das Betreiben virtualisierter Systeme eine gültige Lizenz für das Gastsystem erfordert.

Lizenzen von Hyper-V

Hyper-V ist grundsätzlich kostenlos. Allerdings sind die Betriebssysteme, in denen der Hypervisor eingebettet ist, kostenpflichtig. Ebenso die darin betriebenen Server-Versionen von Windows. Auch für die Anbindung an Speicherlösungen, etwa der Windows-Datacenter-Editionen, fallen Kosten an. Insbesondere verteilte Speicherlösungen von Windows, wie etwa „Direkte Speicherplätze“ (Storage Spaces Direct, abgekürzt: S2D), verursachen nicht unerhebliche Lizenzkosten. Für den Testbetrieb stellt Microsoft zudem kostenlose Evaluierungsversionen von Hyper-V zur Verfügung.

Anwendungsbereiche

Im Firmenbereich kann eine saubere Abschottung von Servern mit unterschiedlichen Aufgabenbereichen erzielt werden, ohne zusätzliche Hardware zu benötigen. Dies können beispielsweise ein Exchange-Server, der Domain-Controller, ein SQL-Server und der Fileserver sein. Weiterhin lassen sich ohne großen Aufwand Subnetze für verschiedene Arbeitsbereiche bilden. Eine physikalische Trennung der Netze ist damit nicht erforderlich. Auch im Bereich von Rechenzentren findet Software wie Hyper-V Anwendung. Mit dieser Technologie ist es Hosting-Anbietern beispielsweise möglich, Kunden kurzfristig virtuelle Server zur Verfügung zu stellen.

Alternativen

Bekanntester kommerzieller Mitbewerber ist der Anbieter VMWare. Dieser bietet mit dem ESXi-Server einen Bare-Metal-Hypervisor vergleichbarer Art. Einen Hypervisor des Typs 2 hat VMWare ebenfalls im Angebot, die VMWare Workstation.

Auch Open-Source-Lösungen sind verfügbar. Auf Basis des etablierten Linux-Hypervisors KVM/QEMU stellt der PROXMOX-Server einen Hypervisor des Typs 1 zur Verfügung.

Zudem steht unter Linux-Systemen der Hypervisor XEN kostenfrei zur Verfügung. Hierbei handelt es sich um ein Projekt der Universität Cambridge.

Bei den freien Versionen ist allerdings zu beachten, dass diese aufgrund ihrer Komplexität oftmals mit einem kostenpflichtigen Support Anwendung finden. So ist beispielsweise der Linux-Distributor RedHat in diesem Bereich tätig und bietet Support für den von ihm mitentwickelten Hypervisor KVM/QEMU.

Professionelle Server-Virtualisierungslösungen, wie VMware ESXi, haben inzwischen bemerkenswerte Fähigkeiten. Komplexe Netzwerke nachzubilden, Einfrieren des Zustands eines Servers mittels eines Mausklicks, Migration im laufenden Betrieb und nahezu unbegrenzte Skalierbarkeit, sind einige davon. Kein Wunder, dass es in vielen Firmen längst an der Tagesordnung ist, Anwendungsserver virtuell zu betreiben.

Ein paar Details zur Virtualisierung

Unter Virtualisierung versteht man in diesem Zusammenhang die Nachbildung von Hardwareplattformen durch Software. Je nach Art der Virtualisierung, kann es sich auch um eine Abstraktion der physikalischen Hardware vor dem virtuellen System handeln. Die Software teilt dem Gastsystem reale Ressourcen zu. Die für die Abstraktionsebene zuständige Software wird Hypervisor genannt.

Man unterscheidet grob in zwei Varianten der Virtualisierung:

-Vollständige Virtualisierung: Hierbei wird die Hardware komplett durch Software nachgebildet. Vorteilhaft ist, dass beispielsweise auf einem X86-System abweichende Prozessorplattformen wie ARM verwendet werden können, etwa um Software zu testen. Nachteilig ist, dass diese Methode sehr langsam ist.

-Paravirtualisierung mit oder ohne Hardwareunterstützung: In der ersten Variante werden die Gastsysteme angepasst und verwenden, nach Zuteilung durch den Hypervisor, die physikalische Hardware des Hostrechners. Dies bringt Geschwindigkeitsvorteile. In der zweiten Variante müssen die Prozessoren für die Virtualisierung optimiert sein. Moderne Prozessoren haben diese Funktionalität in der Regel. Bei Intel heißt die Technik VT-X, bei AMD nennt sie sich AMD-V.

Zudem werden Hypervisoren in zwei Typen kategorisiert:

-Typ 1-Hypervisor: Diese laden ein rudimentäres Betriebssystem mit dem Hypervisor. Eine Bedienung ist über die Kommandozeile oder ein Webinterface von einem entfernten Rechner möglich.

-Typ 2-Hypervisor: Das Wirtssystem ist ein vollständiges Betriebssystem. Der Hypervisor wird von diesem geladen und kann wie eine Software bedient werden.

VMWare ESXi ist ein Typ-1-Hypervisor und verwendet Paravirtualisierung mit Hardwareunterstützung.

Einzelheiten zu VMWare ESXi

VWMware stellte den ESXi-Server erstmals 2001 vor. In der Anfangszeit bot der Virtualisierungsspezialist parallel den ESX-Server an, bei dem es sich um die umfassendere Lösung handelte. Die Weiterentwicklung von ESX wurde inzwischen eingestellt. VMWare ESXi ist Bestandteil der Virtualisierungsplattform vSphere. Weitere Bestandteile sind beispielsweise der vCenter Server zur Verwaltung von VMWare ESXi und das vCenter zur Automatisierung der Verwaltung von virtuellen Maschinen. ESXi verhält sich nach der Installation wie ein rudimentäres Linux-System. Auf einer textbasierten Eingabemaske lässt sich beispielsweise das Netzwerk konfigurieren.

Die eigentliche Administration erfolgt später von einem entfernten Rechner, mit der Software vSphere Client. Dort hat der Administrator die Möglichkeit, virtuelle Maschinen anzulegen und zu verwalten. Zudem ist es möglich, Netzwerke inklusive virtueller Komponenten, wie Switche und Router, einzurichten. Speicher kann auch extern eingebunden werden, etwa per iSCSI.

Für die virtuellen Maschinen können detaillierte Einstellung für die zur Verfügung stehende Hardware gemacht werden. Es ist möglich, Vorlagen für bestimmte virtuelle Maschinen anzulegen. Hieraus kann ein virtuelles System in sehr kurzer Zeit erstellt werden.

Die virtualisierten Systeme sind zudem einfach zu exportieren, etwa zur Sicherung oder zur Migration. Sinnvoll ist die Snapshot-Funktion, mit der Systeme eingefroren werden. So können Änderungen, beispielsweise zu Testzwecken, auf eine temporäre Festplatte (Delta) geschrieben werden. Später kann entschieden werden, ob zu einem Snapshot zurückgesprungen oder das Delta übernommen werden soll.

Hardware, etwa Lizenz-Dongles, dürfen sowohl am ESXi-Server zur Verfügung gestellt werden, als auch an durchgereichten USB-Schnittstellen aufrufender Rechner. Es werden verschiedene Ausführungen des aktuellen vSphere mit der Versionsnummer 6 angeboten. Einige hiervon sind:

-vSphere Hypervisor: Ist die kostenlose, im Funktionsumfang eingeschränkte, Version. Diese kann nur auf einem physikalischen Server mit einem Prozessorkern verwendet werden.

-vSphere Essentials: Ist die kleinste kostenpflichtige Variante. Sie darf auf drei physikalischen Servern betrieben werden. Zudem ist ein zentrales Management möglich.

-vSphere Standard: Sieht keine Beschränkungen bei der Anzahl von Servern vor. Die Anzahl der virtuellen Kerne pro Gast ist aus 128 begrenzt. Sie bietet zudem Features wie die Migration von Systemen im laufenden Betrieb.

-vSphere Platinum: Ist das Spitzenprodukt. Es beinhaltet unter anderem zusätzliche Sicherheitsmodule von Drittanbietern und Netzwerk-Monitoring.

Anwendungsgebiete und Vorteile von VMware ESXi

Gebräuchlich ist VMWare ESXi im Bereich der Server-Virtualisierung (vServer). Im Firmenumfeld werden so beispielsweise Server nach Anwendungszweck getrennt. Zudem können kurzfristig Spezialrechner, wie Workstations bereitgestellt werden.

Vorteilhaft ist die Skalierbarkeit. Hardwareressourcen sind kurzfristig an die Anforderungen anpassbar. Eine Ausfallsicherheit ist durch den Umstand gegeben, dass die Vorlagen eines Systems in sehr kurzer Zeit auf neue Hardware migriert werden können.

Wird VMware ESXi bei einem Hosting-Anbieter auf einem gemieteten Server betrieben, ist es sogar möglich, Kosten zu sparen. Man zahlt dort in der Regel nur die tatsächlich verwendeten Ressourcen.

Alternativen

Insbesondere zur Virtualisierung von Servern gibt es einige Alternativen zu VMWare ESXi. Microsoft bietet mit Hyper-V ein ähnliches System auf kommerzieller Basis an. Dieses gibt es als Typ-1-Hypervisor und, beispielsweise in Windows Server 2019 und Windows 10 Enterprise eingebunden, als Typ-2-Hypervisor.

Eine auf KVM/QEMU basierende Lösung ist der PROXMOX-Server. Hierbei handelt es sich um ein kostenloses Linux-Server-Betriebssystem. Im OpenSource-Bereich ist der von der Universität Cambridge entwickelte Hypervisor XEN eine weitere Alternative.

Die Abkürzung Vserver steht für „virtuelle Server“. Durch den Einsatz einer Software für Virtualisierung kann ein Hardwaresystem in einige einzelne, voll funktionsfähige Server aufgeteilt werden. Durch die Virtualisierung, wie sie zum Beispiel Proxmox ermöglicht, lässt sich der Zugriff zwischen den einzelnen Systemen unterbinden bzw. steuern. Darüber hinaus kann ein virtueller Server mittels verschiedener Distributionen, wie zum Beispiel CentOS, Ubuntu oder Debian, betrieben werden.

Das allgemeine Leistungsspektrum von Vservern

Wenn Sie sich zum Beispiel einen Vserver über das Internet mieten möchten, dann bedeutet das nicht gleichzeitig, dass einen Server erhalten, der ausschließlich für Sie arbeitet. Ein virtueller Server ist im Grunde genommen eine „kleiner Teil“ eines noch weitaus größeren Servers, welche etwa in einem Rechenzentrum aufgestellt ist. Auf einem solchen physisch vorhandenen Server werden eine Vielzahl unterschiedlicher Nutzer verwaltet, die wie Sie ebenfalls eine virtuelle Maschine für ihre Zwecke angemietet haben.

In der Regel werden sowohl die Leistung als auch die Größe vom Anbieter/Hoster festgelegt. Die Netzanbindung unterliegt größtenteils etwaigen Vorgaben des Dienstleisters. Sie können sich jedoch darauf verlassen, dass Vserver mit überaus schnellen Anbindungen an ein Netzwerk bzw. an das Internet ausgestattet sind.

Häufig müssen Sie sich allerdings um die Installation des Vserers selbst kümmern und regelmäßige Backups erstellen, damit Sie keinen Datenverlust hinnehmen müssen, wenn der Server ausfällt. Derart aufwendige Aufgaben entfallen bei einem sogenannten Managed Server, welcher Serviceleistungen, wie zum Beispiel Backup-Systeme, eine regelmäßige Wartung ihres Internetauftritt oder auch unendlichen Speicherplatz, beinhaltet.

Wenn die Leistungsfähigkeit eines gesamten Servers aufgrund der hohen Last der angemeldeten Nutzer nicht mehr ausreicht, kann der Host den Vserver auf eine Maschine umziehen, welche zu diesem Zeitpunkt noch über freie Kapazitäten verfügt. Von diesem Umzug bemerken Sie im Regelfall so gut wie nichts und können wie gewohnt Ihrer Arbeit nachgehen.

Basis für viele Programme

Vserver zeichnen sich vor allem durch die Tatsache aus, dass sie eine augenscheinlich unendliche Menge an verschiedenen Programmen unterstützen und Nutzern zielgerichtet zur Verfügung stellen können. Dabei kann es sich um eine simple Seite im Internet, einen Mehrspieler-Server für PC- und Konsolen-Spiele oder komplexe Datenbanken handeln.

Die durchweg individuelle Skalierbarkeit bietet Nutzern zahlreiche Entscheidungsmöglichkeiten und steigert auf diese Weise die Flexibilität bei der täglichen Arbeit. Insbesondere Menschen jüngerer Generationen stehen dieser modernen Technologie überaus offen gegenüber. Firmen erkennen die Technik zunehmend häufiger als zielführend, wenn es um das Erreichen wichtiger unternehmerischer Ziele geht. Zudem schätzen Firmen jedweder Größe den Komfort durch die bereitgestellten dynamischen Server sowie die damit einhergehende Skalierbarkeit.

Die Virtualisierung im Detail

Wie Sie bereits erfahren haben, kümmert sich in der Regel ein Hoster bzw. ein Rechenzentrum um die Virtualisierung von physisch vorhandenen Computern bzw. Servern. Handelt es sich also um einen virtuellen Server/Vserver, handelt es sich im Grunde genommen um einen Computer, welche virtuell in viele einzelne Computer einschließlich alle dazugehörigen Ressourcen aufgeteilt wurde. Ein einzelner dieser kleineren Rechner bezeichnen IT-Experten als sogenannten Container.

Durch den Einsatz dieses Konzepts ist es möglich, dass die Ressourcen aufgespalten werden können und vollkommen dynamisch zu jeder Zeit an die Nutzer verteilt werden können. Besteht bei einem Kunden demnach ein größerer Bedarf, kann ihm der Hoster mehr Kapazität dauerhaft oder für einen begrenzten Zeitraum zuweisen.

Auf einem Vserver lässt sich darüber hinaus ein Betriebssystem installieren, welches im Anschluss einen „vollständigen“ Computer abbildet. Üblicherweise kommt auf einem Vserver das Betriebssystem Linux ohne eine grafische Oberfläche zum Einsatz. Mit Hilfe einer sogenannten SSH-Verbindung kann der Vserver verwaltet werden.

Der Verbindungsaufbau zu einem Vserver

Der SSH-Verbindungsaufbau unter Linux ähnelt dem Terminal- bzw. CMD-Programm der Betriebssysteme Unix und Windows. Sobald ein Administrator die IP-Adresse der virtuellen Maschine sowie die zwingend notwendigen Zugangsdaten (Benutzer und Passwort) eingibt, kann er eine Verbindung zum Server aufbauen und diesen Remote (aus der Ferne) verwalten. Er kann ein Programm durch die entsprechenden Befehle in der Kommandozeile installieren oder Update einspielen. Dieses Vorgehen ist vor allem für einen Administrator überaus komfortabel und zeitsparend. Server mit einer grafischen Oberfläche benötigen weitaus mehr Ressourcen, sodass auf einem Vserver kaum andere Betriebssysteme anzutreffen sind.

Für wen sich Vserver eignen

Vserver sind mittlerweile wahre Alleskönner und sind in nahezu allen Bereichen einsetzbar. Sollten Sie darüber nachdenken, Ihren bereits vorhandenen Webspace abschaffen zu wollen und nach geeigneteren Technologien suchen, dürften Sie für einen oder mehrere Vserver in Frage kommen. Sofern Sie auf die Möglichkeit eines Manged Server verzichten möchten, sollten Sie in diesem Zusammenhang beachten, dass die erstmalige Konfiguration allerdings wesentlich aufwendiger und zeitintensiver ist.

Einsteiger können bei einem Hoster meist eine Basiskonfiguration für den virtuellen Server erwerben und sich mit der Materie vertraut machen. Wenn Sie im Lauf der Zeit feststellen, dass Ihnen die zur Verfügung gestellten Ressourcen nicht mehr ausreichen, können Sie Ihren Vserver jederzeit erweitern lassen. Für die Konfiguration des Servers sollte jedoch Fachwissen beim Nutzer vorhanden.

Ob dynamische Webseite, Data Warehouse oder Analyseprogramme, ohne eine leistungsfähige Datenbank im Hintergrund sind viele Anwendungen undenkbar. Je größer die Datenmengen und je komplexer die Datenbankabfragen werden, umso leistungsfähiger muss das Datenbankmanagementsystem sein. PostgreSQL gilt heute als die weltweit fortschrittlichste Open-Source-Datenbanksystem für komplexe Datenbanken.

PostgreSQL – komplexe Daten sicher speichern und verwalten

Es ist ein leistungsstarkes, objektrelationales Datenbanksystem, abgekürzt ORDBMS. Die Software ist Open Source und kann kostenlos für private und geschäftliche Anwendungen genutzt werden. PostgreSQL unterstützt fast alle gängigen, für die Entwicklung von Prozeduren und Funktionen verwendeten Programmiersprachen sowie SQL (relational) als auch JSON (nicht-relationale) Abfragen. Die Leistung des Datenbank-Management-Systems ist mit kommerziellen Datenbanksystemen wie Oracle oder dem SQL-Server vergleichbar.

Das System beinhaltet viele Erweiterungen, die zusätzliche Funktionalität bieten, einschließlich PostGIS, Internationalisierung, Volltextsuche oder eine Unterstützung für internationale Zeichensätze. PostgreSQL ermöglicht es Benutzern darüber hinaus, das System um selbstdefinierte Datentypen, Operatoren, Trigger, Funktionen und Regeln, mit denen Zugriffe auf Datenbankobjekte gesteuert werden können, zu erweitern. Die Datenbank kann als 32 und 64 Bit Applikation auf Unix/Linux Umgebungen, MacOS und Windows Plattformen eingesetzt werden. PostgreSQL wird als primäre Datenbank und als Data Warehouse für viele Web-, Mobil-, Geo- und Analyseanwendungen eingesetzt.

Die Geschichte von PostgreSQL kurz gefasst

Das PostgreSQL-Projekt startete bereits 1986 unter der Leitung von Prof. Michael Stonebreaker an der Universität von Kalifornien, in Berkeley. Ursprünglich hieß das Projekt POSTGRES, in Anlehnung an die einige Jahre zuvor ebenfalls in Berkeley entwickelte Ingres-Datenbank. Im Rahmen des Projektes wurden verschiedene Funktionen, die beispielsweise zur vollständigen Unterstützung mehrerer Datentypen erforderlich sind, entwickelt und dem Ingres Nachfolger hinzugefügt. 10 Jahre nach dem Start im Jahr 1996 wurde das Projekt in PostgreSQL umbenannt, um zu verdeutlichen, dass POSTGRES die SQL-Abfragesprache unterstützt. Eine engagierte und weltweite Community unterstützt Anwender und erstellt bis heute regelmäßig Erweiterungen und neue Versionen für das Open-Source-Datenbankprojekt.

Wie funktioniert PostgreSQL?

PostgreSQL basiert wie die meisten relationalen Datenbanken auf einem Client-Server-Modell. Ein Serverprozess verwaltet die Datenbankdateien sowie die Verbindungen, die von Client-Programmen zum Server aufgebaut werden und bearbeitet die Anfragen, die von diesen Client-Programmen gestellt wurden. Diese Aufgaben werden bei PostgreSQL von einem „postmaster“ genannten Serverprogramm erledigt. Für die Kommunikation mit dem postmaster können verschiedene Client-Programme eingesetzt werden. Mit der PostgreSQL Distribution wird bereits ein als „psql“ bezeichneter schneller, aber einfach zu bedienender Datenbank-Monitor mitgeliefert. In den meisten PostgreSQL Linux-Distributionen ist mit „pgAccess“ ein grafischer Client enthalten, der auch auf Windows Plattformen genutzt werden kann. Bei interaktiven Webseiten übernimmt in der Regel der Webserver die Rolle des Client.

Typisch für das Client-Server-Modell ist die verteilte Architektur. Client und Server müssen nicht auf demselben dedizierten oder virtuellen Server installiert werden. Bei getrennter Installation kommunizieren Client und Server über eine TCP/IP Verbindung. Ein Vorteil ist, dass der PostgreSQL Server viele parallele Verbindungen verwalten kann. Jedes Mal, wenn sich ein Client mit dem Server verbindet, startet der „postmaster“ einen neuen Prozess, der dann die Client-Server-Kommunikation übernimmt.

Worin unterscheiden sich PostgreSQL und MySQL?

Zwischen beiden Datenbank-Managementsystemen gibt es zahlreiche Entsprechungen aber auch Unterschiede. Beide Systeme sind SQL konform. Wobei PostgreSQL eine höhere Konformität mit den SQL-Spezifikationen aufweist als MySQL. Postgre SQL und MySQL basieren auf Tabellen, ähnlich einer Excel Tabelle, in deren Felder Daten gespeichert werden können. In einer relationalen Datenbank wie MySQL werden üblicherweise nur alphanumerische Daten zum Beispiel Produktbezeichnungen, Orte, Postleitzahlen oder Straßennamen gespeichert. MySQL ist weitverbreitet bei webbasierten Projekten, die eine Datenbank für einfache Datentransaktionen benötigen.

PostgreSQL ist eine objektrelationale Datenbank, bei der die Prinzipien einer relationalen Datenbank auf die Speicherung und Organisation beliebiger Daten ausgeweitet wurden. PostgreSQL ermöglicht die Speicherung von Datenobjekten und Operationen mit einer deutlich höheren Komplexität als MySQL. Beispiele für komplexe Daten, bei denen relationale Datenbanken schnell an ihre Grenzen stoßen, sind Bild- und Textdateien, geografische Karten, Audio- und Videodateien. Aufgrund der Möglichkeit, komplexe Daten speichern und miteinander verknüpfen zu können, ist PostgreSQL prädestiniert für große Systemen, wo hohe Lese- und Schreibgeschwindigkeiten gefordert werden, komplexe Abfragen beantwortet und Daten validiert werden müssen.

Keine Begrenzung bei der Datenbankgröße

Die Größe einer PostgreSQL Datenbank ist theoretisch unbegrenzt. In der Praxis wird die Größe der Datenbank wahrscheinlich eher durch die Speicherkapazität des dedizierten oder virtuellen Servers beschränkt als durch die Grenzen von PostgreSQL. Eine einzelne PostgreSQL Tabelle kann bis zu 32 Tera-Byte groß werden. Diese Tabelle kann wiederum unbegrenzt viele Datensätze enthalten, die jeweils bis zu maximal 1,6 TB groß sein können. Lediglich die Anzahl der Spalten ist, je nachdem, welche Datentypen verwendet werden, auf 250 – 1600 begrenzt. Jedes Feld einer Spalte kann bis zu 1 Gigabyte Daten aufnehmen und für jede Tabelle könne unbegrenzt viele Indizes definiert werden.

Die Anwendung gilt heute als das mit Abstand fehlerfreiste und stabilste Open Source Datenbanksystem. Es wird unter anderem von der Deutschen Telekom, verschiedenen Sparkassen Verbänden, den Verwaltungen verschiedener Schweizer Kantone sowie Skype eingesetzt.

Die Software SQLite ist eine verbreitete Programmbibliothek. Sie bietet die vollständige Laufzeitumgebung für eine SQL-basierte Datenbank. Die Besonderheit ist, dass sie den Datenbestand in einer einzelnen Datei vorhält. Zudem ist sie mit der Abfragesprache SQL kompatibel. Die Software ist gemeinfrei, also frei von Urheberrechten. SQLite ist in allen gängigen Betriebssystemen implementiert.

Geschichte und Herkunft

SQLite wurde im Jahr 2000 durch D. Richard Hipp im Rahmen seiner Tätigkeit für die amerikanische Firma General Dynamics entwickelt. Dies geschah im Auftrag der Marine des US-Militärs. Zunächst handelte es sich um eine Erweiterung der Skriptsprache Tcl. Inzwischen wird SQLite von zahlreichen Programmier- und Skriptsprachen unterstützt.

Der Name setzt sich aus der Abkürzung für die Abfragesprache Structured Query Language (SQL) und der umgangssprachlichen Bezeichnung Lite, für eine „abgespeckte“ Version, zusammen. Aktuell wird das Projekt SQLite von D. Richard Hipp und zwei weiteren Entwicklern fortgeführt.

Obwohl SQLite lizenzfrei angeboten wird, ist es möglich, kostenpflichtigen Support und Erweiterungen bei den Entwicklern zu erwerben.

Details zur Funktionsweise

Die SQLite-Bibliothek ist in Desktop Betriebssystemen wie Windows, MacOS und den Linux-Distributionen enthalten. Auch die verbreiteten Smartphone-Betriebssysteme Android und iOS unterstützen SQLite nativ.

Die gesamte Anwendung läuft in einem Prozess. Anders als bei anderen Datenbanksystemen, wie MySQL, ist keine Server-Client-Architektur nötig.

SQLite verwendet eine relationale Datenbank. Die Daten werden in Tabellen abgelegt, die spaltenweise über einen Identifier angesprochen werden können. Dies hat den Vorteil, dass Daten nicht redundant vorgehalten werden müssen. Vielmehr können die Inhalte einer Tabelle mit einer oder mehreren Spalten anderer Tabellen verknüpft, also in Relation gesetzt werden.

So ist es typisch für eine Speicherung in relationalen Datenbanken, dass Daten je nach Zweck in unterschiedlichen Tabellen abgelegt werden. Eine Mail-Software könnte beispielsweise folgende Tabellen in ihrer Datenbank führen:

-Kontakte: Enthält die Mailadressen der Kommunikationspartner,

-Konversation: Speichert den Mailverlauf mit einem Gesprächspartner,

-Mails: Beinhaltet die Metadaten einzelner Mails,

-Attachments: Weist Metadaten und Pfade von Anlagen auf.

Anstatt nun in jeder Spalte der Tabelle „Mails“ die Adressen der Absender und Empfänger aufzuführen, wird dort nur die Ordnungsnummer des Kontakts abgelegt. Entsprechend erfolgt die Zuordnung der Anlagen und die Zuordnung einer einzelnen Mail zu einer Konversation.

Datentypen unter SQLite

Daten können in verschiedenen Formaten abgelegt werden. Dies erleichtert die Weiterverarbeitung ohne vorherige Konvertierung. Mögliche Datentypen sind: Null (Nullwert), Integer (Zahlenwert), Real (Fließkommazahl), Text (Klartextlicher Inhalt) und Blob (Binärwert).

Hiermit sind alle Datentypen abbildbar. So werden Datumswerte häufig als Zahlenwert, etwa im Format Unix-Time (Sekunden seit dem 01.01.1970), abgelegt. Alternativ findet sich auch eine Notierung im klartextlichen Datumsformat.

Sehr universell wird der Datentyp Blob (Binary Large Object) eingesetzt. Es können beispielsweise Vorschaubilder darin abgelegt werden. Ebenso finden sich aber auch Konfigurationsdateien, etwa im XML- oder PLIST-Format, in Blob-Datenfeldern.

Datensicherheit und temporäre Dateien

SQLite beherrscht zwei Methoden zur Gewährleistung der Konsistenz einer Datenbank.

Eine Möglichkeit ist das Führen eines Rollback-Journals. Hier wird beim Öffnen der Datenbank ein temporäres Journal erstellt. Dies erhält den Namen der Datenbank mit der Endung „-journal“. In der Datei werden die vorgenommenen Änderungen dokumentiert. So kann beim Auftreten von Problemen eine Wiederherstellung (Rollback) erfolgen.

Die andere Alternative ist die Nutzung des Write-Ahead-Logs (WAL). Bei dieser Methode werden Änderungen zunächst in die Logdatei geschrieben. Die permanente Übernahme in die Datenbank erfolgt beim ordnungsgemäßen Schließen der Datenbank oder durch manuelle Speicherung mit einem Commit-Befehl.

Zudem wird in diesem Fall ein Index in der „Shared-Memory“-Datei (SHM) geführt.

Entsprechend werden bei dieser Methode zwei temporäre Dateien angelegt. Diese erhalten den Namen der Datenbank mit den Endungen „-shm“ und „-wal“.

Schnittmengen mit SQL

Die Verarbeitung der Inhalte in SQLite-Datenbanken erfolgt mittels der Abfragesprache nach dem SQL-92 Standard. Hierdurch ist gewährleistet, dass SQL-Befehle und Abfragen angewendet werden können.

Die Speicherung eines Kontaktes könnte beispielsweise durch einen Befehl nach dem Muster

INSERT INTO kontakte (lfd_nr, name, vorname, mailadresse, rufnummer) VALUES (1, „Mustermann“, „Max“, „mustermann@muster.xyz“, „0123/45678“)

erfolgen. Hierdurch würden in der Tabelle „kontakte“ in die Spalten innerhalb der ersten Klammer die Werte aus der zweiten Klammer eingetragen.

Inhalte aus verschiedenen Tabellen können durch den Befehl JOIN kombiniert werden. Zudem ist es möglich, die Ausgaben beispielsweise durch Befehle wie WHERE und LIKE an Bedingungen zu knüpfen.

Anwendungsgebiete von SQLite

Inzwischen findet man SQLite-Datenbanken als Unterbau vieler Anwendungen. Gängige Apps auf Smartphones, zum Beispiel Messenger wie WhatsApp und Facebook, legen ihre Daten darin ab. Ebenso Browser wie Firefox und Chrome auf Desktop-PC.

Auch kommerzielle Programme nutzen SQLite. Dies bietet sich für verteilte Anwendungen an. Es muss nur die Datenbank für alle Anwender freigegeben sein. Hierdurch ist auch keine besondere Performanz mehr nötig und es ist gut möglich, diese auf virtuellen Servern bereitzustellen.

Ein solcher muss sich nicht notwendigerweise physikalisch im eigenen Netzwerk befinden. Zur Gewährleistung der Verfügbarkeit können sich hierfür extern gehostete Server anbieten.