Mest populära subd. En snabb rundtur i


Databaser är logiskt modellerade lagrar av vilken typ av data som helst. Varje icke-schematisk databas följer en modell som definierar en specifik struktur för databehandling. DBMS är applikationer (eller bibliotek) som hanterar databaser av olika former, storlekar och typer.

För en bättre förståelse av ett DBMS, kolla in.

Relationsbaserade databashanteringssystem

Relationssystem implementerar en relationsdatamodell som definierar all lagrad information som en uppsättning relaterade poster och attribut i en tabell.

DBMS av denna typ använder strukturer (tabeller) för lagring och arbete med data. Varje kolumn (attribut) innehåller sin egen typ av information. Varje post i databasen med en unik nyckel skickas till en rad i tabellen och dess attribut visas i kolumnerna i tabellen.

Relationer och datatyper

Relationer kan definieras som matematiska uppsättningar som innehåller uppsättningar av attribut som representerar lagrad information.

Varje element som bildar en post måste uppfylla en viss datatyp (heltal, datum, etc.). Olika RDBMS använder olika typer av data, som inte alltid är utbytbara.

Denna typ av begränsningar är vanliga i relationsdatabaser. Faktum är att de utgör kärnan i förhållandet.

Populärt RDBMS

I denna artikel kommer vi att täcka de 3 mest populära RDBMS:

  • SQLite: mycket kraftfull inbäddad RDBMS.
  • MySQL: det mest populära och ofta använda RDBMS.
  • PostgreSQL: det mest avancerade och flexibla RDBMS.

SQLite

SQLite är ett fantastiskt bibliotek inbyggt i programmet som använder det. Som en filbaserad databas erbjuder den en utmärkt uppsättning verktyg för enklare (jämförelse med databaser på serversidan) behandling av alla typer av data.

När en applikation använder SQLite sker deras kommunikation med hjälp av funktionella och direkta samtal till filer som innehåller data (till exempel SQLite -databaser), snarare än något gränssnitt, vilket ökar hastigheten och prestandan för operationer.

Datatyper som stöds

  • NULL: NULL -värde.
  • HELTAL: ett signerat heltal lagrat i 1, 2, 3, 4, 6 eller 8 byte.
  • VERKLIG: flytpunktsnummer lagrat i 8-byte IEEE-format.
  • TEXT: en textsträng kodad med UTF-8, UTF-16BE eller UTF-16LE.
  • KLICK: en datatyp lagrad exakt som den mottogs.

Notera: kolla in dokumentationen för mer information.

Fördelar

  • Fil: hela databasen lagras i en enda fil, vilket gör det enkelt att navigera.
  • Standardiserad: SQLite använder SQL; vissa funktioner utelämnas (RIGHT YUTER JOIN eller FOR EVER STATEMENT), men det finns också några nya.
  • Perfekt för utveckling och till och med testning: under utvecklingsfasen kräver de flesta en skalbar lösning. SQLite, med sin rika funktionsuppsättning, kan ge mer än tillräckligt med funktionalitet samtidigt som den är enkel nog att arbeta med en enda fil och tillhörande bibliotek.

nackdelar

  • Brist på användarkontroll: avancerade databaser ger användarna möjlighet att hantera relationer i tabeller enligt privilegier, men det gör inte SQLite.
  • Omöjlighet till ytterligare konfiguration: igen, SQLite kan inte göras mer performant genom att pyssla med inställningarna - det är så det fungerar.

När ska man använda SQLite

  • Inbyggda applikationer: alla icke-skalbara bärbara applikationer-till exempel lokala enanvändarapplikationer, mobilapplikationer eller spel.
  • Diskminnesåtkomstsystem: i de flesta fall kan program som ofta utför direkt läs- / skrivoperationer till hårddisken migreras till SQLite för bättre prestanda.
  • Testning: perfekt för de flesta applikationer, en del av funktionaliteten som testar affärslogik.

När du inte ska använda SQLite

  • Fleranvändarprogram: Om du arbetar med ett program som kommer att användas av flera personer samtidigt är det bättre att välja ett fullt fungerande RDBMS - till exempel MySQL.
  • Program som skriver stora mängder data: en av begränsningarna för SQLite är skrivoperationer. Detta RDBMS tillåter endast en skrivoperation åt gången.

MySQL

MySQL är den mest populära av alla stora databaser på serversidan. Det är väldigt lätt att förstå det, och du kan hitta mycket information om det på Internet. Även om MySQL inte försöker implementera SQL -standarderna fullt ut, erbjuder den omfattande funktioner. Program kommunicerar med databasen genom en demonprocess.

Datatyper som stöds

  • TINYINT: en mycket liten helhet.
  • SMALLINT: liten helhet.
  • MEDIUMINT: medelstor helhet.
  • INT eller INTEGER: en normal storlek.
  • BIGINT: stor helhet.
  • FLYTA: enkel precision undertecknat flytande nummer.
  • DUBBEL, DUBBEL PRECISION, VERKLIG: dubbel precision undertecknat flytande nummer.
  • DECIMAL, NUMERISK: undertecknat flyttal nummer.
  • DATUM: datum.
  • DATUM TID: kombination av datum och tid.
  • TIDSSTÄMPEL: tidsstämpel.
  • TID: tid.
  • ÅR:år i formatet ÅÅ eller ÅÅÅÅ.
  • RÖDING: en sträng med fast storlek, höger vadderad med mellanslag till maximal längd.
  • VARCHAR: variabel längdsträng.
  • TINYBLOB, TINYTEXT: BLOB- eller TEXT -kolumn med en maximal längd på 255 (2 ^ 8 - 1) tecken.
  • BLOB, TEXT: BLOB- eller TEXT -kolumn med en maximal längd på 65535 (2 ^ 16 - 1) tecken.
  • MEDIUMBLOB, MEDIUMTEXT: BLOB- eller TEXT -kolumn med en maximal längd på 16777215 (2 ^ 24 - 1) tecken.
  • LONGBLOB, LONGTEXT: BLOB- eller TEXT -kolumn med en maximal längd på 4294967295 (2 ^ 32 - 1) tecken.
  • ENUM:överföra.
  • UPPSÄTTNING: uppsättningar.

Fördelar

  • Enkelhet: MySQL är lätt att installera. Det finns många tredjepartsverktyg, inklusive visuella, för att göra det enklare att komma igång med databasen.
  • Många funktioner: MySQL stöder det mesta av SQL -funktionen.
  • Säkerhet: MySQL har många inbyggda säkerhetsfunktioner.
  • Kraft och skalbarhet: MySQL kan hantera riktigt stora mängder data och passar bra för skalbara applikationer.
  • Fart: bortse från vissa standarder kan MySQL arbeta mer effektivt, ibland avbrutna i tur och ordning.

nackdelar

  • Kända begränsningar: per definition kan MySQL inte göra någonting, och det har vissa funktionsbegränsningar.
  • Tillförlitlighetsfrågor: vissa operationer är mindre pålitliga än andra RDBMS.
  • Utvecklingsstagnation:även om MySQL är öppen källkod, har arbetet med det försenats kraftigt. Det finns dock flera databaser som helt och hållet är baserade på MySQL (till exempel MariaDB). Förresten, du kan lära dig mer om förhållandet mellan MariaDB och MySQL från vår med skaparen av båda RDBMS - James Bottomley.

När ska man använda MySQL

  • Distribuerad verksamhet: när du behöver mer funktionalitet än vad SQLite kan tillhandahålla bör du använda MySQL.
  • Hög säkerhet: MySQL -säkerhetsfunktioner ger starkt skydd för datatillgång och användning.
  • Webbplatser och appar: de flesta webbresurser kan fungera med MySQL, trots begränsningarna. Detta verktyg är mycket flexibelt och lätt att använda, vilket bara är fördelaktigt i längden.
  • Anpassade lösningar: om du arbetar med en mycket specifik produkt kommer MySQL att anpassa sig till dina behov med ett brett utbud av inställningar och driftsätt.

När du inte ska använda MySQL

  • SQL -kompatibilitet: eftersom MySQL inte försöker implementera SQL -standarder fullt ut, är det inte helt SQL -kompatibelt. Detta kan leda till problem vid integrering med andra RDBMS.
  • Konkurrenskraft: medan MySQL gör ett bra jobb med att hantera läsningar, kan samtidiga läs- / skrivoperationer orsaka problem.
  • Brist på funktioner: beroende på motorval kan MySQL sakna vissa funktioner.

PostgreSQL

PostgreSQL är det mest avancerade RDBMS, som främst fokuserar på full överensstämmelse med standarder och utökningsbarhet. PostgreSQL, eller Postgres, försöker helt överensstämma med ANSI / ISO SQL -standarder.

PostgreSQL skiljer sig från andra RDBMS genom att den har objektorienterad funktionalitet, inklusive fullt stöd för konceptet ACID (Atomicity, Consistency, Isolation, Durability).

Baserat på kraftfull teknik gör Postgres ett utmärkt jobb med att bearbeta flera jobb samtidigt. Samtidsstöd implementeras med MVCC (Multiversion Concurrency Control), som också ger ACID -kompatibilitet.

Även om detta RDBMS inte är lika populärt som MySQL, finns det många tredjepartsverktyg och bibliotek för att göra det enklare att arbeta med PostgreSQL.

Datatyper som stöds

  • bigint: signerat 8-byte heltal.
  • stor serie: ett automatiskt 8-bitars heltal.
  • bit [(n)]: bitsträng med fast längd.
  • lite varierande [(n)]: variabel längd bitsträng.
  • booleskt: booleskt värde.
  • låda: rektangel på ett plan.
  • bytea: binär data.
  • tecken som varierar [(n)]: en teckensträng med fast längd.
  • tecken [(n)]:
  • cidr: IPv4- eller IPv6 -nätverksadress.
  • cirkel: cirkel på ett plan.
  • datum: kalenderdatum.
  • Dubbel precision: dubbel precision flytande punkt nummer.
  • inet: IPv4- eller IPv6 -värdadress.
  • heltal: signerat 4-byte heltal.
  • intervall [(p)]: period.
  • linje: en oändlig rak linje på ett plan.
  • lseg: segment på planet.
  • macaddr: MAC-adress.
  • pengar: penningvärde.
  • väg: geometrisk väg på ett plan.
  • punkt: geometrisk punkt på ett plan.
  • polygon: polygon på ett plan.
  • verklig: enkel precision flytande punkt nummer.
  • smallint: signerat 2-byte heltal.
  • serie: ett automatiskt 4-bitars heltal.
  • text: variabel längd teckensträng.
  • tid [(p)]: tid på dagen (ingen tidszon).
  • tid [(p)] med tidszon: tid på dagen (med tidszon).
  • tidsstämpel [(p)]: datum och tid (ingen tidszon).
  • tidsstämpel [(p)] med tidszon: datum och tid (med tidszon).
  • tsquery: text sökfråga.
  • tsvector: textsökningsdokument.
  • txid_snapshot:ögonblicksbild av användarens transaktions -ID.
  • uuid: unik identifierare.
  • xml: XML -data.

Fördelar

  • Fullständig SQL -kompatibilitet.
  • Gemenskap: PostgreSQL backas upp av en erfaren community 24/7.
  • Tredjeparts support: Trots sina mycket avancerade funktioner används PostgreSQL i många RDBMS-relaterade verktyg.
  • Sträckbarhet: PostgreSQL kan utökas programmatiskt med lagrade procedurer.
  • Objektorienterad: PostgreSQL är inte bara ett relationellt, utan också ett objektorienterat DBMS.

nackdelar

  • Prestanda: I enkla läsningar kan PostgreSQL vara sämre än sina konkurrenter.
  • Popularitet: på grund av dess komplexitet är verktyget inte särskilt populärt.
  • Hosting: på grund av ovanstående faktorer är det problematiskt att hitta en lämplig leverantör.

När ska man använda PostgreSQL

  • Dataintegritet: om prioriteten är datatillförlitlighet och integritet är PostgreSQL det bästa valet.
  • Komplexa procedurer: om din databas behöver utföra komplexa procedurer är PostgreSQL värt att välja på grund av dess utökningsbarhet.
  • Integration: om du i framtiden måste flytta hela databasen till en annan lösning kommer de minsta problemen att uppstå med PostgreSQL.

När man inte ska använda PostgreSQL

  • Fart: om snabba läsningar är allt du behöver bör du inte använda PostgreSQL.
  • Enkla situationer: om du inte behöver ökad tillförlitlighet, ACID -stöd och allt det där, är det att använda PostgreSQL som att skjuta en kanon mot flugor.

1. Vilka trender i utvecklingen av server -DBMS kan du notera under 2015–2016?

Vitaly Chesnokov, QSOFT
De viktigaste trenderna i utvecklingen av moderna DBMS: användning av virtualisering och GRID-teknik, självdiagnostik och automatisk korrigering, användning av NoSQL DBMS i Big Data, användning av ett NewSQL DBMS, utförande av C / C + + kod i adressutrymmet för DBMS.

Under de senaste åren har mängden data som är lämplig för behandling och lagring i en databas ökat exponentiellt. En ändring av lagen "om personuppgifter" antogs, som anger att personuppgifterna för medborgare i Ryska federationen måste lagras på Ryska federationens territorium. Vissa västerländska länder har också liknande lagar. Allt detta leder oss till behovet av att klustera och dela upp data i delar.

Procentandelen för att använda NoSQL DBMS växer överallt, där det är möjligt, på grund av den höga hastigheten att arbeta med data och möjligheten till relativt enkla kluster. En ny typ av DBMS sprids - NewSQL. De viktigaste oöverträffade funktionerna i NewSQL inkluderar: möjligheten till asynkron master-master-replikering, ersättning av det klassiska master-slave-systemet och mer flexibilitet för projekt med hög belastning; förenkling av administration och tillhandahållande av dynamisk databashantering; stöd för lagrade procedurer i C / C ++ och möjligheten att köra C / C ++ - kod i adressutrymmet för DBMS (ger nästan obegränsad utökningsbarhet och en otrolig prestandaökning); förbättrade diagnostik- och felsökningsverktyg.

Dessutom ger användningen av virtualisering i DBMS nödvändig feltolerans och skalbarhet.

Nikolay Fetyukhin, MST
Flyttar till NoSQL och specialiserar oss på databaser. Du kan till exempel uppmärksamma Redis och Tarantool. Den senare innehåller till och med en egen applikationsserver. En intressant trend är den kombinerade DBMS och backend, som Parse från Facebook. Även smidig migrering av databaser till moln.

Peter Urvaev, SimbirSoft
Funktioner som framgångsrikt har visat sig i vissa DBMS, efter ett tag implementeras i andra produkter. Till exempel materialiserade vyer, som först visades i Oracle DBMS, implementerades senare i MS SQL Server och därefter i PostgreSQL. Fördelarna som NoSQL -lösningar ger implementeras gradvis också i relationella DBMS. Till exempel har de senaste versionerna av PostgreSQL stöd för att arbeta med data i JSON -format.

Evgeny Gusev, ITECH
Förändringar de senaste åren inom DBMS -segmentet var både privata - i förhållande till vissa ledande produkter och strukturella, så det finns många trender. Först heterogenitet. Övergången till mikrotjänstmodellen gjorde det möjligt att flexibelt välja sätt att lösa datalagringsproblemet, inte begränsat till ett. För det andra utvecklingen av NoSQL, lagringar i minnet. För det tredje är Big Data en revolution som krävde en omprövning av både metoden för lagring av data och själva begreppet "data". Fjärde, kolumnorienterade databaser.

2. Är det enligt dig en tendens att DBMS flyttar till "molnet"? Vilka är fördelarna och nackdelarna med detta tillvägagångssätt?

Vitaly Chesnokov, QSOFT
Ja, denna tendens finns säkert. Först måste du skilja två grundläggande tillvägagångssätt för ett DBMS -arbete i molnet.

Den första är att distribuera en virtuell dator med ett DBMS i molnet. Du kan ladda din egen bild på den eller använda en förberedd med en redan optimerad DBMS. I själva verket skiljer sig en sådan virtuell maskin inte i grunden från en vanlig fysisk server. Den största fördelen jämfört med en fysisk server är den enkla skalningen, både vertikal (du kan tilldela fler resurser för en given virtuell maskin när som helst) och horisontell (att skapa en ny virtuell maskin tar bara några minuter). Ett annat viktigt plus är den höga tillgängligheten av virtuella molnmaskiner (99,9% –99,99%). Också molnvärdar tillhandahåller många ytterligare tjänster som övervakning, säkerhetskopiering, serverkontrollpanel etc.

Ett fundamentalt annorlunda tillvägagångssätt är ett molnbaserat DBMS. I det här fallet köper klienten inte servern, utan helt enkelt tjänsten att använda DBMS. Den nuvarande marknaden för offentligt moln DBMS, som uppgår till 400 miljoner dollar, kommer att öka till 1,2 miljarder dollar fram till 2017. De främsta fördelarna med detta tillvägagångssätt: betalning för resurser som inte tillhandahålls (som kan vara "inaktiv"), men bara faktiskt används: mängden lagrad data, antalet bearbetade DBMS -operationer; det finns ingen anledning att konfigurera och administrera DBMS - dessa uppgifter är helt upp till värdaren; det finns ingen anledning att tänka på skalning; hostaren erbjuder många praktiska och intuitiva verktyg för hantering av DBMS; hög tillgänglighet. Den största nackdelen är bristen på förmåga att finjustera DBMS.

Du kan också separat markera en sådan underart av moln -DBMS som DbaaS (Database as a Service). Nästan alltid är en specifik DbaaS en specifik DBMS som tillhandahålls i molnet av de direkta utvecklarna. Härifrån är skillnaden i affärsmodeller klart härledd: moln -DBMS är lämpliga för storskaliga typiska uppgifter och DbaaS - för specialiserade, för ett specifikt varumärke för databasmotor, med möjlighet till direkt kommunikation med dess utvecklare. Dessutom tillåter DbaaS dig att markantare noggrant välja systemet för önskad belastning, särskilt genom att reglera antalet klientanslutningar.

Nikolay Apurin, Artwell
Trenden finns. De flesta stora (helryska) system använder redan molndatabaser.

Nikolay Fetyukhin, MST
Trenden är svag. Även om molnanvändning minskar vissa kostnader, leder det till nya kostnader. Användningen av molnet kan bara vara fördelaktigt för projekt med låg trafik.

Fördelar med moln: enkel skalbarhet, hög fellestolerans, tillgänglighet för servrar över hela världen, enkel kloning och distribution av data. Nackdelar: medan molnen, som en produkt, är "råa" - är det omöjligt att fysiskt styra data, eftersom det är under molnleverantörens kontroll.

Peter Urvaev, SimbirSoft
Trenden att överföra DBMS till molnen finns som en del av den allmänna trenden att överföra hela IT -infrastrukturen för organisationer till molnen. Den största fördelen med detta tillvägagångssätt är möjligheten att överföra databasunderhåll. Nackdelarna inkluderar lagring av viktig data på en okontrollerad webbplats. Molnlagringsanvändaren, när det är nödvändigt att förstöra lagrad data, kan inte vara säker på att data verkligen raderas.

Evgeny Gusev, ITECH
Den finns och är en av de primära. Det finns många fördelar med att vara värd för en databas i molnet: enkelhet med skärpning och replikering, möjligheten att effektivt separera data från affärslogik i samband med prestanda, enkel och begriplig hantering av datorkraft och ett antal andra. Baserat på erfarenhet ser vi inga kritiska nackdelar. Ju mer data du måste hantera, desto mer horisontell skalning krävs, desto mer motiverad blir användningen av moln.

3. Vilka faktorer påverkar valet av ett DBMS? För vilka projekt är SQL -databaser mer lämpliga, och för vilka - NoSQL?

Vitaly Chesnokov, QSOFT
Huvudfaktorn att tänka på när du väljer mellan SQL och NoSQL är applikationens behov. SQL är bättre för vissa uppgifter, NoSQL för andra.

Det finns flera viktiga skillnader mellan dessa typer av DBMS. Dataformatet i SQL är mycket strikt, det finns tydliga tabellscheman som anger var vilken datatyp används. NoSQL har inte fördefinierade dokumentscheman - all information kan läggas till i alla dokument.
I SQL finns det komplexa relationer mellan olika tabeller. Data i en tabell är ofta en referens till data i en annan (principen för datanormalisering). I NoSQL är varje dokument som regel en isolerad informationsenhet och lagrar all tillgänglig data (principen om denormalisering).
SQL har inbyggda mekanismer för att upprätthålla dataintegritet (till exempel kan du inte ta bort en post från en tabell om den refereras till i andra tabeller). Det finns inga sådana mekanismer i NoSQL, därför är dataanormalisering viktigt (helst lagrar varje dokument absolut all information om ett objekt).
SQL har en transaktionsmekanism som gör att du kan köra flera SQL-frågor på allt-eller-ingenting-basis. I NoSQL finns denna mekanism bara i ett enda dokument.
Helst är NoSQL snabbare än SQL på grund av en enklare datalagringsmetod som gör att du kan få all information om ett objekt med en enkel fråga i ett enda dokument. Det finns emellertid ett problem relaterat till det faktum att de mest populära NoSQL DBMS -enheterna har dykt upp ganska nyligen. Detta resulterar i mindre information om dessa DBMS och fler olösta problem.
NoSQL är mycket lättare att skala på grund av bristen på komplexa logiska samband mellan dokument. Dessutom skapades de flesta NoSQL DBMS ursprungligen med tonvikt på skalningsmekanismer.

Som ett resultat är NoSQL bättre lämpad för projekt med en stor mängd data som enkelt kan delas upp i separata oberoende objekt. Ger hög hastighet och skalbarhet. SQL är lämpligt för projekt där olika data har komplexa logiska relationer med varandra och deras integritet är oerhört viktig.

Nikolay Apurin, Artwell
NoSQL - för icke -standardiserade beräkningar med en enorm mängd data. Men som praktiken har visat bearbetas volymer på upp till 20 miljoner poster perfekt av SQL -databaser.

Nikolay Fetyukhin, MST
NoSQL-teknik används aktivt av välkända företag, bland annat i projekt med hög belastning. Dataständighet och enkel hämtning med NoSQL kommer att vara riktigt snabb. Vid mer komplexa frågor måste problemet lösas på produktsidan, vilket komplicerar själva produkten. Vi väljer inte NoSQL i sin renaste form. Komplikationen av produktens logik och emulering av de grundläggande sakerna i SQL leder till en ökning av projektets kostnad. Och inte alla NoSQL -lösningar ger datasäkerhet i kritiska situationer.

Peter Urvaev, SimbirSoft
Valet av databas beror ofta på arkitektens preferenser, eventuell belastning och nödvändig funktionalitet. SQL -databaser låter dig tydligt definiera datalagringsscheman och hämta data med hjälp av komplexa frågor, NoSQL -databaser låter dig lagra data i ett mindre ordnat format och stödja horisontell skalning. Ofta använder distribuerade system både SQL- och NoSQL -databaser, som var och en löser sina egna problem.

Evgeny Gusev, ITECH
I det moderna tillståndet är SQL / NoSQL inte konkurrerande enheter, utan kompletterande enheter. Användningen av SQL -lösningar i en applikation, när det krävs att arbeta med komplexa data i sin sammankoppling, och NoSQL, när hastigheten på att arbeta med ostrukturerad information kommer fram, är en helt naturlig praxis.

4. Hur bedömer du graden av distribution av betalda DBMS -licenser bland användare? När är det vettigt att köpa en licens?

Vitaly Chesnokov, QSOFT
Det finns två olika alternativ för att dela upp DBMS i betalt och gratis.

Den första är gratisversioner av kommersiellt DBMS (MS SQL, Oracle, etc.). Faktum är att detta är en avskalad version av DBMS, som saknar en del av funktionaliteten. Här är huvudfaktorn för val mycket enkel - behöver detta projekt denna funktionalitet. Mindre ofta finns det en gratisversion som inte skiljer sig från den kommersiella i funktionalitet, men som uppdateras mindre ofta (Couchbase Server).

Den andra är gratis DBMS för vilken det finns liknande kommersiella produkter (MySQL från Oracle, Percona Server eller MariaDB). I detta fall ligger fördelen med en kommersiell produkt vanligtvis i tillgängligheten till mer omfattande tekniskt stöd. Ur funktionssynpunkt skiljer sig betalt och gratis DBMS lite från varandra, även om båda kan ha sina egna verktyg som saknas i andra versioner.

Som ett resultat finns det två huvudsakliga skäl för att välja ett betalt DBMS: tillgången på funktionalitet som inte är tillgänglig i gratis motsvarigheter och möjligheten att kontakta tillverkarens tekniska support för hjälp.

Nikolay Apurin, Artwell
Varför betala om det finns gratis? Det finns dock många lösningar som bara kan fungera med betalda databaser. I grund och botten är det utländska metoder.

Nikolay Fetyukhin, MST
Frågan är kontroversiell. Ofta betalade DBMS har gratisversioner, och gratis har komponenter som kan köpas för pengar. Skillnaden är oftast i de inbyggda analys- och databasövervakningsverktygen. Därför är betalda DBMS mer lämpade för stora projekt med stora distribuerade system.

Peter Urvaev, SimbirSoft
Betalda DBMS -licenser är att föredra framför kostnadsfria licenser när projektet bygger på en specifik databas kapacitet, och det är viktigt för det att de funktioner som används fungerar som sagt och problem i deras arbete omedelbart elimineras. Nu används kommersiella och fria databaser lika ofta, och de flesta nya projekt väljer gratis databaser, eftersom möjligheterna att arbeta med data och stabilitet är ungefär på samma nivå som betald och gratis DBMS.

Microsoft Access är ett interaktivt (RDBMS) för WINDOWS. Det är ett program som du kan använda för att lagra och hämta data beroende på vilka relationer du har etablerat. Arbetet med det förenklas med hjälp av en musmanipulator. Skalets grafiska kapacitet är imponerande för att producera högkvalitativa rapporter och utskrifter. Allt detta tack vare stöd för True-typsnitt och inbäddning av OLE-objekt (Object Linking and Embeding) inom ramen för WINDOWS-miljön. OLE - ett objekt är en länk till viss information som finns kvar i sin ursprungliga form. Ett OLE -objekt kan vara ett EXCEL -bord, pensel en illustration eller en ljudfil.

Nytt för Access är Cue Cards - Prompting System. Detta är ett utbildningssystem som ger användaren rekommendationer för att komma ur verkliga situationer när de löser tillämpade problem. Om du kan engelska kommer användaren alltid att kunna få en ledtråd om vad han ska göra härnäst.

Access ger också användaren mekanismer för att arbeta med databaser i olika format. Till exempel kan du direkt komma åt databaserna dBASE, Paradox eller Btrieve utan att konvertera dem till det format som används av Access. I Access-paketet ingår också Access Basic-språket (en inbyggd dialekt av Visual Basic-språket), vilket gör det möjligt att bilda specialiserade databashanteringssystem.

Låt oss nu gå vidare till en mer detaljerad undersökning av Access -systemet. De grundläggande begreppen eller objekten för detta system är: tabeller, frågor, formulär, rapporter, makron och moduler. Och naturligtvis kommer huvudkonceptet att vara databasen.

Följ dessa steg för att skapa en databas:

Aktivera Microsoft Access -fönstret och välj direktivet Ny databas från Arkiv -menyn (eller klicka på knappen Ny databas i ikonfältet). Microsoft Access öppnar dialogrutan Ny databas och ger dig automatiskt ett namn för din databas som du kan ersätta.

På raden Filnamn skriver du din version av databasnamnet. Den kan innehålla upp till 8 tecken utan mellanslag. Microsoft Access lägger automatiskt till tillägget. MDB till ditt databasnamn om du inte har gjort det.

Om du vill lagra databasen på en specifik plats väljer du lämplig katalog i listan Kataloger.

Klicka på OK -knappen.

Microsoft Access skapar en tom databasfil och öppnar databasfönstret.

Databasen kan fyllas med objekt av olika slag och utföra operationer med dem. Men med databasen kan du utföra operationer som en odelbar enhet. Alla sådana operationer - databashanteringsoperationer - koncentreras till Arkiv -menyn i Access -applikationsfönstret eller i databasfönstret.

När du öppnar en databas kan du begränsa möjliga operationer med databasen till skrivskyddad och begränsa antalet användare som har åtkomst till databasen endast av sin egen person. Om du bara vill visa databasen och objekten som den innehåller, men inte ändra dem, måste du aktivera skrivskyddet när du öppnar databasen. Om det är nödvändigt att förhindra ändringar av data och objekt i denna databas av andra användare, ställ in alternativet Exklusivt när du öppnar databasen.

Om användaren har slutat arbeta med databasen bör den stängas med hjälp av Stäng databasdirektivet i Arkiv-menyn, genom att dubbelklicka på knappen för att öppna kontrollmenyn i databasfönstret eller genom att trycka på tangenterna (Ctrl + F4 ).

Tabeller.

Nästa steg i att bygga databasen är att fylla den, det vill säga skapa objekt och tilldela de nödvändiga egenskaperna till den senare. Oavsett vilken typ av data du har måste du lagra den i en eller flera tabeller.

Tabeller är den huvudsakliga presentationsformen av information som finns i en databas. Utan en tabell är det omöjligt att utforma ett formulär; på grundval av tabeller sammanställs frågor och rapporter.

Varje fält som ingår i en post tilldelas en datatyp som bestämmer vilken typ av information som ska lagras i detta fält. Datatypen anges i kolumnen Datatyp och den kan väljas från listan över tillgängliga typer.

Du kan göra ändringar i den färdiga specifikationen. Men samtidigt bör du försöka göra alla korrigeringar i specifikationen innan du fyller databasen, eftersom ett försök att ändra parametrarna i fälten i den fyllda databasen kan leda till dataförlust eller korruption.

Du kan bädda in objekt från andra OLE-kompatibla program i Access-tabeller och associera dessa objekt med sina överordnade program.

När du bäddar in ett objekt lagrar Access objektet i en tabell. Dubbelklicka på ett objekt startar det applikationsprogram som det gjordes med - du kan göra ändringar i objektet i det. Efter avslutat arbete med det överordnade programmet sparas objektet i den modifierade formen i tabellen.

Du kan importera tabeller som finns i en databas som skapats av ett annat program till Access, eller så kan du exportera Access -tabeller och spara dem i format som andra databasprogram kan förstå. Men innan du börjar importera eller exportera direkt måste du göra lämpliga import- eller exportinställningar.

Förfrågningar.

Frågor används för att välja och filtrera en dataset. De låter dig välja från databasen endast nödvändig information, det vill säga den som uppfyller ett visst kriterium (villkor) och som behövs för att lösa ett specifikt problem. Till exempel kan du behöva information om leverantörer och de varor de levererar. Du kan skapa en fråga av typen "Vilka varor levereras av Moskva -leverantörer" eller "Vilken av cigarettleverantörerna i Sankt Petersburg sålde det största partiet under det senaste kvartalet". Resultatet av Access -bearbetning av en sådan fråga är en tabell som heter Dynaset. Denna tabell innehåller datablock valda från huvudtabellen (eller flera tabeller) som uppfyller frågekriterierna. Dynaset är en dynamisk, tillfällig datamängd, så varje gång en fråga körs, byggs den om baserat på "färska" tabelldata.

Det finns två typer av förfrågningar:

QBE -frågor (Fråga efter exempel). Användaren ger dem definitioner och anger individuella parametrar i designfönstret med hjälp av uppmaningar (exempel).

SQL - frågor (Structured Query Language - Structured Query Language). Användaren formulerar dem med hjälp av instruktioner och funktioner och bygger en beskrivning. Access översätter enkelt QBE -frågan till motsvarande SQL -fråga. Omvänd drift är också lätt. I allmänhet bryr sig Access inte om vilken typ av fråga användaren arbetar med.

Frågor kan skapas med både Query Builder och utan Query Builder. Den första metoden påskyndar dock utformningen av flera ad-hoc-frågetyper.

Urvalskriterier är instruktioner enligt vilka användaren säger åt Access vilka block av data som ska hämtas på begäran och visas i Dynaset. Kriterier kan anges för ett eller flera frågefält.

Användaren kan använda begäran för att utföra beräkningar med datablock. Han kan i varje fält ställa in en funktion som behandlar innehållet i detta fält. Behandlingsresultatet skickas till Dynaset. Behandlingsfunktionen är inställd på raden Total, som visas efter att du har klickat på knappen med den grekiska bokstaven "sigma" i den piktografiska menyn. Själva funktionen kan väljas i denna rad genom att utöka listan över möjliga värden.

När frågan är utformad kan den köras genom att klicka på utropstecken -knappen i ikonfältet eller genom att ringa Kör -direktivet på Frågemenyn. Access visar blocken som valts på begäran i Dynaset i form av en tabell.

Med hjälp av det strukturerade SQL -frågespråket i Access kan användaren formulera frågor som är godtyckligt komplexa när det gäller strukturen av kriterier och beräkningar. Samma språk låter dig styra behandlingen av förfrågningar. En SQL -fråga är en sekvens av satser som kan innehålla uttryck och anrop till aggregerade funktioner.

Om användaren vill ha det utvecklade projektet för begäran till sitt förfogande under nästa arbetspass, måste han spara det med hjälp av Spara -direktivet i Arkiv -menyn. Om projektet sparas för första gången, efter att ha hänvisat till detta direktiv, visas dialogrutan Spara som. I den bör du tilldela begäran ett namn, under vilket den kommer att sparas och inkluderas i listan över förfrågningar i databankfönstret. Frågans namn får inte vara samma som tabellnamnet.

Om den givna begäran redan har sparats en gång och användaren har valt Spara -direktivet, kommer den gamla versionen att ersättas av det nya, ändrade projektet av begäran. Om ändringarna inte skulle förstöra den tidigare versionen, men ska sparas i en annan begäran, ska du ringa till Spara som -direktivet och tilldela det sparade projektet ett nytt namn. Om du vill spara tabellvyn för en fråga väljer du direktivet Spara fråga på Arkiv -menyn. Detta direktiv sparar ändringar i projektet för en befintlig begäran och ersätter den tidigare versionen av förfrågan med den aktiva versionen. Om du vill spara en fråga för första gången eller skapa en kopia av en aktiv fråga, vars Dynaset är synlig på skärmen, bör du välja Spara fråga som -direktivet.

Förutom urvalsfrågor kan du också implementera åtgärdsfrågor, parametriska frågor och frågetabellfrågor med Access.

Blanketter.

Genom att se databasen som en tabell i fyllningsläge får användaren möjlighet att utvärdera databasen som helhet, jämföra poster etc. Ofta blir det dock nödvändigt att arbeta med enskilda databasposter. I det här fallet stör förekomsten av andra poster på skärmen (som är fallet i fyllningsläget) bara och stör. Genom att arbeta med enskilda poster genom formulär kan du bara fokusera på relevant information.

Ett formulär är ett formulär som ska fyllas i eller en mask överlagras på en datamängd. Med formuläret kan du förenkla processen att fylla i databasen, vilket gör det möjligt att anförtro informationen till personal med låga kvalifikationer. Med formulärsmasken kan du begränsa mängden information som är tillgänglig för användaren som får tillgång till databasen.

Utseende, struktur och funktionssätt för enskilda kontrollelement och former bestäms av värdena för egenskaperna hos dessa objekt. Objektegenskaper är tillgängliga för användaren via fönstret Egenskaper. För att ställa in eller ändra egenskaperna för ett element måste det markeras och egenskapsdirektivet måste anropas från menyn Visa.

Om du vill visa verktygslådan ställer du in menyn Visa på alternativet Verktygslåda. Varje verktyg, eller snarare, kontroll- / designelementet som skapats med dess hjälp, har sitt eget fönster med egenskaper, och i det, i form av en lista, visas standardinställningarna för motsvarande kontrollelement.

Fälten som ska ingå i formuläret kan väljas från listan över fält som kommer att synas på skärmen när du har öppnat fältlistadirektivet i menyn Visa.

När du utformar ett formulär kan du infoga kontroller i det. Varje kontroll kan associeras med något objekt i tabellen som formuläret är baserat på.

Rapporter.

En rapport är information som du har utarbetat i enlighet med dina specifikationer. Med rapporten kan du extrahera och presentera data som meningsfull information som du kan använda och sprida. Exempel på rapporter inkluderar postadresser, fakturor, försäljningsbelopp eller telefonlistor. Med Microsoft Access kan du designa en rapport som presenterar informationen i det formulär du vill ha. Du kan använda många olika designelement som text, data, bilder, rader, marginaler och grafik för att skapa din rapport. Det beror på dig hur och vilka element du ska använda för att bygga rapporten.

Microsoft Access ger flera sätt att hämta information från din databas - med hjälp av en fråga, ett formulär eller en rapport. Du kan välja den metod som passar bäst för din uppgift.

Rapporter är också ett effektivt sätt att skriva ut information för regelbunden användning. Du kan skapa ett rapportutkast och spara det för senare användning. Utkastet till rapport förblir oförändrat, men varje gång får du en utskrift av den aktuella informationen.

Innan du skapar en rapport, tänk på varifrån din rapport kommer att hämta data. Om all data är från en tabell baseras din rapport på denna tabell. Om du behöver data från mer än en tabell bör rapporten baseras på en fråga.

Du kan skapa rapporter med eller utan hjälp av Report Builder. Designern kommer att påskynda processen med att skapa en rapport, eftersom den kommer att göra huvudarbetet för dig.

Du kan bädda in kontroller i rapportprototypen under designprocessen. Kontrollerna inbäddade i rapportprototypen kan användas för att utforma titlar, bildtexter och illustrationer.

För att bädda in kontrollelement i en rapport måste verktygslådans verktygsmeny finnas på skärmen (alternativet Visa / verktygslåda). Knappen på det skapade kontrollelementet väljs i verktygsmenyn. Efter det ska du klicka med musen i positionen för rapportprototypen där du vill placera den här kontrollen. Access placerar det valda objektet med standardvärden för egenskaper (storlek, färg och så vidare).

För att ändra standardvärdena för egenskaperna hos ett kontrollelement kan du hänvisa till egenskaperfönstret, som tidigare har markerat det justerbara elementet.

En beroende kontroll i en rapport är associerad med ett fält i motsvarande tabell. Med en beroende kontroll kan du ange data i ett fält eller visa och uppdatera den i en rapport.

Att länka en kontroll kan göras på ett av två sätt:

Om användaren vill att Access automatiskt ska skapa en kontroll som är associerad med grundtabellen för denna rapport, använd sedan listan med tabellfält. Det är synligt på skärmen om alternativet Visa / fältlista är inställt. En kontroll gjord med en lista med fält har samma karakteristiska värden som tabellfältet som det är associerat med. För att utföra länkningen, dra det eller de markerade fälten från listan till rapporten. Där är det nödvändigt att placera muspekaren på den position där kontrollens övre vänstra hörn (men inte fältet för den angivna angivna kontrollen) ska placeras och sedan släppa musknappen. Access skapar en tillhörande kontroll (textruta) för varje fält som du väljer i fältlistan.

Om du vill retroaktivt binda en befintlig, obunden kontroll till ett fält kan du göra detta med hjälp av egenskapsfönstret. I det här fönstret, efter att du markerat kontrollen i rapportprototypen, listas egenskaperna för den kontrollen. När du anger namnet på det bindbara fältet i det här fönstret som värdet för ControlSource -karakteristiken utförs bindningen.

Behåller bara sitt projekt, rapportens struktur, inga data.

Välj Arkiv -menyn på Arkiv -menyn.

Om rapporten inte har fått ett namn skriver du ett namn på raden Rapportnamn.

Klicka på OK.

Genom att spara resultatet, den fullständiga rapporten - projektet tillsammans med data - i en fil som du kan använda i andra Windows -stödda program som Microsoft Excel.

Välj Arkiv till på menyn Arkiv.

Följ instruktionerna i dialogrutorna Utmatning till.

All mänsklig aktivitet är oupplösligt kopplad till en mängd olika informationskataloger och databaser. Ett biblioteksregister, en anteckningsbok, adresser på en mobiltelefon eller surfplatta - det här är inte en fullständig lista över strukturerad information som vi använder. Men datorer älskar precision, så låt oss definiera det.

Så, databas (DB)- en uppsättning logiskt sammanhängande data som beskriver informationsstatus för objekt i olika ämnesområden och bearbetas med datorteknik.

Databashanteringssystemär en mjukvara och språkmiljö för skapande, hantering och behandling av informationsbaser. Syftet med DBMS:

  • arbeta med databaser på externa (diskar, band, etc.) och RAM;
  • användardelning;
  • kontroll av ändringar, arkivering och återställning av databaser;
  • tillhandahålla åtkomstspråket för;
  • verktyg för att skapa, ändra och hantera databaser.

Enkelt uttryckt definierar databasen informationslagringsteknik, och DBMS tillhandahåller medel för dess behandling... Dessutom är databashanteringssystem indelade i system allmän användning som kan behandla olika data och specialiserade utvecklat för ett specifikt ämnesområde eller typ av information. Objektorienterade är ett exempel på specialiserade databashanteringssystem.

Relationella styrsystem

Sedan tillkomsten av databaser har många modeller av deras arbete skapats, men relationsmodell visade sig vara den mest mångsidiga. Det är en länkad uppsättning informationstabeller som garanterar integriteten och minsta redundans av information. Tabellmodellen visade sig vara tillämplig på de flesta domäner och marknaden för växte snabbt. Figuren visar ett exempel på relationsstrukturen "Studentens bas".

Alla relations -DBMS stöder ANSI SQL -språkstandarden och de grundläggande principerna för relationsmodellen, vilket gör att applikationer kan köras på olika DBMS. Dessutom har stora DBMS egna tillägg för SQL-tillägg. Exempel på ett ledningssystem för stora projekt är ORACLE.

Relationsmodellen används också framgångsrikt vid utvecklingen av Internetprojekt. Exempel är MySQL och PostgreSQL.

NoSQL -teknik

Den ökande informationsvolymen och den ökande komplexiteten i relationer har lett till framväxten av nya databashanteringssystem. Information har upphört att vara oberoende av varandra, och ibland är det i allmänhet omöjligt att styvt beskriva dess struktur. Relationsdatabaser klarar inte längre sådana uppgifter. Detta ledde till att det uppstod en ny typ av infobaser och deras ledningssystem, gemensamt kända som NoSQL ("ingen SQL").

  1. Nyckelvärde... De mest populära DBMS är Redis, Voldemort, Tokyo Cabinet och Dynomite.
  2. Kloner av BigTable DBMS. Utvecklad av Google för intern sökmotoranvändning. BigTable erbjuds inte officiellt, men det finns ett DBMS baserat på det. Dessa är Hadoop, Hypertable och Cassandra.
  3. Dokumentorienterad. De mest populära är Berkeley DB XML, MongoD, eXist och CouchDB.
  4. Baser baserade på Används i Neo4j, Sones graphDB och AllegroGraph.

Framtiden för DBMS

Marknaden fortsätter att utvecklas och lutar alltmer mot att använda NoSQL -lösningar. Naturligtvis implementeras ett stort antal mjukvarusystem av varierande komplexitet på "klassisk" SQL, och sådana giganter på marknaden som Microsoft och ORACLE ligger bakom. Men med hög grad av förtroende kan vi anta att NoSQL kommer att kunna pressa ledarna avsevärt i utvecklingen av komplexa informationssystem under de kommande åren.

I den här artikeln kommer vi att överväga typerna av databashanteringssystem.Databas - en gemensam uppsättning logiskt relaterade data (och en beskrivning av dessa data) utformade för att möta informationsbehoven hos en organisation. Följande typer av databaser utmärks, till exempel server och lokala, relationella och icke-relationella, stödjande transaktioner och utan dem, och så vidare.

Låt oss bekanta oss med de mest populära och relevanta för närvarande databashanteringssystem.

Enligt metoden för åtkomst till databasen skiljer sig följande typer av databashanteringssystem:fil server (denna teknik används nu lite, den är baserad på åtkomst till DBMS via ett lokalt nätverk, som en fördel, låg belastning på serverns CPU, denna typ av databas inkluderar Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro),klient-server (åtkomst till databasen utförs direkt, eftersom DBMS ligger på servern tillsammans med databasen, nackdelen är ökade krav på hårdvaran, denna typ av databas inkluderar Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, LINTER),inbäddad (ingår i mjukvaruprodukten, behöver inte göra en oberoende installation, är inte avsedd för ett stort antal användare, är avsedda för lokal lagring av information, denna typ av databas inkluderar OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Sav Sicksack, Microsoft SQL Server Compact, LINTER).

Huvudsakliga och populära relationsdatabaser:SQLite, MySQL, PostgreSQL ... Vi kommer dock att överväga de viktigaste skillnaderna mellan dem och funktionaliteten för varje, beroende på vilka utvecklingsmål du eftersträvar.


Låt oss börja medSQLite- snabbt och kraftfullt databashanteringssystem som enkelt kan integreras i applikationer. Det har stor uppsättning verktyg för att arbeta med filer, i jämförelse med andra DBMS, eftersom det i sig är en fil. Använder servicebiblioteksteknik, vilket gör systemet väldigt snabbt. Systemet har en öppen källkod - öppen källkod.

SQLite -datatyper: NULL, INTEGER, REAL, TEXT, BLOB. Fördelarna med SQLite inkluderar: möjligheten att snabbt och enkelt överföra en databas från maskin till maskin, eftersom SQLite består av en fil; SQL -standarder används, även om vissa av deras funktioner inte beaktas; visar utmärkt sina funktioner under utveckling och testning. Men som alla andra system SQLite har nackdelar: det finns inget användarsystem som används av stora DBMS; det finns ingen funktion för att öka produktiviteten.

Varför använda SQLite? Först och främst, för inbäddade applikationer, om du behöver enkelt porta dem och skalbarhet inte är viktigt, till exempel kan det vara spel eller mobilapplikationer; att ha direktåtkomst till disken; för test för att sakta ner applikationen.


Alla som har något att göra med webbbranschen har förmodligen hört talas om detta system -MySQLmycket populärt och fullvärdigt DBMS, som kännetecknas av sin breda funktionalitet. Server DBMS fungerar utmärkt med olika typer av webbplatser och applikationer. Det är dock mycket enkelt att arbeta med systemet, eftersom det finns mycket information och dokumentation om att lära sig MySQL. Dessutom har många plugins och tillägg utvecklats som dessutom underlättar arbetet med detta system. All SQL -funktionalitet är inte implementerad i MySQL, men det finns gott om verktyg för att utveckla webbapplikationer. Datatyper: TINYINT, SMALLINT, MEDIUMINT, INTEGER, BIGINT, FLOAT, DOUBLE, DECIMAL och andra.

Huvuddragen i MySQL: enkelhet och enkelhet med detta DBMS; många användbara funktioner; enkel skalning; snabbt och säkert arbete.

Nackdelar med MySQL: långsam projektutveckling, som ofta orsakar klagomål från användare; ibland finns det tillförlitlighetsproblem och det finns vissa begränsningar för funktionaliteten som enskilda applikationer behöver.

Vad är MySQL för? Om ditt projekt saknar SQLite -funktionalitet är MySQL en utmärkt lösning för dig, eftersom det har fri tillgång till källkoden och många funktioner. Den har ett bra dataskyddssystem som garanterar säkerhet. MySQL är tidstestat och väl lämpad för att utveckla skräddarsydda lösningar.

Den tredje, men inte mindre populär i sina kretsar -i jämförelse med de tidigare, ett mer professionellt DBMS, vilket distribueras fritt och uppfyller de högsta kriterierna SQL... Systemet stöder ett relationellt förhållningssätt till databasen. Till exempel: Atomicitet, konsistens, isolering, hållbarhet (ACID). Postgre har visat bra prestanda, och systemet är enkelt att utöka med hjälp av så kallade lagrade procedurer. Detta DBMS är inte lika populärt som MySQL, men det är väldigt enkelt att installera det med hjälp av standard OS -pakethanterare. Postgre datatyper: bigint, bigserial, bit, bit variating, boolean, box, bytea, character variating, circle, and others.

Fördelar med att använda PostgreSQL: gratis och öppen källkodsprogramvara; en stor gemenskap där du kan få nödvändigt stöd i frågor av intresse; ett stort antal tillägg; förutom att detta DBMS är relationellt är det också objektorienterat.

Nackdelar med PostgreSQL: kan bromsa servern jämfört med konkurrerande databaser; inte alla värdar stöder detta DBMS, eftersom det inte är så populärt. Men i företaget Hyper Host ™ denna databas stöds, så du kan gärna välja vår om du använder PostgreSQL.

Vad används PostgreSQL till?

1) När din information måste fyllas i och förvaras på ett säkert ställe.

2) Om du använder komplexa anpassade rutiner.

3) Om du planerar att migrera till ett betalt DBMS kan denna övergång från detta system göras utan större ansträngning, eftersom Postgre integreras perfekt med andra DBMS.

4) Postgre har en komplex datastruktur, vilket ger fler möjligheter att arbeta med dem.

Vi hoppas att denna information har blivit användbar för dig och att du redan har bestämt vilket DBMS du behöver för ditt projekt. Men om du fortfarande har frågor, vänligen kontakta oss, vi hjälper dig gärna! Vi vill också påminna dig om att värdföretaget Hyper Host ™ stöder alla ovanstående system 😉

När du arbetar med servern kommer instruktionerna “” och “?” Att vara användbara.

7961 gång (ar) 2 Visade tid (er) idag







2021 gtavrl.ru.