En dataplattform är inte en databas. En databas är basen för en dataplattform och ger dig inte möjlighet att hantera analyser. En dataplattform, å andra sidan, fungerar som ett extra lager ovanpå en databas, vilket är optimerat för att tjäna detta syfte. Företag behöver effektiva och långsiktiga dataarkitekturer för att stödja arbetet med att hålla sig uppdaterad om dagens datarelaterade utmaningar. I denna artikel tittar vi på mängden funktionalitet som krävs för att underhålla en grundläggande datorplattform.
Vad är en dataplattform?
Först och främst är en dataplattform en tjänst som låter dig samla in, bearbeta, lagra, komma åt, analysera och presentera data, skriver Medium. Vi kan dela upp det i följande delar:
- Datalager: insamling, process, lagring, åtkomst
- Intelligens: analys och presentation
- Data Science: statistik och artificiell intelligens
Datalagring och bearbetning är själva kärnan i dataplattformen. Detta är dock bara början. För att skapa en översikt över de vanligaste datahanteringsuppgifterna har Medium sammanställt en lista med 18 kriterier som visar vad en dataplattform innebär:
- Dataarkitektur (infrastruktur, skalning, databas)
- Import av gränssnitt
- Datatransformation (ETL)
- Prestanda
- Processautomation
- Övervakning (monitoring)
- Datahistorik
- Dataversionering
- Surrogate Key Management
- Analys / rapportering
- Data Science
- Extern åtkomst / API
- Användarvänlighet
- Fleranvändarprocess
- Dokumentation på plattformen
- Dokumentation
- Säkerhet
- Kostnader
Nedan ger vi en kort introduktion till vart och ett av dessa kriterier utan att gå in på tekniska detaljer.
1. Dataarkitektur (infrastruktur, skalning, databas)
Dataarkitekturen är en viktig aspekt av en dataplattform. För att hitta en lämplig lagrings- och databaslösning som uppfyller dina behov kan du välja mellan tre grundläggande alternativ:
Relationsdatabas
Äldre databassystem med inbyggd intelligens för effektiv hantering av stora datamängder har de mest uttrycksfulla analysverktygen. Dessa är dock mer komplexa när det gäller underhåll. Idag finns dessa system också som distribuerade system och kan hantera extremt stora datamängder. Exempel inkluderar PostgreSQL med Citus eller Greenplum klusterlösning, MariaDB / MySQL med Galera Cluster, Amazon Redshift, Oracle, MSSQL, etc.
NoSQL Sharding Database
Dessa system är också utformade för att hantera extremt stora datamängder och offrar några av de klassiska egenskaperna hos relationsdatabaser för att få mer kraft inom andra områden. De erbjuder mycket mindre analytisk kraft, men är lättare att hantera, har hög tillgänglighet och möjliggör enkla säkerhetskopior. Syftet är att efterlikna den analytiska kraften i SQL som finns i relationsdatabasvärlden med ytterligare verktyg som Impala eller Hive. Om du har enorma mängder data, specifika streamingkrav eller realtidsdata bör du ta en titt på dessa specialiserade datasystem. Exempel är Cassandra, Hadoop Ecosystem, Elasticsearch, Druid, MongoDB, Kudu, InfluxDB, Kafka, neo4j, Dgraph, etc.
Filbaserade system
Det är möjligt att utforma en strategi baserad enbart på filer. Filstrukturer som Parquet gör att du kan använda prisvärt lagringsutrymme för att rymma mycket stora datamängder spridda över en mängd olika lagringsnoder eller i en Cloud Object Store som Amazon S3. Den största fördelen är att datalagringssystemet ensamt är tillräckligt för att svara på datafrågor. I de två exemplen som beskrivs ovan måste du tvärtom köra tjänster på ytterligare beräkningsnoder för att svara på datafrågor.
När du letar efter programvara som stöder din dataarkitektur har du några grundläggande alternativ:
1. Du kan bygga din plattform och lita på tjänster som erbjuds av större molnleverantörer. På molnplattformar som AWS, Azure eller Google Cloud kan du ansluta en mängd olika enkla tjänster för att skapa en dataplattform som uppfyller vår lista över kriterier. Detta kan se enkelt och billigt ut i liten skala, men kan visa sig vara ganska komplicerat och dyrt när du skalar upp och behöver anpassa.
2. Å andra sidan finns plattformar baserade på egen hårdvara, inklusive virtuella maskiner i molnet och enskilda programvarustackar. Här har du maximal flexibilitet, men du måste också ta itu med många av kriterierna på vår lista genom att skapa koden och anpassade lösningar.
2. Prestanda
Detta är ett centralt kriterium när det gäller att välja en plattform. Prestanda påverkas mest av det databassystem du väljer. Vår tumregel är: Ju högre dina prestandakrav är, desto mer specialiserat bör ditt databassystemval vara.
3. Datatransformation (ETL)
Data som importeras till dataplattformen måste vanligtvis genomgå vissa transformationer innan de kan användas för analys. Denna process kallas traditionellt ETL (Extract, Transform, Load). ETL gör det möjligt för företag att samla in data från flera källor och konsolidera den till en enda centraliserad plats.
Datatransformering handlar om att ändra och underlätta data från olika källor på ett sådant sätt att data blir lättare att använda för andra ändamål. Detta kan vara data från källor som ERP- och CRM-system, Excel-ark och så vidare. Ett typiskt syfte kan vara rapportering och analys, där vi efter dataomvandlingen lägger in data i ett datalager på ett sådant sätt och i ett sådant format att det blir lättare att rapportera och analysera data, helst över olika ämnessystem.
Detta är den mest tidskrävande uppgiften i någon datamiljö. I de flesta fall tar denna uppgift upp till 80% av den totala tiden. Större datalager kan innehålla tusentals ETL-processer med olika steg, beroenden och bearbetningssekvenser.
Läs mer: Vad är ETL? Definition, process och verktyg
4. Import av gränssnitt
Vi kategoriserar detta i fyra olika avsnitt:
- Filer: Filer är fortfarande den vanligaste formen av data idag.
- Webbtjänster: Många webbtjänster med relevant information finns tillgängliga online.
- Databaser: Även om många organisationer lagrar sina data i traditionella databaser är direkt databasåtkomst i de flesta fall inte exponerad för internet och är därför inte tillgänglig för molndataplattformar. Webbtjänster kan placeras mellan lokala databaser och molntjänster för att hantera säkerhetsaspekter och åtkomstkontroll.
- Realtidsströmmar: ”Real-time streams” som tillhandahålls av meddelande-routrar (som WAMP, MQTT, AMQP, etc.) är fortfarande underutnyttjade idag, men blir allt viktigare med ökningen av IoT.
5. Processautomation
När du har många källor, mål och flera datatransformationsprocesser har du också många beroenden. Processautomation är en del av varje dataplattform och involverar ett antal processer med hög komplexitet. För processplanering har ett antal dedikerade verktyg som Apache Airflow, Automate, Control-M eller Luigi gjorts tillgängliga.
Processautomatisering kräver att du hanterar det utbud av data som ska bearbetas. Till exempel, i ett steg-för-steg-överföringsscenario, måste varje processkörning, steg för steg, välja specifika delar av källdata som ska överföras till målet. Data Scope Management implementeras vanligtvis med en metadatadriven strategi. Det finns dedikerade metadatatabeller som håller reda på processens tillstånd för varje del och kan frågas för att samordna behandlingen av alla bitar.
Ladda ner kostnadsfri rapport: Djupdyk i automatisering av datalager
6. Övervakning (monitoring)
Större datalagringssystem kan enkelt innehålla hundratals tabeller med hundratals automatiserade ETL-processer som hanterar dataflödet. Fel längs vägen är nästan oundvikliga. Många av dessa fel måste hanteras manuellt. Med den här komplexiteten behöver du ett sätt att övervaka processerna på plattformen.
7. Datahistorik
Behovet av att hantera längre historik med data är en del av kärnan i varje dataplattform. Den faktiska uppgiften för ett datalager kan sammanfattas som sammanslagning av separata bitar av data till en homogen datahistorik.
Eftersom data genereras naturligt över tiden kommer det att finnas ett behov av att komplettera ett befintligt datalager med nya data. Tekniskt spåras tidsintervall i tabeller med särskilda kolumner för detta. Datahistorik är ett effektivt sätt att hantera dessa tidsintervall när nya data anländer. Datahistorik skiljer sig från dataversionering i den meningen att datahistorik handlar om realtidsstämplar, medan versionering vanligtvis handlar om tekniska infogningsstämplar.
8. Dataversionering
Genom att versionera data kan du spåra datakorrigeringar över tiden för att senare kunna återställa gamla analyser. Versionering låter dig tillämpa icke-destruktiva korrigeringar på befintlig data. När du jämför versionfunktioner, måste du överväga hur enkelt det är att skapa versioner och hur enkelt det är att återställa eller fråga om versioner. Versioner kan hanteras på olika systemnivåer:
- Ta ögonblicksbilder på delsystem för lagring (liknar säkerhetskopior)
- Det underliggande databassystemet kan stödja versionsspårning
- Versionering kan hanteras av datalagringssystemet
- Versionering kan implementeras som en anpassad transformationslogik i användarområdet
9. Surrogate Key Management (surrogatnycklar)
Dataplattformar används för att konsolidera data från många källor med olika identifierare för respektive objekt. Detta skapar behovet av nya nyckelområden för de importerade objekten och behovet av att behålla dem genom efterföljande import. Dessa nya nycklar kallas surrogatnycklar. Att skapa och underhålla dessa nycklar effektivt är ingen lätt uppgift.
10. Analys / rapportering
Syftet med en dataplattform är att förbereda rådata för analys och lagra dessa data för att se historik. Analyser på en sådan plattform kan utföras på ett antal sätt.
Ett antal Business Intelligence-verktyg handlar bara om uppgiften att skapa analytiska och mänskliga läsbara dataextrakt. För att förbereda data som ska presenteras, ger en dataplattform dig funktioner för att skapa dataextrakt och aggregat från större datalager.
Att svara på specifika affärsfrågor, med hjälp av intelligent frågeställning i datalagren, kräver användarkunskaper i analytiska frågespråk. BI-verktyg syftar till att förenkla dessa uppgifter genom att tillhandahålla peka-och-klicka-gränssnitt för att svara på grundläggande frågor som ”antal besökare per månad i butiken” eller ”total omsättning i region X”. Dessa verktyg gör det också möjligt för användare att visualisera informationen via omfattande grafik. I nästan alla fall kommer superanvändare fortfarande att kunna kringgå dessa verktyg och utföra sina egna frågor. Exempel på populära BI-verktyg är Tableau, Qlik, Looker, Chartio och Superset.
11. Data Science
Utbildning av maskininlärningsmodeller är ett krav som dagens dataplattformar måste leverera. De mest sofistikerade metoderna implementeras inte med SQL, utan Python eller R tillsammans med ett brett spektrum av specialiserade bibliotek som NumPy, Pandas, SciKit Learn, TensorFlow, PyTorch eller till och med mer specialiserade bibliotek för NLP eller bildigenkänning. Eftersom dessa uppgifter kan vara krävande beräkningsmässigt krävs ofta ytterligare hårdvara utöver den befintliga analyshårdvaran.
Läs mer: Text är också data – så får du värde ur det naturliga språket
12. Extern åtkomst / API
All data som samlas in på plattformen kommer att användas för olika ändamål. Möjliga kanaler som beaktas här är:
a) SQL Access för direkt analys även av t.ex. BI-verktyg
b) API-åtkomst (REST-begäran) som en tjänst för webbplatser eller appar
c) Varningar via SMS eller e-post för slutanvändare eller administratörer
d) Filexport för vidare bearbetning eller dataleverans till andra parter
13. Användarvänlighet
Plattformens användarvänlighet beror på målgruppen. Det största problemet här är hur enkelt det är att skapa och hantera objekt (som användare, datalager, tabeller, transformationer, rapporter osv.) på plattformen. Ofta måste du välja mellan vilken kontrollnivå en användare får och nivån på enkelhet. Här måste vi skilja mellan den funktionalitet som plattformen tillhandahåller och det användargenererade innehållet på plattformen. I de flesta fall kräver användargenererat innehåll användning av kod, eftersom hela ämnet datateknik och analys i sig är komplicerat och kräver hög uttrycksnivå.
14. Process för flera användare
Denna kategori utvärderar stöd för användarinteraktioner och delning av arbete och data. Denna aspekt innefattar uppdateringar i realtid av användaråtgärder, samarbete, delnings- och rolluppgifter, samt ett sätt att diskutera och kommentera plattformen.
15. Dokumentation på plattformen
En dataplattform används för att implementera en hög grad av anpassad komplexitet med ett antal användare under en lång tidsperiod. Detta kräver detaljerad dokumentation av det användarlevererade innehållet. Här bedömer vi hur plattformarna stöder denna uppgift. Dokumentation kan alltid förberedas utanför plattformen, men detta medför en risk för informationsavvikelser eftersom extern dokumentation snabbt är föråldrad.
16. Dokumentation
Dataplattformar kräver en viss användarkompetens. Korrekt dokumentation som beskriver plattformens funktioner är därför nödvändig för professionell användning av plattformen.
17. Säkerhet
Säkerhet för dataplattformar kan delas in i säkerhet för lagring, interaktion (data i transport) och åtkomstkontroll.
18. Kostnader
Det finns tre stora kostnadsdrivrutiner för en dataplattform:
- Licenser
- Infrastruktur (hårdvara)
- Personal
Idag kan det mesta av mjukvarustacken implementeras i hög kvalitet med open access-programvara. Licensierad programvara kräver dock vanligtvis mindre underhåll och ett lågnivåsystem.
Hårdvara kan användas av molnleverantörer på en betalning per användning-basis. Detsamma gäller lagringsinfrastruktur. För att uppskatta dina hårdvarukostnader, måste du överväga en infrastruktur som täcker följande komponenter:
- Databas
- Datatransformation
- Analys
- Data Science
- Automatisering
- Övervakning
- Lagring av innehåll
Även om databasen vanligtvis är den största komponenten i en dataplattform är den absolut inte den enda.
Slutsats
Listan, utvecklad av Medium, med 18 kriterier ger en grundläggande utgångspunkt för utvärdering av dataplattformar i termer av deras lämplighet som långsiktigt hanterbara dataplattformar. Dessa kriterier är främst relevanta för organisationer som syftar till att samla in längre datahistorik för mer omfattande statistik och prognoser.
Ta reda på hur du snabbt får insikt från dina data.
I denna e-bok från TimeXtender och Microsoft kan du lära dig hur du använder automatisering, moln och AI för att göra relevant data tillgänglig snabbare och lättare för alla som behöver det.