SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Avoiding CRUD operations lock-in
in NoSQL databases: extension of
the CPIM library
Candidato: Fabio Arcidiacono (799001)
Relatore: Prof.ssa Elisabetta Di Nitto
Correlatore: Ing. Marco Scavuzzo
Scuola di Ingegneria Industriale e dell'Informazione
Corso di Laurea Magistrale in
Ingegneria Informatica
Anno Accademico 2013 - 2014
Tesi di Laurea Magistrale – Fabio Arcidiacono
Data management systems
2
Well structured data
Relational model
ACID transactions
Vertical scaling
SQL
RDBMS
Non-structured data
Various data models
BASE properties
Horizontal scaling
Proprietary API
NoSQL
Tesi di Laurea Magistrale – Fabio Arcidiacono
NoSQL Common language approaches
3
Meta-model
• Apache MetaModel
• SOS platform
SQLification
• Apache Phoenix
• UnQL
• Native support
ORM
• Kundera
• PlayORM
• Spring-data
• Apache Gora
Tesi di Laurea Magistrale – Fabio Arcidiacono
Work objectives
4
Integrate Kundera in the CPIM library
Contribute to the open source project Kundera
Integrate the migration and synchronization system Hegira
Evaluation
Tesi di Laurea Magistrale – Fabio Arcidiacono
Work objectives
5
Integrate Kundera in the CPIM library
Contribute to the open source project Kundera
Integrate the migration and synchronization system Hegira
Evaluation
Tesi di Laurea Magistrale – Fabio Arcidiacono


Kundera
A JPA 2.1 ORM Library for NoSQL databases
6
ORM operation (through EntityManager interface)
JPQL queries (DELETE and UPDATE)
On-premises databases:
• Cassandra
• HBase
• MongoDB
• Oracle NoSQL
• Redis
• Neo4j
• Couchdb
• Elastic Search
• MySQL
Tesi di Laurea Magistrale – Fabio Arcidiacono
Why Kundera
• Open source
• Developed with extensibility as primary goal
• Support to many different NoSQL databases
• Polyglot persistency
• In the field since 2010 with an active community
• Already used in production
7
Tesi di Laurea Magistrale – Fabio Arcidiacono
Contributions to Kundera
Two newly developed clients
• Azure Tables1
• GAE Datastore2
Paradigm shift
• Off-premises databases à DaaS solutions
• Bug fix Kundera deploy on PaaS
8
1: https://github.com/deib-polimi/kundera-azure-table 

2: https://github.com/deib-polimi/kundera-gae-datastore
Tesi di Laurea Magistrale – Fabio Arcidiacono
Developed clients
9
Exploit consistency mechanisms as much
as possible
GAE Datastore
à no Ancestor Path support
Azure Tables
à manage partition key and row key
master
Limited support to consistency 

mechanisms but achieve interoperability
GAE Datastore
à no Ancestor Path support
Azure Tables
à fix partition key to table name
migration
Tesi di Laurea Magistrale – Fabio Arcidiacono
Work objectives
10
Integrate Kundera in the CPIM library
Contribute to the open source project Kundera
Integrate the migration and synchronization system Hegira
Evaluation
Tesi di Laurea Magistrale – Fabio Arcidiacono


CPIM
Abstract application logic from the specific PaaS Provider to overcome the vendor lock-in
11
Many supported services:
• Blob
• NoSQL
• Memcache
• Queue
• Mail
• SQL
Tesi di Laurea Magistrale – Fabio Arcidiacono
Original CPIM NoSQL service implementation
12
• Many JPA providers
• Duplicated code
• No complete code portability
• Choice of the NoSQL database strictly bounded to the cloud 

provider (e.g. App Engine à Datastore)
• Limited NoSQL databases support
CloudEntityManager
jpa4Azure
SimpleJPA
Google JPA
Azure EntityManager
Azure EntityManagerFactory
AWS EntityManager
AWS EntityManagerFactory
GAE EntityManager
GAE EntityManagerFactory
CloudEntityManagerFactory
Tesi di Laurea Magistrale – Fabio Arcidiacono
Kundera integration
• Single persistence provider
• Complete code portability
• NoSQL support inherited by Kundera
• Easier Configuration through standard persistence.xml
13
CloudEntityManager
Kundera
CloudEntityManagerFactory
Tesi di Laurea Magistrale – Fabio Arcidiacono
Work objectives
14
Integrate Kundera in the CPIM library
Contribute to the open source project Kundera
Integrate the migration and synchronization system Hegira
Evaluation
Tesi di Laurea Magistrale – Fabio Arcidiacono


Data migration
15
• move application to another cloud provider
• move data to a database that better fit requirements
• load balancing, system expansion, failure recovery, costs, etc.
• modern computer systems are expected to be up continuously
• data synchronization between the two involved systems
Tesi di Laurea Magistrale – Fabio Arcidiacono


Hegira support
16
• Intercept transparently user operations (DMQ)
• Translate operations to SQL statements
• Send them to the Hegira commit-log
Tesi di Laurea Magistrale – Fabio Arcidiacono
Work objectives
17
Integrate Kundera in the CPIM library
Contribute to the open source project Kundera
Integrate the migration and synchronization system Hegira
Evaluation
Tesi di Laurea Magistrale – Fabio Arcidiacono
Cloud Serving Benchmark
18
Compare Kundera client w.r.t. the use of low-level API for the same operations
• Development of new adapter for operations through Kundera
• Development of new adapter for operations through the low-level API
Workload
100.000 entities
Transaction

phase

(read)
Load

phase
(write)
Write

operation 

report
Read
operation 

report
produces
produces
Framework for evaluating the performance of different NoSQL databases
Tesi di Laurea Magistrale – Fabio Arcidiacono
19
Environment setup
YCSB

+
YCSB adapters
+ 

Kundera GAE
Datastore client Datastore
YCSB

+
YCSB adapters
+ 

Kundera Azure
Tables client
Azure 

Tables
4 core 

7 GB RAM
4 core 

3.6 GB RAM
Tesi di Laurea Magistrale – Fabio Arcidiacono
Results comparison
20
Azure Tables 

Read latency Read throughput Write latency Write throughput
Kundera 42,44 ms 689,67 ops/sec 40,701 ms 707,12 ops/sec
low-level API 36,74 ms 787,22 ops/sec 38,809 ms 758,54 ops/sec
overhead 13,43 % 12,39 % 4,75 % 6,78 %
Google Datastore
Read latency Read throughput Write latency Write throughput
Kundera 139,13 ms 212,74 ops/sec 151,159 ms 194,64 ops/sec
low-level API 132,36 ms 222,5 ops/sec 150,018 ms 198,67 ops/sec
overhead 4,36 % 4,39 % 0,76 % 2,03 %
Tesi di Laurea Magistrale – Fabio Arcidiacono
Conclusions
21
Contributions:
● Integration of Kundera in CPIM library
● New Kundera clients to support Google Datastore and Azure Tables
● Hegira integration in the CPIM library
Future work:
● Compare developed client performance with the ones of the other
client developed by Kundera team
Tesi di Laurea Magistrale – Fabio Arcidiacono
THANK YOU
42

Más contenido relacionado

La actualidad más candente

Edge and Fog computing, a use-case prespective
Edge and Fog computing, a use-case prespectiveEdge and Fog computing, a use-case prespective
Edge and Fog computing, a use-case prespectiveChetan Kumar S
 
Quantum Computing Basics
Quantum Computing BasicsQuantum Computing Basics
Quantum Computing BasicsChristian Waha
 
ChatGPT (and generative AI) in journalism
ChatGPT (and generative AI) in journalismChatGPT (and generative AI) in journalism
ChatGPT (and generative AI) in journalismPaul Bradshaw
 
ChatGPT Mastery and the chatGPT Handbook.pdf
ChatGPT Mastery and the chatGPT Handbook.pdfChatGPT Mastery and the chatGPT Handbook.pdf
ChatGPT Mastery and the chatGPT Handbook.pdfJirotgak Gotau
 
Generative-AI-in-enterprise-20230615.pdf
Generative-AI-in-enterprise-20230615.pdfGenerative-AI-in-enterprise-20230615.pdf
Generative-AI-in-enterprise-20230615.pdfLiming Zhu
 
And then there were ... Large Language Models
And then there were ... Large Language ModelsAnd then there were ... Large Language Models
And then there were ... Large Language ModelsLeon Dohmen
 
Json for modern c++
Json for modern c++Json for modern c++
Json for modern c++지환 김
 
Generative Models and ChatGPT
Generative Models and ChatGPTGenerative Models and ChatGPT
Generative Models and ChatGPTLoic Merckel
 
An Introduction to Generative AI - May 18, 2023
An Introduction  to Generative AI - May 18, 2023An Introduction  to Generative AI - May 18, 2023
An Introduction to Generative AI - May 18, 2023CoriFaklaris1
 
Intelligence Augmentation - The Next-Gen AI
Intelligence Augmentation - The Next-Gen AIIntelligence Augmentation - The Next-Gen AI
Intelligence Augmentation - The Next-Gen AIMelanie Cook
 
Supercharging Site Planning in Retail & Real Estate [CARTO Reveal]
Supercharging Site Planning in Retail & Real Estate [CARTO Reveal]Supercharging Site Planning in Retail & Real Estate [CARTO Reveal]
Supercharging Site Planning in Retail & Real Estate [CARTO Reveal]CARTO
 
Sbardella_Lezione di comunicazione generativa_essere e comunicare
Sbardella_Lezione di comunicazione generativa_essere e comunicareSbardella_Lezione di comunicazione generativa_essere e comunicare
Sbardella_Lezione di comunicazione generativa_essere e comunicareCenter for Generative Communication
 
Murach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMurach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMahmoudOHassouna
 
Generative AI Art - The Dark Side
Generative AI Art - The Dark SideGenerative AI Art - The Dark Side
Generative AI Art - The Dark SideAbhinav Gupta
 
EDGE COMPUTING: VISION AND CHALLENGES
EDGE COMPUTING: VISION AND CHALLENGESEDGE COMPUTING: VISION AND CHALLENGES
EDGE COMPUTING: VISION AND CHALLENGESsuthi
 
Open Source h2oGPT with Retrieval Augmented Generation (RAG), Web Search, and...
Open Source h2oGPT with Retrieval Augmented Generation (RAG), Web Search, and...Open Source h2oGPT with Retrieval Augmented Generation (RAG), Web Search, and...
Open Source h2oGPT with Retrieval Augmented Generation (RAG), Web Search, and...Sri Ambati
 
Leveraging Generative AI & Best practices
Leveraging Generative AI & Best practicesLeveraging Generative AI & Best practices
Leveraging Generative AI & Best practicesDianaGray10
 

La actualidad más candente (20)

Edge and Fog computing, a use-case prespective
Edge and Fog computing, a use-case prespectiveEdge and Fog computing, a use-case prespective
Edge and Fog computing, a use-case prespective
 
Quantum Computing Basics
Quantum Computing BasicsQuantum Computing Basics
Quantum Computing Basics
 
ChatGPT (and generative AI) in journalism
ChatGPT (and generative AI) in journalismChatGPT (and generative AI) in journalism
ChatGPT (and generative AI) in journalism
 
ChatGPT Mastery and the chatGPT Handbook.pdf
ChatGPT Mastery and the chatGPT Handbook.pdfChatGPT Mastery and the chatGPT Handbook.pdf
ChatGPT Mastery and the chatGPT Handbook.pdf
 
Generative-AI-in-enterprise-20230615.pdf
Generative-AI-in-enterprise-20230615.pdfGenerative-AI-in-enterprise-20230615.pdf
Generative-AI-in-enterprise-20230615.pdf
 
Building AI Startups & AI Mindset
Building AI Startups & AI MindsetBuilding AI Startups & AI Mindset
Building AI Startups & AI Mindset
 
And then there were ... Large Language Models
And then there were ... Large Language ModelsAnd then there were ... Large Language Models
And then there were ... Large Language Models
 
Json for modern c++
Json for modern c++Json for modern c++
Json for modern c++
 
Generative Models and ChatGPT
Generative Models and ChatGPTGenerative Models and ChatGPT
Generative Models and ChatGPT
 
An Introduction to Generative AI - May 18, 2023
An Introduction  to Generative AI - May 18, 2023An Introduction  to Generative AI - May 18, 2023
An Introduction to Generative AI - May 18, 2023
 
Intelligence Augmentation - The Next-Gen AI
Intelligence Augmentation - The Next-Gen AIIntelligence Augmentation - The Next-Gen AI
Intelligence Augmentation - The Next-Gen AI
 
Generative AI
Generative AIGenerative AI
Generative AI
 
Supercharging Site Planning in Retail & Real Estate [CARTO Reveal]
Supercharging Site Planning in Retail & Real Estate [CARTO Reveal]Supercharging Site Planning in Retail & Real Estate [CARTO Reveal]
Supercharging Site Planning in Retail & Real Estate [CARTO Reveal]
 
Sbardella_Lezione di comunicazione generativa_essere e comunicare
Sbardella_Lezione di comunicazione generativa_essere e comunicareSbardella_Lezione di comunicazione generativa_essere e comunicare
Sbardella_Lezione di comunicazione generativa_essere e comunicare
 
Murach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMurach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVC
 
Generative AI Art - The Dark Side
Generative AI Art - The Dark SideGenerative AI Art - The Dark Side
Generative AI Art - The Dark Side
 
ChatGPT: Revolutionizing Business Interactions
ChatGPT: Revolutionizing Business InteractionsChatGPT: Revolutionizing Business Interactions
ChatGPT: Revolutionizing Business Interactions
 
EDGE COMPUTING: VISION AND CHALLENGES
EDGE COMPUTING: VISION AND CHALLENGESEDGE COMPUTING: VISION AND CHALLENGES
EDGE COMPUTING: VISION AND CHALLENGES
 
Open Source h2oGPT with Retrieval Augmented Generation (RAG), Web Search, and...
Open Source h2oGPT with Retrieval Augmented Generation (RAG), Web Search, and...Open Source h2oGPT with Retrieval Augmented Generation (RAG), Web Search, and...
Open Source h2oGPT with Retrieval Augmented Generation (RAG), Web Search, and...
 
Leveraging Generative AI & Best practices
Leveraging Generative AI & Best practicesLeveraging Generative AI & Best practices
Leveraging Generative AI & Best practices
 

Destacado

UIC POLIMI Master of Science in Computer Science Presentation
UIC POLIMI Master of Science in Computer Science PresentationUIC POLIMI Master of Science in Computer Science Presentation
UIC POLIMI Master of Science in Computer Science PresentationPier Luca Lanzi
 
Master of Science in Computer Science - Politecnico di Milano and UIC
Master of Science in Computer Science - Politecnico di Milano and UICMaster of Science in Computer Science - Politecnico di Milano and UIC
Master of Science in Computer Science - Politecnico di Milano and UICPier Luca Lanzi
 
MM Bagali, HR, HRM, HRD, MBA, Interview, Research....... interview 2013
MM Bagali, HR, HRM, HRD, MBA, Interview, Research.......  interview 2013MM Bagali, HR, HRM, HRD, MBA, Interview, Research.......  interview 2013
MM Bagali, HR, HRM, HRD, MBA, Interview, Research....... interview 2013dr m m bagali, phd in hr
 
The Art of Doing a PhD
The Art of Doing a PhDThe Art of Doing a PhD
The Art of Doing a PhDJakob Bardram
 
Interview Presentation
Interview PresentationInterview Presentation
Interview PresentationPaesandon
 
Phd interview
Phd interviewPhd interview
Phd interviewTy Zhang
 

Destacado (6)

UIC POLIMI Master of Science in Computer Science Presentation
UIC POLIMI Master of Science in Computer Science PresentationUIC POLIMI Master of Science in Computer Science Presentation
UIC POLIMI Master of Science in Computer Science Presentation
 
Master of Science in Computer Science - Politecnico di Milano and UIC
Master of Science in Computer Science - Politecnico di Milano and UICMaster of Science in Computer Science - Politecnico di Milano and UIC
Master of Science in Computer Science - Politecnico di Milano and UIC
 
MM Bagali, HR, HRM, HRD, MBA, Interview, Research....... interview 2013
MM Bagali, HR, HRM, HRD, MBA, Interview, Research.......  interview 2013MM Bagali, HR, HRM, HRD, MBA, Interview, Research.......  interview 2013
MM Bagali, HR, HRM, HRD, MBA, Interview, Research....... interview 2013
 
The Art of Doing a PhD
The Art of Doing a PhDThe Art of Doing a PhD
The Art of Doing a PhD
 
Interview Presentation
Interview PresentationInterview Presentation
Interview Presentation
 
Phd interview
Phd interviewPhd interview
Phd interview
 

Similar a Master thesis

IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019Istvan Rath
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microserviceLuigi Bennardis
 
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...apidays
 
2018 02-08-what's-new-in-apache-spark-2.3
2018 02-08-what's-new-in-apache-spark-2.3 2018 02-08-what's-new-in-apache-spark-2.3
2018 02-08-what's-new-in-apache-spark-2.3 Chester Chen
 
Continuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryContinuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryDatabricks
 
What's New in Upcoming Apache Spark 2.3
What's New in Upcoming Apache Spark 2.3What's New in Upcoming Apache Spark 2.3
What's New in Upcoming Apache Spark 2.3Databricks
 
High Performance Enterprise Data Processing with Apache Spark with Sandeep Va...
High Performance Enterprise Data Processing with Apache Spark with Sandeep Va...High Performance Enterprise Data Processing with Apache Spark with Sandeep Va...
High Performance Enterprise Data Processing with Apache Spark with Sandeep Va...Spark Summit
 
Bringing Streaming Data To The Masses: Lowering The “Cost Of Admission” For Y...
Bringing Streaming Data To The Masses: Lowering The “Cost Of Admission” For Y...Bringing Streaming Data To The Masses: Lowering The “Cost Of Admission” For Y...
Bringing Streaming Data To The Masses: Lowering The “Cost Of Admission” For Y...confluent
 
2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indixYu Ishikawa
 
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery LabsIncquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery LabsIncQuery Labs
 
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...Vietnam Open Infrastructure User Group
 
Day 13 - Creating Data Processing Services | Train the Trainers Program
Day 13 - Creating Data Processing Services | Train the Trainers ProgramDay 13 - Creating Data Processing Services | Train the Trainers Program
Day 13 - Creating Data Processing Services | Train the Trainers ProgramFIWARE
 
A Collaborative Data Science Development Workflow
A Collaborative Data Science Development WorkflowA Collaborative Data Science Development Workflow
A Collaborative Data Science Development WorkflowDatabricks
 
Data Engineering Course Syllabus - WeCloudData
Data Engineering Course Syllabus - WeCloudDataData Engineering Course Syllabus - WeCloudData
Data Engineering Course Syllabus - WeCloudDataWeCloudData
 
Fighting Fraud with Apache Spark
Fighting Fraud with Apache SparkFighting Fraud with Apache Spark
Fighting Fraud with Apache SparkMiklos Christine
 
The structured streaming upgrade to Apache Spark and how enterprises can bene...
The structured streaming upgrade to Apache Spark and how enterprises can bene...The structured streaming upgrade to Apache Spark and how enterprises can bene...
The structured streaming upgrade to Apache Spark and how enterprises can bene...Impetus Technologies
 
Apache Arrow: Open Source Standard Becomes an Enterprise Necessity
Apache Arrow: Open Source Standard Becomes an Enterprise NecessityApache Arrow: Open Source Standard Becomes an Enterprise Necessity
Apache Arrow: Open Source Standard Becomes an Enterprise NecessityWes McKinney
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup
 
Solving Enterprise Data Challenges with Apache Arrow
Solving Enterprise Data Challenges with Apache ArrowSolving Enterprise Data Challenges with Apache Arrow
Solving Enterprise Data Challenges with Apache ArrowWes McKinney
 
Cloud Native Apps
Cloud Native AppsCloud Native Apps
Cloud Native AppsDavid Chou
 

Similar a Master thesis (20)

IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microservice
 
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...
 
2018 02-08-what's-new-in-apache-spark-2.3
2018 02-08-what's-new-in-apache-spark-2.3 2018 02-08-what's-new-in-apache-spark-2.3
2018 02-08-what's-new-in-apache-spark-2.3
 
Continuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryContinuous Integration & Continuous Delivery
Continuous Integration & Continuous Delivery
 
What's New in Upcoming Apache Spark 2.3
What's New in Upcoming Apache Spark 2.3What's New in Upcoming Apache Spark 2.3
What's New in Upcoming Apache Spark 2.3
 
High Performance Enterprise Data Processing with Apache Spark with Sandeep Va...
High Performance Enterprise Data Processing with Apache Spark with Sandeep Va...High Performance Enterprise Data Processing with Apache Spark with Sandeep Va...
High Performance Enterprise Data Processing with Apache Spark with Sandeep Va...
 
Bringing Streaming Data To The Masses: Lowering The “Cost Of Admission” For Y...
Bringing Streaming Data To The Masses: Lowering The “Cost Of Admission” For Y...Bringing Streaming Data To The Masses: Lowering The “Cost Of Admission” For Y...
Bringing Streaming Data To The Masses: Lowering The “Cost Of Admission” For Y...
 
2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix
 
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery LabsIncquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
 
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
 
Day 13 - Creating Data Processing Services | Train the Trainers Program
Day 13 - Creating Data Processing Services | Train the Trainers ProgramDay 13 - Creating Data Processing Services | Train the Trainers Program
Day 13 - Creating Data Processing Services | Train the Trainers Program
 
A Collaborative Data Science Development Workflow
A Collaborative Data Science Development WorkflowA Collaborative Data Science Development Workflow
A Collaborative Data Science Development Workflow
 
Data Engineering Course Syllabus - WeCloudData
Data Engineering Course Syllabus - WeCloudDataData Engineering Course Syllabus - WeCloudData
Data Engineering Course Syllabus - WeCloudData
 
Fighting Fraud with Apache Spark
Fighting Fraud with Apache SparkFighting Fraud with Apache Spark
Fighting Fraud with Apache Spark
 
The structured streaming upgrade to Apache Spark and how enterprises can bene...
The structured streaming upgrade to Apache Spark and how enterprises can bene...The structured streaming upgrade to Apache Spark and how enterprises can bene...
The structured streaming upgrade to Apache Spark and how enterprises can bene...
 
Apache Arrow: Open Source Standard Becomes an Enterprise Necessity
Apache Arrow: Open Source Standard Becomes an Enterprise NecessityApache Arrow: Open Source Standard Becomes an Enterprise Necessity
Apache Arrow: Open Source Standard Becomes an Enterprise Necessity
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
 
Solving Enterprise Data Challenges with Apache Arrow
Solving Enterprise Data Challenges with Apache ArrowSolving Enterprise Data Challenges with Apache Arrow
Solving Enterprise Data Challenges with Apache Arrow
 
Cloud Native Apps
Cloud Native AppsCloud Native Apps
Cloud Native Apps
 

Último

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

Master thesis

  • 1. Avoiding CRUD operations lock-in in NoSQL databases: extension of the CPIM library Candidato: Fabio Arcidiacono (799001) Relatore: Prof.ssa Elisabetta Di Nitto Correlatore: Ing. Marco Scavuzzo Scuola di Ingegneria Industriale e dell'Informazione Corso di Laurea Magistrale in Ingegneria Informatica Anno Accademico 2013 - 2014
  • 2. Tesi di Laurea Magistrale – Fabio Arcidiacono Data management systems 2 Well structured data Relational model ACID transactions Vertical scaling SQL RDBMS Non-structured data Various data models BASE properties Horizontal scaling Proprietary API NoSQL
  • 3. Tesi di Laurea Magistrale – Fabio Arcidiacono NoSQL Common language approaches 3 Meta-model • Apache MetaModel • SOS platform SQLification • Apache Phoenix • UnQL • Native support ORM • Kundera • PlayORM • Spring-data • Apache Gora
  • 4. Tesi di Laurea Magistrale – Fabio Arcidiacono Work objectives 4 Integrate Kundera in the CPIM library Contribute to the open source project Kundera Integrate the migration and synchronization system Hegira Evaluation
  • 5. Tesi di Laurea Magistrale – Fabio Arcidiacono Work objectives 5 Integrate Kundera in the CPIM library Contribute to the open source project Kundera Integrate the migration and synchronization system Hegira Evaluation
  • 6. Tesi di Laurea Magistrale – Fabio Arcidiacono 
 Kundera A JPA 2.1 ORM Library for NoSQL databases 6 ORM operation (through EntityManager interface) JPQL queries (DELETE and UPDATE) On-premises databases: • Cassandra • HBase • MongoDB • Oracle NoSQL • Redis • Neo4j • Couchdb • Elastic Search • MySQL
  • 7. Tesi di Laurea Magistrale – Fabio Arcidiacono Why Kundera • Open source • Developed with extensibility as primary goal • Support to many different NoSQL databases • Polyglot persistency • In the field since 2010 with an active community • Already used in production 7
  • 8. Tesi di Laurea Magistrale – Fabio Arcidiacono Contributions to Kundera Two newly developed clients • Azure Tables1 • GAE Datastore2 Paradigm shift • Off-premises databases à DaaS solutions • Bug fix Kundera deploy on PaaS 8 1: https://github.com/deib-polimi/kundera-azure-table 
 2: https://github.com/deib-polimi/kundera-gae-datastore
  • 9. Tesi di Laurea Magistrale – Fabio Arcidiacono Developed clients 9 Exploit consistency mechanisms as much as possible GAE Datastore à no Ancestor Path support Azure Tables à manage partition key and row key master Limited support to consistency 
 mechanisms but achieve interoperability GAE Datastore à no Ancestor Path support Azure Tables à fix partition key to table name migration
  • 10. Tesi di Laurea Magistrale – Fabio Arcidiacono Work objectives 10 Integrate Kundera in the CPIM library Contribute to the open source project Kundera Integrate the migration and synchronization system Hegira Evaluation
  • 11. Tesi di Laurea Magistrale – Fabio Arcidiacono 
 CPIM Abstract application logic from the specific PaaS Provider to overcome the vendor lock-in 11 Many supported services: • Blob • NoSQL • Memcache • Queue • Mail • SQL
  • 12. Tesi di Laurea Magistrale – Fabio Arcidiacono Original CPIM NoSQL service implementation 12 • Many JPA providers • Duplicated code • No complete code portability • Choice of the NoSQL database strictly bounded to the cloud 
 provider (e.g. App Engine à Datastore) • Limited NoSQL databases support CloudEntityManager jpa4Azure SimpleJPA Google JPA Azure EntityManager Azure EntityManagerFactory AWS EntityManager AWS EntityManagerFactory GAE EntityManager GAE EntityManagerFactory CloudEntityManagerFactory
  • 13. Tesi di Laurea Magistrale – Fabio Arcidiacono Kundera integration • Single persistence provider • Complete code portability • NoSQL support inherited by Kundera • Easier Configuration through standard persistence.xml 13 CloudEntityManager Kundera CloudEntityManagerFactory
  • 14. Tesi di Laurea Magistrale – Fabio Arcidiacono Work objectives 14 Integrate Kundera in the CPIM library Contribute to the open source project Kundera Integrate the migration and synchronization system Hegira Evaluation
  • 15. Tesi di Laurea Magistrale – Fabio Arcidiacono 
 Data migration 15 • move application to another cloud provider • move data to a database that better fit requirements • load balancing, system expansion, failure recovery, costs, etc. • modern computer systems are expected to be up continuously • data synchronization between the two involved systems
  • 16. Tesi di Laurea Magistrale – Fabio Arcidiacono 
 Hegira support 16 • Intercept transparently user operations (DMQ) • Translate operations to SQL statements • Send them to the Hegira commit-log
  • 17. Tesi di Laurea Magistrale – Fabio Arcidiacono Work objectives 17 Integrate Kundera in the CPIM library Contribute to the open source project Kundera Integrate the migration and synchronization system Hegira Evaluation
  • 18. Tesi di Laurea Magistrale – Fabio Arcidiacono Cloud Serving Benchmark 18 Compare Kundera client w.r.t. the use of low-level API for the same operations • Development of new adapter for operations through Kundera • Development of new adapter for operations through the low-level API Workload 100.000 entities Transaction
 phase
 (read) Load
 phase (write) Write
 operation 
 report Read operation 
 report produces produces Framework for evaluating the performance of different NoSQL databases
  • 19. Tesi di Laurea Magistrale – Fabio Arcidiacono 19 Environment setup YCSB
 + YCSB adapters + 
 Kundera GAE Datastore client Datastore YCSB
 + YCSB adapters + 
 Kundera Azure Tables client Azure 
 Tables 4 core 
 7 GB RAM 4 core 
 3.6 GB RAM
  • 20. Tesi di Laurea Magistrale – Fabio Arcidiacono Results comparison 20 Azure Tables 
 Read latency Read throughput Write latency Write throughput Kundera 42,44 ms 689,67 ops/sec 40,701 ms 707,12 ops/sec low-level API 36,74 ms 787,22 ops/sec 38,809 ms 758,54 ops/sec overhead 13,43 % 12,39 % 4,75 % 6,78 % Google Datastore Read latency Read throughput Write latency Write throughput Kundera 139,13 ms 212,74 ops/sec 151,159 ms 194,64 ops/sec low-level API 132,36 ms 222,5 ops/sec 150,018 ms 198,67 ops/sec overhead 4,36 % 4,39 % 0,76 % 2,03 %
  • 21. Tesi di Laurea Magistrale – Fabio Arcidiacono Conclusions 21 Contributions: ● Integration of Kundera in CPIM library ● New Kundera clients to support Google Datastore and Azure Tables ● Hegira integration in the CPIM library Future work: ● Compare developed client performance with the ones of the other client developed by Kundera team
  • 22. Tesi di Laurea Magistrale – Fabio Arcidiacono THANK YOU 42