(function(w,d,s,l,i){w[l]=w[l]|||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=? 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); Kura DB jāizvēlas konkrētam datu tipam jūsu programmatūras projektā - The Codest
The Codest
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Nozares
    • Fintech un banku darbība
    • E-commerce
    • Adtech
    • Healthtech
    • Ražošana
    • Loģistika
    • Automobiļu nozare
    • IOT
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
Atpakaļ bultiņa ATGRIEZTIES ATPAKAĻ
2019-01-09
Programmatūras izstrāde

Kura DB jāizvēlas konkrētam datu tipam jūsu programmatūras projektā

Agata Werszler

Jauna projekta izveide ietver pareizās datu bāzes izvēli datu glabāšanai. Daudzi man pazīstami izstrādātāji jau sākumā pēc noklusējuma izvēlas relācijas datu bāzi. Bet vai tas ir labākais lēmums? Protams, tas ir atkarīgs no daudziem faktoriem. Šajā rakstā es vēlos jūs iepazīstināt ar citiem datubāzu veidiem, lai atvieglotu jūsu izvēli un palīdzētu jums sagatavoties turpmākajiem darbiem.

Datu bāzes veids nav vienīgais jautājums, kas jāņem vērā. Ir vēl daudzi citi jautājumi, par kuriem jādomā, piemēram, cik aktīviem lietotājiem var būt lietojumprogramma? Vai jums visur ir nepieciešama spēcīga konsekvence? Vai dažos gadījumos pietiks ar iespējamo konsekvenci? Ir tik daudz jautājumu bez viennozīmīgām atbildēm, jo “jo vairāk jūs tajā iedziļināties, jo sarežģītāks tas kļūst”. Tāpēc ņemiet vērā, ka šis raksts ir veltīts tikai datu bāzu tipiem.

Izdzeriet tasi kafijas un izbaudiet šo lasāmvielu.

Vispārīga datubāzu klasifikācija

Sākumā ir labi zināt, ka ir divi galvenie datubāzu veidi: relācijas (SQL) un nerelatīvās (NoSQL) datubāzes.

  • SQL datubāzes ir strukturētas relācijas veidā, kas nozīmē, ka jūs glabājat dati tabulās un uzturēt attiecības starp tām.
  • NoSQL (ne tikai SQL) datubāzes, atšķirībā no relāciju datubāzēm, nav labi strukturētas, tāpēc tās ir pielāgojamākas un elastīgākas.

Papildus diviem iepriekš minētajiem veidiem ir vēl viens, proti, atmiņā esoša datu bāze. To nevar klasificēt ne kā relācijas, ne nerelatīvo, jo tā attiecas uz datu fiziskās uzglabāšanas vietu. Katru datubāzi var glabāt diskā vai atmiņā.

Datu bāzu veidi

1. Relācijas

Manuprāt, tā ir vispopulārākā datubāze. Tā labi darbojas ar strukturāliem datiem, ja vēlaties saglabāt attiecības starp ierakstiem. Datu bāzes struktūra ir aprakstīta shēmā.

Galvenās priekšrocības ir transakcijas (tās palīdz nodrošināt datu integritāti un ievēro ACID noteikumus) un spēja apstrādāt daudzus sarežģītus pieprasījumus.

Kad to izvēlēties?

Tas ir noderīgs, piemēram, tādu datu glabāšanai, kuru struktūra nemainās ļoti bieži un kurus nepieciešams glabāt pastāvīgi:

  • CRM (attiecību ar klientiem pārvaldība),
  • Pasūtījumu pārvaldība,
  • ERP (Uzņēmums Resursu plānošana),
  • datu uzglabāšana vai krājumu pārvaldība,
  • grāmatvedība vai finanses.

Piemēri:

Amazon Aurora, Microsoft Azure SQL datubāze, PostgreSQL, MySQL.

Daudzām jaunām lietojumprogrammām ar relāciju datubāzēm nepietiek, un jums ir nepieciešama vairāk nekā viena datubāze. Nākamajā raksta daļā es pievērsīšos nerelatīvo datu bāzēm.

2. Atslēga-vērtība

Tajā katra datu vērtība tiek saglabāta ar unikālu atslēgu. Tas nozīmē, ka dati ir pieejami ar vienu atslēgu, līdzīgi kā tas tiek darīts ar hash karte. Atšķirībā no relāciju datu bāzēm tā neievieš ne shēmu, ne attiecības starp ierakstiem. Lielākā daļa šo datubāzu parasti neatbalsta atjaunināšanas operācijas. Lai mainītu datus, ir jāpārraksta viss esošais kopums.

Kad to izvēlēties?

Tas ir noderīgs datiem, kurus vēlaties ātri nolasīt/rakstīt (bet kuri netiek bieži atjaunināti):

  • reāllaika solīšana, reklāmas apkalpošana,
  • datu kešēšana,
  • sesijas pārvaldība,
  • iepirkumu ratiņi,
  • klientu preferences vai profila pārvaldība.

Piemēri:

Memcached, Amazon DynamoDB, Azure Cosmos DB, Redis.

3. Dokuments

Tajā tiek glabātas dokumentu kolekcijas. Katrā dokumentā ir lauki ar datiem, kas var būt vienkāršas vērtības vai sarežģīti elementi, piemēram, saraksti vai bērnu kolekcijas. Ir svarīgi zināt, ka katram dokumentam var būt atšķirīga struktūra, pat ja tie pārstāv vienu un to pašu (katrs dokuments ir unikāls un laika gaitā attīstās). Piemēram, pirmajā klienta dokumentā ir mazāk informācijas nekā otrajā:

{
 "FirstName": "John",
 "Uzvārds": "Fake",
 "Motocikli:" [
  {
    "Modelis": "BMW",
    "Gads": 2020
  }
 ]
}
{
 "FirstName": "Alex",
 "Uzvārds": "Nolastname",
 "Age": 15,
 "Adrese": {
    "Valsts": "Polija",
    "Pilsēta": "Kādā vietā"
  },
 "Motocikli:" [
  {
    "Modelis": "BMW",
    "Gads": 2020
  }
 ]
}

Kad to izvēlēties?

Tas ir noderīgs datiem, kuriem nepieciešama elastīga shēma ātrai apstrādei:

  • produkts katalogus,
  • CMS (satura pārvaldības sistēma),
  • lietotāju profili un personalizācija.

Piemēri:

Amazon DocumentDB, Azure Cosmos DB, MongoDB, Redis.

4. Grafiks

Tā izmanto grafa struktūru, un to veido divi elementi: mezgli un malas. Mezgli ir analogi tabulas rindām vai JSON dokumentiem. Malas ir attiecības starp mezgliem - tās ir tikpat svarīgas kā mezgli. Abiem var būt īpašības. Turklāt malām var būt noteikts attiecību virziens.

Kad to izvēlēties?

Tas ir noderīgi, ja jūsu dati ir līdzīgi grafikam, t. i., attiecības starp datu elementiem ir dinamiskas un laika gaitā mainās. Turklāt tā ir laba izvēle gadījumos, kad biznesa vai tehniskā komanda nepieciešams izprast datu sakarības. Daži spilgti piemēri:

  • organizācijas diagrammas,
  • krāpšanas atklāšana,
  • sociālie grafi/tīkli,
  • ieteikumi dzinējiem,
  • zināšanu diagrammas.

Piemēri:

Amazon Neptune, Neo4j, ArangoDB, Titan.

5. Laika sērijas

Tajā tiek saglabāti dati, kas sakārtoti pēc laika. Parasti tajā tiek uzkrāti milzīgi datu apjomi reāllaikā. Visbiežāk to izmanto datu saglabāšanai, lai gan atjaunināšana notiek ļoti reti. Parasti laika zīmogs tiek izmantots kā primārā atslēga un/vai datu šķirošanai. Dažās datubāzēs kā papildu informāciju var iekļaut definēšanas tagus, piemēram, datu izcelsmi vai veidu.

Kad to izvēlēties?

Tas ir noderīgi, lai glabātu nelielus datu apjomus, kas pievienoti secīgi hronoloģiskā secībā, piemēram, šādos:

  • DevOps,
  • lietojumprogrammu uzraudzība,
  • uzraudzību un notikumu telemetriju,
  • IoT lietojumprogrammas (piemēram, datu vākšana no ierīču sensoriem).

Piemēri:

Azure Time Series Insights, Amazon Timestream, InfluxDB.

6. Grāmatvedības reģistrs

Tas nodrošina nemainīgu, pārredzamu un kriptogrāfiski pārbaudāmu darījumu žurnālu, kas pieder centrālajai iestādei. - Amazon QLDB pārskats

Īsi paskaidrosim katru atslēgvārdu iepriekš minētajā citātā:

  • nemainīgs - nozīmē, ka šajā datubāzē izveidoto ierakstu nevar dzēst, mainīt vai pat pārrakstīt,
  • pārredzama - tā seko un saglabā secīgu ierakstu par katru izmaiņu jūsu datos,
  • kriptogrāfiski pārbaudāma - šajā datubāzē izveidotie dati tiek pārbaudīti ar kriptogrāfiskām hashēšanas metodēm, līdzīgi kā blokķēdēs (izmantojot SHA-256 hash funkciju).

Kad to izvēlēties?

Ir lietderīgi saglabāt precīzu vēsturi, piemēram, reģistrējot secīgu ierakstu par katru datu izmaiņu, kā tas ir:

  • finanses (debeta vai kredīta darījumu vēsture),
  • ražošana (izsekot, no kurienes iegūtas detaļas),
  • apdrošināšana,
  • Cilvēkresursi un algas,
  • mazumtirdzniecība,
  • piegādes ķēdes.

Piemēri:

Amazon QLDB

Secinājumi

Nav vienkāršas atbildes uz šī raksta virsrakstā uzdoto jautājumu. Vienīgais veids, kā izvēlēties pareizo datubāzi, ir uzzināt vairāk par saviem datiem. Atbildiet uz jautājumu: “Kādus datus ģenerē jūsu lietojumprogramma?”, un jūs varēsiet izdarīt pareizo izvēli.

Turklāt jums ļoti labi jāpārzina uzņēmējdarbības prasības un lietojumprogrammas domēns. Jums jāzina, kā jūs izmantosiet datus, kādus pieprasījumus sūtīsiet datubāzei, cik reizes saglabāsiet, lasīsiet, atjaunināsiet vai dzēsīsiet datus. Visas šīs lietas ir svarīgas, taču ne visi izstrādātāji šīm jomām pievērš pietiekamu uzmanību.

Lūdzu, padomājiet par saviem datiem lietojumprogrammā, ko izstrādājat, lai uzlabotu/izveidotu labāku programmatūru. Kopumā es ceru, ka jūs pietiekami labi iepazīsiet savus datus, lai uzglabātu tos vietā, kur tie būs laimīgi.

Lasīt vairāk:

Daži triki, lai paātrinātu JavaScript lietojumprogrammas darbību

Veidi, kā palielināt Rails veiktspēju

Fakti un mīti par sadarbību ar ārējo programmatūras izstrādes partneri

Saistītie raksti

Ilustrācija viedtālruņa veselības aprūpes lietotnei ar sirds ikonu un pieaugošo veselības diagrammu, kas apzīmēta ar The Codest logotipu, kurš pārstāv digitālās veselības un HealthTech risinājumus.
Programmatūras izstrāde

Veselības aprūpes programmatūra: Mārketinga programmatūra: veidi, izmantošanas gadījumi

Šodien veselības aprūpes organizāciju rīcībā esošie rīki vairs neatgādina papīra diagrammas, kas tika izmantotas pirms vairākiem gadu desmitiem. veselības aprūpes programmatūra tagad atbalsta veselības aprūpes sistēmas, pacientu aprūpi un mūsdienīgu veselības aprūpes sniegšanu klīniskajās un...

TĀKĀDĒJAIS
Abstrakta ilustrācija ar lejupejošu joslu diagrammu ar augošu bultiņu un zelta monētu, kas simbolizē izmaksu efektivitāti vai ietaupījumus. Augšējā kreisajā stūrī redzams The Codest logotips ar saukli "In Code We Trust" uz gaiši pelēka fona.
Programmatūras izstrāde

Kā paplašināt izstrādātāju komandu, nezaudējot produkta kvalitāti

Palielināt izstrādātāju komandu? Uzziniet, kā augt, nezaudējot produkta kvalitāti. Šajā rokasgrāmatā aplūkotas pazīmes, kas liecina, ka ir pienācis laiks paplašināt komandu, komandas struktūra, pieņemšana darbā, vadība un rīki, kā arī tas, kā The Codest var...

TĀKĀDĒJAIS
Programmatūras izstrāde

Uz nākotni noturīgu tīmekļa lietojumprogrammu veidošana: The Codest ekspertu komandas ieskats

Uzziniet, kā The Codest izceļas mērogojamu, interaktīvu tīmekļa lietojumprogrammu izveidē, izmantojot modernākās tehnoloģijas un nodrošinot viengabalainu lietotāja pieredzi visās platformās. Uzziniet, kā mūsu zināšanas veicina digitālo transformāciju un biznesa...

TĀKĀDĒJAIS
Programmatūras izstrāde

Top 10 Latvijā bāzēti programmatūras izstrādes uzņēmumi

Mūsu jaunākajā rakstā uzziniet vairāk par Latvijas labākajiem programmatūras izstrādes uzņēmumiem un to inovatīvajiem risinājumiem. Uzziniet, kā šie tehnoloģiju līderi var palīdzēt uzlabot jūsu biznesu.

thecodest
Uzņēmumu un mērogošanas risinājumi

Java programmatūras izstrādes pamati: A Guide to Outsourcing Successfully

Izpētiet šo būtisko rokasgrāmatu par veiksmīgu outsourcing Java programmatūras izstrādi, lai uzlabotu efektivitāti, piekļūtu speciālajām zināšanām un sekmīgi īstenotu projektus ar The Codest.

thecodest

Abonējiet mūsu zināšanu bāzi un saņemiet jaunāko informāciju par IT nozares pieredzi.

    Par mums

    The Codest - starptautisks programmatūras izstrādes uzņēmums ar tehnoloģiju centriem Polijā.

    Apvienotā Karaliste - Galvenā mītne

    • 303B birojs, 182-184 High Street North E6 2JA
      Londona, Anglija

    Polija - Vietējie tehnoloģiju centri

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polija

    The Codest

    • Sākums
    • Par mums
    • Pakalpojumi
    • Case Studies
    • Zināt, kā
    • Karjera
    • Vārdnīca

    Pakalpojumi

    • Tā Konsultatīvais dienests
    • Programmatūras izstrāde
    • Backend izstrāde
    • Frontend izveide
    • Staff Augmentation
    • Backend izstrādātāji
    • Mākoņa inženieri
    • Datu inženieri
    • Citi
    • QA inženieri

    Resursi

    • Fakti un mīti par sadarbību ar ārējo programmatūras izstrādes partneri
    • No ASV uz Eiropu: Kāpēc Amerikas jaunuzņēmumi nolemj pārcelties uz Eiropu?
    • Tehnoloģiju ārzonas attīstības centru salīdzinājums: Tech Offshore Eiropa (Polija), ASEAN (Filipīnas), Eirāzija (Turcija)
    • Kādi ir galvenie CTO un CIO izaicinājumi?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autortiesības © 2026 The Codest. Visas tiesības aizsargātas.

    lvLatvian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lt_LTLithuanian is_ISIcelandic lvLatvian