Rechtvaardiging van de keuze van technische middelen. Overzicht van moderne relationele databases

Alle menselijke levensactiviteiten zijn onlosmakelijk verbonden met vele informatiecatalogi en databases. Bibliotheek register, Notitieboekje, adressen binnen mobiele telefoon of een tablet - dat is verre van dat volle lijst gestructureerde informatie die wij gebruiken. Maar computers houden van precisie, dus laten we een definitie geven.

Dus, database (DB)- een reeks logisch met elkaar verbonden gegevens die de informatietoestand van objecten in verschillende vakgebieden beschrijven en worden verwerkt door computertechnologie.

Databasemanagementsysteem is een software- en taalomgeving voor het maken, beheren en verwerken informatie bases. Doel van het DBMS:

  • werken met databases op extern (schijven, tapes, etc.) en RAM;
  • delen door gebruikers;
  • controle van wijzigingen, archivering en herstel van databases;
  • het verstrekken van een toegangstaal voor ;
  • hulpprogramma's voor het maken, wijzigen en beheren van databases.

Simpel gezegd: de database bepaalt techniek voor informatieopslag, en het DBMS biedt middelen voor de verwerking ervan. Bovendien zijn databasebeheersystemen onderverdeeld in: systemen algemeen gebruik , die verschillende gegevens kan verwerken en gespecialiseerd, ontwikkeld voor een specifiek vakgebied of type informatie. Voorbeeld gespecialiseerde systemen databasebeheer is objectgeoriënteerd.

Relationele managementsystemen

Sinds de komst van computerdatabases zijn er veel modellen van hun werking gemaakt, maar relationeel model bleek het meest universeel. Het is een samenhangende set informatietabellen die de integriteit en minimale redundantie van informatie garandeert. Tabelvormig model bleek voor de meerderheid van toepassing vakgebieden en de markt voor relationele databasebeheersystemen begon zich snel te ontwikkelen. De figuur toont een voorbeeld relationele structuur"Studentendatabank".

Alle relationele DBMS'en ondersteunen de ANSI-standaard SQL-taal en basisprincipes relationeel model, dat de werking van applicaties op verschillende DBMS'en garandeert. Bovendien hebben grote DBMS'en hun eigen SQL-extensies. Voorbeelden van besturingssystemen voor grote projecten- dit is ORACLE.

Het relationele model wordt ook met succes gebruikt bij de ontwikkeling van internetprojecten. Voorbeelden zijn MySQL-DBMS en PostgreSQL.

NoSQL-technologie

De toename van de hoeveelheid informatie en de complexiteit van relaties hebben geleid tot de opkomst van nieuwe databasebeheersystemen. Informatie is niet langer onafhankelijk van elkaar, en soms is het over het algemeen onmogelijk om de structuur ervan strikt te beschrijven. Relationele databases kunnen dergelijke taken niet langer aan. Dit leidde tot de opkomst van een nieuw type informatiedatabases en hun managementsystemen, gezamenlijk NoSQL (“geen SQL”) genoemd.

  1. "Sleutel waarde". De meest populaire DBMS'en zijn Redis, Voldemort, Tokyo Cabinet en Dynomite.
  2. BigTable DBMS-klonen. Ontworpen door Google voor intern gebruik V zoekmachine. BigTable wordt niet officieel aangeboden, maar er is wel een DBMS op gebaseerd. Dit zijn Hadoop, Hypertable en Cassandra.
  3. Documentgericht. De meest populaire zijn Berkeley DB XML, MongoD, eXist en CouchDB.
  4. Basissen gebaseerd Gebruikt in Neo4j, Sones graphDB en AllegroGraph.

De toekomst van DBMS

De markt blijft zich ontwikkelen en neigt steeds meer naar het gebruik van NoSQL-oplossingen. Uiteraard is het geïmplementeerd in “klassieke” SQL grote hoeveelheid softwaresystemen van verschillende complexiteit, en wordt ondersteund door marktgiganten als Microsoft en ORACLE. Maar met een hoge mate van vertrouwen kunnen we ervan uitgaan dat NoSQL de komende jaren de leiders in de ontwikkeling van complexe informatiesystemen aanzienlijk zal kunnen verdringen.

Moskou Energie Instituut, Technische Universiteit

Overzicht van moderne databasebeheersystemen

Student: Dudkina A.

Groep: A-13-07

Item: databases en expertsystemen

Docent: Sidorova N.P.

    Invoering.

    Overzicht van de belangrijkste DBMS:

    1. Microsoft SQL Server

    2. PostgreSQL

      Andere DBMS

    Conclusie: DBMS-ontwikkelingstrends.

    Sollicitatie.

Invoering

Momenteel wordt er wereldwijd een vrij groot aantal universele industriële DBMS'en gebruikt. Onder hen kunnen drie onbetwiste leiders worden geïdentificeerd (zowel in termen van technologieontwikkeling als marktomvang - zij bezetten samen meer dan 90% van de mondiale DBMS-markt). Dit zijn eerstelijns DBMS - Oracle, Microsoft SQL Server, MySQL en IBM DB2, in De laatste tijd Het open source systeem PostgreSQL wordt snel populair. De lijst met DBMS's van het tweede niveau is vrij groot, dit omvat DBMS's zoals Sybase, Informix, Ingress, Adabas, Interbase, Progress, Cache, Linter, Firebird, Teradata, enz.

Er zijn ook kleine DBMS's voor niche-(gespecialiseerde) oplossingen, en er verschijnen voortdurend prototypes van nieuwe gespecialiseerde DBMS's (objectgeoriënteerde DBMS's, XML DBMS's, DBMS's voor het verwerken van streaminggegevens, DBMS's voor het werken met teksten, enz.).

Desktop-DBMS gebruikt voor relatief kleine taken (kleine hoeveelheid verwerkte gegevens, klein aantal gebruikers). Hiermee rekening houdend hebben deze DBMS'en een relatief vereenvoudigde architectuur, ze werken in de bestandsservermodus en ondersteunen niet alle mogelijke DBMS-functies (ze houden bijvoorbeeld geen transactielogboek bij, er is geen mogelijkheid om het automatisch te herstellen; database na fouten, enz.). Dergelijke systemen hebben echter een vrij breed scala aan toepassingen. In de eerste plaats zijn dit de staats(gemeentelijke) instellingen, de onderwijssector, de dienstensector en het midden- en kleinbedrijf. De specificiteit van de problemen die zich daarbij voordoen is dat de gegevensvolumes niet catastrofaal groot zijn, de frequentie van updates niet te hoog is, de organisatie zich meestal geografisch in één klein gebouw bevindt, het aantal gebruikers varieert van één tot 10-15 personen . In dergelijke omstandigheden is het gebruik van desktop-DBMS'en voor het beheren van informatiesystemen volledig gerechtvaardigd, en ze worden met succes gebruikt.

Enkele van de eerste DBMS'en waren de zogenaamde dBase-compatibele softwaresystemen die door verschillende bedrijven waren ontwikkeld. Het eerste wijdverbreide systeem van deze soort was het dBase III - PLUS-systeem (Achton-Tate). Een ontwikkelde programmeertaal en een handige interface die toegankelijk is voor de massagebruiker hebben bijgedragen aan het wijdverbreide gebruik van het systeem. Tegelijkertijd resulteerde het gebruik van het systeem in de interpretatiemodus in slechte prestaties in de uitvoeringsfase. Dit leidde tot de opkomst van nieuwe compilersystemen die dicht bij het dBase III - PLUS-systeem lagen: Clipper (Nantucket Inc.), FoxPro (Fox Software), FoxBase+ (Fox Software), Visual FoxPro (Microsoft). Ooit werd het PARADOX DBMS (Borland International) op grote schaal gebruikt.

De laatste jaren is het Microsoft Access-databasebeheersysteem, dat er deel van uitmaakt, uitgebreid hele lijn versies van het Microsoft Office-pakket (Microsoft).

Voor grote organisaties verandert de situatie fundamenteel. Daar is het gebruik van bestandsservertechnologieën onbevredigend om de hierboven beschreven redenen. Daarom de zogenaamde server-DBMS.

De belangrijkste fabrikanten van dergelijke gegevensverwerkings- en opslagsystemen zijn drie bedrijven: Oracle, Microsoft en IBM. In de figuur wordt een diagram weergegeven van de verhouding tussen de verkoopvolumes van de overeenkomstige systemen (bron: IDC Report, mei 2006).

Verkoop van opslagsysteemsoftware in de wereld

Meest voorkomende client server De systemen hier zijn respectievelijk Oracle-systemen (ontwikkeld door Oracle), MS SQL Server (ontwikkeld door Microsoft), DB2, Informix Dynamic Server (IBM).

Laten we een korte beschrijving geven van de belangrijkste systemen.

Orakel

Oracle DBMS is een veteraan op de relationele DBMS-markt. De ontwikkeling van dit systeem begon vrijwel tegelijkertijd met IBM DB2, en tot op de dag van vandaag blijven deze systemen de belangrijkste concurrenten (zoals blijkt uit de figuur).

Oracle bekleedt een leidende positie op de DBMS-markt en, belangrijker nog, is toonaangevend op de Unix- en Windows-platforms. Ook in Rusland heeft Oracle zich ontpopt als leider, vooral op het gebied van grootschalige informatiesystemen. Sterker nog, in ons land is het Oracle DBMS de standaard geworden voor overheidsinformatiesystemen.

De reden voor het wijdverbreide gebruik van Oracle ligt vooral in de hoge prestatiekenmerken van het DBMS, een groot aantal opgeleide binnenlandse Oracle-specialisten en de beschikbaarheid van een ondersteunende infrastructuur - opleidingscentra, een breed netwerk van Oracle-partners, een groot aantal technische cursussen over Oracle op hoger niveau onderwijsinstellingen enz. Alleen al in Moskou zijn er dus meer dan een dozijn trainingscentra die een breed scala aan technische cursussen aanbieden over vrijwel alle lijnen van Oracle-softwareproducten. Het partnernetwerk door het hele land omvat ruim 160 organisaties, waardoor vrijwel overal in het land ondersteuning voor Oracle-software gegarandeerd is. Er zijn al heel wat hoogwaardige boeken over Oracle DBMS in het Russisch gepubliceerd.

De technische ondersteuningsservice van Oracle is gebouwd op een professionele basis. De technische ondersteuningsdienst in Rusland is ISO 9000-gecertificeerd.

Bovendien hebben toonaangevende Oracle-partnerbedrijven, zoals FORS en RDTex, hun eigen technische ondersteuningscentra.

Het is ook belangrijk dat Oracle, naast het DBMS, een centraal infrastructuurproduct levert: Internet Application Server, een applicatieserver die werkt in de internet-/intranetomgeving, evenals CASE-tools, tools snelle ontwikkeling applicaties, tools voor het bouwen van datawarehouses, operationele data-analyse, het identificeren van complexe afhankelijkheden in data (Data Mining), waardoor we geen individuele producten, maar complexe technologische oplossingen voor klanten kunnen leveren.

Vanuit technisch oogpunt is het belangrijk dat Oracle op vrijwel alle bestaande computerplatforms draait, inclusief mainframecomputers (OS/390) en de nog steeds populaire Vax VMS-systemen, om nog maar te zwijgen van Windows NT en verschillende varianten van Unix, inclusief Solaris. , HP-UX, AIX, Linux, SCO Unix, enz.

Een ander belangrijk kenmerk is Oracle-ondersteuning alle mogelijke architectuuropties, inclusief symmetrische multiprocessorsystemen, clusters, massaal parallelle systemen, enz. Het belang van deze kenmerken voor moderne grootschalige organisaties die veel computers van verschillende modellen en fabrikanten gebruiken, ligt voor de hand. In dergelijke omstandigheden is de succesfactor de maximaal mogelijke typering van de voorgestelde oplossingen, met als doel de kosten van software-eigendom aanzienlijk te verlagen. Het unificeren van databasebeheersystemen is een van de belangrijkste stappen om dit doel te bereiken.

De kern van het Oracle DBMS is de databaseserver, die in vier varianten wordt geleverd, afhankelijk van de schaal van het informatiesysteem waarin deze moet worden gebruikt. Voor systemen met een grote organisatieschaal wordt het product OracleDatabase Enterprise Edition (corporate edition) aangeboden, waarvoor een hele reeks opties bestaat die de mogelijkheden van de server architectonisch en functioneel uitbreiden. Het is Oracle Database Enterprise Edition die op clusters wordt geïnstalleerd (met de Parallel Server-optie, inclusief versie 8i, of RAC-Real Application Cluster, beginnend met versie 9i en ouder), waardoor systemen met een hoge beschikbaarheid kunnen worden gemaakt. Oracle Database Standard Edition is gericht op middelgrote organisaties of divisies binnen een grote organisatie. Het Oracle Database Personal Edition-product is bedoeld voor persoonlijk gebruik.

Het belangrijkste voordeel van Oracle ten opzichte van zijn concurrenten (en vooral ten opzichte van DB2) is de identiteit van de code van verschillende versies van de databaseserver Oracle-gegevens voor alle platforms, waardoor de identiteit en voorspelbaarheid van Oracle op alle soorten computers wordt gegarandeerd, ongeacht waar deze in zijn opgenomen. Alle versies van de Oracle-server zijn gebaseerd op dezelfde broncode en zijn functioneel identiek, met uitzondering van enkele opties die bijvoorbeeld aan Oracle Database Enterprise Edition kunnen worden toegevoegd en niet aan Oracle Database Standard Edition.

Voor alle platforms is er dus één DBMS verschillende versies, dat zich hetzelfde gedraagt ​​en dezelfde functionaliteit biedt, ongeacht het platform waarop het is geïnstalleerd. De ontwikkeling van serverproducten als onderdeel van het DBMS wordt door één divisie van Oracle Corporation gedaan, wijzigingen worden centraal doorgevoerd, waarna deze in de basisversie grondig worden getest en vervolgens naar alle platforms worden overgebracht, waar ze ook worden ingecheckt. detail. De draagbaarheid van Oracle wordt verzekerd door de specifieke structuur van de broncode van de server. Ongeveer 80% van de code van Oracle is geschreven in de programmeertaal C, die (met bepaalde beperkingen) platformonafhankelijk is. Ongeveer 20% van de code, die de kern van de server vertegenwoordigt, is geïmplementeerd in machine-afhankelijke talen en dit deel van de code wordt uiteraard herschreven voor verschillende platforms.

Het rigide technologische ontwikkelingsschema van Oracle, gebaseerd op de principes van identieke broncode voor verschillende versies en platforms, staat in contrast met de schema's van andere bedrijven. Het DB/2 DBMS is dus een productfamilie, maar geen enkel product. Functioneel gezien verschilt de versie van DB2 voor IBM S/390 zo aanzienlijk van DB2 voor de UNIX- en NT-platforms, dat we over totaal verschillende producten kunnen praten.

Het Oracle DBMS verbergt dus de details van de implementatie van gegevensbeheermechanismen op elk van de platforms, wat reden geeft om te praten over een bijna volledige unificatie van de basissoftware. Bovendien maakt de Oracle-architectuur het mogelijk dat applicatiesystemen die op het ene platform zijn geïmplementeerd, naar andere platforms kunnen worden overgebracht zonder wijzigingen in zowel de databasestructuren als de applicatiecodes. Tegelijkertijd is het belangrijkste criterium dat de mogelijkheid van overdracht bepaalt softwarecomponenten tussen platforms is de volledige uitsluiting van machine-afhankelijke code.

Microsoft SQL-server

Het begin Microsoft-geschiedenis SQL Server kan met recht worden beschouwd als 1986, toen Microsoft en Sybase een gezamenlijke versie van het product uitbrachten - SQL Server 1.0 en deze aanpasten voor besturingssysteem OS/2 met de steun van Ashton Tate, destijds leider op de DBMS-markt voor personal computers. Het product, uitgebracht in 1989, kreeg niet de nodige erkenning vanwege problemen in verband met de promotie van OS/2. In 1990 beëindigden Sybase en Microsoft hun overeenkomst met Ashton Tate en brachten SQL Server 1.1 uit voor het nieuwe besturingssysteem. Windows-systemen 3.0. Microsoft was verantwoordelijk voor clienthulpprogramma's, software-interfaces en beheertools, en Sybase voor het ontwikkelen van de database-engine.

In 1992 begon de ontwikkeling van een nieuwe versie van het product - SQL Server op Windows NT, die in 1993 gelijktijdig met het serverbesturingssysteem werd uitgebracht - Microsoft Windows NT Nauwe integratie met Windows NT zorgde voor hoge prestaties en beheersbaarheid van het product, en voor het eerst beschikte Microsoft over een databasebeheersysteem dat kon concurreren met soortgelijke producten op het UNIX-platform. In 1994 beëindigden Microsoft en Sybase hun vijfjarige gezamenlijke overeenkomst en begonnen de voormalige partners onafhankelijk hun nu concurrerende producten te ontwikkelen.

In 1995 en 1996 werden versies van SQL Server 6.0 en 6.5 uitgebracht, maar verschillende prestatie- en beheersproblemen verhinderden dat deze producten een aanzienlijk deel van de zakelijke databasemarkt veroverden. Er werd besloten om de ontwikkeling van de huidige versie van het platform op te schorten en het product helemaal opnieuw te gaan maken. Rond dezelfde tijd, DEC

verkocht zijn databasebeheersysteem aan Oracle en Microsoft slaagde erin toonaangevende specialisten uit DEC te halen: Jim Gray, Dave Lomet en Phil Bernstein. Het ontwikkelingsteam kreeg de taak om een ​​nieuwe database-engine te creëren met ondersteuning voor schaalbaarheid, een nieuwe queryprocessor, een zelfafstemmings- en zelfbeheersysteem, en om ondersteuning voor OLAP en ETL te implementeren met de betrokkenheid van specialisten van Panorama. De ontwikkeling van het nieuwe DBMS duurde ongeveer drie jaar en in 1998 werd een product met de naam SQL Server 7.0 uitgebracht - Microsoft begon niet alleen de relationele DBMS-markt te veroveren, maar ook nieuwe markten als business intelligence en datawarehousing. Tegelijkertijd werd er gewerkt aan SQL Server 2000, waaronder XML-ondersteuning, geïndexeerde weergaven, op weergaven gebaseerde gedistribueerde partities en meer dan 20% prestatieverbeteringen voor vrijwel elk belangrijk onderdeel van het product. In 2000 werd Microsoft de rechtmatige leider op de DBMS-markt voor het Windows-platform.

Verdere ontwikkeling van het product - in SQL-versies Server 2005 en SQL Server 2008 - verbeterde prestaties, beheerbaarheid, uitgebreide ondersteuning voor verschillende gegevenstypen, geïntegreerde rapportagesystemen, gegevenstransformaties, geavanceerde analysefuncties, enz. toegevoegd.

Microsoft SQL Server 2008 is een compleet aanbod voor database- en data-analyse waarmee u snel schaalbare e-commerceoplossingen, bedrijfsapplicaties en datawarehouses kunt bouwen. Het verkort de time-to-market voor deze oplossingen aanzienlijk en biedt tegelijkertijd schaalbaarheid om aan de meest veeleisende vereisten te voldoen. SQL Server bevat ondersteuning voor XML en HTTP, prestatie- en beschikbaarheidsfuncties om de werklast te balanceren en de uptime te garanderen, en functies om het beheer en de configuratie te verbeteren om de totale eigendomskosten te verlagen.

Het SQL Server 2008 Business Intelligence Platform is nauw geïntegreerd met Microsoft Office en biedt een rijke, schaalbare infrastructuur om krachtige business intelligence-mogelijkheden toe te voegen aan de workflow van elke bedrijfseenheid in uw bedrijf, waardoor u toegang krijgt tot de bedrijfsinformatie die u nodig heeft via een vertrouwd MS Excel-systeem. en MS Word-interface.

MS SQL Server 2008 ondersteunt het creëren en werken met een bedrijfsdatawarehouse dat informatie uit alle systemen en applicaties combineert, waardoor u één allesomvattend beeld krijgt van de activiteiten van uw bedrijf.

MS SQL Server 2008 biedt een schaalbare en krachtige "dataprocessor" - voor de meest kritische en veeleisende zakelijke toepassingen, voor degenen die het hoogste niveau van betrouwbaarheid en beveiliging vereisen, terwijl de totale eigendomskosten worden verlaagd dankzij geavanceerde beheermogelijkheden serverinfrastructuur.

MS SQL Server 2008 biedt ontwikkelaars een ontwikkelde, handige en functionele programmeeromgeving, inclusief tools voor het werken met webservices, innovatieve technologieën voor gegevenstoegang - alles wat nodig is voor effectief werken met gegevens van elk type en formaat

D.B. 2 Universeel Database

Eerst wat informatie van de server ( http:// www-01. ibm. com/ software/ Ru/ gegevens/? pgel= ibmhzn):

Universele databaseserverD.B.2 Universeel Databaseis een schaalbaar, object-relationeel databasebeheersysteem met geïntegreerde multimedia-ondersteuning enWeb, draait op systemen van personal computers en servers op processorsIntelvoorUnix, van systemen met één processor tot symmetrische systemen met meerdere processors (SMP) en massaal parallelle systemen (MPP), over gastherenALS/400 en mainframes.D.B.2 Universeel Databasecombineert de hoge prestaties van transactieverwerkingssystemen in de modusop- lijn, object-relationele uitbreidingen, geavanceerde optimalisaties met parallelle verwerkingsmogelijkheden en ondersteuning voor zeer grote databases.D.B.2 Universeel Databaseheeft ook nieuwe ingebouwde tools om het gemakkelijker te maken om applicaties te porten die zijn ontwikkeld op andere databasebeheersystemen, zoalsOrakel, Microsoft, SybaseEnInformix. Daarnaast,D.B.2 Universeel Databaseomvat aanvullende ondersteuning voor realtime analytische verwerkingssystemen (OLAP) en beslissingsondersteunende systemen, veel eenvoudig te gebruiken extensies (D.B.2 verlengers). D.B.2 Universeel DatabaseBeschikbaar op de overgrote meerderheid van de belangrijkste platforms, waardoor klanten de flexibiliteit krijgen die ze nodig hebben.

Het DB2 DBMS-systeem is een van de “lange levers” in de wereld van databasebeheersystemen. Gebaseerd op het klassieke relationele datamodel, werd het systeem in eerste instantie ontwikkeld voor mainframecomputers. Pas later implementeerde IBM DB2 voor het AS/400-platform (het DBMS heette DB2/400), en begon even later met het uitbrengen van een bijna nieuw product genaamd Universal Data Base (UDB), dat moest voldoen aan open systeemstandaarden en functioneren op een breed scala aan platforms, waaronder Unix en Windows.

Op dit moment is de positie van het DB2 DBMS uitzonderlijk sterk, vooral op mainframecomputers. Als we de expertbeoordelingen voor operationele kenmerken in Tabel 1 vergelijken, kunnen we zien dat het DB2 DBMS bijna de hoogste beoordelingen heeft op het mainframecomputerplatform. Het is ook veelbetekenend dat het UDB DBMS afzonderlijk in de tabel wordt beschouwd. Dit is precies een indicatie dat er onder het gemeenschappelijke merk DB2 drie praktisch verschillende producten zijn: DB2 voor mainframecomputers, DB2/400 en de universele DB2 voor andere platforms. In de context van het moderne technische beleid, dat een onvoorwaardelijke en maximaal mogelijke unificatie van basissoftware vereist, is de aanwezigheid van drie verschillende softwareproducten een negatieve factor.

Als belangrijkste concurrent van Oracle DBMS in Noord-Amerika is DB2 DBMS zeer slecht vertegenwoordigd op de Russische markt, ondanks de hoge technische kwaliteit van het product. Misschien komt dit door de algemene strategie van IBM op de Russische markt, waarbij de nadruk vooral ligt op het aanbod van computerplatforms. Feit is dat in Rusland alleen groepen enthousiastelingen met DB2 werken. Er is vrijwel geen infrastructuur nodig voor de wijdverbreide distributie van het product, er is niet voldoende opgeleide specialisten, er is geen breed netwerk van trainingscentra en er is geen literatuur in het Russisch. Het IBM-vertegenwoordigingskantoor in Rusland beschikt praktisch niet over een technische ondersteuningsafdeling van DB2, wat de werking van het DBMS aanzienlijk bemoeilijkt. De DB2-installatiebasis in Rusland is zeer beperkt en heeft vooral betrekking op mainframecomputers en AS/400's. Het DB2-partnernetwerk van IBM is klein vergeleken met bijvoorbeeld Microsoft of Oracle. DB2 is er nog niet in geslaagd de databasestandaard te worden voor de UNIX-platforms (deze niche wordt ingenomen door Oracle) en Windows NT (de niche wordt ingenomen door Microsoft SQL Server en Oracle).

PostgreSQL

PostgreSQL- object-relationeel databasebeheersysteem (ORDBMS), De ontwikkeling hiervan in verschillende vormen is sinds 1977 aan de gang. Het werk begon met het Ingres-project aan de Universiteit van Californië (Berkeley). Het Ingres-project werd vervolgens overgebracht naar commerciële ontwikkeling bij Relational Technologies/Ingres Corporation.

In 1986 een andere groep, geleid door Michael Stonebraker uit Berkeley, zette het werk aan Ingres voort en creëerde het object-relationele databasesysteem Postgres. In 1996 werd, als gevolg van verbeteringen aan het pakket en de overgang naar open source-distributie, een nieuwe naam aangenomen: PostgreSQL (een korte tijd werd de naam Postgres95 gebruikt). Momenteel werkt een groep ontwikkelaars van over de hele wereld actief aan het PostgreSQL-project.

PostgreSQLHet wordt beschouwd als het meest geavanceerde DBMS dat onder open source-omstandigheden wordt gedistribueerd. PostgreSQL biedt veel functies die traditioneel alleen in grootschalige commerciële producten te vinden zijn (zie de sectie PostgreSQL-functies voor meer informatie).

INPostgreSQLEr zijn veel functies geïmplementeerd die doorgaans alleen aanwezig zijn in commerciële DBMS'en, zoalsD.B.2 enOrakel. De belangrijkste kenmerken van PostgreSQL versie 7.1.x staan ​​hieronder vermeld.

    Object-relationeel model. Het werken met data in PostgreSQL is gebaseerd op een object-relationeel model, waardoor je gebruik kunt maken van complexe procedures en regelsystemen. Voorbeelden van niet-triviale mogelijkheden in deze categorie zijn declaratief SQL-query's, gelijktijdigheidscontrole, ondersteuning voor toegang voor meerdere gebruikers, transacties, query-optimalisatie, ondersteuning voor overerving en arrays.

    Gemakkelijk uit te breiden. PostgreSQL ondersteunt aangepaste operators, functies, accessors en gegevenstypen.

    Volledige ondersteuningSQL. PostgreSQL voldoet aan de kernspecificatie van SQL99 en ondersteunt niet-triviale functies zoals de SQL92-standaardjoins.

    Controle van de integriteit van links. PostgreSQL ondersteunt referentiële integriteitscontrole om ervoor te zorgen dat de gegevens in de database correct zijn.

    FlexibiliteitAPI. De flexibiliteit van de PostgreSQL API maakt het eenvoudig om interfaces voor het PostgreSQL RDBMS te creëren. Momenteel zijn er programmeerinterfaces voor Object Pascal, Python, Perl, PHP, ODBC, Java/JDBC, Ruby, TCL, C/C+ en Pike.

    Procedurele talen. PostgreSQL biedt ondersteuning voor interne proceduretalen, waaronder de gespecialiseerde taal PL/pgSQL, een analoog van PL/SQL, de proceduretaal van Oracle. Een van de voordelen van PostgreSQL is de mogelijkheid om Perl, Python en TCL als interne proceduretalen te gebruiken.

    MOUSSE. MVCC-technologie (Multi-Version Concurrency Control) wordt in PostgreSQL gebruikt om onnodige vergrendeling te voorkomen. Iedereen die ooit met een ander SQL-gebaseerd DBMS (bijvoorbeeld MySQL of Access) heeft gewerkt, heeft waarschijnlijk gemerkt dat toegang tot een database om te lezen soms gepaard gaat met vertragingen die gepaard gaan met pogingen om naar de database te schrijven. Simpel gezegd worden leesbewerkingen geblokkeerd door bewerkingen die records bijwerken. Het gebruik van MVCC-technologie in PostgreSQL lost dit probleem volledig op. MVCC is superieur aan vergrendeling op laag niveau, omdat leesbewerkingen nooit worden geblokkeerd door schrijfbewerkingen. In plaats daarvan houdt PostgreSQL alle transacties bij die door databasegebruikers worden uitgevoerd, zodat u aan records kunt werken zonder te wachten tot ze worden vrijgegeven.

    Client server.

    Geavanceerde registratie van wijzigingen. Write Ahead Logging (WAL) verbetert de gegevensbetrouwbaarheid. Alle gegevenswijzigingen worden geregistreerd voordat ze direct in de database worden bijgewerkt. Het hebben van een wijzigingslogboek zorgt ervoor dat in het onwaarschijnlijke geval van een databasestoring de gegevens uit de vastgelegde transacties kunnen worden hersteld. Nadat het systeem is hersteld, blijft de gebruiker werken vanuit de staat die onmiddellijk aan de storing voorafging.

Andere DBMS

MySQL-een van de beroemdste gratis DBMS. MySQL is eigendom van Oracle Corporation, die het heeft overgenomen, samen met het overgenomen Sun Microsystems, dat de applicatie ontwikkelt en ondersteunt. Gedistribueerd onder de GNU General Public License en uw eigen commerciële licentie, als u dat wenst. Bovendien creëren ontwikkelaars functionaliteit op verzoek van gelicentieerde gebruikers; dankzij deze volgorde verscheen het replicatiemechanisme in bijna de vroegste versies.

MySQL is de oplossing voor kleine en middelgrote applicaties. Inbegrepen in de WAMP-, LAMP-servers en in draagbare serverbuilds Denver, XAMPP. MySQL wordt doorgaans gebruikt als een server waartoe lokale of externe clients toegang hebben, maar de distributie bevat een back-endbibliotheek waarmee MySQL kan worden opgenomen in zelfstandige programma's.

De flexibiliteit van het MySQL DBMS wordt gewaarborgd door ondersteuning grote hoeveelheid tabeltypen: gebruikers kunnen zowel MyISAM-tabellen kiezen, die zoeken in volledige tekst ondersteunen, als InnoDB-tabellen, die transacties op individueel recordniveau ondersteunen. Bovendien wordt het MySQL DBMS geleverd met een speciaal EXAMPLE-tabeltype dat de principes van het maken van nieuwe tabeltypen demonstreert. Dankzij de open architectuur en GPL-licenties verschijnen er voortdurend nieuwe typen tabellen in het MySQL DBMS.

Op 27 januari 2010 nam Oracle Corporation Sun Microsystems over en nam MySQL op in zijn lijn van databasebeheersystemen.

Er zijn verschillende codevorken gemaakt door de MySQL-ontwikkelaarsgemeenschap, zoals Drizzle, OurDelta, Percona Server en MariaDB. Al deze branches bestonden al ten tijde van de overname van Sun en MySQL AB door Oracle Corporation.

ApacheDerby-een relationeel DBMS geschreven in Java, ontworpen voor inbedding in Java-applicaties of voor het in realtime verwerken van transacties. Neemt 2 MB schijfruimte in beslag. Apache Derby is ontwikkeld als open source en gedistribueerd onder de voorwaarden van de Apache 2.0-licentie. Derby stond voorheen bekend als IBM Cloudscape Sun distribueert hetzelfde binaire bestanden onder de naam Java DB.

De basis van de Derby-databasetechnologie is een volledig functionele embedded engine relationele databases data.JDBC en SQL zijn de beschikbare API's hiervoor. SQL-syntaxis vergelijkbaar met IBM DB2 wordt ondersteund.

De Derby-netwerkserver voegt client-servermogelijkheden toe aan de mogelijkheden van de DBMS-kernel. Met de netwerkserver kunnen clients verbinding maken via TCP/IP met behulp van het standaard DRDA-protocol. De netwerkserver maakt Derby-netwerkondersteuning mogelijk voor JDBC, ODBC/CLI, Perl en PHP.

De ingebedde database kan ook worden geconfigureerd om te werken als een hybride, in de server ingebedde RDBMS; het accepteren van TCP/IP-verbindingen van andere clients naast clients op dezelfde JVM.

Qua uitvoeringssnelheid presteerde Derby niet goed in vergelijking met andere embedded SQL-databases, zoals de andere open en gratis database H2.

1. Welke trends in de ontwikkeling van server-DBMS's zou je kunnen opmerken in 2015-2016?

Vitaly Tsjesnokov, QSOFT
De belangrijkste trends in de ontwikkeling van moderne DBMS’en: het gebruik van virtualisatie en GRID-technologie, zelfdiagnose en automatische correctie, het gebruik van NoSQL DBMS in Grote gegevens, met behulp van NewSQL DBMS, waarbij C/C++-code wordt uitgevoerd in de DBMS-adresruimte.

De afgelopen jaren is de hoeveelheid data die geschikt is voor verwerking en opslag in een database exponentieel gegroeid. Er werd een wijziging van de wet “Betreffende Persoonsgegevens” aangenomen, waarin wordt bepaald dat persoonlijke gegevens van Russische burgers moeten worden opgeslagen op het grondgebied van de Russische Federatie. In bepaalde westerse landen Soortgelijke wetten zijn ook van toepassing. Dit alles leidt ons tot de noodzaak om gegevens te clusteren en in delen op te splitsen.

Het percentage gebruik van NoSQL DBMS groeit waar mogelijk overal door de hoge snelheid van het werken met data en de mogelijkheid tot relatief eenvoudige clustering. Een nieuw type DBMS raakt wijdverspreid: NewSQL. De belangrijkste ongekende kenmerken van NewSQL zijn onder meer: ​​de mogelijkheid van asynchrone master-master-replicatie, ter vervanging van het klassieke master-slave-schema en het bieden van grotere flexibiliteit voor projecten met hoge belasting; vereenvoudiging van administratie en verstrekking dynamische controle baseren; ondersteuning voor opgeslagen procedures in C/C++ en de mogelijkheid om C/C++-code uit te voeren in de DBMS-adresruimte (biedt vrijwel onbeperkte uitbreidbaarheid en ongelooflijke prestatieverbeteringen); verbeterde diagnostische en foutopsporingstools.

Bovendien zorgt het gebruik van virtualisatie in een DBMS voor de nodige fouttolerantie en schaalbaarheid.

Nikolaj Fetjoechin,MST
Overgang naar NoSQL en databasespecialisatie. Je kunt bijvoorbeeld letten op Redis en Tarantool. Deze laatste bevat zelfs een eigen applicatieserver. Een interessante trend is een gecombineerd DBMS en backend, zoals Parse van Facebook. Zorg ook voor een soepele migratie van databases naar de cloud.

Peter Urvaev, SimbirSoft
Functies die zich in sommige DBMS'en succesvol hebben bewezen, worden na verloop van tijd in andere producten geïmplementeerd. Gematerialiseerde views, die voor het eerst verschenen in Oracle DBMS, werden later geïmplementeerd in MS SQL Server en vervolgens in PostgreSQL. De voordelen die NoSQL-oplossingen bieden, worden langzamerhand ook gerealiseerd in relationele DBMS'en. De nieuwste versies van PostgreSQL implementeren bijvoorbeeld ondersteuning voor het werken met gegevens in JSON-indeling.

Jevgeni Gusev ITECH
Veranderingen recente jaren in het DBMS-segment waren zowel particulier – in relatie tot individuele toonaangevende producten, als structureel van aard, dus er zijn veel trends. Ten eerste: heterogeniteit. De overgang naar een microservicesmodel maakte het mogelijk om flexibel middelen te selecteren om het probleem van gegevensopslag op te lossen, zonder zich daartoe te beperken. Ten tweede de ontwikkeling van NoSQL, in-memory-opslag. Ten derde is Big Data een revolutie die een heroverweging vereist van zowel de dataopslagmethodologie als het concept van ‘data’. Ten vierde, kolomgeoriënteerde databases.

2. Bestaat er volgens u een tendens bij DBMS om naar de “cloud” te verhuizen? Wat zijn de voor- en nadelen deze aanpak?

Vitaly Tsjesnokov, QSOFT
Ja, deze trend bestaat zeker. Ten eerste moet u twee fundamentele benaderingen van het gebruik van een DBMS in de cloud scheiden.

De eerste is de inzet van een virtuele machine met een DBMS in de cloud. U kunt uw eigen afbeelding ernaar uploaden of een vooraf voorbereide afbeelding gebruiken met een reeds geoptimaliseerd DBMS. In essentie verschilt zo’n virtuele machine niet fundamenteel van een reguliere fysieke server. Het belangrijkste voordeel ten opzichte van een fysieke server is het gemak van schaalbaarheid, zowel verticaal (u kunt op elk moment meer bronnen toewijzen aan een bepaalde “virtuele machine”) als horizontaal (het maken van een nieuwe “virtuele machine” duurt slechts een paar minuten). Nog een belangrijk pluspunt - hoge beschikbaarheid wolk virtuele machines(99,9%–99,99%). Cloudhosts bieden ook veel aanvullende diensten, zoals monitoring, back-up, serverconfiguratiescherm, enz.

Een fundamenteel andere aanpak is een cloud-DBMS. In dit geval koopt de klant geen server, maar eenvoudigweg de service van het gebruik van een DBMS. De huidige markt voor openbare cloud-DBMS's, die 400 miljoen dollar bedraagt, zal tegen 2017 toenemen tot 1,2 miljard dollar. De belangrijkste voordelen van deze aanpak: er wordt niet betaald voor de geleverde middelen (die mogelijk “inactief” zijn), maar alleen voor de middelen die daadwerkelijk beschikbaar zijn. gebruikt: de hoeveelheid opgeslagen gegevens, het aantal verwerkte DBMS-bewerkingen; het is niet nodig om het DBMS te configureren en te beheren - deze taken vallen volledig onder de verantwoordelijkheid van de hoster; het is niet nodig om na te denken over schaalvergroting; De host biedt veel handige en intuïtieve tools voor het beheer van het DBMS; hoge beschikbaarheid. Het grootste nadeel is het gebrek aan kansen scherpstellen DBMS.

Een dergelijk subtype van cloud-DBMS kun je ook afzonderlijk onderscheiden als DbaaS (Database as a Service). Bijna altijd is een specifieke DbaaS een specifiek DBMS dat door de directe ontwikkelaars in de cloud wordt aangeboden. Dit leidt uiteraard tot het verschil in bedrijfsmodellen: cloud-DBMS's zijn geschikt voor grootschalige typische taken, en DbaaS - voor gespecialiseerde, voor een specifiek merk database-engine, met de mogelijkheid van directe communicatie met de ontwikkelaars. Bovendien kunt u met DbaaS aanzienlijk nauwkeuriger een systeem selecteren voor de vereiste belasting, met name door het aantal clientverbindingen te regelen.

Nikolaj Apurin, Artwel
Er is sprake van een trend. De meeste grote (volledig Russische) systemen maken al gebruik van clouddatabases.

Nikolaj Fetjoechin,MST
De trend is zwak. Het gebruik van clouds leidt, hoewel het sommige kosten verlaagt, tot nieuwe kosten. Het gebruik van de cloud kan alleen gunstig zijn voor projecten met weinig verkeer.

Voordelen van clouds: eenvoudige schaalbaarheid, hoge fouttolerantie, beschikbaarheid van servers over de hele wereld, eenvoudig klonen en inzetten van data. Nadelen: hoewel clouds als product ‘ruw’ zijn, is het onmogelijk om de gegevens fysiek te controleren, omdat ze onder controle staan ​​van de cloudprovider.

Peter Urvaev, SimbirSoft
De trend om DBMS naar de cloud te verplaatsen maakt deel uit van een algemene trend om de gehele IT-infrastructuur van organisaties naar de cloud over te brengen. Het belangrijkste voordeel van deze aanpak is de mogelijkheid om databaseonderhoud over te dragen. De nadelen zijn onder meer het opslaan van belangrijke gegevens op een ongecontroleerde site. Gebruiker cloud opslag als het nodig is om opgeslagen gegevens te vernietigen, is het niet zeker dat de gegevens daadwerkelijk worden gewist.

Jevgeni Gusev ITECH
Bestaat en is een van de belangrijkste. Er zijn veel voordelen verbonden aan het hosten van een database in de cloud: het gemak van sharding en replicatie, de mogelijkheid om gegevens effectief te scheiden van bedrijfslogica in een prestatiecontext, eenvoudig en intuïtief beheer computer kracht en nog een aantal anderen. Op basis van ervaring zien wij geen kritische nadelen. Hoe grote volumes gegevens moeten worden beheerd, hoe meer horizontale schaling nodig is, hoe gerechtvaardigder het gebruik van clouds wordt.

3. Welke factoren beïnvloeden de keuze voor DBMS? Voor welke projecten is dit het meest geschikt? SQL-database gegevens, en waarvoor - NoSQL?

Vitaly Tsjesnokov, QSOFT
De belangrijkste factor bij het kiezen tussen SQL en NoSQL DBMS zijn de behoeften van de applicatie. Voor sommige taken is SQL beter geschikt, voor andere is NoSQL beter geschikt.

Er zijn verschillende belangrijke verschillen tussen deze typen DBMS. Het dataformaat in SQL is zeer strikt, er zijn duidelijke tabelschema’s die aangeven waar welk datatype gebruikt wordt. NoSQL heeft geen vooraf gedefinieerde documentschema's: alle informatie kan aan elk document worden toegevoegd.
In SQL zijn er complexe verbindingen tussen verschillende tafels. Gegevens in de ene tabel zijn vaak een verwijzing naar gegevens in een andere tabel (het principe van gegevensnormalisatie). In NoSQL is elk document in de regel een geïsoleerde informatie-eenheid en slaat het alle beschikbare gegevens op (denormalisatieprincipe).
SQL heeft ingebouwde mechanismen om de gegevensintegriteit te behouden (u kunt bijvoorbeeld een record niet uit een tabel verwijderen als ernaar wordt verwezen in andere tabellen). NoSQL beschikt niet over dergelijke mechanismen, dus denormalisatie van gegevens is belangrijk (idealiter slaat elk document absoluut alle informatie over een object op).
SQL heeft een transactiemechanisme waarmee u meerdere SQL-query's op een alles-of-niets-basis kunt uitvoeren. In NoSQL bestaat een soortgelijk mechanisme alleen binnen één enkel document.
Idealiter is NoSQL sneller dan SQL vanwege de eenvoudigere methode voor gegevensopslag, waardoor u met een eenvoudige zoekopdracht in één document alle informatie over een object kunt verkrijgen. Er is echter een probleem dat verband houdt met het feit dat de meest populaire NoSQL DBMS's vrij recent verschenen. Het gevolg hiervan is dat er minder informatie over deze DBMS'en beschikbaar is grote hoeveelheid nog steeds onopgeloste problemen.
NoSQL is veel gemakkelijker te schalen vanwege de afwezigheid van complexe logische verbindingen tussen documenten. Daarnaast de meeste NoSQL DBMS is oorspronkelijk gemaakt met de nadruk op schaalmechanismen.

Als gevolg hiervan is NoSQL beter geschikt voor projecten met een grote hoeveelheid gegevens die gemakkelijk in afzonderlijke delen kunnen worden opgedeeld onafhankelijke objecten. Biedt hoge snelheid en schaalbaarheid. SQL is geschikt voor projecten waarbij verschillende gegevens complexe logische relaties met elkaar hebben en hun integriteit uiterst belangrijk is.

Nikolaj Apurin, Artwel
NoSQL - voor niet-standaard berekeningen met grote hoeveelheden gegevens. Maar zoals de praktijk heeft aangetoond, worden volumes tot 20 miljoen records perfect verwerkt door SQL-databases.

Nikolaj Fetjoechin,MST
NoSQL-technologieën worden actief gebruikt door bekende bedrijven, ook in projecten met hoge belasting. Het opslaan van gegevens en het eenvoudig ophalen ervan met NoSQL gaat erg snel. In geval van meer complexe vragen het probleem zal aan de productkant moeten worden opgelost, wat het product zelf ingewikkelder maakt. In zijn pure vorm kiezen wij niet voor NoSQL. Toenemende complexiteit van de productlogica en emulatie van fundamentele SQL-zaken leidt tot een stijging van de kosten van het project. En niet elke NoSQL-oplossing biedt gegevensbeveiliging in kritieke situaties.

Peter Urvaev, SimbirSoft
De keuze voor de database is vaak afhankelijk van de voorkeuren van de architect, de mogelijke belasting en de benodigde functionaliteit. Met SQL-databases kunt u duidelijk gegevensopslagschema's definiëren en gegevens ophalen met behulp van complexe query's. Met NoSQL-databases kunt u gegevens opslaan in een minder geordend formaat en ondersteuning horizontale schaalverdeling. Vaak binnen gedistribueerde systemen SQL- en NoSQL-databases worden gelijktijdig gebruikt, die elk hun eigen problemen oplossen.

Jevgeni Gusev ITECH
IN huidige toestand SQL/NoSQL zijn liever geen concurrerende, maar complementaire entiteiten. Het gebruik van SQL-oplossingen in één applicatie als je moet werken met complexe gegevens in hun onderlinge relaties, en NoSQL als de snelheid van het werken met ongestructureerde informatie op de voorgrond komt, is een volkomen natuurlijke praktijk.

4. Hoe beoordeelt u de mate waarin betaalde DBMS-licenties onder gebruikers worden verdeeld? In welke gevallen heeft het zin om een ​​licentie te kopen?

Vitaly Tsjesnokov, QSOFT
Er zijn er twee verschillende opties verdeling van DBMS in betaalde en gratis.

Eerst - gratis versies commercieel DBMS (beschikbaar in MS SQL, Oracle, enz.) In wezen is dit een uitgeklede versie van het DBMS, die enige functionaliteit mist. Hier is de belangrijkste keuzefactor heel eenvoudig: is het nodig? dit project deze functionaliteit. Minder vaak is er een gratis versie, die qua functionaliteit niet verschilt van de commerciële versie, maar minder vaak wordt bijgewerkt (Couchbase Server).

De tweede is gratis DBMS, waarvoor vergelijkbare commerciële producten bestaan ​​(MySQL van Oracle, Percona Server of MariaDB). In dit geval is het voordeel van een commercieel product meestal de beschikbaarheid van serieuzere technische ondersteuning. Qua functionaliteit verschillen betaalde en gratis DBMS'en weinig van elkaar, hoewel beide mogelijk hun eigen tools hebben die in andere versies niet beschikbaar zijn.

Als gevolg hiervan zijn er twee belangrijke redenen om voor een betaald DBMS te kiezen: de aanwezigheid van functionaliteit die niet beschikbaar is in gratis analogen en de mogelijkheid om hulp te zoeken bij de technische ondersteuning van de fabrikant.

Nikolaj Apurin, Artwel
Waarom betalen als er gratis zijn? Er zijn echter veel oplossingen die alleen met betaalde databases kunnen werken. In principe zijn dit buitenlandse praktijken.

Nikolaj Fetjoechin,MST
De vraag is dubbelzinnig. Vaak hebben betaalde DBMS'en gratis versies, en gratis versies bevatten componenten die voor geld kunnen worden gekocht. Het verschil ligt meestal in de ingebouwde tools voor analyse en databasemonitoring. Daarom zijn betaalde DBMS'en geschikter voor grote projecten met grote gedistribueerde systemen.

Peter Urvaev, SimbirSoft
Betaalde licenties DBMS verdienen de voorkeur boven gratis wanneer het project afhankelijk is van de mogelijkheden van een specifieke database, en het is belangrijk dat de gebruikte mogelijkheden werken zoals vermeld, en dat problemen bij de werking ervan onmiddellijk worden geëlimineerd. Tegenwoordig worden commerciële en gratis databases even vaak gebruikt, en de meeste nieuwe projecten kiezen voor gratis databases, omdat de mogelijkheden voor het werken met gegevens en stabiliteit ongeveer op hetzelfde niveau liggen als betaalde en gratis DBMS's.

Database (DB)– een benoemde verzameling gegevens die de toestand van objecten en hun relaties in het beschouwde vakgebied weerspiegelen.

Databasebeheersystemen (DBMS) zijn ontwikkeld om databases te manipuleren. Databasebeheersysteem (DBMS)- een reeks taal- en softwaretools die zijn ontworpen voor het maken, onderhouden en delen van een database door veel gebruikers.

Het gebruik van een DBMS biedt:

    het minimaliseren van gegevensredundantie - in extreme gevallen kunnen alle gegevens in één kopie worden opgeslagen;

    het delen van gegevens onder veel gebruikers;

    onafhankelijkheid van gegevens van programma's;

    efficiëntie van de toegang tot gegevens, zoals het voldoen aan de vereisten voor tijdigheid, betrouwbaarheid, enz.;

    gemak van het werken met de database, enz.

Normaal gesproken is het DBMS verantwoordelijk voor het volgende: functies:

    beschrijving van gegevens;

    data manipulatie;

    opzetten van een databank;

    uitvoering van verzoeken;

    het uitbrengen van rapporten;

    service (behoud van integriteit, helpfuncties, databaseherstel).

Door de aard van hun locatie kunnen databases worden gecentraliseerd of gedistribueerd.

Een gecentraliseerde database is een database die zich op één enkele server bevindt.

Beoordeling van subdatabases van toonaangevende fabrikanten

Omdat het DBMS niet op zichzelf werkt, maar bovenop een specifiek software- en hardwareplatform, spelen de kosten van dit platform een ​​rol. belangrijke rol voor de klant. Daarom is het niet verrassend dat grote bedrijven de voorkeur geven aan DBMS voor Unix, en middelgrote en kleine bedrijven - voor Windows en Linux. Om aan alle verzoeken te voldoen, bieden leveranciers DBMS voor alle platforms. Op de wereldmarkt groeit de vraag naar DBMS voor Linux het snelst. Qua verkoopvolume lopen de Unix-systemen van Oracle echter voorop, DBMS voor Windows staat op de tweede plaats en Linux op de derde plaats, maar de kloof tussen de laatste twee platforms wordt elk jaar kleiner.

De leiders op de databasemarkt van dit moment zijn IBM, Oracle, Microsoft en Sybase.

DBMS

Bedrijven

DBMS

Een korte beschrijving van

Buitenlandse producten

DB2 Universele Database

Multimedia, webcompatibel DBMS, werkt met de belangrijkste versies van Unix, Linux en Windows op zSeries-, iSeries-, VSE- en VM-hardwareplatforms.

DBMS voor systemen op ondernemingsniveau en werkgroep, biedt werk met zeer grote databases in omstandigheden van schaarste van hulpbronnen.

Relationeel DBMS voor gegevensbeheer op ondernemingsniveau, ondersteunt XML- en internettechnologieën, heeft een ingebouwde analysetool en data-extractie, geïntegreerd met Microsoft Office, draait op het Windows-platform.

DBMS voor grootschalige transactieverwerking (OLTP), datawarehouses met hoge intensiteit en resource-intensieve internettoepassingen. Compatibel met de belangrijkste versies van Unix, Windows en Linux. Laatste versie ondersteunt Grid-computing.

Sybase Adaptieve Server Enterprise (ASE)

Sybase Adaptieve Server Anywhere (ASA)

DBMS op ondernemingsniveau voor gecentraliseerde verwerking van kritieke informatie, draait op Unix- en Linux-platforms.

Compact, volwaardig relationeel DBMS voor werkgroepen, mobiel en embedded computing.

Binnenlandse producten

Het relationele DBMS, gecertificeerd door de Technische Staatscommissie onder de president van de Russische Federatie voor naleving van klasse 2 van informatiebescherming tegen ongeoorloofde toegang, is compatibel met de hoofdversies van Unix, Linux, QNX, VAX/VMS, OpenVMS, DOS, Windows, NetWare, OS/2.

DBMS met open broncode

Compact, snel relationeel DBMS voor kleine en middelgrote bedrijven, compatibel met Linux, Mac OS X, Unix en Windows.

PostgreSQL-gemeenschap

Een relationeel DBMS heeft veel van de functies die in grote commerciële producten zijn geïmplementeerd en is compatibel met Unix, Windows en NetWare.

Sommige taken zijn echter zó rekenintensief dat zelfs de krachtigste moderne supercomputers het niet aankunnen. Een belangrijke factor zijn de kosten van apparatuur (als u een nieuw supersysteem moet creëren) of de kosten van computertijd (als u een supercomputer gebruikt). In het eerste geval lopen de kosten in de honderden, in het tweede geval in tientallen... miljoenen dollars (euro's, enz.).

De uitweg uit deze situatie is het gebruik van gedistribueerde databases.

Gedistribueerde databases(RDB) - een reeks logisch met elkaar verbonden databases die over een computernetwerk worden gedistribueerd.

Gedistribueerd databasebeheersysteem - is een softwaresysteem dat gedistribueerd databasebeheer en transparantie van de distributie ervan aan gebruikers biedt.

Een RDB bestaat uit een reeks knooppunten die met elkaar zijn verbonden door een communicatienetwerk waarin: a) elk knooppunt op zichzelf een volwaardig DBMS is;

b) knooppunten interageren met elkaar op een zodanige wijze dat een gebruiker van een van deze knooppunten toegang heeft tot alle gegevens op het netwerk alsof deze zich op zijn eigen knooppunt bevinden.

Het fundamentele principe van het maken van gedistribueerde databases (“Regel 0”): voor de gebruiker moet een gedistribueerd systeem er hetzelfde uitzien als een niet-gedistribueerd systeem.

Het fundamentele principe brengt bepaalde aanvullende doelstellingen met zich mee. Er zijn slechts twaalf van dergelijke doelen:

1. Lokale autonomie. Lokale gegevens moeten onder lokaal eigendom en beheer staan, inclusief beveiligings-, integriteits- en representatiefuncties in het geheugen.

2. Er mag geen specifieke dienst worden toegewezen aan een specifiek centraal knooppunt. Naleving van deze regel, d.w.z. Dankzij het principe van decentralisatie van RDBMS-functies kunt u knelpunten vermijden.

3. Continuïteit van de bedrijfsvoering. Het systeem mag niet stoppen als het nodig is om een ​​nieuw knooppunt toe te voegen of gegevens te verwijderen in een gedistribueerde omgeving, de definitie van metadata te wijzigen of zelfs (wat behoorlijk moeilijk is) te migreren naar een nieuwe versie van het DBMS op een afzonderlijk knooppunt.

4. Locatie onafhankelijk. Gebruikers en applicaties hoeven niet te weten waar de gegevens zich fysiek bevinden.

5. Fragmentatie onafhankelijk. Fragmenten (ook wel secties genoemd) van gegevens moeten door RaDBMS-tools zodanig worden onderhouden en verwerkt dat gebruikers of applicaties er mogelijk helemaal niets van weten. Bovendien moet het RaDBMS fragmenten kunnen omzeilen die er niet aan gerelateerd zijn bij het verwerken van queries (het RaDBMS moet bijvoorbeeld intelligent genoeg zijn om te bepalen of dit of dat fragment kan worden uitgesloten bij het verwerken van een query vanwege het feit dat de query bevat geen links naar de kolommen die in dit fragment zijn opgeslagen).

6. Onafhankelijkheid van replicatie. Dezelfde principes van onafhankelijkheid en transparantie zijn van toepassing op het replicatiemechanisme, dat hieronder wordt besproken.

7. Gedistribueerde aanvraagverwerking. De verwerking van verzoeken moet gedistribueerd plaatsvinden. In de volgende sectie zullen we enkele architecturale principes bekijken voor het implementeren van RaDBMS en diverse modellen, waarbinnen gedistribueerde verwerking van verzoeken mogelijk is.

8. Gedistribueerd transactiebeheer. Mechanismen voor transactiebeheer en gelijktijdigheidscontrole moeten worden uitgebreid naar gedistribueerde databases. Dit probleem omvat het identificeren en oplossen van impasses, time-out-interrupts, het vastleggen en terugdraaien van gedistribueerde transacties, en een aantal andere problemen.

9. Onafhankelijkheid van apparatuur. Dezelfde RaDBMS-software moet op verschillende hardwareplatforms draaien en in het systeem als gelijkwaardige partner functioneren. Zoals hierboven besproken is dit in de praktijk uiterst moeilijk te realiseren omdat veel leveranciers meerdere platforms ondersteunen. Deze beperking wordt ondervangen door het multi-productomgevingsmodel te gebruiken.

10. Onafhankelijkheid van besturingssystemen. Dit probleem hangt nauw samen met het vorige en wordt ook op een vergelijkbare manier opgelost.

11. Netwerkonafhankelijkheid. Knooppunten kunnen met elkaar worden verbonden via een breed scala aan netwerk- en communicatiemiddelen. Het multi-level model dat inherent is aan veel moderne informatiesystemen (bijvoorbeeld het zevenlaags OSI-model, het TCP/IP-model, de SNA- en DECnet-niveaus) biedt een oplossing voor dit probleem, niet alleen in de RaDB-omgeving, maar ook voor informatiesystemen in het algemeen.

12. DBMS-onafhankelijkheid. Lokale DBMS'en moeten kunnen deelnemen aan de werking van RaDBMS.

Het is duidelijk dat, hoewel het zeer wenselijk zou zijn om systemen te hebben die aan alle twaalf regels voldoen, het onrealistisch is om te verwachten dat deze vereisten zelfs in de komende jaren binnen één enkel product zullen worden geïmplementeerd.

De vier stappen die nodig zijn om richting gedistribueerd databasebeheer te komen, worden hieronder beschreven om de volgende mogelijkheden te bieden:

1. Verzoek op afstand. Maakt verbinding met een externe host en leest of wijzigt gegevens op die host. Het resultaat wordt naar het bronknooppunt verzonden, waarna de transactie wordt voltooid. Bijna elk commercieel DBMS ondersteunt nu zoekopdrachten op afstand en biedt deze mogelijkheid al een tijdje.

2. Werkeenheid op afstand. Dit betekent dat een groep verzoeken als een atomaire eenheid (transactie) op een extern knooppunt kan worden uitgevoerd. Een applicatie kan doorgaans gegevens van veel knooppunten openen en wijzigen, maar elke transactie heeft slechts invloed op de gegevens van één knooppunt.

3. Gedistribueerde werkeenheid in dit geval heeft elk verzoek slechts betrekking op één knooppunt, maar kunnen de verzoeken die deel uitmaken van een gedistribueerde werkeenheid (transactie) gezamenlijk op meerdere knooppunten worden uitgevoerd. De hele groep verzoeken wordt hersteld of als één groep teruggedraaid.

4. Gedistribueerd verzoek. Met deze stap kunt u query's uitvoeren die meerdere databases op verschillende knooppunten omvatten. Verschillende van dergelijke gedistribueerde zoekopdrachten kunnen verder worden gegroepeerd als een transactie.

Onder de moderne databasebeheersystemen worden relationele DBMS'en onderscheiden, waaronder:

  • MS-toegang,
  • Visuele FoxPro
  • MySQL
  • PostgreSQL
  • Sybase
  • SQL-server
  • Orakel,
  • en etc.

Laten we eens kijken naar de meest voorkomende.

DBMS MS-toegang

Access draait op het Windows-besturingssysteem en heeft een gestandaardiseerde Windows-applicatie-interface.

Het hoofdbestanddeel is database, dat tabellen, rapporten, query's, formulieren, modules en macro's kan bevatten.

Informatieverwerking tijdens het werken met de database wordt uitgevoerd met behulp van macro's of VBA programma's.

Een open database kan gegevens uitwisselen met externe databases. Een externe database kan elke database zijn die het ODBC-protocol ondersteunt en zich daarop bevindt externe server, of een van de databases Toegang tot DBMS, dBASE of Paradox.

Met Access kunt u creëren en uitvoeren verzoeken voor het selecteren, toevoegen van gegevens, verwijderen en bijwerken.

De aanvraag kan worden aangemaakt met QBE of SQL. Access ondersteunt het mechanisme OLE(binden en inbedden van objecten) en mechanisme DDE(dynamische gegevensuitwisseling).

Visuele FoxPro DBMS

Het Visual FoxPro DBMS bevat geavanceerde hulpmiddelen voor het maken van databases, het organiseren van query's daarop en het maken van toepassingen met behulp van visuele, objectgeoriënteerde programmering. Het Visual FoxPro DBMS draait op Windows.

Database in Visual FoxPro is een verzameling gerelateerde tabellen. De database definieert de voorwaarden voor zijn integriteit via de primaire en externe sleutels van tabellen. Alle wijzigingen die in de database plaatsvinden worden gedetecteerd en centraal verwerkt met behulp van triggers En ingebouwde procedures programma's.

Visual FoxPro wordt gekenmerkt door een hoge snelheid van database-onderhoud.

Gebruik maken van de standaard ODBC En SQL- query's voor gegevensselectie Visual FoxPro kan werken met databases dBase, Paradox, Access, enz., met databaseservers - Oracle MS SQL Server, enz.

Het is mogelijk dat de Visual FoxPro-applicatie gelijktijdig werkt met de eigen tabellen en netwerktabellen die zich op andere computers in het lokale netwerk bevinden.

Visual FoxPro ondersteunt mechanismen OLE En DDE werken met Windows-applicaties.

Met Visual FoxPro kunt u netwerktoepassingen maken die werken op netwerken waarop MS LAN Manager, MS Windows, enz. wordt uitgevoerd.

MS SQL-server

Microsoft SQL Server wordt veel gebruikt op het gebied van databases en data-analyse, waardoor u snel creaties kunt maken schaalbare oplossingen e-commerce, bedrijfsapplicaties en datawarehouses. Ondersteuning voor SQL Server-taal XML en protocollair HTTP, beschikbaarheids- en prestatietools die een ononderbroken werking en taakverdeling helpen garanderen, en functies voor verbeterde configuratie en beheer.

Analyseplatform SQL-gegevens Met Server, geïntegreerd met MS Office, kunt u via de MS Word- en MS Excel-interface toegang verlenen tot de benodigde bedrijfsinformatie.

SQL Server omvat een ontwikkelde, handige en functionele programmeeromgeving, die tools bevat voor het werken met webservices en technologieën voor gegevenstoegang.

Orakel

Oracle bevat een databasebeheersysteem en tools voor gegevensontwikkeling en -analyse.

Oracle omvat een database, integratieplatform, applicatieserver, ongestructureerde databeheer- en analysetools.

Met Oracle Database DBMS kunt u beheertaken automatiseren, de beveiliging en naleving van de regelgeving op het gebied van informatiebescherming garanderen en beheer- en zelfdiagnosefuncties bevatten. De kenmerken van het systeem omvatten het beheer van grote hoeveelheden gegevens met behulp van compressie en gedistribueerde tabellen, effectieve gegevensbescherming, de mogelijkheid om geofysische gegevens te integreren en volledig herstel enz.