
Peloton – a relational database designed for autonomous operation - zippoxer
http://pelotondb.io/
======
zippoxer
OP here. Peloton has been posted here before, but didn't get any attention.

I think this database is very interesting even if you don't care about the
time saving part of it, since it claims to be a hybrid (OLAP and OLTP), it
implements postgres' wire protocol and it claims to compile queries to machine
code using LLVM [1].

[1]:
[https://www.youtube.com/watch?v=mzMnyYdO8jk](https://www.youtube.com/watch?v=mzMnyYdO8jk)
(slideshow: [http://www.cs.cmu.edu/~pavlo/slides/selfdriving-
nov2016.pdf](http://www.cs.cmu.edu/~pavlo/slides/selfdriving-nov2016.pdf))

~~~
hokkos
Strange talk and slides, I am not sure if he is serious or not.

~~~
sceadu
He's joking about the rehab I'm sure...that's his style (I like it
personally).

BTW, here are the video lectures to the graduate database course he mentioned
in the presentation, where students were developing features for Peloton as
part of the course (they're great IMO):

[https://www.youtube.com/watch?v=MyQzjba1beA&list=PLSE8ODhjZX...](https://www.youtube.com/watch?v=MyQzjba1beA&list=PLSE8ODhjZXjbisIGOepfnlbfxeH7TW-8O&index=1)

~~~
aerioux
both in person, lectures, and videos - he has a very different style than many
others

------
Jweb_Guru
Side note, but I really dislike the current trend (in in-memory databases, to
be clear) of not bothering to include any real provisions for durability and
justifying it by saying "NVRAM exists." It effectively doesn't for anyone who
need to be able to deploy to off-the-shelf environments, and it's super
expensive (and if you're going for performance, like most of the research
projects are, countering by using the database in a clustered configuration
would be counterproductive). Are there _any_ cloud providers who provide NVRAM
in any configuration?

~~~
fulafel
Flash storage is nvram, so yes, hosting companies offer it.

~~~
allyraza
there are many types of NVM's not all of them are available on most hosting
providers one of the big player offering ssd on cloud is digitalocean

------
inconclusive
The idea of write-behind logging is slick.

[http://www.cs.cmu.edu/~pavlo/papers/p337-arulraj.pdf](http://www.cs.cmu.edu/~pavlo/papers/p337-arulraj.pdf)

~~~
jarulraj
Thanks :) We believe that non-volatile memory (NVM) will be a game-changer for
database management systems [1].

[1] [https://www-ssl.intel.com/content/www/us/en/architecture-
and...](https://www-ssl.intel.com/content/www/us/en/architecture-and-
technology/intel-optane-technology.html)

------
tmd83
Does anyone know what happens after the query plan is generated in most
database? I'm assuming individual step, like index scan, hashjoin are coded
already and the plan steps are iterated and respective methods are called? So
the execution steps are already compiled but the step traversal is kind of
interpreted. With Peloton LLVM engine everything is merged together in a
single sequence of machine code?

How much advantage does this give you? Is there really so many steps in the
execution plan (the visible steps are usually < 50) but what about the
internal actual compiled steps? Unless this is allowing merging and further
simplification steps identifying redundant operation that gets trimmed of not
sure where 100x performance improvement comes from.

Though I remember seeing the scala based in-memory query engine that was sort
of doing simplification of the actual steps and doing very well in benchmark,
maybe this is similar.

------
buremba
I wonder why they try to support both OLTP and OLAP workloads. Supporting both
of these workloads requires too much work (both row and columnar storage
types, different algorithms for both storage and querying etc) and they didn't
even prove that autonomous systems (which is the main point of the project)
can replace the existing databases.

~~~
manigandham
[http://www.memsql.com/](http://www.memsql.com/) does this today. Fast,
distributed, rowstore + columnstore, relational database with mysql protocol.

~~~
buremba
However Peloton also aims to be an autonomous system. That's a lot for
undergrad and grad students so I'm not sure if he wants Peloton to be stable
in a near future.

------
gigatexal
This sure has a lot to live up to: trying to do two thing and do them Well
isn't very unix-y. There's a reason relational database are set up to have
oltp schemas (highly notmalized tables for supporting transactions etc.) and
olap schemas (star schemas for example, large sometimes flat fact and
dimension tables etc.). Also I'm not sure about the learning part: any decent
database these days will cache frequently used data and tables can be built as
in-memory ones.

~~~
mamcx
Is very rare to have a DB that not need both oltp/olap workloads.

All db-based apps end fast the need requeriments for transactional code and
move into "infinity-reporting-requests".

For certain ERP I work on in the past, it have at least 300 reports in the
base package. Most request was for more reports specialized for each
customers. And additions to the transactional code was in part driven by the
need to add more data for the reports!

So, I think have both styles is exactly what "everyone" want. Even folks that
get stuck with NOSQL databases.

\---

I have thinking very much about this, I consider the ideal architecture is a
relational-db with decoupled modules that work like this:

Write:

Commands -> WAL -> WaLProcessorAndRejector -> EventLog ->
EventLogDispatchToOneOrMoreOf:

\- Nothing. EventLog just is history \- Caches \- Relational Tables for up-to-
date view on data \- Columnar/Index for speed up part of the reports

Read:

ReadRequest -> ReadDispatchToOneOf:

\- EventLog \- Caches \- Relational Tables \- Columnar/Index

The need to be modular is that what is need can change by need.

~~~
jarulraj
That's correct! This is the reason why we support both OLTP and OLAP workloads
in Peloton.

------
leftnode
How old is this project? I wouldn't be surprised to see a cease and desist
from the maker of the exercise bike.

~~~
wcarron
Peloton is in fact the French word for platoon. I'd be highly surprised if the
bike maker had the legal standing for issue infringement claims. Just as you
can't copyright the word "bicycle", peloton is used widely enough that they
should be fine. Then again, Jade the preprocessor was forced to rebrand as
Pug.

~~~
rasjani
Peloton is also Finnish word and it means 'fearless'

