Kurzer Rückblick auf moderne subd. Datenbankverwaltungssysteme und ihre Funktionen

Datenbankmanagementsystem (DBMS) - ein Softwaresystem, das entwickelt wurde, um eine gemeinsame Datenbank für eine Vielzahl von Anwendungen auf einem Computer zu erstellen, sie auf dem neuesten Stand zu halten und einen effektiven Benutzerzugriff sicherzustellen.

Das Hauptmerkmal des DBMS ist das Vorhandensein von Verfahren zur Eingabe und Speicherung nicht nur der Daten selbst, sondern auch Beschreibungen ihrer Struktur. Dateien, die mit einer Beschreibung der darin gespeicherten Daten versehen und von einem DBMS gesteuert wurden, wurden „Datenbanken“ (DB) genannt.

Design-Merkmale:

1) Das Vorhandensein einer visuellen Schnittstelle, die den Prozess der Erstellung von Manipulationswerkzeugen automatisiert – Bildschirmformulare, Vorlagen, Berichte, Abfragen;

2) Verfügbarkeit von Werkzeugen zum Erstellen von Datenbankobjekten im Dialogmodus;

3) Das Vorhandensein eines entwickelten Toolkits zum Erstellen von Softwareerweiterungen innerhalb einer einzigen Umgebung;

4) Eingebaute Unterstützung für universelle Datenverwaltungssprachen (SQL oder QBE).

Hauptfunktionen des DBMS

Datenverwaltung in externen Speichern (auf Platten);

Verwaltung von RAM-Pufferspeichern;

Transaktionsmanagement;

Protokollierung von Änderungen in der Datenbank;

Gewährleistung der Integrität und Sicherheit der Datenbank.

Arten von DBMS: Nach Datenmodell : 1) hierarchisch; 2) Netzwerk; 3) relational; objektorientierter

Durch die Art der Verwendung : persönlich und industriell.

Je nach Verbreitungsgrad:

Lokales DBMS (alle Teile des lokalen DBMS werden auf demselben Computer gehostet)

· Verteiltes DBMS (Teile des DBMS können auf zwei oder mehr Computern gehostet werden).

Über den Zugriff auf die Datenbank:

1) Dateiserver (DBMS-Zugriff auf Daten erfolgt über ein lokales Netzwerk);

2) Client-Server (alle Client-Anfragen zur Datenverarbeitung werden zentral vom Client-Server-DBMS verarbeitet);

3) eingebettet (für die lokale Speicherung von Anwendungsdaten und nicht für die gemeinsame Nutzung im Netzwerk konzipiert)

26. Grundlagen von MS Access DBMS: grundlegende Technologien für die Arbeit mit Tabellen (zB).

Das Datenbankmanagementsystem ermöglicht die Erstellung, Bearbeitung und Verarbeitung relationaler Datenbanken (DB), in denen textuelle, numerische, grafische und andere Informationen gruppiert und in zusammengehörigen Tabellen gespeichert werden. Die Tabellen müssen folgende Eigenschaften haben:
jede Tabellenspalte ist ein Datenelement;
alle Spalten sind homogen, d.h. ihre Elemente haben die gleiche Natur
es gibt keine zwei identischen Zeilen in der Tabelle;
Spalten und Zeilen können unabhängig von ihrem Informationsgehalt und ihrer Bedeutung in beliebiger Reihenfolge angezeigt werden.

Es gibt mehrere Möglichkeiten, Tabellen in Access zu erstellen:

· Erstellen Sie eine Tabelle in Tabellenansicht (oder durch Eingabe von Daten);

· Erstellen einer Tabelle im Tabellenentwurfsmodus;

· Erstellen Sie Tabellen mit dem Tabellenassistenten.

27. Grundlagen des MS Access DBMS: grundlegende Technologien für die Arbeit mit Formularen (zB).

Der Hauptzweck einer Tabelle in MS Access besteht darin, die eingegebenen Daten zu speichern. Gleichzeitig spielt es die Rolle eines passiven Speichers, dh es kann weder den Prozess der Anforderung neuer Datensätze noch die Übermittlung von Informationen an den Endbenutzer selbst initiieren.

Mit Formularen können Sie die Unannehmlichkeiten vergessen, die beim Arbeiten mit Tabellen mit einer großen Anzahl von Feldern auftreten. Im Modus Die Form Sie können sich ganz auf einen Datensatz konzentrieren und müssen nicht in einer langen Reihe von Tabellenspalten nach dem gewünschten Feld suchen, sondern haben alle Informationen vor Augen.

Um bequem mit dem Formular zu arbeiten, können Sie es auch platzieren Kontrollen(Zum Beispiel Tasten).

Formular, geteiltes Formular, Formularerstellung usw.

28. Grundlagen des MS Access DBMS: die Haupttechnologien zum Organisieren von Datenbanken mit mehreren Tabellen (zum Beispiel).

Der Hauptzweck einer Tabelle in MS Access besteht darin, die eingegebenen Daten zu speichern. Gleichzeitig spielt es die Rolle eines passiven Speichers, dh es kann weder den Prozess der Anforderung neuer Datensätze noch die Übermittlung von Informationen an den Endbenutzer selbst initiieren. Dazu werden im DBMS andere Objekte – Abfragen – verwendet.

Alle Anfragen werden in Anfragen-Auswahl und Anfragen-Aktionen unterteilt.

Die Hauptobjekte der Access-Datenbank sind Tabellen, Abfragen, Formulare, Berichte, Makros, Module. Die Tabelle ist das Basisobjekt des DBMS, alle anderen Objekte sind abgeleitet und werden nur auf der Grundlage zuvor erstellter Tabellen erstellt. Tabellen sind eine Reihe von Daten, die durch eine Bedeutung, einen Charakter und einen Zweck vereint sind (z. B. Daten zu Einzahlungen). In Tabellen werden diese Daten in Feldern (Spalten) und Datensätzen des gleichen Typs (Zeilen) gespeichert. Jedes einzelne Feld enthält eine Information über das Tabellenelement. Ein einzelner Eintrag besteht aus Feldern und enthält alle Informationen zu diesem Element. Typischerweise besteht eine Datenbank aus mehreren Tabellen, deren Größe begrenzt ist. Die Anzahl der Zeilen in der Tabelle ist um eins größer als die Anzahl der Datensätze (die letzte leere Zeile dient zur Eingabe eines neuen Datensatzes), und die Anzahl der Spalten entspricht der Anzahl der Felder im Datensatz. Tabellenspaltenüberschriften entsprechen Feldnamen.

In Access DBMS umfasst der Prozess zum Erstellen einer relationalen Datenbank das Erstellen eines Datenschemas. Das Datenschema zeigt Tabellen und Beziehungen zwischen ihnen visuell an und bietet auch die Verwendung von Beziehungen bei der Datenverarbeitung. Das Datenschema legt die Parameter fest, um die Integrität von Beziehungen in der Datenbank sicherzustellen.

Somit wird eine untrennbare Verbindung zwischen dem Out-of-Machine-Design einer Datenbank und der Phase ihrer Erstellung mit Hilfe eines DBMS hergestellt. In einem Datenschema, das auf einem normalisierten Datenmodell des Fachgebiets aufbaut, können Eins-zu-eins- und Eins-zu-viele-Beziehungen hergestellt werden. Für solche Verknüpfungen wird die Integrität miteinander verbundener Daten aufrechterhalten, was das Vorhandensein eines untergeordneten Datensatzes in der Datenbank ohne einen ihm zugeordneten Master während des anfänglichen Ladens der Datenbank und ihrer Anpassungen nicht zulässt. Im Datenschema definierte Beziehungen werden automatisch verwendet, wenn Formulare mit mehreren Tabellen, Abfragen und Berichte entwickelt werden, wodurch der Prozess ihrer Erstellung erheblich vereinfacht wird.

29. Grundlagen des MS Access DBMS: grundlegende Technologien für die Arbeit mit Abfragen (zB).

Der Hauptzweck einer Tabelle in MS Access besteht darin, die eingegebenen Daten zu speichern. Gleichzeitig spielt es die Rolle eines passiven Speichers, dh es kann weder den Prozess der Anforderung neuer Datensätze noch die Übermittlung von Informationen an den Endbenutzer selbst initiieren. Dazu werden im DBMS andere Objekte – Abfragen – verwendet.

Alle Anfragen werden in Anfragen-Auswahl und Anfragen-Aktionen unterteilt.

Danach select-Abfrage Das DBMS erstellt eine virtuelle Tabelle, in die es die ausgewählten Informationen einträgt und speichert sie, bis die generierte Tabelle geschlossen wird. Wenn diese Abfrage geschlossen wird, wird die resultierende Tabelle zerstört, wodurch der belegte Speicher freigegeben wird.

Im Gegensatz zu einer Auswahlabfrage Anfrage-Aktion nimmt Änderungen an bestehenden Daten vor. Mit einer Aktionsabfrage können Sie automatisch eine neue Tabelle erstellen, Daten zu einer vorhandenen Tabelle hinzufügen oder eine Reihe von Datensätzen aus einer vorhandenen Tabelle löschen oder ändern.

Jede neu erstellte Abfrage in MS Access wird automatisch als ausgewählte Abfrage betrachtet. Für den Fall, dass ein Benutzer oder Entwickler eine Aktionsanfrage erhalten muss, sollte dies ausdrücklich angegeben werden. Dies hilft, versehentliche Datenaktionen zu vermeiden, die nicht rückgängig gemacht werden können.

Abfragen in MS Access sind in drei Modi verfügbar: tabellarisch, in dem die Abfrage genauso aussieht wie eine normale Tabelle, Designermodus, in dem die Abfrage als Schema verwandter Objekte erscheint, und in Form von SQL-Anweisungen (Abfragen sind integriert ein lexikalischer Dialekt, der auf der Semantik einer regulären Tabelle basiert) Sprache (Englisch) Bei der Erstellung der Sprache wurde davon ausgegangen, dass jeder unvorbereitete Benutzer eine Konstruktion darauf schreiben kann, die sich ausschließlich an seinen Bedürfnissen orientiert und auf der vorhandenen Datenstruktur basiert).


Ähnliche Informationen.


Desktop-DBMS werden für relativ kleine Aufgaben verwendet (kleine Menge an verarbeiteten Daten, kleine Anzahl von Benutzern). Vor diesem Hintergrund haben diese DBMS eine relativ vereinfachte Architektur, insbesondere arbeiten sie im Dateiservermodus, unterstützen nicht alle möglichen DBMS-Funktionen (z. B. kein Transaktionsprotokoll, keine Möglichkeit zur automatischen Wiederherstellung der Datenbank nach Ausfällen). , etc.). Solche Systeme haben jedoch einen ziemlich breiten Anwendungsbereich. Das sind in erster Linie staatliche (kommunale) Einrichtungen, der Bildungssektor, der Dienstleistungssektor, kleine und mittlere Unternehmen. Die Besonderheiten der dort anfallenden Aufgaben sind, dass die Datenmengen nicht katastrophal groß sind, die Häufigkeit der Aktualisierungen nicht zu hoch ist, die Organisation in der Regel geografisch in einem kleinen Gebäude angesiedelt ist, die Anzahl der Benutzer von einer bis zu 10-15 Personen reicht . Unter solchen Bedingungen ist die Verwendung von Desktop-DBMS zur Verwaltung von Informationssystemen völlig gerechtfertigt und sie werden erfolgreich eingesetzt.

Eines der ersten DBMS waren die sogenannten dBase-kompatiblen Softwaresysteme, die von verschiedenen Firmen entwickelt wurden. Das erste verbreitete System dieser Art war das dBase III-PLUS-System (Achton-Tate). Eine entwickelte Programmiersprache, eine benutzerfreundliche Schnittstelle, die dem Massenbenutzer zur Verfügung steht, trug zur weiten Verbreitung des Systems bei. Gleichzeitig verursachte der Betrieb des Systems im Interpretationsmodus eine geringe Leistung in der Ausführungsphase. Dies führte zur Entstehung neuer Compilersysteme in der Nähe des dBase III-PLUS-Systems: Clipper (Nantucket Inc.), FoxPro (Fox Software), FoxBase + (Fox Software), Visual FoxPro (Microsoft). Früher war das PARADOX DBMS (Borland International) weit verbreitet.

In den letzten Jahren hat sich das Datenbankverwaltungssystem Microsoft Access stark verbreitet, das in mehreren Versionen des Microsoft Office-Pakets (Microsoft) enthalten ist.

3.5.2. Server-DBMS

Bei großen Organisationen ist die Situation grundlegend anders. Dort ist der Einsatz von Fileserver-Technologien aus den oben beschriebenen Gründen unbefriedigend. Daher stehen die sogenannten serverseitigen DBMSs an vorderster Front im Ringen um die Automatisierung.

Die wichtigsten Hersteller solcher Datenverarbeitungs- und Speichersysteme sind 3 Unternehmen: Oracle, Microsoft und IBM. Ein Diagramm, das die relativen Verkäufe der jeweiligen Systeme zeigt (Quelle: IDC-Bericht, Mai 2006), ist in Abbildung 1 dargestellt. 3.4.


Reis. 3.4.

Das Üblichste Kundenserver die Systeme sind hier jeweils Oracle-Systeme (Entwickler von Oracle), MS SQL Server (Entwickler von Microsoft), DB2, Informix Dynamic Server (IBM).

Lassen Sie uns diese Systeme kurz beschreiben.

MS SQL-Server

Bis heute wurden mehrere Versionen von Systemen entwickelt: MS SQL Server-2000, MS SQL Server-2005, MS SQL Server-2008. Hier finden Sie Informationen zum MS SQL Server-2008-System vom Microsoft-Server (http://www.microsoft.com/rus/SQL/2008/default.mspx)

Microsoft SQL Server 2008 ist ein umfassendes Datenbank- und Datenanalyseangebot für eine schnelle Erstellung skalierbare Lösungen E-Commerce, Geschäftsanwendungen und Data Warehouses. Es verkürzt die Markteinführungszeit für diese Lösungen erheblich und bietet gleichzeitig die Skalierbarkeit, um die höchsten Anforderungen zu erfüllen. SQL Server umfasst Unterstützung für die XML-Sprache und das HTTP-Protokoll, Leistungs- und Verfügbarkeitsverbesserungen, um die Last auszugleichen und die Betriebszeit sicherzustellen, sowie Funktionen zur Verbesserung der Verwaltung und Anpassung, die die Gesamtbetriebskosten senken.

Die eng in Microsoft Office integrierte SQL Server 2008 Business Intelligence-Plattform bietet eine reichhaltige, skalierbare Infrastruktur, um leistungsstarke Business Intelligence-Funktionen in den Workflow aller Geschäftsbereiche Ihres Unternehmens einzubinden und die benötigten Geschäftsinformationen über ein vertrautes MS Excel und MS zugänglich zu machen Word-Schnittstelle. .

MS SQL Server-2008 unterstützt die Erstellung und den Betrieb eines unternehmensweiten Data Warehouse, das Informationen aus allen Systemen und Anwendungen kombiniert, sodass Sie sich ein umfassendes Bild der Geschäftstätigkeit Ihres Unternehmens machen können.

MS SQL Server-2008 bietet einen skalierbaren und hochleistungsfähigen "Datenprozessor" - für die kritischsten und anspruchsvollsten Geschäftsanwendungen, diejenigen, die ein Höchstmaß an Zuverlässigkeit und Schutz benötigen, während die Gesamtbetriebskosten aufgrund eines fortschrittlichen Serverinfrastrukturmanagements gesenkt werden Fähigkeiten.

MS SQL Server-2008 bietet Entwicklern eine ausgereifte, komfortable und funktionale Programmierumgebung, einschließlich Tools für die Arbeit mit Webdiensten, innovative Datenzugriffstechnologien - alles, was für eine effiziente Arbeit mit Daten jeglicher Art und Format erforderlich ist.

Einzelne Aspekte von MS SQL Server - 2008 werden in den Vorlesungen „Der Aufbau eines modernen DBMS am Beispiel von Microsoft SQL Server 2008“ und „Wegweiser der Datenbankentwicklung“ 14 beschrieben.

Orakel

Bis heute wurden mehrere Versionen von Systemen entwickelt, die jeweils eine ganze Reihe von Produkten umfassen, z. B. Oracle 8, Oracle 9i, Oracle 10g.

Entsprechende Produktlinien umfassen sowohl das DBMS selbst (z. B. Oracle Database 10g, Oracle Database 11g) als auch Entwicklungs- und Datenanalysetools.

Hier sind Informationen über das System vom Oracle-Server http://www.oracle.com/global/ru/mid/oracle_products/database.html).

Oracle bietet vollständige, offene, erschwingliche und benutzerfreundliche Technologielösungen. Fertig zusammengestellte Lösungen enthalten automatisch eine Datenbank, einen Anwendungsserver, eine Integrationsplattform, Analyse- und Verwaltungstools für unstrukturierte Daten im Preis. Die skalierbaren Geschäftsanwendungen von Oracle können nahtlos in die IT-Infrastruktur eines Unternehmens integriert werden, ohne dass vorhandene IT-Investitionen verloren gehen.

Oracle Database 11g bietet eine verbesserte Leistung durch die Automatisierung von Verwaltungsaufgaben und die Bereitstellung branchenführender Sicherheits- und Compliance-Funktionen. Es gibt mehr Funktionen der Automatisierung, Selbstdiagnose und Verwaltung. Zu den Merkmalen des Systems gehören die Verwaltung großer Datenmengen mithilfe verteilter Tabellen und Komprimierung, effektiver Datenschutz, die Möglichkeit der vollständigen Wiederherstellung, die Fähigkeit, geophysikalische Daten von Medieninhalten in einen Geschäftsprozess zu integrieren usw.

IBM Datenbankserver

Bis heute wurden DB2- und Informix-Produktlinien entwickelt, darunter sowohl das DBMS selbst als auch Datenentwicklungs- und Analysetools (DB2 Universal Database, DB2 Personal Edition, DB2 Enterprise 9 usw. sowie Informix Dynamic Server, Informix Dynamic Server Express, Informix Extended Parallel-Server usw.

Hier sind Informationen über einige dieser Systeme vom Server (

1. Welche Trends in der Entwicklung von Server-DBMS konnten Sie in den Jahren 2015–2016 feststellen?

Witali Chesnokov, QSOFT
Die wichtigsten Trends in der Entwicklung moderner DBMS: der Einsatz von Virtualisierung und GRID-Technologie, Selbstdiagnose und automatische Korrektur, der Einsatz von NoSQL-DBMS in Big Data, der Einsatz von NewSQL-DBMS, die Ausführung von C/C++-Code im DBMS-Adressraum.

In den letzten Jahren ist die Menge an Daten, die für die Verarbeitung und Speicherung in einer Datenbank geeignet sind, exponentiell gewachsen. Es wurde eine Änderung des Gesetzes „Über personenbezogene Daten“ verabschiedet, die besagt, dass personenbezogene Daten von Bürgern der Russischen Föderation auf dem Territorium der Russischen Föderation gespeichert werden müssen. Einige westliche Länder haben auch ähnliche Gesetze. All dies führt uns zu der Notwendigkeit, Daten zu gruppieren und in Teile aufzuteilen.

Überall wächst der Anteil der Verwendung von NoSQL-DBMS, wo immer möglich, aufgrund der hohen Geschwindigkeit beim Arbeiten mit Daten und der Möglichkeit eines relativ einfachen Clusterings. Eine neue Art von DBMS, NewSQL, ist auf dem Vormarsch. Zu den wichtigsten beispiellosen Funktionen von NewSQL gehören: die Möglichkeit der asynchronen Master-Master-Replikation, die das klassische Master-Slave-Schema ersetzt und eine größere Flexibilität für Hochlastprojekte bietet; Vereinfachung der Verwaltung und Bereitstellung eines dynamischen Datenbankmanagements; Unterstützung für gespeicherte Prozeduren in C/C++ und die Möglichkeit, C/C++-Code im Adressraum des DBMS auszuführen (bieten nahezu unbegrenzte Erweiterbarkeit und eine unglaubliche Leistungssteigerung); verbesserte Diagnose- und Debugging-Tools.

Darüber hinaus sorgt der Einsatz von Virtualisierung im DBMS für die notwendige Fehlertoleranz und Skalierbarkeit.

Nikolai Fetyukhin.MST
Umstellung auf NoSQL und Spezialisierung von Datenbanken. Sie können beispielsweise auf Redis und Tarantool achten. Letztere enthält sogar einen eigenen Anwendungsserver. Ein interessanter Trend ist die Kombination von DBMS und Backend, wie Facebooks Parse. Auch reibungslose Migration von Datenbanken in die Clouds.

Petr Urvaev SimbirSoft
Funktionen, die sich in manchen DBMS erfolgreich bewährt haben, werden nach einiger Zeit auch in anderen Produkten implementiert. Zum Beispiel wurden materialisierte Ansichten, die zuerst in Oracle DBMS auftauchten, später in MS SQL Server implementiert und erschienen dann in PostgreSQL. Die Vorteile, die NoSQL-Lösungen bieten, werden nach und nach auch in relationalen DBMS implementiert. Neuere Versionen von PostgreSQL unterstützen beispielsweise die Arbeit mit Daten im JSON-Format.

Jewgeni Gussew, ITECH
Die Veränderungen der letzten Jahre im DBMS-Segment waren sowohl privater – bezogen auf einzelne führende Produkte – als auch struktureller Natur, sodass es viele Trends gibt. Erstens, Heterogenität. Der Übergang zum Microservices-Modell ermöglichte es, die Mittel zur Lösung des Datenspeicherungsproblems flexibel zu wählen und sich nicht auf eines zu beschränken. Zweitens die Entwicklung von NoSQL, In-Memory-Speichern. Drittens ist Big Data eine Revolution, die ein Überdenken sowohl der Methodik zum Speichern von Daten als auch des eigentlichen Konzepts von „Daten“ erfordert. Viertens, spaltenorientierte (spaltenorientierte) Datenbanken.

2. Gibt es Ihrer Meinung nach eine Tendenz, DBMS in die "Clouds" zu verlagern? Was sind die Vor- und Nachteile dieses Ansatzes?

Witali Chesnokov, QSOFT
Ja, es gibt definitiv einen Trend. Zunächst müssen wir zwei grundlegende Ansätze für den Betrieb eines DBMS in der Cloud trennen.

Die erste ist die Bereitstellung einer virtuellen Maschine mit einem DBMS in der Cloud. Sie können Ihr eigenes Bild hochladen oder ein vorgefertigtes mit einem bereits optimierten DBMS verwenden. Tatsächlich unterscheidet sich eine solche virtuelle Maschine nicht grundlegend von einem normalen physischen Server. Der Hauptvorteil gegenüber einem physischen Server ist die einfache Skalierung, sowohl vertikal (Sie können diesem „virtuellen“ jederzeit mehr Ressourcen zuweisen) als auch horizontal (das Erstellen eines neuen „virtuellen“ Servers dauert nur wenige Minuten). Ein weiterer wesentlicher Pluspunkt ist die hohe Verfügbarkeit von virtuellen Cloud-Maschinen (99,9 %–99,99 %). Außerdem bieten Cloud-Hoster viele zusätzliche Dienste an, wie z. B. Überwachung, Backup, Server-Control-Panel usw.

Ein grundlegend anderer Ansatz ist ein Cloud-DBMS. In diesem Fall kauft der Kunde keinen Server, sondern lediglich die Dienstleistung, ein DBMS zu nutzen. Der derzeitige Markt für Public-Cloud-DBMS, der sich auf 400 Millionen US-Dollar beläuft, wird bis 2017 auf 1,2 Milliarden US-Dollar anwachsen. Die Hauptvorteile dieses Ansatzes: Bezahlung für nicht bereitgestellte Ressourcen (die möglicherweise „ungenutzt“ sind), sondern nur für die tatsächlich genutzten: die Menge der gespeicherten Daten, die Menge der verarbeiteten DBMS-Operationen; das DBMS muss nicht konfiguriert und verwaltet werden – diese Aufgaben liegen vollständig beim Hoster; keine Notwendigkeit, über Skalierung nachzudenken; der Hoster bietet viele praktische und intuitive Tools zur Verwaltung des DBMS; hohe Verfügbarkeit. Der Hauptnachteil ist die fehlende Möglichkeit zur Feinabstimmung des DBMS.

Sie können eine solche Unterart eines Cloud-DBMS auch separat als DbaaS (Database as a Service) hervorheben. Fast immer ist ein bestimmtes DbaaS ein bestimmtes DBMS, das von direkten Entwicklern in der Cloud bereitgestellt wird. Dies führt offensichtlich zu den Unterschieden in den Geschäftsmodellen: Cloud-DBMS eignen sich für umfangreiche typische Aufgaben, während DbaaS für spezialisierte Aufgaben geeignet ist, für eine bestimmte Marke von Datenbank-Engines mit der Möglichkeit der direkten Kommunikation mit ihren Entwicklern. Darüber hinaus können Sie mit DbaaS das System für die richtige Last viel genauer auswählen, insbesondere durch die Regulierung der Anzahl der Client-Verbindungen.

Nikolai Apurin, Artwell
Der Trend existiert. Die meisten großen (allrussischen) Systeme verwenden bereits Cloud-Datenbanken.

Nikolai Fetyukhin.MST
Die Tendenz ist schwach. Die Nutzung von Clouds reduziert zwar einige Kosten, führt aber zu neuen Kosten. Die Nutzung der Cloud kann nur für Projekte mit geringer Teilnehmerzahl von Vorteil sein.

Vorteile von Clouds: einfache Skalierbarkeit, hohe Fehlertoleranz, Verfügbarkeit von Servern auf der ganzen Welt, einfaches Klonen und Bereitstellen von Daten. Nachteile: Während die Clouds als Produkt „roh“ sind, ist es unmöglich, die Daten physisch zu kontrollieren, da sie vom Cloud-Anbieter verwaltet werden.

Petr Urvaev SimbirSoft
Der Trend, DBMS in die Cloud zu verlagern, ist Teil des allgemeinen Trends, die gesamte IT-Infrastruktur von Organisationen in die Cloud zu verlagern. Der Hauptvorteil dieses Ansatzes ist die Möglichkeit, die Datenbankwartung zu übertragen. Zu den Nachteilen gehört die Speicherung wichtiger Daten auf einer unkontrollierten Seite. Ein Cloud-Speichernutzer kann, falls erforderlich, um die gespeicherten Daten zu vernichten, nicht sicher sein, dass die Daten tatsächlich gelöscht wurden.

Jewgeni Gussew, ITECH
Es existiert und ist eines der wichtigsten. Das Platzieren einer Datenbank in der Cloud hat viele Vorteile: Einfaches Sharding und Replikation, die Fähigkeit, Daten effektiv von der Geschäftslogik im Kontext der Leistung zu trennen, einfache und verständliche Verwaltung der Rechenleistung und eine Reihe anderer. Kritische Minuspunkte sehen wir erfahrungsgemäß nicht. Je mehr Daten verarbeitet werden müssen, je mehr horizontale Skalierung erforderlich ist, desto gerechtfertigter ist der Einsatz von Clouds.

3. Welche Faktoren beeinflussen die Wahl eines DBMS? Für welche Projekte eignen sich SQL-Datenbanken besser und für welche - NoSQL?

Witali Chesnokov, QSOFT
Der Hauptfaktor bei der Wahl zwischen SQL- und NoSQL-DBMS sind die Anforderungen der Anwendung. SQL ist für einige Aufgaben besser geeignet, NoSQL ist besser für andere.

Es gibt mehrere wesentliche Unterschiede zwischen diesen Arten von DBMS. Das Datenformat in SQL ist sehr streng, es gibt klare Tabellenschemata, die angeben, wo welche Art von Daten verwendet wird. Es gibt keine vordefinierten Dokumentschemata in NoSQL – beliebige Informationen können zu jedem Dokument hinzugefügt werden.
In SQL gibt es komplexe Beziehungen zwischen verschiedenen Tabellen. Daten in einer Tabelle sind oft eine Verknüpfung zu Daten in einer anderen (Prinzip der Datennormalisierung). Bei NoSQL ist in der Regel jedes Dokument eine isolierte Informationseinheit und speichert alle verfügbaren Daten (Denormalisierungsprinzip).
SQL verfügt über integrierte Mechanismen zur Wahrung der Datenintegrität (z. B. können Sie einen Datensatz nicht aus einer Tabelle löschen, wenn auf ihn in anderen Tabellen verwiesen wird). In NoSQL gibt es solche Mechanismen nicht, daher ist die Denormalisierung von Daten wichtig (idealerweise speichert jedes Dokument absolut alle Informationen zu jedem Objekt).
SQL verfügt über einen Transaktionsmechanismus, mit dem Sie mehrere SQL-Abfragen auf einer Alles-oder-Nichts-Basis ausführen können. In NoSQL existiert ein ähnlicher Mechanismus nur innerhalb eines einzelnen Dokuments.
Im Idealfall ist NoSQL aufgrund einer einfacheren Methode zum Speichern von Daten schneller als SQL, sodass Sie alle Informationen zu einem Objekt mit einer einfachen Anforderung für ein einzelnes Dokument abrufen können. Es gibt jedoch ein Problem im Zusammenhang mit der Tatsache, dass das beliebteste NoSQL-DBMS erst vor kurzem erschienen ist. Die Folge davon ist eine geringere Menge an Informationen zu diesen DBMS und eine größere Anzahl ungelöster Probleme.
NoSQL ist aufgrund des Fehlens komplexer logischer Beziehungen zwischen Dokumenten viel einfacher zu skalieren. Darüber hinaus wurden die meisten NoSQL-DBMS ursprünglich mit einem Schwerpunkt auf Skalierungsmechanismen erstellt.

Daher eignet sich NoSQL besser für Projekte mit großen Datenmengen, die sich leicht in separate unabhängige Objekte aufteilen lassen. Bietet hohe Geschwindigkeit und Skalierbarkeit. SQL eignet sich für Projekte, bei denen verschiedene Daten komplexe logische Beziehungen zueinander haben und deren Integrität äußerst wichtig ist.

Nikolai Apurin, Artwell
NoSQL - für nicht standardmäßige Berechnungen mit einer großen Datenmenge. Aber wie die Praxis gezeigt hat, werden Mengen bis zu 20 Millionen Datensätze perfekt von SQL-Datenbanken verarbeitet.

Nikolai Fetyukhin.MST
NoSQL-Technologien werden von namhaften Unternehmen aktiv eingesetzt, auch in Hochlastprojekten. Das Speichern von Daten und einfachen Auswahlen mit NoSQL geht wirklich schnell. Bei komplexeren Anfragen muss die Aufgabe auf der Produktseite gelöst werden, was das Produkt selbst verkompliziert. In seiner reinsten Form entscheiden wir uns nicht für NoSQL. Die Komplikation der Produktlogik und die Emulation grundlegender SQL-Dinge führen zu einer Erhöhung der Projektkosten. Und nicht jede NoSQL-Lösung bietet Datensicherheit in kritischen Situationen.

Petr Urvaev SimbirSoft
Die Wahl einer Datenbank hängt oft von den Vorlieben des Architekten, der möglichen Belastung, der erforderlichen Funktionalität ab. Mit SQL-Datenbanken können Sie Datenspeicherschemata klar definieren und Daten mithilfe komplexer Abfragen abrufen. Mit NoSQL-Datenbanken können Sie Daten in einem weniger geordneten Format speichern und horizontale Skalierung unterstützen. Häufig verwenden verteilte Systeme sowohl SQL- als auch NoSQL-Datenbanken, die jeweils ihre eigenen Probleme lösen.

Jewgeni Gussew, ITECH
Im jetzigen Zustand sind SQL / NoSQL eher keine konkurrierenden, sondern komplementäre Entitäten. Die Verwendung von SQL-Lösungen in einer Anwendung, wenn Sie mit komplexen Daten in ihrer Beziehung arbeiten müssen, und NoSQL, wenn die Geschwindigkeit der Arbeit mit unstrukturierten Informationen im Vordergrund steht, ist eine völlig natürliche Praxis.

4. Wie würden Sie die Verteilung der kostenpflichtigen DBMS-Lizenzen unter den Nutzern bewerten? Wann ist es sinnvoll, eine Lizenz zu kaufen?

Witali Chesnokov, QSOFT
Es gibt zwei verschiedene Möglichkeiten, das DBMS in kostenpflichtig und kostenlos zu unterteilen.

Bei der ersten handelt es sich um kostenlose Versionen kommerzieller DBMS (MS SQL, Oracle usw. haben sie).Tatsächlich ist dies eine abgespeckte Version des DBMS, der einige Funktionen fehlen. Hier ist der Hauptfaktor der Wahl sehr einfach - ob diese Funktionalität für dieses Projekt benötigt wird. Seltener gibt es eine kostenlose Version, die sich im Funktionsumfang nicht von der kommerziellen unterscheidet, aber seltener aktualisiert wird (Couchbase Server).

Das zweite sind kostenlose DBMS, für die es ähnliche kommerzielle Produkte gibt (MySQL von Oracle, Percona Server oder MariaDB). In diesem Fall liegt der Vorteil eines kommerziellen Produkts normalerweise in der Verfügbarkeit eines seriöseren technischen Supports. In Bezug auf die Funktionalität unterscheiden sich kostenpflichtige und kostenlose DBMS kaum voneinander, obwohl beide möglicherweise eigene Tools haben, die in anderen Versionen nicht verfügbar sind.

Daher gibt es zwei Hauptgründe, sich für ein kostenpflichtiges DBMS zu entscheiden: das Vorhandensein von Funktionen, die in kostenlosen Gegenstücken nicht verfügbar sind, und die Möglichkeit, den technischen Support des Herstellers um Hilfe zu bitten.

Nikolai Apurin, Artwell
Warum bezahlen, wenn es kostenlose gibt? Es gibt jedoch viele Lösungen, die nur mit kostenpflichtigen Datenbanken funktionieren können. Grundsätzlich handelt es sich um ausländische Praktiken.

Nikolai Fetyukhin.MST
Die Frage ist mehrdeutig. Bezahlte DBMS haben oft kostenlose Versionen, und kostenlose haben Komponenten, die für Geld gekauft werden können. Der Unterschied liegt meistens in den integrierten Analyse- und Datenbanküberwachungstools. Daher eignen sich kostenpflichtige DBMS eher für große Projekte mit großen verteilten Systemen.

Petr Urvaev SimbirSoft
Bezahlte DBMS-Lizenzen sind kostenlosen vorzuziehen, wenn das Projekt auf die Fähigkeiten einer bestimmten Datenbank angewiesen ist und es wichtig ist, dass die verwendeten Funktionen wie angekündigt funktionieren und Probleme bei ihrer Arbeit schnell behoben werden. Jetzt werden kommerzielle und kostenlose Datenbanken gleich häufig verwendet, und die meisten neuen Projekte entscheiden sich für kostenlose Datenbanken, da die Datenverarbeitungsfähigkeiten und die Stabilität ungefähr auf dem gleichen Niveau sind wie kostenpflichtige und kostenlose DBMS.


Die Hauptfunktionen des DBMS:
    Datenverwaltung im externen Speicher (auf Disketten);
    Datenverwaltung im RAM mit Disk-Cache;
    Protokollierung von Änderungen, Sicherung und Wiederherstellung der Datenbank nach Ausfällen;
    Unterstützung für Datenbanksprachen (Datendefinitionssprache, Datenmanipulationssprache).
Bestandteile moderner DBMS:
    der Kernel, der für die Verwaltung von Daten im externen und RAM und die Protokollierung verantwortlich ist,
    ein Datenbank-Sprachprozessor, der Anfragen zum Extrahieren und Ändern von Daten optimiert und in der Regel maschinenunabhängig ausführbaren internen Code erstellt,
    ein Laufzeitunterstützungs-Subsystem, das Datenmanipulationsprogramme interpretiert, die eine Benutzerschnittstelle mit dem DBMS erstellen
    sowie Serviceprogramme (externe Dienstprogramme), die eine Reihe zusätzlicher Funktionen zum Warten des Informationssystems bereitstellen.
DBMS-Klassifizierungen:
    Nach Datenmodell
    Hierarchisch
    Netzwerk
    relational
    Objektorientierter
    Objektrelational
- hierarchisch. Ein hierarchisches Datenmodell ist ein Modell, das in einer gemeinsamen Baumstruktur gespeicherte Datensätze mit einem einzelnen Stammdatensatztyp kombiniert, der mehrere oder keine untergeordneten Datensatztypen hat. Jeder Unterdatensatztyp kann auch mehrere Untertypen oder keine Untertypen haben. Die Hauptstruktur, die die hierarchische Darstellung von Informationen unterstützt, ist ein Baum.

Zu den Vorteilen des hierarchischen Datenmodells gehören die effiziente Nutzung des Computerspeichers und gute Indikatoren für die Ausführungszeit grundlegender Datenoperationen. Das hierarchische Datenmodell eignet sich zum Arbeiten mit hierarchisch geordneten Informationen.

Der Nachteil des hierarchischen Modells ist seine Schwerfälligkeit bei der Verarbeitung von Informationen mit ziemlich komplexen logischen Verbindungen sowie die Komplexität des Verständnisses für den durchschnittlichen Benutzer.

Beispiele: Fremdsysteme IMS, PC/Focus, Team-Up und Data Edge sowie Inlandssysteme Oka, INES und MIRIS;

Netzwerk. Mit diesem Modell können Sie eine Vielzahl von Beziehungen zwischen Datenelementen in Form eines beliebigen Diagramms darstellen und so das hierarchische Datenmodell verallgemeinern

Der Vorteil des Netzwerkdatenmodells ist die Möglichkeit einer effizienten Implementierung in Bezug auf Speicherkosten und Effizienz. Im Vergleich zum hierarchischen Modell bietet das Netzwerkmodell große Möglichkeiten hinsichtlich der Zulässigkeit der Bildung beliebiger Verknüpfungen.
Der Nachteil des Netzwerkdatenmodells ist die hohe Komplexität und Starrheit des auf seiner Basis aufgebauten Datenbankschemas sowie die Schwierigkeit, Informationen in der Datenbank durch einen gewöhnlichen Benutzer zu verstehen und zu verarbeiten. Darüber hinaus wird im Netzwerkdatenmodell die Kontrolle der Integrität von Verknüpfungen aufgrund der Zulässigkeit geschwächt, willkürliche Verknüpfungen zwischen Datensätzen herzustellen.
Systeme, die auf dem Netzwerkmodell basieren, sind in der Praxis nicht weit verbreitet. Die bekanntesten Netzwerk-DBMS sind die folgenden: IDMS, db_VistaIII, NETWORK, SETOR und KOMPAS;

relationales Modell. In relationalen Datenbanken werden alle Informationen in Form von zweidimensionalen Tabellen dargestellt. Das relationale Modell basiert auf dem Begriffssystem der relationalen Algebra, deren wichtigste „Tabelle“, „Relation“, „Zeile“, „Primärschlüssel“ sind. Alle Operationen in einer relationalen Datenbank laufen auf die Manipulation von Tabellen hinaus. Eine Tabelle besteht aus Zeilen und Spalten und hat einen innerhalb der Datenbank eindeutigen Namen. Die Tabelle spiegelt den Typ des Objekts der realen Welt (Entität) wider, und jede seiner Zeilen (Tupel) ist ein spezifisches Objekt.

Der Vorteil des relationalen Datenmodells liegt in der Einfachheit, Übersichtlichkeit und Bequemlichkeit der physikalischen Implementierung auf einem Computer. Die Einfachheit und Verständlichkeit für den Benutzer war der Hauptgrund für die weite Verbreitung. Die Probleme der Effizienz einer solchen Datenverarbeitung erwiesen sich als technisch durchaus lösbar.

Die Hauptnachteile des relationalen Modells sind die folgenden: das Fehlen von Standardmitteln zum Identifizieren einzelner Datensätze und die Komplexität der Beschreibung von hierarchischen und Netzwerkbeziehungen.

Beispiele für fremdrelationale DBMS für PC sind die folgenden: dBaseIII Plus und dBase IV (Ashton-Tate), DB2 (IBM), R:BASE (Microrim), FoxPro und FoxBase (Fox Software), Paradox und dBASE für Windows (Borland) , später FoxPro, Visual FoxPro und Access (Microsoft), Clarion (Clarion Software), Ingres (ASK Computer Systems) und Oracle (Oracle).

Darüber hinaus sind in den letzten Jahren die folgenden Datenmodelle aufgetaucht und werden aktiver in die Praxis umgesetzt:

Objektorientiertes Modell. Darin ist es möglich, bei der Präsentation von Daten einzelne Datensätze der Datenbank zu identifizieren. Beziehungen zwischen Datenbankeinträgen und ihren Verarbeitungsfunktionen werden unter Verwendung von Mechanismen hergestellt, die den entsprechenden Einrichtungen in objektorientierten Programmiersprachen ähnlich sind.

Die Struktur einer objektorientierten Datenbank wird grafisch als Baum dargestellt, dessen Knoten Objekte sind. Objekteigenschaften werden durch einen Standardtyp (z. B. string - string) oder einen benutzerdefinierten Typ (definiert als Klasse) beschrieben.

Der Hauptvorteil des objektorientierten Datenmodells gegenüber dem relationalen ist die Fähigkeit, Informationen über die komplexen Beziehungen von Objekten darzustellen. Das objektorientierte Datenmodell ermöglicht es Ihnen, einen einzelnen Datenbankeintrag zu identifizieren und die Funktionen zu seiner Verarbeitung zu definieren.

Die Nachteile des objektorientierten Modells sind die hohe konzeptionelle Komplexität, die Unbequemlichkeit der Datenverarbeitung und die geringe Geschwindigkeit der Abfrageausführung.

Moderne DBMS sind objektorientiert und relational. Die Grundeinheit ist ein Objekt, das Eigenschaften und Verknüpfungen zwischen Objekten hat. DBMS verwenden mehrere Datenmodelle: hierarchisch und Netzwerk (seit den 60er Jahren) und relational (seit den 70er Jahren). Der Hauptunterschied zwischen diesen Modellen liegt in der Darstellung von Beziehungen zwischen Objekten. Das hierarchische Datenmodell basiert auf dem Prinzip der Objekthierarchie, dh ein Objekttyp ist das Hauptobjekt, alle darunter liegenden sind untergeordnet. Es wird eine Eins-zu-Viele-Beziehung hergestellt, dh zu einem Mastertyp gibt es mehrere untergeordnete Objekttypen. Andernfalls wird der Haupttyp als übergeordneter Typ und die untergeordneten Typen als abgeleitete Typen bezeichnet. Subtypen können wiederum Subtypen haben. Der höchste Knoten in der Hierarchie (ein Satz von Attributen) wird Wurzelknoten genannt. Das Netzwerkdatenmodell basiert auf dem Prinzip „Master- und Slave-Typ gleichzeitig“, d.h. jeder Datentyp kann gleichzeitig mehrere Slave-Typen erzeugen (Eigentümer des Satzes sein) und mehreren Haupttypen untergeordnet sein (sein ein Mitglied der Gruppe). Die Objekte des relationalen Datenmodells und die Verknüpfungen zwischen ihnen werden in Form von Tabellen dargestellt, während die Verknüpfungen ebenfalls als Objekte betrachtet werden. Alle Zeilen, aus denen die Tabelle besteht
relationale Datenbank muss einen Primärschlüssel haben. Alle modernen DBMS-Tools unterstützen das relationale Datenmodell.
Objekt (Entität) - ein Element eines beliebigen Systems, über das Informationen gespeichert werden. Ein Objekt kann sowohl real (z. B. eine Person) als auch abstrakt (z. B. ein Ereignis – die Aufnahme einer Person in ein Krankenhaus) sein.
Attribut ist eine Informationsanzeige von Objekteigenschaften. Jedermann
Ein Objekt wird durch eine Reihe von Attributen charakterisiert. Eine Tabelle ist eine geordnete Struktur, die aus einer endlichen Menge von Datensätzen des gleichen Typs besteht.
Ein Primärschlüssel ist ein Attribut (oder eine Gruppe von Attributen), das eindeutig ist
Möglichkeit, jede Zeile in der Tabelle zu definieren.

    Je nach Verteilungsgrad
    Lokales DBMS (alle Teile des lokalen DBMS werden auf demselben Computer gehostet)
    Verteiltes DBMS (Teile des DBMS können auf zwei oder mehr Computern gehostet werden).
    Durch den Zugriff auf die Datenbank
3.1 Dateiserver

Bei Dateiserver-DBMS befinden sich Datendateien zentral auf dem Dateiserver. Das DBMS befindet sich auf jedem Client-Rechner (Workstation). Das DBMS greift über das lokale Netzwerk auf die Daten zu. Die Synchronisierung von Lese- und Aktualisierungsvorgängen erfolgt über Dateisperren. Vorteil dieser Architektur ist die geringe CPU-Last des Fileservers. Nachteile: potenziell hohe lokale Netzwerklast; Schwierigkeit oder Unmöglichkeit einer zentralisierten Kontrolle; die Schwierigkeit oder Unfähigkeit, so wichtige Merkmale wie hohe Zuverlässigkeit, hohe Verfügbarkeit und hohe Sicherheit bereitzustellen. Sie werden am häufigsten in lokalen Anwendungen verwendet, die Datenbankverwaltungsfunktionen verwenden; in Systemen mit geringer Datenverarbeitungsintensität und geringer Spitzenbelastung der Datenbank.

Derzeit gilt die Fileserver-Technologie als veraltet, der Einsatz in großen Informationssystemen als Nachteil.

Beispiele: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

3.2 Client-Server

Das Client-Server-DBMS befindet sich zusammen mit der Datenbank auf dem Server und greift im exklusiven Modus direkt auf die Datenbank zu. Alle Client-Anforderungen zur Datenverarbeitung werden zentral vom Client-Server-DBMS verarbeitet. Der Nachteil von Client-Server-DBMS sind die erhöhten Anforderungen an den Server. Vorteile: Potenziell geringere lokale Netzwerklast; Bequemlichkeit der zentralisierten Verwaltung; die Bequemlichkeit, wichtige Merkmale wie hohe Zuverlässigkeit, hohe Verfügbarkeit und hohe Sicherheit bereitzustellen.

Jedes der Elemente, aus denen diese Architektur besteht, spielt eine Rolle: Der Server besitzt und verwaltet die Informationsressourcen des Systems, der Client hat die Möglichkeit, sie zu nutzen. Der Datenbankserver ist eine Multi-User-Version des DBMS, die Anfragen von allen Workstations parallel verarbeitet. Seine Aufgabe ist es, die Transaktionsverarbeitungslogik unter Verwendung der erforderlichen Synchronisationstechniken zu implementieren - Unterstützung für Ressourcenblockierungsprotokolle, Bereitstellung, Verhinderung und / oder Beseitigung von Deadlocks.

Auf Wunsch des Benutzers erhält der Arbeitsplatz keine „Rohstoffe“ zur Weiterverarbeitung, sondern fertige Ergebnisse. Die Workstation-Software mit dieser Architektur spielt nur die Rolle der externen Schnittstelle (Front-End) des zentralen Datenverwaltungssystems. Dadurch können Sie den Netzwerkverkehr erheblich reduzieren, die Wartezeit auf blockierte Datenressourcen im Multi-User-Modus verkürzen und Worker entlasten.
In der Regel sind Client und Server geografisch voneinander getrennt, sie sind dann Teil oder bilden ein verteiltes Datenverarbeitungssystem.
Für moderne DBMS ist die Client-Server-Architektur zum De-facto-Standard geworden. Wenn davon ausgegangen wird, dass die zu entwerfenden Informationen eine "Client-Server"-Architektur aufweisen, dann bedeutet dies, dass die in ihrem Rahmen implementierten Anwendungsprogramme verteilt werden, d. h. ein Teil der Anwendungsfunktionen wird in dem Client-Programm implementiert, das andere - im Serverprogramm.
Das Grundprinzip der "Client-Server"-Technologie besteht darin, die Funktionen einer interaktiven Standardanwendung in vier Gruppen zu unterteilen:

    Dateneingabe- und Anzeigefunktionen;
    Fachspezifische Anwendungsfunktionen;
    grundlegende Funktionen der Speicherung und Verwaltung von Ressourcen (Datenbanken);
    Servicefunktionen.
Beispiele: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Cache, Linter.

3.3 Eingebettet

Eingebettetes DBMS – ein DBMS, das als integraler Bestandteil eines Softwareprodukts bereitgestellt werden kann, ohne dass eine Selbstinstallation erforderlich ist. Ein eingebettetes DBMS ist darauf ausgelegt, seine Anwendungsdaten lokal zu speichern und ist nicht für die gemeinsame Nutzung über ein Netzwerk vorgesehen. Ein physisch eingebettetes DBMS wird meistens als Plug-in-Bibliothek implementiert. Der Zugriff auf Daten aus der Anwendung kann über SQL oder über spezielle Programmierschnittstellen erfolgen.

Beispiele: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, Linter.

Aussichten für die Entwicklung von Datenbankverwaltungssystemen: Diese Phase ist gekennzeichnet durch das Aufkommen einer neuen Datenzugriffstechnologie – dem Intranet. Der Hauptunterschied zwischen diesem Ansatz und der Client-Server-Technologie besteht darin, dass keine spezielle Client-Software verwendet werden muss. Ein Standard-Internetbrowser wie Microsoft Internet Explorer oder Netscape Navigator wird verwendet, um mit der entfernten Datenbank zu arbeiten, und für den Endbenutzer ähnelt der Prozess des Datenzugriffs dem Surfen im World Wide Web (siehe Abbildung 1.1). Gleichzeitig verfolgt der in die vom Benutzer geladenen HTML-Seiten eingebettete Code, der normalerweise in Java, Java-Script, Perl und anderen geschrieben ist, alle Benutzeraktionen und übersetzt sie in Low-Level-SQL-Abfragen an die Datenbank, wodurch sie ausgeführt werden die Arbeit, die in der Client-Server-Technologie das Client-Programm beinhaltet. Die Bequemlichkeit dieses Ansatzes führte dazu, dass er nicht nur für den Fernzugriff auf Datenbanken, sondern auch für Benutzer des lokalen Netzwerks des Unternehmens verwendet wurde.

Anforderungen an moderne DBMS:

    das schnelle Wachstum von Wert und Umfang des E-Commerce und der Trend zur Schaffung virtueller Unternehmen, Geschäfte, Büros, Kioske;
    die Rolle der Kommunikationstechnologien - E-Mail, Gruppenarbeitstools, Telekonferenzen, interaktive Kommunikation. Computernetzwerke, einschließlich des Internets, wachsen sehr schnell, der Wert einer solchen Kombination wächst sogar noch schneller;
    die Notwendigkeit, „Daten“ in „Informationen“ umzuwandeln. Die korrekte Interpretation von Daten auf neue bequeme Weise sowie leistungsstarke Mechanismen zum Speichern und Bearbeiten von Daten machen Informationen zu einem wichtigen Wettbewerbsvorteil.
    In der Regel verfügen die meisten Organisationen über beträchtliche Datenmengen, die in verschiedenen Quellen in einer Vielzahl von heterogenen Systemen gespeichert sind. Eine zwingende Anforderung an neue Systeme ist daher neben Innovationen, die gesamte Datenmenge bestehender Systeme auf einfachste Weise zu integrieren;
in einem wettbewerbsintensiven umfeld stehen unternehmen vor der herausforderung, „mit dem geringsten aufwand das meiste zu erreichen“. Entsprechend bedarf es schnell erlernbarer, konfigurierbarer und aufgabenspezifisch anpassbarer Softwaretools, um mit den schnellen Veränderungen des Marktes Schritt halten zu können.

Moderne Technologien, die bei der Arbeit mit Daten verwendet werden:

Die Client-Server-Technologie ist eine Technologie, die eine DBMS-Anwendung in zwei Teile unterteilt: einen Client (eine interaktive grafische Oberfläche, die sich auf dem Computer des Benutzers befindet) und einen Server.
Datenverwaltung, Informationsaustausch, Verwaltung und Sicherheit, die sich auf einem dedizierten Computer befinden. Die Client-Server-Interaktion wird wie folgt ausgeführt: Der Client-Teil der Anwendung bildet eine Anfrage an den Datenbankserver, auf dem alle Befehle ausgeführt werden, und das Ergebnis der Anfrageausführung wird an den Client zur Anzeige und Verwendung gesendet. Diese Technologie wird angewendet
usw.................

Datenbank (DB) ist ein Satz strukturierter Daten, die im Speicher eines Computersystems gespeichert sind und den Zustand von Objekten und ihre Beziehungen im betrachteten Fachgebiet widerspiegeln.

Die logische Struktur der in der Datenbank gespeicherten Daten wird als Datenrepräsentationsmodell bezeichnet. Die wichtigsten Datenpräsentationsmodelle (Datenmodelle) umfassen hierarchische, Netzwerk- und relationale Modelle.

Datenbankmanagementsystem (DBMS) - ist eine Reihe von Sprach- und Softwaretools, die entwickelt wurden, um eine Datenbank mit vielen Benutzern zu erstellen, zu pflegen und gemeinsam zu nutzen. RDBMS werden normalerweise durch das verwendete Datenmodell unterschieden. Daher werden DBMS, die auf der Verwendung des relationalen Datenmodells basieren, als relationale DBMS bezeichnet.

Um mit einer Datenbank zu arbeiten, reichen oft DBMS-Tools aus. Wenn es jedoch erforderlich ist, die bequeme Arbeit mit der Datenbank für ungelernte Benutzer sicherzustellen oder die DBMS-Schnittstelle Benutzern nicht passt, können Anwendungen entwickelt werden. Ihre Erstellung erfordert Programmierung. Eine Anwendung ist ein Programm oder eine Reihe von Programmen, die die Lösung einer angewandten Aufgabe automatisieren. Anwendungen können innerhalb oder außerhalb der DBMS-Umgebung erstellt werden – unter Verwendung eines Programmiersystems, das Datenbankzugriffstools verwendet, beispielsweise Delphi oder C++ Buildeg. In der DBMS-Umgebung entwickelte Anwendungen werden häufig als DBMS-Anwendungen bezeichnet, während außerhalb des DBMS entwickelte Anwendungen häufig als externe Anwendungen bezeichnet werden.

Das Datenwörterbuch ist ein Datenbanksubsystem, das für die zentralisierte Speicherung von Informationen über Datenstrukturen, Beziehungen zwischen Datenbankdateien, Datentypen und Präsentationsformaten, Dateneigentum von Benutzern, Sicherheits- und Zugriffskontrollcodes usw. entwickelt wurde.

Informationssysteme, die auf der Verwendung einer Datenbank basieren, arbeiten üblicherweise in einer Client-Server-Architektur. In diesem Fall befindet sich die Datenbank auf dem Server-Rechner und wird gemeinsam genutzt.

Server Eine bestimmte Ressource in einem Computernetzwerk wird als Computer (Programm) bezeichnet, der diese Ressource verwaltet. Klient - Computer (Programm), der diese Ressource verwendet. Als Computernetzwerkressource können beispielsweise Datenbanken, Dateien, Druckdienste, Maildienste fungieren.

Der Vorteil der Organisation eines Informationssystems auf einer Client-Server-Architektur ist eine erfolgreiche Kombination aus zentralisierter Speicherung, Wartung und kollektivem Zugriff auf gemeinsame Unternehmensinformationen mit individueller Benutzerarbeit.

Nach dem Grundprinzip der Client-Server-Architektur werden Daten nur auf dem Server verarbeitet. Der Benutzer oder die Anwendung bildet Abfragen, die in Form von Anweisungen in der SQL-Sprache an den Datenbankserver gelangen. Der Datenbankserver bietet die Suche und Extraktion der erforderlichen Daten, die dann auf den Computer des Benutzers übertragen werden. Der Vorteil dieses Ansatzes im Vergleich zu den bisherigen ist eine deutlich geringere Menge an übertragenen Daten.

Es gibt folgende Arten von DBMS:

* DBMS mit vollem Funktionsumfang;

* Datenbankserver;

* Tools zum Entwickeln von Programmen zum Arbeiten mit der Datenbank.

Voll funktionsfähige DBMS sind herkömmliche DBMS. Dazu gehören dBaseIV, Microsoft Access, Microsoft FoxPro und andere.

Datenbankserver dienen der Organisation von Rechenzentren in Computernetzwerken. Datenbankserver bieten die Verarbeitung von Anfragen von Clientprogrammen, normalerweise mit Hilfe von SQL-Anweisungen. Beispiele für Datenbankserver sind: Microsoft SQL Server, InterBase usw.

Gießen Client-Programme im allgemeinen Fall können DBMS, Tabellenkalkulationen, Textverarbeitungen, E-Mail-Programme usw. verwendet werden.

Tools zum Entwickeln von Datenbankprogrammen können verwendet werden, um die folgenden Programme zu erstellen:

* Client-Programme;

* Datenbankserver und ihre einzelnen Komponenten;

* benutzerdefinierte Anwendungen.

Durch die Art der Verwendung DBMS werden in Mehrbenutzer (industriell) und lokal (persönlich) unterteilt.

Industrial, DBMS sind eine Softwarebasis für die Entwicklung automatisierter Steuerungssysteme für große Wirtschaftsobjekte. Industrielle DBMS müssen die folgenden Anforderungen erfüllen:

* die Möglichkeit, gemeinsame parallele Arbeit vieler Benutzer zu organisieren;

* Skalierbarkeit;

* Übertragbarkeit auf verschiedene Hardware- und Softwareplattformen;

* Stabilität in Bezug auf Ausfälle verschiedener Art, einschließlich des Vorhandenseins eines mehrstufigen Backup-Systems für gespeicherte Informationen;

* Gewährleistung der Sicherheit gespeicherter Daten und eines entwickelten strukturierten Zugangssystems zu ihnen.

Personal DBMS ist eine Software, die sich auf die Lösung der Probleme eines lokalen Benutzers oder einer kleinen Gruppe von Benutzern konzentriert und für die Verwendung auf einem Personal Computer vorgesehen ist. Dies erklärt ihren zweiten Namen - Desktop. Die charakteristischen Merkmale von Desktop-Systemen sind:

* relativ einfache Bedienung, die es Ihnen ermöglicht, auf ihrer Grundlage funktionsfähige Benutzeranwendungen zu erstellen;

* relativ begrenzte Anforderungen an Hardware-Ressourcen.

Je nach verwendetem Datenmodell DBMS werden in hierarchische, netzwerkbasierte, relationale, objektorientierte usw. unterteilt. Einige DBMS können gleichzeitig mehrere Datenmodelle unterstützen.

Die folgenden Arten von Sprachen werden verwendet, um mit in der Datenbank gespeicherten Daten zu arbeiten:

* Datenbeschreibungssprache - eine höhere nichtprozedurale Sprache eines deklarativen Typs, die entworfen wurde, um die logische Struktur von Daten zu beschreiben;

* Datenmanipulationssprache - eine Reihe von Strukturen, die die Implementierung grundlegender Operationen für die Arbeit mit Daten sicherstellen: Eingabe, Änderung und Auswahl von Daten auf Anfrage.

Benannte Sprachen in verschiedenen DBMS können Unterschiede aufweisen. Die beiden am weitesten verbreiteten standardisierten Sprachen sind QBE – Pattern Query Language und SQL – Structured Query Language. QBE hat im Grunde die Eigenschaften einer Datenmanipulationssprache, SQL kombiniert die Eigenschaften beider Sprachtypen.

Das DBMS implementiert die folgenden grundlegenden Low-Level-Funktionen:

* Datenverwaltung im externen Speicher;

* RAM-Pufferverwaltung;

* Transaktionsmanagement;

* Änderungen in der Datenbank protokollieren;

* Gewährleistung der Integrität und Sicherheit der Datenbank.

Die Implementierung der Datenverwaltungsfunktion im externen Speicher stellt die Organisation der Ressourcenverwaltung im OS-Dateisystem sicher.

Die Notwendigkeit der Datenpufferung ergibt sich aus der Tatsache, dass die Größe des RAM geringer ist als die Größe des externen Speichers. Puffer sind RAM-Bereiche, die den Austausch zwischen externem und RAM beschleunigen sollen. Puffer speichern zwischenzeitlich Datenbankfragmente, deren Daten beim Zugriff auf das DBMS verwendet oder nach der Verarbeitung in die Datenbank geschrieben werden sollen.

Der Transaktionsmechanismus wird im DBMS verwendet, um die Integrität der Daten in der Datenbank aufrechtzuerhalten. Eine Transaktion ist eine unteilbare Folge von Operationen an Datenbankdaten, die vom DBMS von Anfang bis Ende verfolgt wird. Wenn die Transaktion aus irgendeinem Grund (Ausfälle und Störungen von Geräten, Fehler in der Software, einschließlich der Anwendung) unvollständig bleibt, wird sie storniert.

Transaktionen haben drei Haupteigenschaften:

* Unteilbarkeit (alle in der Transaktion enthaltenen Operationen werden ausgeführt oder keine);

* Serialisierbarkeit (keine gegenseitige Beeinflussung gleichzeitig durchgeführter Transaktionen);

* Dauerhaftigkeit (selbst der Absturz des Systems führt nicht zum Verlust der Ergebnisse einer festgeschriebenen Transaktion).

Ein Beispiel für eine Transaktion ist die Überweisung von Geld von einem Konto auf ein anderes im Bankensystem. Zuerst wird Geld von einem Konto abgehoben, dann wird es einem anderen Konto gutgeschrieben. Wenn mindestens eine der Aktionen nicht erfolgreich abgeschlossen wird, ist das Ergebnis der Operation falsch und das Gleichgewicht der Operation wird gestört.

Die Änderungsprotokollierung wird vom DBMS durchgeführt, um die Zuverlässigkeit der Datenspeicherung in der Datenbank bei Vorhandensein von Hardware- und Softwarefehlern sicherzustellen.

Die Sicherstellung der Integrität der Datenbank ist eine notwendige Bedingung für das erfolgreiche Funktionieren der Datenbank, insbesondere wenn sie in einem Netzwerk verwendet wird. Die Integrität der Datenbank ist eine Eigenschaft der Datenbank, was bedeutet, dass sie vollständige, konsistente und das Fachgebiet angemessen wiedergebende Informationen enthält. Die Integrität des Zustands der Datenbank wird durch Integritätsbedingungen in Form von Bedingungen beschrieben, die von den in der Datenbank gespeicherten Daten erfüllt werden müssen.

Die Sicherheit wird im DBMS durch Datenverschlüsselung, Passwortschutz, Unterstützung von Zugriffsebenen auf die Datenbank und ihre einzelnen Elemente (Tabellen, Formulare, Berichte usw.) erreicht.

Habe Fragen?

Tippfehler melden

Text, der an unsere Redaktion gesendet werden soll: