SlideShare a Scribd company logo
1 of 62
Download to read offline
mm-ADT
A Virtual Machine/An Economic Machine
Dr. Marko A. Rodriguez
DataDays
Austin TX, January 2020
Database Keynote
Itā€™s 2012
The Mayan Calendar predicts the end of the world.
The OSS community predicts a Golden Age of Data Technologies.
NoSQL
Document Database
Graph Database
Wide Column Store
Index Store
OLAP Processor
Open Source Software
costs money and time for
research and development.
In order to provide the world
free open source software many of our
young innovators created companies to fund
the development of their technology.
Apache
A Collaborative Ecosystem
of Shared Technologies
develops
uses uses
uses
develops
develops
A Collaborative Ecosystem
of Shared Technologies
develops
uses
A Collaborative Ecosystem
of Shared Technologies
develops
uses
A Collaborative Ecosystem
of Shared Technologies
The NoSQL
Summer of Love
2012uses
uses
uses
uses
uses
develops
develops
develops
develops
develops
I compare us to the bridge, dam, and
interstate builders of the 1930ā€™s generation.
This generation of developers built the modern
worldā€™s software data infrastructure.
By making our software freely
available, many institutions that
would otherwise not pay for
cutting-edge software have
been able to advance their
domain.
We did something very good for this world.
And then came the parasitesā€¦
Amazonā€™s use of
Apache TinkerPop
for their internal operations
is a perfect use of
open source software.
Amazon gets free software
for their shipping logistics.
Apache TinkerPop is
tested at extreme scale on a
world-class problem.
DataStax, who were the primary
developers at the time, is able to point
(potential) customers to a success story.
The Good
The Bad
Amazon ā€œAcquiresā€ OSS Companies for Free
ā€œDoes Amazon contribute to these projects (beneļ¬tting users and the creators)?ā€
Letā€™s see what the statistics sayā€¦
The Ugly
The top contributors do not work for Amazon
MongoDB MongoDB
MongoDB MongoDB
The top contributors do not work for Amazon
DataStax RReduX
RReduX <unknown>
The top contributors do not work for Amazon
DataStax DataStax
DataStax Oracle
The top contributors do not work for Amazon
DataBricks DataBricks
DataBricks DataBricks
The top contributors do not work for Amazon
Elastic Elastic
Elastic Elastic
1 2 5 10 20 50 100
5205020010005000
cassandra
frequency
commits
1 2 5 10 20 50 100
20502005002000
elasticsearch
frequency
commits
1 2 5 10 20 50 100
502005002000 mongodb
frequency
commits
1 2 5 10 20 50 100
501002005001000
spark
frequency
commits
1 2 5 10 20 50 100
15505005000
tinkerpop
frequency
commits
Ī± = 2.074 Ī± = 1.69
Ī± = 1.95
Ī± = 2.19 Ī± = 2.717
Smaller Ī± means
fewer people do most of the work.
log/log-scale
Yes, AWS promises to contribute back to Cassandra. The
question is whether those contributions be more than self-
serving ones ā€¦ there are no incentives to make real progress.
To Amazonā€™s credit, they already made a single major
contribution in the form of the Dynamo paper, 12 years ago.
https://www.scylladb.com/2019/12/04/managed-cassandra-on-aws-our-take/
Letā€™s honor some other
soldiers of the trade.
The top contributors do not work for Amazon
RedisLabs RedisLabs
CarrierDB Alibaba
The top contributors do not work for Amazon
Cloudera Salesforce
<unknown> Xiaomi
The top contributors do not work for Amazon
Percona MariaDB
MariaDB<unknown>
1 2 5 10 20 50 100
5205020010005000
hbase
frequency
commits
1 2 5 10 20 50 100
5205020010005000
mariadb
frequency
commits
1 2 5 10 20 50 100
25201005002000 redis
frequency
commits
Ī± = 1.778 Ī± = 1.713
Ī± = 1.682
It used to beā€¦
Contribute nothing, take everything.
July 2016
Now itā€™s theā€¦
MutuallyExclusive?
Amazon will continue to release products
based on Apache Software Foundation technology.
When Amazon has completed their exploitation and
little competition exists they will use legal techniques to
dismantle the Apache Software Foundation.
Open source developers will use less liberal licenses.
Innovation in our industry will come to a standstill.
DataDays will be subsumed by re:Invent.
The Apache Software Foundation had $1 million
in their coļ¬€ers for legal related issues in 2017.
(prior to Amazonā€™s 2018 $1 million donation)
Predictions
All popular open source technologies will be taken by Amazon.
All popular closed source technologies will be cloned by Amazon.
Small agile data technology companies will struggle.
The majority of jobs in data technology
systems engineering will be at Amazon.
Salaries in data technology will drop preciptously.
Amazon employees will try to create labor unions.
Amazon will squash any unionization eļ¬€orts.
Their employees will be stuck in legal quagmires.
Predictions
U.S. tax payers will be left to foot the bill on the most expensive
anti-trust suit the U.S. government has ever endured.
The systematic desertiļ¬cation of our industry
in the pursuit of proļ¬ts as opposed to
the pursuit of innovation in our trade.
Oh father, love of mine,
you have built such wonderful things
with all your time.
In honor of your greatness,
we followed behind and now of age,
we give not what was mine.
May our software make your machines
sing to the heavens for all time.
A NoSQL Poem for
Amazon/IBM/Microsoft
The Virtual Machine
Modern Data System Components
Storage Processor Language
Synthetic Data Systems
Storage Processor Language
mm-ADT
Virtual Machine
Storage
Processor
Language
Storage
ProcessorLanguage
mm-ADT
Virtual Machine
programs
reads writes
Storage
Processor
Language
mm-ADT
Virtual Machine
int
bool
strreal
lst
rec
map
filter reduce
branch
f.g(h.i).j.k
Model Storage w/ Types
obj
ModelLanguagesw/Instructions
Model Processors w/ Operators
sideeffect
initial terminal
barrier
g.V(1).out(ā€˜knowsā€™).id()
int{*} <=[=graph]
[is,[get,ā€™idā€™][eq,1]]
[get,ā€™outEā€™]
[is,[get,ā€™labelā€™][eq,ā€™knowsā€™]]
[get,ā€™inVā€™]
[get,ā€™idā€™]
graph -> [graph -> vertex{*}
|vertex -> [ā€˜id' :int,
ā€™inEā€™ :edge{*},
ā€™outEā€™:edge{*}]
|edge -> [ā€˜labelā€™:str,
ā€™outVā€™ :vertex,
ā€™inVā€™ :vertex]]
Storage
Processor
Language
mm-ADT
Virtual Machine
initial [=graph]
filter [is,[get,ā€™idā€™][eq,1]]
map [get,ā€™outEā€™]
filter [is,[get,ā€™labelā€™][eq,ā€™knowsā€™]]
map [get,ā€™inVā€™]
map [get,ā€™idā€™]
processor supports requisite operators
language compiles to the graph model
storage exposes graph model
[ a->b | c->d | e->f ]
pattern matching
ā€œif lhs, then rhsā€
mm-ADT is about creating models in terms of other models.
The base model is always mm.
The ā€˜domain of discourseā€™ of the mm-ADT VM.
Commonly used models are ā€œstandardizeā€ by mm-ADT.
mm : multi-model
kv : key/value
rdb: relational
pg : property graph
wc : wide column
doc: documents
rdf: resource description framework
Storage providers expose their system via these models.
Language providers write compilers to these models.
A userā€™s schema is a modelā€¦
social -> [ person -> ['ssn' :int,
'friends':person{*}]]
DSLs
social->[person -> ['ssn' :int~x,
'friends':person{*}
A userā€™s schema is a modelā€¦
ā€¦that can be embedded in other models.
social->[person -> ['ssn' :int~x,
'friends':person{*}
social model => relational model => mm-ADT model
DSLs
social -> [ person -> ['ssn' :int,
'friends':person{*}]]
social model => graph model => mm-ADT model
social->[person -> ['ssn' :int~x,
'friends':person{*} <=(vertex{*} <=[=graph][is,[get,'id'][eq,x]]
[get,'outE']
[is,[get,'label'][eq,'knows']]
[get,'inV'])]
<=(vertex <=[=graph][is,[get,'id'][eq,x]])
A userā€™s schema is a modelā€¦
social model => graph model => mm-ADT model
ā€¦that can be embedded in other models.
social->[person -> ['ssn' :int~x,
'friends':person{*} <=(row{*} <=[=rdb][get,'people'][is,[get,'id']
[eq,[=rdb][get,'links']
[is,[get,'source'][eq,x]]
[get,'sink']]])]
<=(row <=[=rdb][get,'people'][is,[get,'id'][eq,x]])
social model => relational model => mm-ADT model
DSLs
social -> [ person -> ['ssn' :int,
'friends':person{*}]]
The Economic Machine
The mm-ADT virtual machine
serves as a universal integrator for the technologies of our industry.
The mm-ADT economic machine
serves as a universal integrator for the creators in our industry.
mm-ADT
Independent open source developers spend their time developing software that
provides no ļ¬nancial compensation and, paradoxically, as the popularity of their
project increases, success can lead to burnout and ļ¬nancial ruin.
Entrepreneurial open source developers may form a company around their open
source project. Unfortunately, such companies are easily obviated in the market
because the core product is freely licensed and competing ļ¬rms can oļ¬€er the
same product without having to invest in the research and development eļ¬€ort.
Corporate open source developers are in the problematic situation where their
work is dependent on their sponsoring organization who also controls the
direction and pace of development as well as the interoperability and inclusion of
any novel innovations within the project.
Entrepreneurial Open Source Developers Lack a Competitive Edge
Corporate Open Source Developers Sacriļ¬ce Autonomy
Independent Open Source Developers Suļ¬€er Economically
The OSS Developer
ā€¦is an artist, not an employee.
ā€¦needs an agent, not a employer.
ā€¦seeks to mentor, not to manage.
ā€¦should be patronized, not invested in.
ā€¦needs to be ļ¬nancially
compensated for their work.
A Royalty-Based Open Source Model
Data Technology Developers
Think
Etsy+Apache A Non-Growth Company
contractor
A Royalty-Based Open Source Model
mm-ADT
mm-ADT
mm-ADT
design: Specify the component mm-ADT model.
develop: Engineer the component binding.
price: Decide the cost for licensing the component.
promote: Write blog posts, academic articles, tutorials.
maintain: Fix bugs and update over mm-ADT VM versioning.
support: Mailing list Q&A, documentation, issue tracker.
An mm-ADT component
is created by an
open source development team
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
MicroCyberRobo Corp
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Design
MicroCyberRobo Corp
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Develop
MicroCyberRobo Corp
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Compose
MicroCyberRobo Corp
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Purchase
MicroCyberRobo Corp
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Payout
MicroCyberRobo Corp
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Design Develop Compose Purchase Payout
MicroCyberRobo Corp
Fin.
http://mm-adt.org

More Related Content

What's hot

Challenges in the Design of a Graph Database Benchmark
Challenges in the Design of a Graph Database Benchmark Challenges in the Design of a Graph Database Benchmark
Challenges in the Design of a Graph Database Benchmark
graphdevroom
Ā 
Graph All the Things: An Introduction to Graph Databases
Graph All the Things: An Introduction to Graph DatabasesGraph All the Things: An Introduction to Graph Databases
Graph All the Things: An Introduction to Graph Databases
Neo4j
Ā 

What's hot (10)

NOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4jNOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4j
Ā 
Django and Neo4j - Domain modeling that kicks ass
Django and Neo4j - Domain modeling that kicks assDjango and Neo4j - Domain modeling that kicks ass
Django and Neo4j - Domain modeling that kicks ass
Ā 
Emerging Dynamic TUW-ASE Summer 2015 - Distributed Systems and Challenges for...
Emerging Dynamic TUW-ASE Summer 2015 - Distributed Systems and Challenges for...Emerging Dynamic TUW-ASE Summer 2015 - Distributed Systems and Challenges for...
Emerging Dynamic TUW-ASE Summer 2015 - Distributed Systems and Challenges for...
Ā 
Intro to Neo4j with Ruby
Intro to Neo4j with RubyIntro to Neo4j with Ruby
Intro to Neo4j with Ruby
Ā 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4j
Ā 
Similarity at Scale
Similarity at ScaleSimilarity at Scale
Similarity at Scale
Ā 
Vital.AI Creating Intelligent Apps
Vital.AI Creating Intelligent AppsVital.AI Creating Intelligent Apps
Vital.AI Creating Intelligent Apps
Ā 
Building a Graph-based Analytics Platform
Building a Graph-based Analytics PlatformBuilding a Graph-based Analytics Platform
Building a Graph-based Analytics Platform
Ā 
Challenges in the Design of a Graph Database Benchmark
Challenges in the Design of a Graph Database Benchmark Challenges in the Design of a Graph Database Benchmark
Challenges in the Design of a Graph Database Benchmark
Ā 
Graph All the Things: An Introduction to Graph Databases
Graph All the Things: An Introduction to Graph DatabasesGraph All the Things: An Introduction to Graph Databases
Graph All the Things: An Introduction to Graph Databases
Ā 

Similar to mm-ADT: A Virtual Machine/An Economic Machine

Software Strategy
Software StrategySoftware Strategy
Software Strategy
Alec Shutze
Ā 
Strata 2017 (San Jose): Building a healthy data ecosystem around Kafka and Ha...
Strata 2017 (San Jose): Building a healthy data ecosystem around Kafka and Ha...Strata 2017 (San Jose): Building a healthy data ecosystem around Kafka and Ha...
Strata 2017 (San Jose): Building a healthy data ecosystem around Kafka and Ha...
Shirshanka Das
Ā 
Building a healthy data ecosystem around Kafka and Hadoop: Lessons learned at...
Building a healthy data ecosystem around Kafka and Hadoop: Lessons learned at...Building a healthy data ecosystem around Kafka and Hadoop: Lessons learned at...
Building a healthy data ecosystem around Kafka and Hadoop: Lessons learned at...
Yael Garten
Ā 

Similar to mm-ADT: A Virtual Machine/An Economic Machine (20)

Taking Complexity Out of Data Science with AWS and Zoomdata PPT
Taking Complexity Out of Data Science with AWS and Zoomdata PPTTaking Complexity Out of Data Science with AWS and Zoomdata PPT
Taking Complexity Out of Data Science with AWS and Zoomdata PPT
Ā 
Future of work machine learning and middle level jobs 112618
Future of work machine learning and middle level jobs 112618Future of work machine learning and middle level jobs 112618
Future of work machine learning and middle level jobs 112618
Ā 
Software Strategy
Software StrategySoftware Strategy
Software Strategy
Ā 
Strata 2017 (San Jose): Building a healthy data ecosystem around Kafka and Ha...
Strata 2017 (San Jose): Building a healthy data ecosystem around Kafka and Ha...Strata 2017 (San Jose): Building a healthy data ecosystem around Kafka and Ha...
Strata 2017 (San Jose): Building a healthy data ecosystem around Kafka and Ha...
Ā 
Building a healthy data ecosystem around Kafka and Hadoop: Lessons learned at...
Building a healthy data ecosystem around Kafka and Hadoop: Lessons learned at...Building a healthy data ecosystem around Kafka and Hadoop: Lessons learned at...
Building a healthy data ecosystem around Kafka and Hadoop: Lessons learned at...
Ā 
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving ITDynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Ā 
Social Media, SaaS, and PaaS in a For-Profit World
Social Media, SaaS, and PaaS  in a For-Profit WorldSocial Media, SaaS, and PaaS  in a For-Profit World
Social Media, SaaS, and PaaS in a For-Profit World
Ā 
The Future of Data Science
The Future of Data ScienceThe Future of Data Science
The Future of Data Science
Ā 
Watson data platform_sofia_20171017
Watson data platform_sofia_20171017Watson data platform_sofia_20171017
Watson data platform_sofia_20171017
Ā 
2013 - Yhat - YC app.pdf
2013 - Yhat - YC app.pdf2013 - Yhat - YC app.pdf
2013 - Yhat - YC app.pdf
Ā 
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your DataCloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Ā 
2007 Web Hosting Outlook
2007 Web Hosting Outlook2007 Web Hosting Outlook
2007 Web Hosting Outlook
Ā 
Tokens and Complex Systems
Tokens and Complex SystemsTokens and Complex Systems
Tokens and Complex Systems
Ā 
Towards a sustainable solution to open source sustainability
Towards a sustainable solution to open source sustainabilityTowards a sustainable solution to open source sustainability
Towards a sustainable solution to open source sustainability
Ā 
2007 06 Xx Futuro Do Software Sbqs
2007 06 Xx Futuro Do Software Sbqs2007 06 Xx Futuro Do Software Sbqs
2007 06 Xx Futuro Do Software Sbqs
Ā 
The Evolving Role of the Data Engineer - Whitepaper | Qubole
The Evolving Role of the Data Engineer - Whitepaper | QuboleThe Evolving Role of the Data Engineer - Whitepaper | Qubole
The Evolving Role of the Data Engineer - Whitepaper | Qubole
Ā 
A Data Journey With AWS
A Data Journey With AWSA Data Journey With AWS
A Data Journey With AWS
Ā 
Opensourceshift
OpensourceshiftOpensourceshift
Opensourceshift
Ā 
Various Types of Vendors that Exist in the Software Ecosystem
Various Types of Vendors that Exist in the Software EcosystemVarious Types of Vendors that Exist in the Software Ecosystem
Various Types of Vendors that Exist in the Software Ecosystem
Ā 
MongoDB .local London 2019: Using AWS to Transform Customer Data in MongoDB i...
MongoDB .local London 2019: Using AWS to Transform Customer Data in MongoDB i...MongoDB .local London 2019: Using AWS to Transform Customer Data in MongoDB i...
MongoDB .local London 2019: Using AWS to Transform Customer Data in MongoDB i...
Ā 

More from Marko Rodriguez

Memoirs of a Graph Addict: Despair to Redemption
Memoirs of a Graph Addict: Despair to RedemptionMemoirs of a Graph Addict: Despair to Redemption
Memoirs of a Graph Addict: Despair to Redemption
Marko Rodriguez
Ā 

More from Marko Rodriguez (20)

mm-ADT: A Multi-Model Abstract Data Type
mm-ADT: A Multi-Model Abstract Data Typemm-ADT: A Multi-Model Abstract Data Type
mm-ADT: A Multi-Model Abstract Data Type
Ā 
Open Problems in the Universal Graph Theory
Open Problems in the Universal Graph TheoryOpen Problems in the Universal Graph Theory
Open Problems in the Universal Graph Theory
Ā 
Gremlin 101.3 On Your FM Dial
Gremlin 101.3 On Your FM DialGremlin 101.3 On Your FM Dial
Gremlin 101.3 On Your FM Dial
Ā 
Gremlin's Graph Traversal Machinery
Gremlin's Graph Traversal MachineryGremlin's Graph Traversal Machinery
Gremlin's Graph Traversal Machinery
Ā 
Quantum Processes in Graph Computing
Quantum Processes in Graph ComputingQuantum Processes in Graph Computing
Quantum Processes in Graph Computing
Ā 
ACM DBPL Keynote: The Graph Traversal Machine and Language
ACM DBPL Keynote: The Graph Traversal Machine and LanguageACM DBPL Keynote: The Graph Traversal Machine and Language
ACM DBPL Keynote: The Graph Traversal Machine and Language
Ā 
The Gremlin Graph Traversal Language
The Gremlin Graph Traversal LanguageThe Gremlin Graph Traversal Language
The Gremlin Graph Traversal Language
Ā 
The Path Forward
The Path ForwardThe Path Forward
The Path Forward
Ā 
Faunus: Graph Analytics Engine
Faunus: Graph Analytics EngineFaunus: Graph Analytics Engine
Faunus: Graph Analytics Engine
Ā 
Solving Problems with Graphs
Solving Problems with GraphsSolving Problems with Graphs
Solving Problems with Graphs
Ā 
Titan: The Rise of Big Graph Data
Titan: The Rise of Big Graph DataTitan: The Rise of Big Graph Data
Titan: The Rise of Big Graph Data
Ā 
The Pathology of Graph Databases
The Pathology of Graph DatabasesThe Pathology of Graph Databases
The Pathology of Graph Databases
Ā 
Traversing Graph Databases with Gremlin
Traversing Graph Databases with GremlinTraversing Graph Databases with Gremlin
Traversing Graph Databases with Gremlin
Ā 
The Path-o-Logical Gremlin
The Path-o-Logical GremlinThe Path-o-Logical Gremlin
The Path-o-Logical Gremlin
Ā 
The Gremlin in the Graph
The Gremlin in the GraphThe Gremlin in the Graph
The Gremlin in the Graph
Ā 
Memoirs of a Graph Addict: Despair to Redemption
Memoirs of a Graph Addict: Despair to RedemptionMemoirs of a Graph Addict: Despair to Redemption
Memoirs of a Graph Addict: Despair to Redemption
Ā 
Graph Databases: Trends in the Web of Data
Graph Databases: Trends in the Web of DataGraph Databases: Trends in the Web of Data
Graph Databases: Trends in the Web of Data
Ā 
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Ā 
A Perspective on Graph Theory and Network Science
A Perspective on Graph Theory and Network ScienceA Perspective on Graph Theory and Network Science
A Perspective on Graph Theory and Network Science
Ā 
The Graph Traversal Programming Pattern
The Graph Traversal Programming PatternThe Graph Traversal Programming Pattern
The Graph Traversal Programming Pattern
Ā 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(ā˜Žļø+971_581248768%)**%*]'#abortion pills for sale in dubai@
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Ā 

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Ā 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Ā 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Ā 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Ā 
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
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Ā 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Ā 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Ā 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Ā 
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
Ā 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Ā 
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...
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Ā 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Ā 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Ā 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Ā 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Ā 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Ā 

mm-ADT: A Virtual Machine/An Economic Machine

  • 1. mm-ADT A Virtual Machine/An Economic Machine Dr. Marko A. Rodriguez DataDays Austin TX, January 2020 Database Keynote
  • 2. Itā€™s 2012 The Mayan Calendar predicts the end of the world. The OSS community predicts a Golden Age of Data Technologies. NoSQL
  • 3. Document Database Graph Database Wide Column Store Index Store OLAP Processor
  • 4. Open Source Software costs money and time for research and development. In order to provide the world free open source software many of our young innovators created companies to fund the development of their technology.
  • 6. A Collaborative Ecosystem of Shared Technologies develops uses uses
  • 10. The NoSQL Summer of Love 2012uses uses uses uses uses develops develops develops develops develops
  • 11. I compare us to the bridge, dam, and interstate builders of the 1930ā€™s generation. This generation of developers built the modern worldā€™s software data infrastructure. By making our software freely available, many institutions that would otherwise not pay for cutting-edge software have been able to advance their domain. We did something very good for this world.
  • 12. And then came the parasitesā€¦
  • 13.
  • 14. Amazonā€™s use of Apache TinkerPop for their internal operations is a perfect use of open source software. Amazon gets free software for their shipping logistics. Apache TinkerPop is tested at extreme scale on a world-class problem. DataStax, who were the primary developers at the time, is able to point (potential) customers to a success story. The Good
  • 16. Amazon ā€œAcquiresā€ OSS Companies for Free ā€œDoes Amazon contribute to these projects (beneļ¬tting users and the creators)?ā€ Letā€™s see what the statistics sayā€¦ The Ugly
  • 17. The top contributors do not work for Amazon MongoDB MongoDB MongoDB MongoDB
  • 18. The top contributors do not work for Amazon DataStax RReduX RReduX <unknown>
  • 19. The top contributors do not work for Amazon DataStax DataStax DataStax Oracle
  • 20. The top contributors do not work for Amazon DataBricks DataBricks DataBricks DataBricks
  • 21. The top contributors do not work for Amazon Elastic Elastic Elastic Elastic
  • 22. 1 2 5 10 20 50 100 5205020010005000 cassandra frequency commits 1 2 5 10 20 50 100 20502005002000 elasticsearch frequency commits 1 2 5 10 20 50 100 502005002000 mongodb frequency commits 1 2 5 10 20 50 100 501002005001000 spark frequency commits 1 2 5 10 20 50 100 15505005000 tinkerpop frequency commits Ī± = 2.074 Ī± = 1.69 Ī± = 1.95 Ī± = 2.19 Ī± = 2.717 Smaller Ī± means fewer people do most of the work. log/log-scale
  • 23. Yes, AWS promises to contribute back to Cassandra. The question is whether those contributions be more than self- serving ones ā€¦ there are no incentives to make real progress. To Amazonā€™s credit, they already made a single major contribution in the form of the Dynamo paper, 12 years ago. https://www.scylladb.com/2019/12/04/managed-cassandra-on-aws-our-take/
  • 24. Letā€™s honor some other soldiers of the trade.
  • 25. The top contributors do not work for Amazon RedisLabs RedisLabs CarrierDB Alibaba
  • 26. The top contributors do not work for Amazon Cloudera Salesforce <unknown> Xiaomi
  • 27. The top contributors do not work for Amazon Percona MariaDB MariaDB<unknown>
  • 28. 1 2 5 10 20 50 100 5205020010005000 hbase frequency commits 1 2 5 10 20 50 100 5205020010005000 mariadb frequency commits 1 2 5 10 20 50 100 25201005002000 redis frequency commits Ī± = 1.778 Ī± = 1.713 Ī± = 1.682
  • 29.
  • 30. It used to beā€¦
  • 31. Contribute nothing, take everything. July 2016
  • 34. Amazon will continue to release products based on Apache Software Foundation technology. When Amazon has completed their exploitation and little competition exists they will use legal techniques to dismantle the Apache Software Foundation. Open source developers will use less liberal licenses. Innovation in our industry will come to a standstill. DataDays will be subsumed by re:Invent. The Apache Software Foundation had $1 million in their coļ¬€ers for legal related issues in 2017. (prior to Amazonā€™s 2018 $1 million donation) Predictions
  • 35. All popular open source technologies will be taken by Amazon. All popular closed source technologies will be cloned by Amazon. Small agile data technology companies will struggle. The majority of jobs in data technology systems engineering will be at Amazon. Salaries in data technology will drop preciptously. Amazon employees will try to create labor unions. Amazon will squash any unionization eļ¬€orts. Their employees will be stuck in legal quagmires. Predictions U.S. tax payers will be left to foot the bill on the most expensive anti-trust suit the U.S. government has ever endured.
  • 36. The systematic desertiļ¬cation of our industry in the pursuit of proļ¬ts as opposed to the pursuit of innovation in our trade.
  • 37. Oh father, love of mine, you have built such wonderful things with all your time. In honor of your greatness, we followed behind and now of age, we give not what was mine. May our software make your machines sing to the heavens for all time. A NoSQL Poem for Amazon/IBM/Microsoft
  • 39. Modern Data System Components Storage Processor Language
  • 40. Synthetic Data Systems Storage Processor Language
  • 43. Storage Processor Language mm-ADT Virtual Machine int bool strreal lst rec map filter reduce branch f.g(h.i).j.k Model Storage w/ Types obj ModelLanguagesw/Instructions Model Processors w/ Operators sideeffect initial terminal barrier
  • 44. g.V(1).out(ā€˜knowsā€™).id() int{*} <=[=graph] [is,[get,ā€™idā€™][eq,1]] [get,ā€™outEā€™] [is,[get,ā€™labelā€™][eq,ā€™knowsā€™]] [get,ā€™inVā€™] [get,ā€™idā€™] graph -> [graph -> vertex{*} |vertex -> [ā€˜id' :int, ā€™inEā€™ :edge{*}, ā€™outEā€™:edge{*}] |edge -> [ā€˜labelā€™:str, ā€™outVā€™ :vertex, ā€™inVā€™ :vertex]] Storage Processor Language mm-ADT Virtual Machine initial [=graph] filter [is,[get,ā€™idā€™][eq,1]] map [get,ā€™outEā€™] filter [is,[get,ā€™labelā€™][eq,ā€™knowsā€™]] map [get,ā€™inVā€™] map [get,ā€™idā€™] processor supports requisite operators language compiles to the graph model storage exposes graph model [ a->b | c->d | e->f ] pattern matching ā€œif lhs, then rhsā€
  • 45. mm-ADT is about creating models in terms of other models. The base model is always mm. The ā€˜domain of discourseā€™ of the mm-ADT VM. Commonly used models are ā€œstandardizeā€ by mm-ADT. mm : multi-model kv : key/value rdb: relational pg : property graph wc : wide column doc: documents rdf: resource description framework Storage providers expose their system via these models. Language providers write compilers to these models.
  • 46. A userā€™s schema is a modelā€¦ social -> [ person -> ['ssn' :int, 'friends':person{*}]] DSLs
  • 47. social->[person -> ['ssn' :int~x, 'friends':person{*} A userā€™s schema is a modelā€¦ ā€¦that can be embedded in other models. social->[person -> ['ssn' :int~x, 'friends':person{*} social model => relational model => mm-ADT model DSLs social -> [ person -> ['ssn' :int, 'friends':person{*}]] social model => graph model => mm-ADT model
  • 48. social->[person -> ['ssn' :int~x, 'friends':person{*} <=(vertex{*} <=[=graph][is,[get,'id'][eq,x]] [get,'outE'] [is,[get,'label'][eq,'knows']] [get,'inV'])] <=(vertex <=[=graph][is,[get,'id'][eq,x]]) A userā€™s schema is a modelā€¦ social model => graph model => mm-ADT model ā€¦that can be embedded in other models. social->[person -> ['ssn' :int~x, 'friends':person{*} <=(row{*} <=[=rdb][get,'people'][is,[get,'id'] [eq,[=rdb][get,'links'] [is,[get,'source'][eq,x]] [get,'sink']]])] <=(row <=[=rdb][get,'people'][is,[get,'id'][eq,x]]) social model => relational model => mm-ADT model DSLs social -> [ person -> ['ssn' :int, 'friends':person{*}]]
  • 50. The mm-ADT virtual machine serves as a universal integrator for the technologies of our industry. The mm-ADT economic machine serves as a universal integrator for the creators in our industry. mm-ADT
  • 51. Independent open source developers spend their time developing software that provides no ļ¬nancial compensation and, paradoxically, as the popularity of their project increases, success can lead to burnout and ļ¬nancial ruin. Entrepreneurial open source developers may form a company around their open source project. Unfortunately, such companies are easily obviated in the market because the core product is freely licensed and competing ļ¬rms can oļ¬€er the same product without having to invest in the research and development eļ¬€ort. Corporate open source developers are in the problematic situation where their work is dependent on their sponsoring organization who also controls the direction and pace of development as well as the interoperability and inclusion of any novel innovations within the project. Entrepreneurial Open Source Developers Lack a Competitive Edge Corporate Open Source Developers Sacriļ¬ce Autonomy Independent Open Source Developers Suļ¬€er Economically
  • 52. The OSS Developer ā€¦is an artist, not an employee. ā€¦needs an agent, not a employer. ā€¦seeks to mentor, not to manage. ā€¦should be patronized, not invested in. ā€¦needs to be ļ¬nancially compensated for their work.
  • 53. A Royalty-Based Open Source Model Data Technology Developers Think Etsy+Apache A Non-Growth Company contractor
  • 54. A Royalty-Based Open Source Model mm-ADT mm-ADT mm-ADT design: Specify the component mm-ADT model. develop: Engineer the component binding. price: Decide the cost for licensing the component. promote: Write blog posts, academic articles, tutorials. maintain: Fix bugs and update over mm-ADT VM versioning. support: Mailing list Q&A, documentation, issue tracker. An mm-ADT component is created by an open source development team
  • 55. A Royalty-Based Open Source Model mm-ADT Virtual Machine MicroCyberRobo Corp
  • 56. A Royalty-Based Open Source Model mm-ADT Virtual Machine Design MicroCyberRobo Corp
  • 57. A Royalty-Based Open Source Model mm-ADT Virtual Machine Develop MicroCyberRobo Corp
  • 58. A Royalty-Based Open Source Model mm-ADT Virtual Machine Compose MicroCyberRobo Corp
  • 59. A Royalty-Based Open Source Model mm-ADT Virtual Machine Purchase MicroCyberRobo Corp
  • 60. A Royalty-Based Open Source Model mm-ADT Virtual Machine Payout MicroCyberRobo Corp
  • 61. A Royalty-Based Open Source Model mm-ADT Virtual Machine Design Develop Compose Purchase Payout MicroCyberRobo Corp