smartDBcheck ist ein Administrations- und Optimierungsinstrument für Progress® Datenbanken (V9) auf Win32-Rechnern. smartDBcheck visualisiert und analysiert Progress® storage areas (aka tablespaces) inklusive aller storage objects (Tabellen, Indexe, Sequenzen). Ein wesentlicher Faktor zur Steuerung des Laufzeitverhaltens einzelner storage objects in Progress® Datenbanken ist die Optimierung von records per block (RPB) jedes storage objects durch die Plazierung in einer passenden storage area. smartDBcheck erstellt umfangreiche Statistiken per storage object, berechnet nach verschiedenen Vorgaben den optimalen RPB Wert und erstellt die notwendigen scripts zur Optimierung.


Index

smartDBCheck - Technische Daten

Installationsvoraussetzungen, unterstützte Datenbanken, Lieferumfang und technische Produktdaten. [Shrink]

smartDBcheck - Kurze Entstehungsgeschichte

smartDBcheck entstand aus der Notwendigkeit heraus, eine weitgehend automatisierte Datenbankadministration kleiner und mittlerer Installationen auch dann zu ermöglichen, wenn Progress Fathom® nicht zur Verfügung steht. [Shrink]

smartDBcheck - Einsatzgebiete

smartDBcheck kann für die Datenbank-Laufzeitoptimierung und Konfiguration sowie Überwachung der storage areas in Enwicklungs und Produktionsumgebungen eingesetzt werden. [Shrink]

smartDBcheck - Lizenzbedingungen

Aktuell sind kostenfreie Beta-Test-Lizenzen verfügbar. [Shrink]



smartDBCheck - Technische Daten

[Shrink]

Systemvoraussetzungen

· Von Progress Software® unterstützte Windows® Version
· Progress RDBMS® ab Version 9
· Progress 4GL® client ab Version 9.1D



Lieferumfang

· (Verschlüsselter1) P4GL code
· HTML-Help
· UI, Dokumentation und generierte scripts in Englisch



Installation

· Download smartDBcheck.zip
· Auspacken z.B. nach /programs/smartDBcheck/
· Ausführen /programs/smartDBcheck/start.p



Unterstützte Datenbanken

· Progress® Datenbanken ab Version 9
· Noch keine Unterstützung von OE Type 2 storage areas



Technische Daten

smartDBcheck wurde vollständig mit Progress 4GL® entwickelt und benötigt keinerlei zusätzliche Komponenten wie OCXs oder DLLs. Persistente Daten wie Programmeinstellungen und object properties werden lokal gespeichert und bei jeder Datenbankverbindung aus den virtual system tables (VST) und anderen Quellen aktualisiert. Das Reporting erzeugt sequentielle Dateien, die mit Editoren gelesen, in Tabellenkalkulationen etc. verarbeitet und in Datenbanken eingelesen werden können, keine Druckausgaben. Bzgl. Grösse und Komplexität der Progress® Datenbanken bestehen keine Limitierungen.




1

Lizenzabhängig




smartDBcheck - Kurze Entstehungsgeschichte

[Shrink]

smartDBcheck ist in einer Progress® Installation entstanden, in der mehrere ERP- und accounting Datenbanken mit jeweils sehr unterschiedlichem Wachstumsverhalten betrieben werden. Logisch identische aber physisch different implementierte Datenbanken mit nicht vergleichbarem Datenvolumen wiesen nicht nur signifikante Unterschiede im Datendurchsatz auf, sondern erforderten auch individuelles monitorring, insbesondere in Bezug auf performance und umgebungsspezifische Restriktionen wie das 2Gb/file Limit.

Das Progress RDBMS® liefert zwar prinzipiell alle Informationen und Methoden, die dafür notwendig sind, jedoch im Gegensatz zu der sehr elegant gelösten logischen Wartung der Datenbanken bestehen die Werkzeuge zur Pflege und Überwachung der physischen Implementierung, wie auch in anderen Welten, aus einem Konglomerat einzelner Komponenten, die ausser dem Urheberrechtsvermerk wenig Gemeinsamkeiten aufweisen. Ein Stapel Progress® command line tools zzgl. selbst erstellte scripts stellen auf die Dauer auch für den erfahrenen DBA keine adäquate und effiziente Arbeitsplatzausstattung dar. Progress Fathom® hätte viele dieser 'Misstände' beseitigt, konnte aber (aus nicht von Progress® zu vertretenden Gründen) nicht implementiert werden.



Der 'erste Wurf' von smartDBcheck löste die dringendsten Probleme:
· Überwachung der storage areas, insbesondere hinsichtlich ausgenutzter Festplattenkapazitäten und der Dateigröße variabler 'overflow extents'.
· Anlieferung von Tabellen- und Indexstatistiken und deren Auswertung, insbesondere die datenbank- und tabellenspezifisch parametrisierte automatische Berechnung des optimalen Wertes für records per block (RPB).
· Planung von table/index moves in andere storage areas unter Berücksichtigung der maximalen Transferkapazität im gegebenen maintenance window. Vorschau auf die Auslastung aller storage areas nach den geplanten moves, um deren Konfiguration im Vorwege anpassen zu können. Automatische Erzeugung von table/index move scripts, die am Plandatum automatisch im Zuge der täglichen tape backups ausgeführt werden.

Kleinere Ergänzungswünsche wie eine Liste aller sequences mit Auslastung wurden inzwischen realisiert, andere sind projektiert:
· Zyklische Überwachung aller Dateilimits mit eMail Benachrichtigung im Annäherungsfall als batch process.
· Erzeugung von scripts zur Reorganisation einzelner Indexe ohne die Notwendigkeit, den Index zu verschieben.
· Automatisierte Anpassung der scripts zur Datenversorgung der standby Systeme bei Strukturänderungen.
· Automatisierte Anpassung der bei Programmupdates angelieferten delta.df an die physische Struktur der Zieldatenbank, wobei neue Tabellen und Indexe unabhängig von der Plazierungsangabe im delta.df in speziellen Bereichen angesiedelt werden, aus denen sie nach dem Erreichen eines für die RPB-Optimierung ausreichenden Datenvolumens in geeignete storage areas verschoben werden können.
· Zeichenorientierte Oberfläche für UNIX server.



smartDBcheck - Einsatzgebiete

[Shrink]

Das primäre Einsatzgebiet von smartDBcheck ist die Überwachung und Optimierung von Produktions-Datenbanken


Monitorring der storage areas, rechtzeitiges Erkennen von Engpässen
Die storage areas einer Progress® Datenbank werden über viele Festplatten verteilt, um maximale Ausfallsicherheit und höchstmöglichen Datendurchsatz zu erreichen. In der Regel wird mit fixed extents gearbeitet, also bis zu 1Gb Festplattenspeicher pro extent preallokiert (grössere extents sind möglich, aber nicht zu empfehlen). Variable extents werden nur als overflow extent eingerichtet. Das Progress RDBMS® benutzt sie erst dann, wenn alle fixed extents einer storage area voll sind.
Die alleinige Überwachung von Dateigrössen mittels OS-Werkzeugen macht keinen Sinn, weil die tatsächliche Ausnutzung des preallokierten Speicherplatzes nicht erkennbar und der Zusammenhang von Dateien und Daten nicht offensichtlich ist.

smartDBcheck visualisiert die storage areas / extents, liefert statistische Daten wie z.B. die Auslastung an und hilft bei der Früherkennung von Engpässen durch die Überwachung von Limits. smartDBcheck berechnet die wahrscheinliche Grösse jedes storage objects (Tabelle, Index) einer storage area. So können Expansionsraten einzelner Objekte verfolgt bzw. ermittelt werden, welche logischen Daten für ein unerwartetes Expandieren einer physischen Datei verwantwortlich sind. Weiterhin werden ungünstige Konfigurationen leicht erkannt, wie z.B. die Plazierung vieler häufig aktualisierter Tabellen in storage areas auf der gleichen Festplatte. Das Verschieben von storage objects kann über die Zeitachse geplant werden. Dabei wird die zukünftige Auslastung der betroffenen storage areas prognostiziert, so dass die physische Datenbankstruktur proaktiv gewartet werden kann.

Zyklisches Auswerten von Tabellen- und Indexstatistiken
Erst die Population von Tabellen mit produktiven Daten erlaubt die Analyse und Optimierung ihrer physischen Implementierung. Tests mit maschinell erzeugten Massendaten können zwar Implikationen liefern, eine Vorhersage des Verhaltens unter Produktionsbedingungen ist jedoch unmöglich.

smartDBcheck analysiert und optimiert eine komplette Datenbank in einem Bruchteil der Zeit, die mit konventionellen Methoden von erfahrenen DBAs aufzuwenden wäre. Optimierungsziele werden datenbankspezifisch vorgegeben und können bis auf Tabellenebene hinab definiert werden. Für jede Tabelle wird der optimale Wert records per block (RPB) berechnet. Falls dieser nicht mit der aktuellen storage area harmoniert, wird ein Umzug vorgeschlagen und eine Liste möglicher Ziele angeboten. Nach Planung aller notwendigen table und index moves kann das zu verschiebende Datenvolumen automatisch über die Zeitachse gestreckt werden, um die maximale Transferkapazität der Wartungsfenster nicht zu überschreiten.

smartDBcheck ist ein Instrument zur vorbeugenden Wartung. Regelmässige Analysen aller storage objects erlauben die Früherkennung und Beseitigung von absehbaren Laufzeitproblemen. Die performance einer Tabelle kann sich schleichend verschlechtern, wenn sich das Benutzerverhalten, die Applikationslogik oder die Qualität und Quantität der Daten ändert. smartDBcheck kann nicht alle Ursachen erkennen, z.B. nicht indizierte Zugriffe oder fragmentierte Indexe bleiben unbemerkt. Entspricht aber die tatsächliche record length nicht (mehr) dem ursprünglich angesetzten RPB-Optimierungsfaktor, so dass das RDBMS bei jedem Zugriff mehr Blöcke lesen und schreiben muss als notwendig, oder werden Indexe in data extents gespeichert, kann mit Hilfe von smartDBcheck vorbeugend eingegriffen werden.



smartDBcheck in Entwicklungsumgebungen


Entwickler können die mit smartDBcheck in Produktionsumgebungen ermittelten Daten nutzen, um ein möglichst günstiges physisches Layout vorzubereiten. Wird gegen Kopien von Produktionsdatenbanken entwickelt, können sogar die physischen Auswirkungen veränderter Applikationslogik zumindest grob prognostiziert werden. Weiterhin können Designfehler wie das versehentliche Führen von storage objects in der schema area rechtzeitig vor Auslieferung erkannt werden.



smartDBcheck - Lizenzbedingungen

[Shrink]

smartDBcheck ist in der Beta-Test-Phase. Kostenfreie Beta-Test-Lizenzen werden unter NDA (Non Disclosure Agreement) an interessierte Progress®-Anwender ausgeliefert. Zur Anforderung einer Beta-Test-Version von smartDBcheck verwende bitte den Contact link links.

Die Nutzung der Beta-Test-Software ist weder zeitlich noch funktional eingeschränkt, der Leistungsumfang entspricht aber nicht dem des später vertriebenen Softwareproduktes. Die Beta-Test-Software ist sorgfälig entwickelt und getestet worden, kann und wird jedoch noch Fehler enthalten.

smartDBcheck Beta-Tester werden gebeten, evtl. aufgetretene Fehler nachvollziehbar zu dokumentieren, Wünsche bzgl. zusätzlicher Funktionalität und/oder Handhabung zu formulieren, und nach Abschluss der Evaluierung ihre Bewertung schriftlich abzugeben. smartDBcheck Beta-Tester erhalten beim späteren Kauf eines Vollproduktes einen angemessenen Dankeschön-Rabatt.

Preis und Lizenzbedingungen für smartDBcheck sind noch nicht festgelegt. Voraussichtlich werden Lizenzen per Servercomputer vertrieben, wobei zwischen Entwicklungs- und Produktionssystemen unterschieden werden soll.



Author: Sebastian
Last Update: March 2005   Web Feed

· Home

· smartDBcheck

· smartDBcheck.de

· Web Links

· Link to us

· Contact

· What's new

· Site map

· Get Help


Most popular:

· Site Feeds

· Database Design Guide

· Google Sitemaps

· smartDataPump

· Spider Support

· How To Link Properly

· Der Organisations-Architekt

· Home Page Checkliste

· DB Primärschlüssel


Free Tools:

· Sitemap Validator

· Simple Sitemaps

· Spider Spoofer

· Ad & Click Tracking



Search Google
Web Site

Add to My Yahoo!
Syndicate our Content via RSS FeedSyndicate our Content via RSS Feed




Digg this · Add to del.icio.us · Add to Furl · We Can Help You!



Home · Categories · Articles & Tutorials · Syndicated News, Blogs & Knowledge Bases · Web Log Archives


Top of page

No Ads


Copyright © 2004, 2005 by Smart IT Consulting · Reprinting except quotes along with a link to this site is prohibited · Contact · Privacy