Thomas Kramer

IT-COW | All posts tagged 'NoSQL'

Links der Woche

By Administrator at März 01, 2013 13:51
Filed Under: Allgemein, Programmierung allgemein

Über einen Beitrag im Heise-Forum habe ich davon erfahren dass Xing ihre Datenbank angeblich von MySQL auf Riak migriert und damit die Antwortzeiten auf ein Drittel verringert haben - ein offizieller Link dazu wäre mir natürlich lieber, wird man aber wegen der Interna eher weniger wahrscheinlich finden.

 

Riak ist eine optimierte Key/Value-Datenbank; in diesem Blog wird die Installation und Nutzung unter MacOS und Java beschrieben. Meinen letzten Anwendungsserver habe ich in Java unter Nutzung von RMI programmiert; bei einer nächsten Version wäre für mich statt RMI die Nutzung von Apache ActiveMQ als Java Message Service und als Datenbank Riak von Interesse.

 

Java bevorzuge ich generell derzeit wegen der Offenheit und der eleganten Programmierung. Das .NET-Framework hat gegenüber Java schon gewisse technische Vorteile (da es neuer ist), wie mir z. B. mein StringBuilder-Vergleich offenbart hat – bei der toString()-Methode des StringBuilders kopiert Java wohingegen .NET Referenzen erstellt, was anhand des Speicherverbrauchs ersichtlich wird. Übrigens wurden jetzt in Java 8 die Lambda-Expressions von .NET übernommen, damit hat es wieder etwas nachgezogen.

 

Jedoch scheint mir subjektiv Java ein Stück weit offener zu sein was die Anzahl der freien Bibliotheken betrifft, wie z. B. Abego TreeLayout, und natürlich ist die betriebssystemunabhängige Ausführung ein Vorteil gegenüber .NET. Das ginge mit .NET prinzipiell auch, aber was bringt einem das wenn Implementierungen nur für Microsoft-Betriebssysteme verfügbar sind?

 

Jedenfalls habe ich als Vorarbeitung schonmal Referenzen bezüglich NoSQL-Datenbanken, zu denen Riak auch gehört, gesammelt. Als technisch fundierte Beispiele zählen u. a. die Ausarbeitung mit dem Namen “SQL vs. NoSQL” der Universität Hannover oder die Masterarbeit “Evaluierung und Konfiguration eines DBMS sowie die Konzeption und Entwicklung eines Datenbank-Service auf Basis von RESTful Web Services in Scala” von Benjamin Lüdicke, welche die Datenbanken PostgreSQL, OrientDB und Riak gegenüberstellt.

 

Erstgenannte Quelle rät u. a. dazu auf einen objektrelationalen Mapper zugunsten von SQL-Abfragen zu verzichten wenn absehbar ist dass auf eine NoSQL-Datenbank umgestiegen werden soll, um eine doppelte Interpretation zu vermeiden (SQL und ORM). Damit werde ich mich bei meinem nächsten Anwendungsserver auseinandersetzen, sofern meine Zeit während des Studiums dies erlaubt.

 

Außerdem weiterempfehlen wollte ich das Blog von Karl Brodowsky, welches sich intensiv mit Datenbanken und der Kommunikation von Anwendungen beschäftigt. Als Beispiele seien seine Beiträge zu NoSQL-Datenbanken, der Latenz von Datenbankverbindungen, der Problematik des Überlaufs bei ganzzahligen Datentypen, der Unterschiede zwischen Zeichensatzkodierungen oder des Problems dass Oracle nicht zwischen Leerstrings und NULL (nicht gesetzt) unterscheidet. Im Buch Java ist auch eine Insel gibt es übrigens auch einen Abschnitt wie man Überläufe verhindern kann.

 

Generell ist es bei plattformübergreifenden Entwicklungen sicher eine kluge Strategie die restriktivste Plattform als Referenz zu verwenden und davon ausgehend auf die weniger Restriktiven zu portieren, wie ich auch schon einmal in diesem Beitrag herausgestellt habe. Zeichensatzkonvertierungen kann man unter Linux übrigens mit dem iconv-Befehl durchführen.

 

Ansonsten habe ich mir noch überlegt wieder vermehrt auf RSS-Reader zu setzen, weil ich einfach zuviel Zeit mit Internetsurfen verschwende. In dem Zusammenhang sei auch mein Beitrag zum Full Text RSS Feed Builder genannt.

 

Die neuen Thunderbird-Versionen schalten übrigens per default die Fensterleiste ab bzw. machen sie sehr schmal (wie bei Firefox/Chrome), was für mich unpraktisch war weil ich oft Fenster verschiebe. Ich habe eine Möglichkeit gefunden das Feature abzuschalten: Klick auf Einstellungen, Erweitert, Erweiterte Konfiguration->Konfiguration bearbeiten und dort mail.tabs.drawInTitlebar eingeben und auf false umändern.

 

An der Stelle hat Thunderbird eine praktische Konfigurationsmöglichkeit indem es einfach alle Einstellungsmöglichkeiten untereinander in einer Liste auflistet, mit Durchsuchungsmöglichkeit. Als fortgeschrittener Anwender finde ich das praktisch, denn z. B. Windows nervt damit dass sich bestimmte Einstellungsmöglichkeiten mit jeder neuen Version woanders finden lassen.

 

Bei Windows gibt es zwar die Registry, aber der Thunderbird about:config-Editor mit Namensräumen ist besser. Die Registry ist als Ganzes einfach zu undurchsichtig.

 

Ergänzung 02.03.2013: Ich bin nun doch wieder auf Opera umgestiegen, aus dem einfachen Grund dass ich für E-Mail, RSS-Feeds und Facebook dasselbe Programm verwenden kann. Kleine Einschränkung: Opera unterstützt im Gegensatz zum Thunderbird kein LDAP im Adressbuch - eventuell kann man das aber noch über Plug-Ins nachrüsten.

 

Außerdem nutze ich wieder Freecommander als Dateimanager, im Gegensatz zu dem Windows-Explorer bietet dieser Tab-Unterstützung an welche beim Start automatisch wiederhergestellt werden. Sehr praktisch in Firmen wenn man mit unzähligen Pfaden jonglieren muss.

 

Mir fehlte bislang noch ein privates Terminplaner-Programm (kein Outlook); ich hatte früher Sunbird als Plug-In für Thunderbird benutzt, aber richtig überzeugend war das nicht. Zwischenzeitlich war ich auf die gute alte Korkwand umgestiegen, aber ich habe jetzt mal diverse Programme zu dem Zweck ausprobiert, bei Chip gibt es eine ganz gute Übersicht.

 

PTBSync habe ich getestet aber nachdem das Programm beim ersten Start einen riesigen Werbebildschirm anzeigte welcher um Unterstützung von z. B. Greenpeace bittet habe ich es sofort wieder deinstalliert. Rainlendar ist dagegen als einfacher Desktop-Terminplaner fast perfekt, einfach und benötigt kaum Ressourcen. Zudem ist es werbefrei im Gegensatz zu anderen Freeware-Tools wie z. B. KM/SMPlayer.

 

Dann fehlte mir noch ein Wetter-Widget auf dem Desktop, das Windows-7-eigene funktioniert bei mir nicht. Stattdessen habe ich das von wetter.com installiert welches auch meine Stadt kennt. Früher hatte ich übrigens Yahoo Widgets zu dem Zweck benutzt, aber das ist mir zu ressourcenaufwändig.

 

Von der Zeitschrift c´t hatte ich früher auch immer ac´tivAid installiert, um z. B. den Rechner mit einem Shortcut in den Ruhezustand fahren zu lassen. Aber nachdem ich nur noch mein Notebook benutze welches ich bei Nichtbenutzung einfach zuklappe benötige ich es zur Zeit eigentlich nicht. Aber wer es nicht kennt, das ist auch ein empfehlenswertes Tool.

 

Vor kurzem wollte ich übrigens einen Ratgeber herunterladen welcher in Frames aufgeteilt war und die Speichern-Funktion des Browsers speicherte wegen der Frames nicht den eigentlichen Text ab, um den es mir ging. Für solche Archivierungszwecke ist ein PDF-Druckertreiber wie eDocPrintPro nützlich, der auch zur Standardausstattung eines PCs gehören sollte.

 

Empfehlenswert sind auch die Browser-Plugins von tineye.com, um den Ursprung eines Bildes im Internet herauszufinden und somit z. B. Faker in sozialen Netzwerken zu identifizieren.

 

Ergänzung 03.03.2013: Als allgemeine Software-Verzeichnisse kann ich Essential-Freebies.de und das heise Software-Verzeichnis empfehlen, welche beide übrigens auch RSS-Feeds anbieten. Wer gerne öfters neue Software ausprobiert könnte diese Feeds abonnieren.

 

Opera bietet beim Hinzufügen von RSS-Feeds leider keine Möglichkeit an eine Webseite danach zu durchsuchen – es zeigt manchmal ein RSS-Icon an wenn es auf der aktuellen Webseite welche findet, aber nicht immer. Mein Workflow diesbezüglich sieht demnach so aus dass ich zuerst im RSS Bandit einen Feed hinzufüge anhand des Webseitennamens, dieser durchsucht die Webseite nach verfügbaren RSS-Feeds - ich wähle davon welche aus und füge sie dann hinzu.

 

Anschließend nehme ich diese Adresse und ersetze sie durch ein Full Text RSS Feed-Builder-Pendant, der aus Schlagzeilen ganze Artikel macht. Und diese neuen Adressen füge ich dann Opera hinzu - etwas umständlich, aber es geht nicht anders, zumal volle Artikel in RSS-Feeds von Verlagen natürlich eher weniger gewollt sind, weil man dadurch die Werbung umgeht.

 

Man kommt aber nicht umhin zuzugeben dass diese Art von Nachrichten-Konsum über RSS-Feeds am effektivsten ist und man nur so alle seine Quellen auf einmal nach bestimmten Nachrichten durchsuchen kann. Außerdem wird bei den Verlagen so auch Bandbreite gespart weil nur der Text übermittelt wird – diese ganzen Nachrichtenportale sind zum Teil schon arg unübersichtlich.

 

Es ist aber auch eine Illusion zu glauben dass mit dem Wegfall der allgemein absteigenden Printmedien die digitalen Inhalte weiterhin kostenlos bleiben würden, siehe z. B. das Vorgehen des Springer-Verlages. An der Stelle empfehle ich eher die Verlage durch Mikropayment via Paypal oder Flattr zu unterstützen - sofern sie das anbieten.

 

Heise denkt übrigens gerade darüber nach ein rein digitales Abo ihrer c´t-Zeitschrift für Tablets einzuführen, bisher bekommt man dieses ausschließlich im Verbund mit einem herkömmlichen Zeitschriften-Abo.

 

Ergänzung 04.03.2013: Als kleines Internetradio-Programm kann ich Screamer Radio empfehlen. Bei mir musste ich unter Windows 7 aber die Anzahl der gleichzeitig möglichen Serververbindungen über den Registry-Editor von 4 auf 10 erhöhen und anschließend den Rechner neu starten damit die Aussetzer fernblieben.

 

Die meisten Internetradio-Programme dürften den Internet Explorer im Hintergrund benutzen, so dass das ein allgemeingültiger Tipp ist.

 

Ergänzung 05.03.2013: Außerdem scheint das Tool HTTPS-Everywhere für Firefox/Chrome gut zu sein um eine verschlüsselte HTTPS-Verbindung beim Surfen zu erwingen sofern unterstützt, nur leider sind die zwei aufgeführten Pendants für Opera mit heutigen Versionen funktionsuntüchtig.

 

Ergänzung 17.06.2013: Die Suche nach geeigneten Wecker/Alarm/Countdown-Programmen gestaltet sich gar nicht so einfach wie man zunächst glauben mag; etliche Tools in der Richtung sind völlig überfrachtet oder kosten Geld für wenig Funktionalität, installieren Toolbars für den Webbrowser, müssen erst aktiviert werden oder bringen riesige Werbefenster und und und....

 

Meine Nr. 1-Empfehlung Rainlendar habe ich ja bereits genannt, aber als Alternative möchte ich noch Wecker für Windows (der hässliche Grün-Skin kann umgeschaltet werden) verraten. Für das Prüfungslernen, bei denen man mit einer vorgegebenen Zeitspanne auskommen muss, habe ich nun nach einem Countdown-Timer gesucht und bin auf den Free Countdown Timer gestoßen.

 

Als Stoppuhr empfehlenswert ist z. B. die Free Stopwatch.

 

Monats-Liste