SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
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
7.
uses
develops
develops
A Collaborative Ecosystem
of Shared Technologies
8.
develops
uses
A Collaborative Ecosystem
of Shared Technologies
9.
develops
uses
A Collaborative Ecosystem
of Shared Technologies
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.
13.
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
15.
Amazon “Acquires” OSS Companies for Free
“Does Amazon contribute to these projects (benefitting users and the creators)?”
Let’s see what the statistics say…
The Ugly
16.
The top contributors do not work for Amazon
MongoDB MongoDB
MongoDB MongoDB
17.
The top contributors do not work for Amazon
DataStax RReduX
RReduX <unknown>
18.
The top contributors do not work for Amazon
DataStax DataStax
DataStax Oracle
19.
The top contributors do not work for Amazon
DataBricks DataBricks
DataBricks DataBricks
20.
The top contributors do not work for Amazon
Elastic Elastic
Elastic Elastic
21.
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
22.
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/
32.
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 coffers for legal related issues in 2017.
(prior to Amazon’s 2018 $1 million donation)
Predictions
33.
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 efforts.
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.
34.
The systematic desertification of our industry
in the pursuit of profits as opposed to
the pursuit of innovation in our trade.
35.
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
43.
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.
44.
A user’s schema is a model…
social -> [ person -> ['ssn' :int,
'friends':person{*}]]
DSLs
45.
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
46.
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{*}]]
48.
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
49.
Independent open source developers spend their time developing software that
provides no financial compensation and, paradoxically, as the popularity of their
project increases, success can lead to burnout and financial 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 firms can offer the
same product without having to invest in the research and development effort.
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 Sacrifice Autonomy
Independent Open Source Developers Suffer Economically
50.
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 financially
compensated for their work.
51.
A Royalty-Based Open Source Model
Data Technology Developers
Think
Etsy+Apache A Non-Growth Company
contractor
52.
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
53.
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
MicroCyberRobo Corp
54.
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Design
MicroCyberRobo Corp
55.
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Develop
MicroCyberRobo Corp
56.
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Compose
MicroCyberRobo Corp
57.
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Purchase
MicroCyberRobo Corp
58.
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Payout
MicroCyberRobo Corp
59.
A Royalty-Based Open Source Model
mm-ADT
Virtual Machine
Design Develop Compose Purchase Payout
MicroCyberRobo Corp