SlideShare a Scribd company logo
Polyglot Persistence
Lightning talk
NDCOslo
14.06.12
ArchitectureNeeds
One database
requirements = important
Let’s create an
application
NEED NUMBER 1
Read and write data
Need number 1
Key-Value Store
read and write data
Application
KV
NEED NUMBER 2
Search the data
Need number 2
Search Engine
search the data
Application
KV Search
NEED NUMBER 3
Relational search
Need number 3
Graph Database
relational search
Application
KV Search Graph
Application
KV Search
Graph
Application
KV Search
Graph
Application
KV SearchGraph
Events
NEED NUMBER 4
Generate reports
Need number 4
RDBMS
generate reports
Application
KV Search Graph
Events
RDBMS
Application
KV Search
Graph
Events
RDBMS
Polyglot Persistence
Thank you!
Ole-Martin Mørk
@olemartin
Bekk Consulting AS

More Related Content

What's hot

PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi DataPivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
Michael Nam
 
Graphql
GraphqlGraphql
Twitter analytics in Bluemix
Twitter analytics in BluemixTwitter analytics in Bluemix
Twitter analytics in Bluemix
Wilfried Hoge
 
SSRS Presentation
SSRS PresentationSSRS Presentation
SSRS Presentation
BarbaraBederman
 
Esriuk_track6_java_script unleashed
Esriuk_track6_java_script unleashedEsriuk_track6_java_script unleashed
Esriuk_track6_java_script unleashed
Esri UK
 
Is it harder to find a taxi when it is raining?
Is it harder to find a taxi when it is raining? Is it harder to find a taxi when it is raining?
Is it harder to find a taxi when it is raining?
Wilfried Hoge
 
2016 conservation track: under the hood of an rea: what is within a rapid ec...
2016 conservation track: under the hood of an rea:  what is within a rapid ec...2016 conservation track: under the hood of an rea:  what is within a rapid ec...
2016 conservation track: under the hood of an rea: what is within a rapid ec...
GIS in the Rockies
 
Migrating from legacy Database to Postgres
Migrating from legacy Database to PostgresMigrating from legacy Database to Postgres
Migrating from legacy Database to Postgres
Ashnikbiz
 
Turnkey Multi-Region, Active-Active Session Stores with Steeltoe, Redis Enter...
Turnkey Multi-Region, Active-Active Session Stores with Steeltoe, Redis Enter...Turnkey Multi-Region, Active-Active Session Stores with Steeltoe, Redis Enter...
Turnkey Multi-Region, Active-Active Session Stores with Steeltoe, Redis Enter...
VMware Tanzu
 
Hadoop Mapreduce Projects
Hadoop Mapreduce ProjectsHadoop Mapreduce Projects
Hadoop Mapreduce Projects
PhD Direction
 
Kevin O'Sullivan, SITA Lab, presents at SITA 2013 Europe Aviation ICT Forum
Kevin O'Sullivan, SITA Lab, presents at SITA 2013 Europe Aviation ICT ForumKevin O'Sullivan, SITA Lab, presents at SITA 2013 Europe Aviation ICT Forum
Kevin O'Sullivan, SITA Lab, presents at SITA 2013 Europe Aviation ICT Forum
SITA
 
TechEvent biGenius What's New
TechEvent biGenius What's NewTechEvent biGenius What's New
TechEvent biGenius What's New
Trivadis
 
Connect SAP Cloud Platform with SAP Hybris Commerce
Connect SAP Cloud Platform with SAP Hybris CommerceConnect SAP Cloud Platform with SAP Hybris Commerce
Connect SAP Cloud Platform with SAP Hybris Commerce
SAP Customer Experience
 
TensorFlow 2.0 Overview - For TensorFlow User Group - Ehsan Amjadian
TensorFlow 2.0 Overview - For TensorFlow User Group - Ehsan AmjadianTensorFlow 2.0 Overview - For TensorFlow User Group - Ehsan Amjadian
TensorFlow 2.0 Overview - For TensorFlow User Group - Ehsan Amjadian
Devatanu Banerjee
 
Data Processing Workflow for the National Geographic World Atlas Mobile App
Data Processing Workflow for the National Geographic World Atlas Mobile AppData Processing Workflow for the National Geographic World Atlas Mobile App
Data Processing Workflow for the National Geographic World Atlas Mobile App
mousebird
 
Airbyte - Seed deck
Airbyte  - Seed deckAirbyte  - Seed deck
Airbyte - Seed deck
Airbyte
 
SnapLogic Live: AWS Integration
SnapLogic Live: AWS IntegrationSnapLogic Live: AWS Integration
SnapLogic Live: AWS Integration
SnapLogic
 
Create a Physical Dashboard with the Salesforce Analytics API
Create a Physical Dashboard with the Salesforce Analytics APICreate a Physical Dashboard with the Salesforce Analytics API
Create a Physical Dashboard with the Salesforce Analytics API
Salesforce Developers
 
Using FME to Transform and Integrate Optical Connection Data Between Systems
Using FME to Transform and Integrate Optical Connection Data Between SystemsUsing FME to Transform and Integrate Optical Connection Data Between Systems
Using FME to Transform and Integrate Optical Connection Data Between Systems
Safe Software
 
Yodeck at Open Coffee #98
Yodeck at Open Coffee #98Yodeck at Open Coffee #98
Yodeck at Open Coffee #98
Open Coffee Greece
 

What's hot (20)

PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi DataPivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
 
Graphql
GraphqlGraphql
Graphql
 
Twitter analytics in Bluemix
Twitter analytics in BluemixTwitter analytics in Bluemix
Twitter analytics in Bluemix
 
SSRS Presentation
SSRS PresentationSSRS Presentation
SSRS Presentation
 
Esriuk_track6_java_script unleashed
Esriuk_track6_java_script unleashedEsriuk_track6_java_script unleashed
Esriuk_track6_java_script unleashed
 
Is it harder to find a taxi when it is raining?
Is it harder to find a taxi when it is raining? Is it harder to find a taxi when it is raining?
Is it harder to find a taxi when it is raining?
 
2016 conservation track: under the hood of an rea: what is within a rapid ec...
2016 conservation track: under the hood of an rea:  what is within a rapid ec...2016 conservation track: under the hood of an rea:  what is within a rapid ec...
2016 conservation track: under the hood of an rea: what is within a rapid ec...
 
Migrating from legacy Database to Postgres
Migrating from legacy Database to PostgresMigrating from legacy Database to Postgres
Migrating from legacy Database to Postgres
 
Turnkey Multi-Region, Active-Active Session Stores with Steeltoe, Redis Enter...
Turnkey Multi-Region, Active-Active Session Stores with Steeltoe, Redis Enter...Turnkey Multi-Region, Active-Active Session Stores with Steeltoe, Redis Enter...
Turnkey Multi-Region, Active-Active Session Stores with Steeltoe, Redis Enter...
 
Hadoop Mapreduce Projects
Hadoop Mapreduce ProjectsHadoop Mapreduce Projects
Hadoop Mapreduce Projects
 
Kevin O'Sullivan, SITA Lab, presents at SITA 2013 Europe Aviation ICT Forum
Kevin O'Sullivan, SITA Lab, presents at SITA 2013 Europe Aviation ICT ForumKevin O'Sullivan, SITA Lab, presents at SITA 2013 Europe Aviation ICT Forum
Kevin O'Sullivan, SITA Lab, presents at SITA 2013 Europe Aviation ICT Forum
 
TechEvent biGenius What's New
TechEvent biGenius What's NewTechEvent biGenius What's New
TechEvent biGenius What's New
 
Connect SAP Cloud Platform with SAP Hybris Commerce
Connect SAP Cloud Platform with SAP Hybris CommerceConnect SAP Cloud Platform with SAP Hybris Commerce
Connect SAP Cloud Platform with SAP Hybris Commerce
 
TensorFlow 2.0 Overview - For TensorFlow User Group - Ehsan Amjadian
TensorFlow 2.0 Overview - For TensorFlow User Group - Ehsan AmjadianTensorFlow 2.0 Overview - For TensorFlow User Group - Ehsan Amjadian
TensorFlow 2.0 Overview - For TensorFlow User Group - Ehsan Amjadian
 
Data Processing Workflow for the National Geographic World Atlas Mobile App
Data Processing Workflow for the National Geographic World Atlas Mobile AppData Processing Workflow for the National Geographic World Atlas Mobile App
Data Processing Workflow for the National Geographic World Atlas Mobile App
 
Airbyte - Seed deck
Airbyte  - Seed deckAirbyte  - Seed deck
Airbyte - Seed deck
 
SnapLogic Live: AWS Integration
SnapLogic Live: AWS IntegrationSnapLogic Live: AWS Integration
SnapLogic Live: AWS Integration
 
Create a Physical Dashboard with the Salesforce Analytics API
Create a Physical Dashboard with the Salesforce Analytics APICreate a Physical Dashboard with the Salesforce Analytics API
Create a Physical Dashboard with the Salesforce Analytics API
 
Using FME to Transform and Integrate Optical Connection Data Between Systems
Using FME to Transform and Integrate Optical Connection Data Between SystemsUsing FME to Transform and Integrate Optical Connection Data Between Systems
Using FME to Transform and Integrate Optical Connection Data Between Systems
 
Yodeck at Open Coffee #98
Yodeck at Open Coffee #98Yodeck at Open Coffee #98
Yodeck at Open Coffee #98
 

Viewers also liked

Eurocomm beyond brussels
Eurocomm beyond brusselsEurocomm beyond brussels
Eurocomm beyond brussels
ZN Consulting
 
Presentasjon om skyen
Presentasjon om skyenPresentasjon om skyen
Presentasjon om skyen
Ole-Martin Mørk
 
Presentation of Redis
Presentation of RedisPresentation of Redis
Presentation of Redis
Ole-Martin Mørk
 
Evolusjonen av PaaS
Evolusjonen av PaaSEvolusjonen av PaaS
Evolusjonen av PaaS
Ole-Martin Mørk
 
Hyperthinking Leadership in 48 tweets
Hyperthinking Leadership in 48 tweetsHyperthinking Leadership in 48 tweets
Hyperthinking Leadership in 48 tweets
ZN Consulting
 
IABC EMENA AGM 2013
IABC EMENA AGM 2013IABC EMENA AGM 2013
IABC EMENA AGM 2013
ZN Consulting
 
Finding a job is a journey not a destination
Finding a job is a journey not a destinationFinding a job is a journey not a destination
Finding a job is a journey not a destination
ZN Consulting
 
Europe Citizen House - citizenhouse.eu
Europe Citizen House - citizenhouse.euEurope Citizen House - citizenhouse.eu
Europe Citizen House - citizenhouse.eu
ZN Consulting
 

Viewers also liked (8)

Eurocomm beyond brussels
Eurocomm beyond brusselsEurocomm beyond brussels
Eurocomm beyond brussels
 
Presentasjon om skyen
Presentasjon om skyenPresentasjon om skyen
Presentasjon om skyen
 
Presentation of Redis
Presentation of RedisPresentation of Redis
Presentation of Redis
 
Evolusjonen av PaaS
Evolusjonen av PaaSEvolusjonen av PaaS
Evolusjonen av PaaS
 
Hyperthinking Leadership in 48 tweets
Hyperthinking Leadership in 48 tweetsHyperthinking Leadership in 48 tweets
Hyperthinking Leadership in 48 tweets
 
IABC EMENA AGM 2013
IABC EMENA AGM 2013IABC EMENA AGM 2013
IABC EMENA AGM 2013
 
Finding a job is a journey not a destination
Finding a job is a journey not a destinationFinding a job is a journey not a destination
Finding a job is a journey not a destination
 
Europe Citizen House - citizenhouse.eu
Europe Citizen House - citizenhouse.euEurope Citizen House - citizenhouse.eu
Europe Citizen House - citizenhouse.eu
 

More from Ole-Martin Mørk

Graph search with Neo4j
Graph search with Neo4jGraph search with Neo4j
Graph search with Neo4j
Ole-Martin Mørk
 
Patterns for key-value stores
Patterns for key-value storesPatterns for key-value stores
Patterns for key-value stores
Ole-Martin Mørk
 
Polyglot persistence
Polyglot persistencePolyglot persistence
Polyglot persistence
Ole-Martin Mørk
 
Du må vite hva som skjer i produksjon
Du må vite hva som skjer i produksjonDu må vite hva som skjer i produksjon
Du må vite hva som skjer i produksjon
Ole-Martin Mørk
 
Hele butikken i skyen
Hele butikken i skyenHele butikken i skyen
Hele butikken i skyen
Ole-Martin Mørk
 
Collaborative Filtering in Map/Reduce
Collaborative Filtering in Map/ReduceCollaborative Filtering in Map/Reduce
Collaborative Filtering in Map/Reduce
Ole-Martin Mørk
 

More from Ole-Martin Mørk (6)

Graph search with Neo4j
Graph search with Neo4jGraph search with Neo4j
Graph search with Neo4j
 
Patterns for key-value stores
Patterns for key-value storesPatterns for key-value stores
Patterns for key-value stores
 
Polyglot persistence
Polyglot persistencePolyglot persistence
Polyglot persistence
 
Du må vite hva som skjer i produksjon
Du må vite hva som skjer i produksjonDu må vite hva som skjer i produksjon
Du må vite hva som skjer i produksjon
 
Hele butikken i skyen
Hele butikken i skyenHele butikken i skyen
Hele butikken i skyen
 
Collaborative Filtering in Map/Reduce
Collaborative Filtering in Map/ReduceCollaborative Filtering in Map/Reduce
Collaborative Filtering in Map/Reduce
 

Recently uploaded

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 

Recently uploaded (20)

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 

Editor's Notes

  1. Jegskalsnakkeomarkitektur.Hvaer starting point for god arkitektur?Arkitektur-arbeid starter forhåpentligvis med åavdekkebehov. For åvitehvaoghvordan vi skallagenoesåmå vi kjennetil needs the application should fulfill
  2. Vi tegnerbokser, og vi tegner linesSystemenesnakkersammenpåforskjelligeprotokollerNoesynkront, noeasynkrontSome need to be up all the time, some need low responsetimewe keep on drawing, vi skaperdetsystemetsomsvarerpå needs bådetilfunksjonelleogikke-funksjonellebehov.Tilslutttegner vi inn et repository, en database.
  3. Challenge vi møtervedåtegne inn én database er at en database ofteikkevilværenoktilå meet the customers needsBruker du en relasjonsdatabasesåfår du utfordringer med performance, object relational impedance ogskaleringBruker du en key-value-database får du utfordringer med oppløsningenpådataeneogrelasjonerBruker du en grafdatabasefår du utfordringer med skaleringog lookupsUansetthvilken database du velgersåvil du fåutfordringer. Vi erklar over disseutfordringene, likevelvelger vi åikkegjørenoe med det
  4. Vi harsålett for åvelgesammedatabaseteknologihver gang, utenå se nøyepåbehovene.Hvis vi studererbehovenenøye, såvil vi se at valgavdatabasetechnologyikkeersåenkeltsom man skulletro..
  5. Dersom du ønskerpersistensiarkitekturen din såerdetfordi du ønskerålagreog lese data. Deterdetprimærebehovet.Do The Simplest Thing That Could Possibly Work. Nårbehoveterålagreog lese data, såerdetenkleste en ren key/value store. Detviktigstemålet med databasener at den erenkelog at domenet matcher de lagrededataene best mulig
  6. Detervelog bra åkunne lese ogskrive data. Men man måsom regel kunnesøkeidataeneogså. Vi ønskeråfinnepersonervhanavn. Vi ønskeråfinneallesomharadressei Oslo etc etc.. og en key-value store erikkeså god påfulltekstsøk.. forsåvidtikke en relasjonsdatabaseheller.. Så vi trenger en søkemotor. Detteer et behovjeghar sett oppståi mange forskjelligeprodukter. Microsoft kjøpte Fast så de kunnefå en søkemotoriSharepoint. De haddeallerede en relasjonsdatabaseibunn, men fantut at detvargreitåbrukelittpengerpå en søkemotor. Allecms-verktøyharbåde database ogsøkemotor, ogfleresaksbehandlingsapplikasjonerjegharværtborteihardettebehovet.Så.. for åkunnesøkegodtivåredataersåtenger vi en søkemotor..ogdeterjoikkenoe problem. Vi legger inn et kalltilsøkemotorenhver gang vi oppdatererdatabasen. Kanskje hiver opp en synkroniseringsjobbhvernatt for åværesikker.. men dettekomplisererikkearkitekturenvårveldig
  7. En ting søkemotorerikkeerså bra påerrelasjonssøk. Si for eksempeljegskallaget en ansattdatabase for et konsulenthus. Selgerenskriver et tilbud for en kunde, ogkundenhar stilt kravtilfagkunnskapogerfaring. Han ønsker kun konsulentersomharjobbet med F# hos minimum 2 kunder. Den spørringenerlitt lei åfåtili en relasjonsdatabase. I en grafdatabaseerdennespørringenveldigenkel, ogikkeminstlynrask.Så for dettebehovetvelger vi oss en grafdatabase.
  8. Her erdetmyesomkangågalt.. men detblirmyedupliseringavlogikk her.For detførste. Applikasjonenkanikkeforholdesegtilalledisseforskjelligedatabasene.. så vi fjernerrelasjonen.I tillegg. Databasenebørhellerikkekjennetilhverandre, så vi fjernerdem
  9. Ogsåreorganiserer vi litt..
  10. Så…Visnakker med en key value store, men vi snakkerikke med noenandre.For at de andreskalfånoe data åforholdesegtil, såinnfører vi en eventstore. Alleendringerav data ivårapplikasjon lager en event. Våredatabaserlytterpådennekøen, ogoppdatererdataene sine lokalt. Serpåeventen, oglagrer de dataenesomerinteressante for seg.Dettebørforøvrigvære en persistent eventstore. Hvisgrafdatabasengårned for en periode, såskal man kunnespilletilbake events somermistet, eller man fårbehov for en heltny database…
  11. Plutseligkommerdatavarehusfolkenepåbanene, ellerøkonomene, ellerstatistikkgutta.. De vilgenerererapporter. De vil ha statistikk..Hyggeligdet, ogviktig.. Detenesteproblemeter at vi harikkenoen database somtilfredstillerderesbehov. Detteerikkenoe problem. Vi hareventstoren, ogdeterikkeværreennåpluggepå en relasjonsdatabasesomlytterpåeventeneog vi er good to go..Tre store positive ting med dette. 1. Vi kjenteikketilbehovet for rapportertidligere, men pgaeventstoremodellensåkunne vi enkeltleggetil en ny database 2. Iom at alleeventene ligger lagretsåkan vi enkeltsetteopp en ny database med gamle data utenåmåttekjøre en styggkonverteringsjobb. 3. Rapporteringsdatabasenbrukes kun avdem, ikkeavoss. Så de kankjøresåtungerapporter de vil. Detpåvirkerikkevårapplikasjondetminste.
  12. Sådetteer polyglot persistence.Man vet at detikkefinnesnoen silver bullet. Programming language, libraries, operating systems.. and database!Så man velger den databasensomtilfredstiller de behovene man har der og da..Dettemåikkeimplementeres med en event drevetarkitektur, men dethjelper..Man girkundendet den vil ha først, ogkanenkeltutvidesdersomdetdukkeroppnyebehovetterhvert. For detgjør det..