SlideShare a Scribd company logo
1 of 28
Download to read offline
Laraval London Meetup March 2016
Alternatives to SQL?
a Laravel perpective
Laraval London Meetup March 2016
Peter Coles
Chief Technology Officer - YOYODATA
Founder - Kuroi Web Development
Laraval London Meetup March 2016
Alternatives
Key-Value Stores Document Stores
Search EnginesGraph DatabasesEvent Stores
Wide Column /
Extensible Stores
Laraval London Meetup March 2016
Tonight’s Focus
Laraval London Meetup March 2016
Sportsperson Encyclopaedia
A Practical Example
Laraval London Meetup March 2016
Sportsperson Encyclopedia SQL DB Structure
Athletics
Football
People
Cricket
migration
model
repository / service class
view
Laraval London Meetup March 2016
Sportsperson Encyclopedia Doc Store DB Structure
service class
view
model / repository
Laraval London Meetup March 2016
Using MongoDB
Laraval London Meetup March 2016
high availability
reliability
scalability
flexibility
affordability
What are we looking for?
“users can get at their stuff anytime”
“I don’t have to keep fixing it”
“it can grow with the business”
“working with it isn’t too expensive”
“easy to make structural changes”
Laraval London Meetup March 2016
Database Scaling
Horizontal ScalingVertical Scaling
Laraval London Meetup March 2016
Replicas
NoSQL DB Architecture
Nodes
Shards
Laraval London Meetup March 2016
Document store
Proprietary API using JSON
Client for PHP (+ almost 30 others)
Switchable storage engines
Server-side scripts in Javascript
MongoDB
Laraval London Meetup March 2016
Search Engine
Often used as a secondary store
Java API + RESTful API HTTP/JSON
Client for PHP (+ almost 15 others)
Indexes content by default
Server-side scripts possible (Java?)
Elastic
Laraval London Meetup March 2016
Key-Value Store / Document store
Proprietary RESTful API
Client for PHP (+ almost 10 others)
Hosted so no server-side scripting
Proprietary hardware
Really, really fast at scale
DynamoDB
Laraval London Meetup March 2016
Hosting
Local
Installation
with some
limitations
Database as
a Service
ElasticCloud
AWS ElasticSearch
AWS DynamoDB
mLab
MongoHQ
Self-managed
Laraval London Meetup March 2016
Install PHP driver
Add jenssegers/mongodb aka Moloquent to your project
Configure mongodb connection
Use Moloquent in place of Eloquent as your base model
Use as you would Eloquent (with extras)
Using MongoDB with Laravel
Laraval London Meetup March 2016
Using MongoDB with Laravel
Laraval London Meetup March 2016
Using MongoDB with Laravel
Laraval London Meetup March 2016
Using MongoDB with Laravel
Laraval London Meetup March 2016
Using Elastic with Laravel
Add Elasticquent to your project
Configure connection (i.e. give it API endpoints)
Add the Elasticquent trait to your models
Populate Elastic from your primary store
Search
Laraval London Meetup March 2016
Using Elastic with Laravel
Laraval London Meetup March 2016
Using Elastic with Laravel
Laraval London Meetup March 2016
Using Elastic with Laravel
• totalHits
• shards
• maxScore
• timedOut
• took
Laraval London Meetup March 2016
Using DynamoDB with Laravel
Add aws/aws-sdk-php-laravel or baopham/laravel-dynamodb to your project
Set up .env entries for AWS “key”, “secret” and “region”
Wrap API methods in a base model or repository
Laraval London Meetup March 2016
Using DynamoDB with Laravel
PutItem
UpdateItem
GetItem
DeleteItem
BatchGetItem
BatchWriteItem
Query
Scan
Laraval London Meetup March 2016
Using DynamoDB with Laravel
Laraval London Meetup March 2016
Gotchas
Pagination
Pagination
Becoming too “Laravelised”
Unexpected exceptions
Consistency
Limits on record size
Limits on records returned
Limits on resultset size
Laraval London Meetup March 2016
Do consider alternatives to SQL
Be mindful as to who will support your infrastructure
Perform deep analysis on how your data is / will be used and index
Prototype important functionality
Monitor performance
Experiment and have fun
Conclusion

More Related Content

What's hot

Unified Log London (May 2015) - Why your company needs a unified log
Unified Log London (May 2015) - Why your company needs a unified logUnified Log London (May 2015) - Why your company needs a unified log
Unified Log London (May 2015) - Why your company needs a unified logAlexander Dean
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL IntroductionSerge Huber
 
Turning search upside down with powerful open source search software
Turning search upside down with powerful open source search softwareTurning search upside down with powerful open source search software
Turning search upside down with powerful open source search softwareCharlie Hull
 
Using Spark Part Time
Using Spark Part TimeUsing Spark Part Time
Using Spark Part TimeRajiv Shah
 
Data Pipelines: Big Data Meets Salesforce
Data Pipelines: Big Data Meets SalesforceData Pipelines: Big Data Meets Salesforce
Data Pipelines: Big Data Meets SalesforceSalesforce Developers
 
MongoDB Atlas for Your Enterprise
MongoDB Atlas for Your EnterpriseMongoDB Atlas for Your Enterprise
MongoDB Atlas for Your EnterpriseMongoDB
 
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)dtz001
 
Add ons for stash
Add ons for stashAdd ons for stash
Add ons for stashXpand IT
 
Into to GraphQL
Into to GraphQLInto to GraphQL
Into to GraphQLshobot
 
api.data.gov Overview
api.data.gov Overviewapi.data.gov Overview
api.data.gov Overviewnickblah
 
Hack angular wildly
Hack angular wildlyHack angular wildly
Hack angular wildlyTodd Warren
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQLRodrigo Prates
 
Netflix Operational Simplicity with Apache Cassandra
Netflix Operational Simplicity with Apache CassandraNetflix Operational Simplicity with Apache Cassandra
Netflix Operational Simplicity with Apache CassandraDataStax Academy
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQLTomasz Bak
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQLMuhilvarnan V
 
2018 07-11 - kafka integration patterns
2018 07-11 - kafka integration patterns2018 07-11 - kafka integration patterns
2018 07-11 - kafka integration patternsAlberto Paro
 

What's hot (20)

Unified Log London (May 2015) - Why your company needs a unified log
Unified Log London (May 2015) - Why your company needs a unified logUnified Log London (May 2015) - Why your company needs a unified log
Unified Log London (May 2015) - Why your company needs a unified log
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL Introduction
 
Hands On - GraphQL
Hands On - GraphQLHands On - GraphQL
Hands On - GraphQL
 
Intro to GraphQL
 Intro to GraphQL Intro to GraphQL
Intro to GraphQL
 
Turning search upside down with powerful open source search software
Turning search upside down with powerful open source search softwareTurning search upside down with powerful open source search software
Turning search upside down with powerful open source search software
 
Using Spark Part Time
Using Spark Part TimeUsing Spark Part Time
Using Spark Part Time
 
Data Pipelines: Big Data Meets Salesforce
Data Pipelines: Big Data Meets SalesforceData Pipelines: Big Data Meets Salesforce
Data Pipelines: Big Data Meets Salesforce
 
MongoDB Atlas for Your Enterprise
MongoDB Atlas for Your EnterpriseMongoDB Atlas for Your Enterprise
MongoDB Atlas for Your Enterprise
 
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)
 
Add ons for stash
Add ons for stashAdd ons for stash
Add ons for stash
 
R training at Aimia
R training at AimiaR training at Aimia
R training at Aimia
 
Into to GraphQL
Into to GraphQLInto to GraphQL
Into to GraphQL
 
api.data.gov Overview
api.data.gov Overviewapi.data.gov Overview
api.data.gov Overview
 
Hack angular wildly
Hack angular wildlyHack angular wildly
Hack angular wildly
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Netflix Operational Simplicity with Apache Cassandra
Netflix Operational Simplicity with Apache CassandraNetflix Operational Simplicity with Apache Cassandra
Netflix Operational Simplicity with Apache Cassandra
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQL
 
Kibana overview
Kibana overviewKibana overview
Kibana overview
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
 
2018 07-11 - kafka integration patterns
2018 07-11 - kafka integration patterns2018 07-11 - kafka integration patterns
2018 07-11 - kafka integration patterns
 

Viewers also liked

Концепция по формированию экологической культуры населения Челябинской области
Концепция по формированию экологической культуры населения Челябинской областиКонцепция по формированию экологической культуры населения Челябинской области
Концепция по формированию экологической культуры населения Челябинской областиSaity74 LLC
 
O Meu Maior Projecto Sou Eu
O Meu Maior Projecto Sou EuO Meu Maior Projecto Sou Eu
O Meu Maior Projecto Sou EuMisuzy
 
2016 Green Industry Trade Shows, Expos and Events Calendar
2016 Green Industry Trade Shows, Expos and Events Calendar2016 Green Industry Trade Shows, Expos and Events Calendar
2016 Green Industry Trade Shows, Expos and Events CalendarTaylor Tuomie
 
10 final pitch_business model presentation
10 final pitch_business model presentation10 final pitch_business model presentation
10 final pitch_business model presentationAngela Ferrara
 
Van Visie Naar Werkelijkheid In Het E Maken Van De Overheid
Van Visie Naar Werkelijkheid In Het E Maken Van De OverheidVan Visie Naar Werkelijkheid In Het E Maken Van De Overheid
Van Visie Naar Werkelijkheid In Het E Maken Van De OverheidDan Kamminga
 
Planeación 6º
Planeación 6ºPlaneación 6º
Planeación 6ºU ECCI
 
Ali profilo agosto 2016
Ali profilo agosto 2016Ali profilo agosto 2016
Ali profilo agosto 2016Nicola Bottura
 
Los símbolos-patrios
Los símbolos-patriosLos símbolos-patrios
Los símbolos-patriosPamela Muñoz
 
Progettazione evento Pharmamed
Progettazione evento PharmamedProgettazione evento Pharmamed
Progettazione evento PharmamedAntonella Lauria
 
Actividad Aprendizaje 08
Actividad Aprendizaje 08Actividad Aprendizaje 08
Actividad Aprendizaje 08Pamela Muñoz
 
Sourcing concepts
Sourcing conceptsSourcing concepts
Sourcing conceptsananabawa
 
GMO's & Consumer Food Trends
GMO's & Consumer Food Trends GMO's & Consumer Food Trends
GMO's & Consumer Food Trends Quid Inc.
 
The Unicorn Leaps into Tech Talk
The Unicorn Leaps into Tech TalkThe Unicorn Leaps into Tech Talk
The Unicorn Leaps into Tech TalkQuid Inc.
 
Involving employees in the 2.0 communication strategy: THE CONVERSATION CHALL...
Involving employees in the 2.0 communication strategy: THE CONVERSATION CHALL...Involving employees in the 2.0 communication strategy: THE CONVERSATION CHALL...
Involving employees in the 2.0 communication strategy: THE CONVERSATION CHALL...José María Palomares
 

Viewers also liked (20)

Концепция по формированию экологической культуры населения Челябинской области
Концепция по формированию экологической культуры населения Челябинской областиКонцепция по формированию экологической культуры населения Челябинской области
Концепция по формированию экологической культуры населения Челябинской области
 
ראש גדול
ראש גדולראש גדול
ראש גדול
 
O Meu Maior Projecto Sou Eu
O Meu Maior Projecto Sou EuO Meu Maior Projecto Sou Eu
O Meu Maior Projecto Sou Eu
 
2016 Green Industry Trade Shows, Expos and Events Calendar
2016 Green Industry Trade Shows, Expos and Events Calendar2016 Green Industry Trade Shows, Expos and Events Calendar
2016 Green Industry Trade Shows, Expos and Events Calendar
 
10 final pitch_business model presentation
10 final pitch_business model presentation10 final pitch_business model presentation
10 final pitch_business model presentation
 
Van Visie Naar Werkelijkheid In Het E Maken Van De Overheid
Van Visie Naar Werkelijkheid In Het E Maken Van De OverheidVan Visie Naar Werkelijkheid In Het E Maken Van De Overheid
Van Visie Naar Werkelijkheid In Het E Maken Van De Overheid
 
Planeación 6º
Planeación 6ºPlaneación 6º
Planeación 6º
 
Teoría de Medios
Teoría de MediosTeoría de Medios
Teoría de Medios
 
Ali profilo agosto 2016
Ali profilo agosto 2016Ali profilo agosto 2016
Ali profilo agosto 2016
 
Los símbolos-patrios
Los símbolos-patriosLos símbolos-patrios
Los símbolos-patrios
 
задание 2 (1)
задание 2 (1)задание 2 (1)
задание 2 (1)
 
Progettazione evento Pharmamed
Progettazione evento PharmamedProgettazione evento Pharmamed
Progettazione evento Pharmamed
 
Simple pendulum, rigid statics, stress and
Simple pendulum, rigid statics, stress andSimple pendulum, rigid statics, stress and
Simple pendulum, rigid statics, stress and
 
Actividad Aprendizaje 08
Actividad Aprendizaje 08Actividad Aprendizaje 08
Actividad Aprendizaje 08
 
Jornada Avancem Junts cap al TIL
Jornada Avancem Junts cap al TILJornada Avancem Junts cap al TIL
Jornada Avancem Junts cap al TIL
 
Sourcing concepts
Sourcing conceptsSourcing concepts
Sourcing concepts
 
GMO's & Consumer Food Trends
GMO's & Consumer Food Trends GMO's & Consumer Food Trends
GMO's & Consumer Food Trends
 
The Unicorn Leaps into Tech Talk
The Unicorn Leaps into Tech TalkThe Unicorn Leaps into Tech Talk
The Unicorn Leaps into Tech Talk
 
Volc1
Volc1Volc1
Volc1
 
Involving employees in the 2.0 communication strategy: THE CONVERSATION CHALL...
Involving employees in the 2.0 communication strategy: THE CONVERSATION CHALL...Involving employees in the 2.0 communication strategy: THE CONVERSATION CHALL...
Involving employees in the 2.0 communication strategy: THE CONVERSATION CHALL...
 

Similar to Alternatives to SQL - a Laravel Perspective

Frequently Asked Questions About Laravel
Frequently Asked Questions About LaravelFrequently Asked Questions About Laravel
Frequently Asked Questions About LaravelAResourcePool
 
API Documentation Meetup 2016, London
API Documentation Meetup 2016, LondonAPI Documentation Meetup 2016, London
API Documentation Meetup 2016, LondonChristian Heidenreich
 
Hidden things uncovered about laravel development
Hidden things uncovered about laravel developmentHidden things uncovered about laravel development
Hidden things uncovered about laravel developmentKaty Slemon
 
Laravel - A Trending PHP Framework
Laravel - A Trending PHP FrameworkLaravel - A Trending PHP Framework
Laravel - A Trending PHP Frameworkijtsrd
 
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin Lorvent56
 
Ruby On Rails - Rochester K Linux User Group
Ruby On Rails - Rochester K Linux User GroupRuby On Rails - Rochester K Linux User Group
Ruby On Rails - Rochester K Linux User GroupJose de Leon
 
Laravel vs. node.js war for the backend
Laravel vs. node.js  war for the backendLaravel vs. node.js  war for the backend
Laravel vs. node.js war for the backendMoonTechnolabsPvtLtd
 
Laravel 9 is now out – how is an improvement over its predecessors
Laravel 9 is now out – how is an improvement over its predecessorsLaravel 9 is now out – how is an improvement over its predecessors
Laravel 9 is now out – how is an improvement over its predecessorsMoon Technolabs Pvt. Ltd.
 
Laravel : A Fastest Growing Kid
Laravel : A Fastest Growing KidLaravel : A Fastest Growing Kid
Laravel : A Fastest Growing KidEndive Software
 
Assist software awesome scala
Assist software   awesome scalaAssist software   awesome scala
Assist software awesome scalaAssistSoftware
 
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)ssuser337865
 
apache solr web development.pdf
apache solr web development.pdfapache solr web development.pdf
apache solr web development.pdfTasnim Jahan
 
Advanced features of Laravel development
Advanced features of Laravel developmentAdvanced features of Laravel development
Advanced features of Laravel developmentAResourcePool
 
Laravel vs ASP.NET Framework .pdf
Laravel vs ASP.NET Framework .pdfLaravel vs ASP.NET Framework .pdf
Laravel vs ASP.NET Framework .pdfWPWeb Infotech
 
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...Exove
 
Zalando Tech: From Java to Scala in Less Than Three Months
Zalando Tech: From Java to Scala in Less Than Three MonthsZalando Tech: From Java to Scala in Less Than Three Months
Zalando Tech: From Java to Scala in Less Than Three MonthsZalando Technology
 

Similar to Alternatives to SQL - a Laravel Perspective (20)

Frequently Asked Questions About Laravel
Frequently Asked Questions About LaravelFrequently Asked Questions About Laravel
Frequently Asked Questions About Laravel
 
API Documentation Meetup 2016, London
API Documentation Meetup 2016, LondonAPI Documentation Meetup 2016, London
API Documentation Meetup 2016, London
 
Hidden things uncovered about laravel development
Hidden things uncovered about laravel developmentHidden things uncovered about laravel development
Hidden things uncovered about laravel development
 
Laravel - A Trending PHP Framework
Laravel - A Trending PHP FrameworkLaravel - A Trending PHP Framework
Laravel - A Trending PHP Framework
 
Laravel overview
Laravel overviewLaravel overview
Laravel overview
 
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
 
Laravel vs CI.pdf
Laravel vs CI.pdfLaravel vs CI.pdf
Laravel vs CI.pdf
 
Ruby On Rails - Rochester K Linux User Group
Ruby On Rails - Rochester K Linux User GroupRuby On Rails - Rochester K Linux User Group
Ruby On Rails - Rochester K Linux User Group
 
Laravel vs. node.js war for the backend
Laravel vs. node.js  war for the backendLaravel vs. node.js  war for the backend
Laravel vs. node.js war for the backend
 
Laravel 9 is now out – how is an improvement over its predecessors
Laravel 9 is now out – how is an improvement over its predecessorsLaravel 9 is now out – how is an improvement over its predecessors
Laravel 9 is now out – how is an improvement over its predecessors
 
NodeJS vs Laravel.pptx
NodeJS vs Laravel.pptxNodeJS vs Laravel.pptx
NodeJS vs Laravel.pptx
 
Laravel : A Fastest Growing Kid
Laravel : A Fastest Growing KidLaravel : A Fastest Growing Kid
Laravel : A Fastest Growing Kid
 
Assist software awesome scala
Assist software   awesome scalaAssist software   awesome scala
Assist software awesome scala
 
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
Laravel (8) php_framework_handbook__start_from_zer_18604872_(z-lib.org)
 
apache solr web development.pdf
apache solr web development.pdfapache solr web development.pdf
apache solr web development.pdf
 
Advanced features of Laravel development
Advanced features of Laravel developmentAdvanced features of Laravel development
Advanced features of Laravel development
 
Laravel vs ASP.NET Framework .pdf
Laravel vs ASP.NET Framework .pdfLaravel vs ASP.NET Framework .pdf
Laravel vs ASP.NET Framework .pdf
 
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...
 
Zalando Tech: From Java to Scala in Less Than Three Months
Zalando Tech: From Java to Scala in Less Than Three MonthsZalando Tech: From Java to Scala in Less Than Three Months
Zalando Tech: From Java to Scala in Less Than Three Months
 
Who Should Consider Using Laravel for Web Development?
Who Should Consider Using Laravel for Web Development?Who Should Consider Using Laravel for Web Development?
Who Should Consider Using Laravel for Web Development?
 

Recently uploaded

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Alternatives to SQL - a Laravel Perspective

  • 1. Laraval London Meetup March 2016 Alternatives to SQL? a Laravel perpective
  • 2. Laraval London Meetup March 2016 Peter Coles Chief Technology Officer - YOYODATA Founder - Kuroi Web Development
  • 3. Laraval London Meetup March 2016 Alternatives Key-Value Stores Document Stores Search EnginesGraph DatabasesEvent Stores Wide Column / Extensible Stores
  • 4. Laraval London Meetup March 2016 Tonight’s Focus
  • 5. Laraval London Meetup March 2016 Sportsperson Encyclopaedia A Practical Example
  • 6. Laraval London Meetup March 2016 Sportsperson Encyclopedia SQL DB Structure Athletics Football People Cricket migration model repository / service class view
  • 7. Laraval London Meetup March 2016 Sportsperson Encyclopedia Doc Store DB Structure service class view model / repository
  • 8. Laraval London Meetup March 2016 Using MongoDB
  • 9. Laraval London Meetup March 2016 high availability reliability scalability flexibility affordability What are we looking for? “users can get at their stuff anytime” “I don’t have to keep fixing it” “it can grow with the business” “working with it isn’t too expensive” “easy to make structural changes”
  • 10. Laraval London Meetup March 2016 Database Scaling Horizontal ScalingVertical Scaling
  • 11. Laraval London Meetup March 2016 Replicas NoSQL DB Architecture Nodes Shards
  • 12. Laraval London Meetup March 2016 Document store Proprietary API using JSON Client for PHP (+ almost 30 others) Switchable storage engines Server-side scripts in Javascript MongoDB
  • 13. Laraval London Meetup March 2016 Search Engine Often used as a secondary store Java API + RESTful API HTTP/JSON Client for PHP (+ almost 15 others) Indexes content by default Server-side scripts possible (Java?) Elastic
  • 14. Laraval London Meetup March 2016 Key-Value Store / Document store Proprietary RESTful API Client for PHP (+ almost 10 others) Hosted so no server-side scripting Proprietary hardware Really, really fast at scale DynamoDB
  • 15. Laraval London Meetup March 2016 Hosting Local Installation with some limitations Database as a Service ElasticCloud AWS ElasticSearch AWS DynamoDB mLab MongoHQ Self-managed
  • 16. Laraval London Meetup March 2016 Install PHP driver Add jenssegers/mongodb aka Moloquent to your project Configure mongodb connection Use Moloquent in place of Eloquent as your base model Use as you would Eloquent (with extras) Using MongoDB with Laravel
  • 17. Laraval London Meetup March 2016 Using MongoDB with Laravel
  • 18. Laraval London Meetup March 2016 Using MongoDB with Laravel
  • 19. Laraval London Meetup March 2016 Using MongoDB with Laravel
  • 20. Laraval London Meetup March 2016 Using Elastic with Laravel Add Elasticquent to your project Configure connection (i.e. give it API endpoints) Add the Elasticquent trait to your models Populate Elastic from your primary store Search
  • 21. Laraval London Meetup March 2016 Using Elastic with Laravel
  • 22. Laraval London Meetup March 2016 Using Elastic with Laravel
  • 23. Laraval London Meetup March 2016 Using Elastic with Laravel • totalHits • shards • maxScore • timedOut • took
  • 24. Laraval London Meetup March 2016 Using DynamoDB with Laravel Add aws/aws-sdk-php-laravel or baopham/laravel-dynamodb to your project Set up .env entries for AWS “key”, “secret” and “region” Wrap API methods in a base model or repository
  • 25. Laraval London Meetup March 2016 Using DynamoDB with Laravel PutItem UpdateItem GetItem DeleteItem BatchGetItem BatchWriteItem Query Scan
  • 26. Laraval London Meetup March 2016 Using DynamoDB with Laravel
  • 27. Laraval London Meetup March 2016 Gotchas Pagination Pagination Becoming too “Laravelised” Unexpected exceptions Consistency Limits on record size Limits on records returned Limits on resultset size
  • 28. Laraval London Meetup March 2016 Do consider alternatives to SQL Be mindful as to who will support your infrastructure Perform deep analysis on how your data is / will be used and index Prototype important functionality Monitor performance Experiment and have fun Conclusion