Potenzial beim Datenzugriff und im Betrieb

Alles rund auf der Datenbank


Softwaresysteme müssen so konstruiert sein, dass sie bei Einsatz von mehr Hardware auch tatsächlich skalierbar sind. Der erste Teil dieser Artikelserie ging auf Skalierbarkeit im Allgemeinen sowie auf zentrale Themen der Skalierbarkeit im Besonderen ein. Im zweiten Teil ging es um Themen wie asynchrone Verarbeitungen und Caches. Im dritten Teil der Serie greife ich spezielle Themen rund um den Datenzugriff sowie wichtige operationale Themen auf.

Ich möchte zunächst noch einmal die Inhalte des vorausgehenden Artikels (Java Magazin 5.2012) kurz zusammenfassen: Im zweiten Teil der Serie ging es vorerst um asynchrone Verarbeitungen. Diese können von großem Nutzen sein. Stellen Sie sicher, dass Sie auch Verarbeitungsspitzen gut verkraften können. Stellen Sie ebenfalls sicher, dass asynchrone Verarbeitungen sich nicht überlappen, um Deadlock-Situationen oder unnötige Ressourcenkonflikte zu vermeiden, wiederanlauffähig (recoverable) sind, und dass potenziell langlaufende Batch-Verarbeitungen nicht die restlichen asynchronen Verarbeitungen behindern. Halten Sie den Umfang des verwalteten Zustands so gering wie möglich. Replizieren Sie diesen so effizient wie möglich zwischen den Knoten. Der Einsatz von Caches kann den Durchsatz Ihres Softwaresystems erhöhen. Sie ersparen Ihnen beispielsweise redundante Zugriffe auf die Datenschicht. Sie können Caches auf System-, Knoten- und Transaktionsebene einsetzen.

Artikelserie

Teil 1: Grundprinzipien zum Design skalierbarer Software

Teil 2: Skalierbarkeit für Fortgeschrittene: Nutzen Sie das Potenzial von Caches und Asynchronität

Teil 3: Wo selbst beim Datenzugriff und im Betrieb noch Potenzial verborgen liegt

Data Access Layer und Data Layer

Zwei kritische Bereiche sind die Datenzugriffs- und Datenhaltungsschicht (Data Access Layer und Data Layer). Basierend auf meinen Beobachtungen und Erfahrungen habe ich mir eine Strategie mit vier Punkten zurechtgelegt, die ich Ihnen an dieser Stelle mitgeben möchte:

  • Reduzieren Sie die Zahl der Zugriffe auf die Datenhaltungsschicht aus der Software heraus, um den Verarbeitungs-Overhead zu reduzieren.

  • Gestalten Sie Ihre Abfragen so effektiv wie möglich, um die Interaktion zwischen Datenzugriffs- und Datenhaltungsschicht so effizient wie möglich zu halten.

  • Verbessern (tunen) Sie die Performance Ihrer Datenbankabfragen (Queries).

Einen vierten Punkt, der in diesen Themenbereich sowie zu den beiden Punkten oben passt, soll ebenfalls erwähnt werden:

  • Nehmen Sie auf Punkt 1 und Punkt 2 ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang