Articles

Data Modeling

tutustu siihen, miten data modeling käyttää abstraktiota edustaakseen ja ymmärtääkseen paremmin yrityksen tietojärjestelmän sisältämän datavirran luonnetta

mitä on data modeling?

tiedon mallinnus on prosessi, jossa luodaan visuaalinen esitys joko kokonaisesta tietojärjestelmästä tai sen osista datapisteiden ja rakenteiden välisten yhteyksien välittämiseksi. Tavoitteena on havainnollistaa järjestelmän sisällä käytettäviä ja tallennettuja tietotyyppejä, näiden tietotyyppien välisiä suhteita, tapaa, jolla tietoja voidaan ryhmitellä ja järjestää, sekä sen muotoja ja attribuutteja.

tietomallit rakentuvat liiketoiminnan tarpeiden ympärille. Säännöt ja vaatimukset määritellään etukäteen liiketoiminnan sidosryhmien palautteen avulla, jotta ne voidaan sisällyttää uuden järjestelmän suunnitteluun tai mukauttaa olemassa olevan järjestelmän iteroinnissa.

tietoa voidaan mallintaa eri abstraktiotasoilla. Prosessi alkaa keräämällä tietoa liiketoiminnan vaatimuksista sidosryhmiltä ja loppukäyttäjiltä. Nämä liiketoimintasäännöt muutetaan sitten tietorakenteiksi konkreettisen tietokantamallin muodostamiseksi. Tietomallia voidaan verrata Tiekarttaan, arkkitehdin piirustukseen tai mihin tahansa formaaliin kaavioon, joka helpottaa syvempää ymmärrystä siitä, mitä on suunniteltu.

Tietomallinnuksessa käytetään standardoituja skeemoja ja formaaleja tekniikoita. Tämä tarjoaa yhteisen, johdonmukaisen ja ennustettavan tavan määritellä ja hallita tietovarantoja organisaation sisällä tai jopa sen ulkopuolella.

ihanteellisesti tietomallit ovat eläviä dokumentteja, jotka kehittyvät muuttuvien liiketoiminnan tarpeiden mukana. Niillä on tärkeä rooli liiketoimintaprosessien tukemisessa sekä IT-arkkitehtuurin ja strategian suunnittelussa. Tietomalleja voidaan jakaa toimittajien, kumppaneiden ja / tai alan vertaisten kanssa.

tietomallien tyypit

kuten mikä tahansa suunnitteluprosessi, tietokanta-ja tietojärjestelmäsuunnittelu alkaa korkealla abstraktiotasolla ja muuttuu yhä konkreettisemmaksi ja tarkemmaksi. Tietomallit voidaan yleensä jakaa kolmeen luokkaan, jotka vaihtelevat abstraktioasteensa mukaan. Prosessi alkaa käsitteellisellä mallilla, etenee loogiseen malliin ja päättyy fyysiseen malliin. Kutakin tietomallityyppiä käsitellään tarkemmin alla:

  • käsitteelliset tietomallit. Niitä kutsutaan myös domain-malleiksi, ja ne tarjoavat kokonaiskuvan siitä, mitä järjestelmä tulee sisältämään, miten se järjestetään ja mitkä liiketoiminnan säännöt ovat mukana. Käsitteelliset mallit luodaan yleensä osana projektin alkuvaiheen vaatimusten keräämistä. Tyypillisesti ne sisältävät entiteettiluokkia (määritellään liiketoiminnan kannalta tärkeät asiat tietomallissa), niiden ominaisuuksia ja rajoitteita, niiden välisiä suhteita sekä asiaankuuluvia tietoturvaa ja tietojen eheyttä koskevia vaatimuksia. Mikä tahansa merkintä on tyypillisesti yksinkertainen.
    kaavio käsitteellisestä tietomallista
  • loogiset tietomallit. Ne ovat vähemmän abstrakteja ja tarjoavat yksityiskohtaisempia käsitteitä ja suhteita tarkasteltavalla alalla. Seuraa yksi useista muodollisista tiedonmallinnusjärjestelmistä. Nämä ilmaisevat tiedon attribuutteja, kuten tietotyyppejä ja niitä vastaavia pituuksia, sekä osoittavat yksiköiden välisiä suhteita. Loogiset tietomallit eivät määritä mitään teknisiä järjestelmävaatimuksia. Tämä vaihe jätetään usein pois agile – tai DevOps-harjoituksissa. Loogiset tietomallit voivat olla hyödyllisiä erittäin prosessuaalisissa toteutusympäristöissä tai hankkeissa, jotka ovat luonteeltaan datasuuntautuneita, kuten tietovaraston suunnittelu tai raportointijärjestelmän kehittäminen.
    kaavio loogisesta tietomallista
  • Fysikaaliset tietomallit. Ne tarjoavat skeeman siitä, miten tiedot tallennetaan fyysisesti tietokantaan. Sinänsä ne ovat kaikkein vähiten abstrakteja. Ne tarjoavat viimeistellyn mallin, joka voidaan toteuttaa relaatiotietokantana, mukaan lukien assosiatiiviset taulukot, jotka kuvaavat yksiköiden välisiä suhteita sekä ensisijaisia avaimia ja ulkomaisia avaimia, joita käytetään näiden suhteiden ylläpitämiseen. Fysikaaliset tietomallit voivat sisältää tietokannan hallintajärjestelmän (DBMS) erityisominaisuuksia, mukaan lukien suorituskyvyn viritys.
    Diagram of a Physical Data Model

Data modeling process

tieteenalana tietomallinnus kutsuu sidosryhmiä arvioimaan tietojenkäsittelyä ja tallennusta huolellisen yksityiskohtaisesti. Tiedon mallinnustekniikoissa on erilaisia käytäntöjä, jotka määräävät, mitä symboleita käytetään datan esittämiseen, miten mallit on laadittu ja miten liiketoiminnan vaatimukset välittyvät. Kaikki lähestymistavat tarjoavat muodollisia työnkulkuja, jotka sisältävät sarjan tehtäviä, jotka suoritetaan iteratiivisesti. Nämä työnkulut näyttävät yleensä tältä:

  1. yksilöi kokonaisuudet. Tiedon mallintamisprosessi alkaa niiden asioiden, tapahtumien tai käsitteiden tunnistamisesta, jotka ovat edustettuina mallinnettavassa tietojoukossa. Jokaisen olion tulisi olla yhtenäinen ja loogisesti diskreetti kaikista muista.
  2. tunnista kunkin olion keskeiset ominaisuudet. Jokainen oliotyyppi voidaan erottaa kaikista muista, koska sillä on yksi tai useampia ainutlaatuisia ominaisuuksia, joita kutsutaan attribuuteiksi. Esimerkiksi ”asiakkaaksi” kutsutulla yhteisöllä voi olla sellaisia ominaisuuksia kuin etunimi, sukunimi, puhelinnumero ja tervehtiminen, kun taas ”osoitteeksi” kutsutulla yhteisöllä voi olla katunimi ja-numero, kaupunki, osavaltio, maa ja Postinumero.
  3. tunnista yksiköiden välisiä suhteita. Varhaisin tietomallin luonnos määrittelee, millaiset suhteet kullakin oliolla on muihin. Yllä olevassa esimerkissä jokainen asiakas ”asuu” osoitteessa. Jos tätä mallia laajennettaisiin käsittämään ”tilaukset” – niminen yhteisö, jokainen tilaus lähetettäisiin ja laskutettaisiin myös johonkin osoitteeseen. Nämä suhteet dokumentoidaan yleensä UML: n (unified modeling language) kautta.
  4. Map attribuutit kokonaisuuksille. Näin varmistetaan, että malli heijastaa sitä, miten yritys käyttää tietoja. Useat muodolliset tietomallinnusmallit ovat laajassa käytössä. Oliokeskeiset Kehittäjät soveltavat usein analyysimalleja tai suunnittelumalleja, kun taas muiden liiketoiminta-alueiden sidosryhmät voivat kääntyä muiden mallien puoleen.
  5. Määritä avaimet tarpeen mukaan ja päätä normalisoinnin asteesta, joka tasapainottaa tarvetta vähentää redundanssia suorituskykyvaatimusten kanssa. Normalisointi on tekniikka, jolla järjestetään tietomalleja (ja niiden edustamia tietokantoja), joissa numeeriset tunnisteet, joita kutsutaan avaimiksi, osoitetaan tietoryhmille edustamaan niiden välisiä suhteita toistamatta tietoja. Esimerkiksi, jos asiakkaat ovat kukin määritetty avain, että avain voidaan yhdistää sekä niiden osoite ja tilaushistoria tarvitsematta toistaa näitä tietoja taulukossa asiakkaiden nimet. Normalisointi pyrkii vähentämään tallennustilaa tietokanta vaatii, mutta se voi hinnalla kyselyn suorituskykyä.
  6. Viimeistele ja validoi tietomalli. Tiedon mallinnus on iteratiivinen prosessi, joka tulisi toistaa ja tarkentaa liiketoiminnan tarpeiden muuttuessa.

Tietomallinnustyypit

tietomallinnus on kehittynyt tietokantojen hallintajärjestelmien rinnalle, mallityyppien monimutkaistuessa yritysten tiedon tallennustarpeiden kasvaessa. Tässä on useita mallityyppejä:

  • hierarkkiset tietomallit edustavat yhdestä moneen suhdetta puumaisessa muodossa. Tämän tyyppisessä mallissa jokaisella tietueella on yksi juuri tai vanhempi, joka kartoittaa yhteen tai useampaan lapsitaulukkoon. Malli toteutettiin vuonna 1966 käyttöön otetussa IBM Information Management System (IMS) – järjestelmässä, joka sai nopeasti laajaa käyttöä erityisesti pankkitoiminnassa. Vaikka tämä lähestymistapa on tehottomampi kuin äskettäin kehitetyt tietokantamallit, sitä käytetään edelleen Extensible Markup Language (XML) – ja geographic information systems (Giss) – järjestelmissä.
  • Relaatiotietomalleja ehdotti alun perin IBM: n tutkija E. F. Codd vuonna 1970. Ne ovat edelleen käytössä monissa erilaisissa relaatiotietokannoissa, joita käytetään yleisesti enterprise computingissa. Relaatiodatan mallinnus ei vaadi käytettävän tietovaraston fysikaalisten ominaisuuksien yksityiskohtaista ymmärtämistä. Siinä datasegmentit yhdistetään nimenomaisesti taulukoiden avulla, mikä vähentää tietokannan monimutkaisuutta.

Relaatiotietokannoissa käytetään usein strukturoitua kyselykieltä (SQL) tiedonhallintaan. Nämä tietokannat toimivat hyvin tietojen eheyden ylläpitämiseksi ja redundanssin minimoimiseksi. Niitä käytetään usein point-of-sale-järjestelmissä sekä muunlaisissa tapahtumankäsittelyissä.

  • Entiteettisuhde (ER)-tietomalleissa käytetään formaaleja diagrammeja, jotka kuvaavat entiteettien välisiä suhteita tietokannassa. Data-arkkitehdit käyttävät useita ER-mallinnustyökaluja luodakseen visuaalisia karttoja, jotka välittävät tietokannan suunnittelutavoitteita.
  • Oliokeskeiset tietomallit saivat vetoapua oliokeskeisenä ohjelmointina ja siitä tuli suosittua 1990-luvun puolivälissä. mukana olevat ”oliot” ovat reaalimaailman entiteettien abstraktioita. Objektit on ryhmitelty luokkahierarkioihin, ja niihin liittyy piirteitä. Oliokeskeiset tietokannat voivat sisältää taulukoita, mutta ne voivat myös tukea monimutkaisempia datasuhteita. Tätä lähestymistapaa käytetään multimedia-ja hypertekstitietokannoissa sekä muissa käyttötapauksissa.
  • Dimensional datamallit kehitti Ralph Kimball, ja ne suunniteltiin optimoimaan tiedonhaun nopeudet analyyttisiin tarkoituksiin tietovarastossa. Siinä missä relaatio-ja ER-mallit korostavat tehokasta tallennusta, dimensiomallit lisäävät redundanssia helpottaakseen tiedon paikantamista raportointia ja hakemista varten. Tämä mallinnus käytetään yleensä OLAP järjestelmiä.

kaksi suosittua dimensionaalista tietomallia ovat tähtikaavio, jossa data on järjestetty faktoihin (mitattavat kohteet) ja ulottuvuuksiin (referenssitiedot), joissa jokaista faktaa ympäröivät niihin liittyvät ulottuvuudet tähtimäisessä kuviossa. Toinen on lumihiutale-skeema, joka muistuttaa tähtikuviota, mutta sisältää siihen liittyviä lisäkerroksia, mikä tekee haarautuvasta kuviosta monimutkaisemman.

datamallinnuksen hyödyt

tietomallinnuksen hyödyt helpottavat kehittäjien, data-arkkitehtien, liiketoiminta-analyytikoiden ja muiden sidosryhmien tarkastella ja ymmärtää tietokannassa tai tietovarastossa olevien tietojen välisiä suhteita. Lisäksi se voi:

  • vähentää virheitä ohjelmisto-ja tietokantakehityksessä.
  • lisää dokumentoinnin ja järjestelmän suunnittelun johdonmukaisuutta koko yrityksessä.
  • parantaa sovelluksen ja tietokannan suorituskykyä.
  • helpottaa tiedon kartoitusta koko organisaatiossa.
  • parantaa viestintää kehittäjien ja business intelligence-tiimien välillä.
  • helpottaa ja nopeuttaa tietokannan suunnittelun prosessia käsitteellisellä, loogisella ja fyysisellä tasolla.

Data modeling tools

lukuisia kaupallisia ja avoimen lähdekoodin tietokoneavusteisia ohjelmistotekniikan (CASE) ratkaisuja käytetään nykyään laajalti, mukaan lukien useita tiedon mallinnus -, Diagrammi-ja visualisointityökaluja. Tässä useita esimerkkejä:

  • erwin Data Modeler on Integration DEFinition for information modeling (IDEF1X) – tietomallinnuskieleen perustuva tietomallinnustyökalu, joka tukee nyt muita notaatiomenetelmiä, kuten dimensionaalista lähestymistapaa.
  • Enterprise Architect on visuaalinen mallinnus-ja suunnittelutyökalu, joka tukee yritysten tietojärjestelmien ja arkkitehtuurien sekä ohjelmistosovellusten ja tietokantojen mallinnusta. Se perustuu oliokeskeisiin kieliin ja standardeihin.
  • er / Studio on tietokantasuunnitteluohjelmisto, joka on yhteensopiva useiden nykypäivän suosituimpien tietokantahallintajärjestelmien kanssa. Se tukee sekä relaatio-että mittatietojen mallinnusta.
  • vapaita tiedon mallinnustyökaluja ovat avoimen lähdekoodin ratkaisut, kuten Open ModelSphere.

tietomallinnus ja IBM Cloud

IBM: n tutkijat olivat edelläkävijöitä, jotka loivat ensimmäiset hierarkkiset ja relatiiviset tietomallit ja suunnittelivat myös tietokannat, joissa nämä mallit alun perin toteutettiin.

nykyään IBM Cloud tarjoaa full stack-alustan, joka tukee runsaasti SQL-ja NoSQL-tietokantoja sekä kehittäjätyökaluja, joita tarvitaan niiden sisältämien tietoresurssien tehokkaaseen hallintaan. IBM Cloud tukee myös avoimen lähdekoodin työkaluja, jotka auttavat kehittäjiä hallitsemaan objekti -, tiedosto-ja estotallennusta suorituskyvyn ja luotettavuuden optimoimiseksi.

Haluatko oppia lisää tietojen mallinnuksesta IBM Cloudissa? Rekisteröidy IBMid ja Luo ilmainen IBM Cloud-tili tänään.