Benefits of NoSQL Databases (Cassandra)
Geschrieben von: Christoph Feldmeier, in Allgemein, Software, Tipps
Heute hatte ich mal wieder Zeit einen neuen Blog Beitrag zu schreiben. Ich möchte euch mehr über die NoSQL (Not Only SQL) Welt zeigen. Habt ihr euch schon mal gefragt, wie Facebook ihre Big Data speichert ? Wie Amazon ihre Produkte und Einkäufe handelt ? Wie die Google Suche durch mehrere tausend Terrabyte Daten joined – Und im Millisekunden Bereich Ergebnisse liefert ? Mit einer standard relationalen Datenbank ist dies schon lange nicht mehr möglich. Das NoSQL Prinzip ist im Grunde simpel. Diese Datenspeicher benötigen keine festgelegten Tabellenschemata und versuchen, Joins zu vermeiden. Noch dazu skalieren Sie dabei horizontal.
Meine favourite NoSQL Database ist Apache Cassandra. Heute läuft diese Datenbank in mehreren verteilten Facebook Data Centers verteilt in einem Cluster mit über 50000 tausend Servern und ist performant. Der große Vorteil von Apache Cassandra ist
- Eignung für schnelle verteilte und horizontale Skalierung
- keine Single Point of Failures
- Automatische Replikation zwischen Data Centers
- schemafrei oder nur schwache Schemarestriktionen
- Key-Value Stores
- Open Source
- einfache Datenreplikation zur Unterstützung der verteilten Architektur
- direkte REST API – JSON, XML auf Keyspaces (Datenbanken), Column Familys (Tables)

Apache Cassandra hat unterm Strich gegenüber einer relationalen Datenbank like MySQL oder Oracle einen Geschwindigkeitszuwachs von etwa Faktor 1.000 (überprüft auf meinem Server durch 1TB free GEO location data auf einem Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz, 4 Cores und 16 Gigbyte RAM) !
MySQL vs. Cassandra

Was sollen Unternehmen machen, welche einen enormen Datenzuwachs redundant stand halten müssen ? Was sollen Unternehmen machen, welche direkt mehrere Gigabyte/Terrabyte/Petabyte Daten durch analytische Algorithmen und Funktionen analysieren wollen?
Mir würden zu diesem Use Case 3 intelligent Wege einfallen:
- Direktes Data + Type Mapping mit MariaDB (MySQL Nachfolger – down kompatibel) zum Cassandra Cluster
Die Keyspaces (=Datenbanken in einem NoSQL System) können als Tabelle (View) in SQL gemappt werden und man kann in Real-Time zwischen den Daten joinen und SQL Funktionen anwenden. Verwendung Cassandra als Storage Engine. - Direkte Analyse der Daten durch Apache Hadoop, Hive mit direktem Zugriff auf das Cassandra Cluster
- Kopierung der Daten in eine relationale Datenbank MySQL, Oracle (nicht wirklich sinnvoll!)















Heute ist die sichere Übertragung von Daten sehr wichtig. Darum setzen immer mehr Administratoren auf die SSL (Secure Sockets Layer) Verschlüsselung. Solche Zertifikate kann muss man gewöhnlich bei CA Zertifizierungsstellen zum Beispiel thawte.de oder verisign.de erwerben. Doch ein normaler freetime Programmierer kann sich keine Ausgaben von ca. 200 Euro im Monat leisten. Um trotzdem nicht auf eine solche Verschlüsselung verzichten zu müssen, gibt es die Möglichkeit das Zertifikat selbst zu signieren. Der Nachteil daran ist, dass der Browser erst eine Fehlermeldung ausgibt, die erst bestätigt werden muss. Im folgenden habe ich eine Anleitung verfasst, die euch hilft ein Server Zertifikat für eure Webseite zu erstellen.
Seit einer Woche bin ich im Besitz einer eigenen Haustelefonnummer, da ich sonst immer den Festnetzanschluss meiner Eltern mitbenutzt habe. Bin aber natürlich weiterhin über den alten erreichbar. Da wir sowieso vor hatten über das Internet zu telefonieren, und eine zusätzliche Rufnummer nur 0,79 € pro Monat kostet, hab ich mir eine eigene Nummer spendiert. Die komplette Telefonie läuft über Voice over IP (VoIP, Internettelefonie). Hierbei sollte eine ständige Internet Verbindung bestehen und keine Zwangstrennung nach ca. 24h bestehen. Um Internetcalls durführen zu können benötigt man einen SIP Provider. Dieser stellt die Übertragung durch das “Internet” zu einem Internet/Telefongateway her, der den Telefonanruf ins Festnetz durchschaltet.
Einträge (RSS)