Archiv für die Kategorie: 'Software'

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!)

Wer schnell per Console alias Terminal seine öffentliche IP-Adresse erfahren möchte kann ab jetzt einfach eingeben:

chris-mac$ curl ifconfig.me

Und es wird die Public Internet IP zurückgegeben.

Heute habe ich das neue Windows 8 Professional getestet. Ich habe mir die Mühe gemacht, und alles per Screenshot mitgeschnitten, so könnt ihr auch sehen wie das neuste vom Neusten so designed ist. Sehr schön ist das UserInterface auch genannt Metro, das aber für einen Desktop-PC User eher ungeeignet ist, da man bekanntlich keine Touch Gesten mit der Maus ausführen kann. Wie immer verpasst Microsoft dem Windows ein neues frisches Aussehen. Leider musste ich feststellen, dass der Start Button auf dem Desktop verschwunden ist. Wenn man in die Systemeinstellungen wechseln möchte, wird die Touch Oberfläche gestartet, was für Maus User eher von Nachteil ist. Alles in allem hat Microsoft einen richtigen Schritt in die Zukunft gemacht. Respekt.

(weiterlesen …)

Ein neues aktuelles Projekt von mir ist der Business Manager. Dieses Computerprogramm ist für Kleinunternehmen ausgelegt. Es soll ihren Tagesablauf besser strukturieren und verschneller. Das ganze Projekt basiert auf der Programmiersprache Visual Basic und einer einfachen Access Datenbank. Die Datenbank wird auf ein Netzwerklaufwerk des Firmenservers gelegt, so dass alle Mitarbeiter darauf Zugriff haben. Die Datenbank selbst ist aber verschlüsselt, um vor Neugierigen zu schützen. Die Daten werden per SQL Befehle aus der Datenbank ausgelesen bzw. geschrieben. Ich habe bereits mit dem Design begonnen und schon ein paar Features programmiert, zum Beispiel den “Einkauf” im Bereich “Verwaltung” oder die “Netz IP-Adressen Übersicht” in der Rubrik “Netzwerk”. Weiteres wird nach ca. 8 Wochen folgen, da die Schule an erster Stelle steht. Aber hier schon mal ein kleiner Vorgeschmack auf meine neue Entwicklung.




Ideen-Überischt:

  • Einkauf (alle Zugriff)
    • nichts davor: nicht bestellt
    • b: bestellt
    • f: fertig und Rechnung geprüft
  • Notizen (persönlich bzw. alle Zugriff)
  • Erledigen (alle Zugriff)
    • Eintrag immer mit Name, Uhrzeit
  • Termine
    • Allgemeine
    • Persönliche
  • Formulare
    • Firmenbrief
    • Kündigungsschreiben
    • Garantiekarte
  • Fahrtenbuch
  • Sonstiges
    • Heizkosten

Wer auch noch gute Einfälle hat, bitte einfach in ein Kommentar schreiben…Ich freue mich über jedes Kommentar und eure Ratschläge!


MikroTik RouterOS™ ist ein Router Operating System, Software die einen Intel PC oder MikroTik RouterBOARD™ Hardware in einen leistungsstarken Router verwandelt. Es basiert auf den Linux v2.6 Kernel.

Features Router OS:

  • Routing
  • Firewall
  • Breitband Management
  • Wireless Acces Point
  • Hotspot
  • Gateway
  • VPN,PPoE,PPTP,PPP Server
  • EoIP Tunnel
  • usw.

(weiterlesen …)

Ich habe mir vor ca. einem Jahr diesen Mikrocontroller zugelegt und habe schon viele kleinere Projekte damit realisiert. Zum Beispiel einen kleinen Würfel mit 8×8 LED’s, eine Ampelschaltung. Irgendwann möchte ich mir noch eine Netzwerkschnittstelle (LAN) dazu kaufen, um den Arduino im Netzwerk erreichbar zu machen. So kann ich auch unterwegs mal eben schnell Aktionen zu Hause ausführen. Zum Beispiel wäre möglich meinen PC zu starten, das Licht ein/aus zu schalten, mein Sound-System steuern. Oder auch an einem sonnigen Tag den Rollo halb zu schließen und um eine bestimmte Uhrzeit den Radio einzuschalten. Es gibt unendlich verschiedene Einsatzgebiete.

Die Arduino-Plattform ist eine aus Soft- und Hardware bestehende Physical-Computing-Plattform. Beide Komponenten sind im Sinne von Open Source quelloffen. Die Hardware besteht aus einem einfachen I/O-Board mit einem Mikrocontroller und analogen und digitalen Ein- und Ausgängen. Die Entwicklungsumgebung beruht auf der Entwicklungsumgebung von Processing und Wiring, die insbesondere Künstlern, Designern, Bastlern und anderen Interessierten den Zugang zur Programmierung und zu Mikrocontrollern erleichtern soll. Arduino kann benutzt werden, um eigenständige interaktive Objekte zu steuern oder um mit Softwareanwendungen auf Computern zu interagieren. Arduino wird intensiv an Kunsthochschulen genutzt, um interaktive Installationen aufzubauen. (Quelle Wikipedia.org)

[PDF Datei: Präsentation-Arduino]