[Herddb-dev] R: R: Herddb entry on dbdb.io

Enrico Olivelli eolivelli at gmail.com
Mon Aug 26 13:21:11 CEST 2019


Il lun 26 ago 2019, 10:03 Alessandro Luccaroni - Diennea <
alessandro.luccaroni at diennea.com> ha scritto:

> >> Storage Model = "N-ary storage model” means that the column are stored
> together in a row-by-row basis (like a very wide csv?). I think we can
> safely say only “Key/Value” in our case
>
> > We are saving all of the columns of a row into the same page, all packed
>
> So what model do you think is more representative of HerdDB, “Key/Value”?
>

N-ary storage mode is better

> >> Query Compilation = “Code Generation”: is this related to our usage of
> Apache Calcite?
>
> > We are not "compiling" code, we have an access plan that is prepared by
> Apache Calcite and then translated to an internal representation.
>
>
>
> Can we say that this is guaranteed by our usage of Apache Calcite?
>
Not sure we can say that. It is more HerdDB code.
Calcite decides how to access data.

I think that in the end 'Code generation' may be a good choice. But not due
to Calcite

> >> Query Execution = “Vectorized Model”: is this related to our usage of
> Apache Calcite?
>
> > Where did you find the list of available values ?
>
> > I feel "Vectorized Model" is not out option
>
>
>
> I copied the wrong entry, last time you suggested “Tuple-at-a-Time Mode”.
>
+1

> Can we say that this is guaranteed by our usage of Apache Calcite?
>
No, it it a core feature, Calcite doesn't deal with this stuff IMO


Thanks
Enrico

>
>
> Regards,
>
> Alessandro
>
>
>
> *Da:* herddb-dev-bounces at lists.herddb.org <
> herddb-dev-bounces at lists.herddb.org> *Per conto di *Enrico Olivelli
> *Inviato:* venerdì 23 agosto 2019 23:26
> *A:* Herddb developers <herddb-dev at lists.herddb.org>
> *Oggetto:* Re: [Herddb-dev] R: Herddb entry on dbdb.io
>
>
>
>
>
>
>
> Il giorno mar 2 lug 2019 alle ore 10:51 Alessandro Luccaroni - Diennea <
> alessandro.luccaroni at diennea.com> ha scritto:
>
> Regarding the open points:
>
> Checkpoint = the “Consistent” option is not clear or the doc link provided
> is not clear? dbdb.io provide the following options: “Blocking”,
> “Consistent”, “Fuzzy”, “Non-Blocking”, “Not Supported”. Since the
> checkpoint freeze the DB (and in a checkpoint there are all the info needed
> to bring up a replica), I think it should be “Consistent” + “Blocking” (see
> PostgreSQL entry for some background around “Consistent”
> https://dbdb.io/db/postgresql)
>
>
>
> We are blocking only writes, but Consistent + Blocking is okay
>
>
>
>
>
> Joins = dbdb.io provide the following options: “Broadcast Join”, “Has
> Join”, “Index Nested Loop Join”, “Nested Loop Join”, “Not Supported”, “Semi
> Join”, “Shuffle Join”, “Sort-Merge Join”. Which ones do we choose? Is it
> going to change after the Calcite 1.20 upgrade?
>
> Nested Loop, Sort-Merge-Join (but actually there is some bug in Calcite
> and it is never used), Hash Join
>
>
>
>
>
> Storage Architecture = it’s related to where the data is saved (disk,
> memory or both)…since we are planning about
> https://github.com/diennea/herddb/issues/401 I think our use case is
> “Hybrid” (it means that you can choose between the two in dbdb.io
> terminology)
>
> I would say "disk"
>
>
>
>
>
> Storage Model = "N-ary storage model” means that the column are stored
> together in a row-by-row basis (like a very wide csv?). I think we can
> safely say only “Key/Value” in our case
>
> We are saving all of the columns of a row into the same page, all packed
>
>
>
>
>
>
>
> Storage Organization = I will keep both "Log-structured" and "Heaps" since
> we store data both on data file and on the Bookie log
>
> Mostly like "Log-structured"
>
>
>
> Concurrency Control = “Deterministic Concurrency Control “: is this
> guaranteed by Bookkeeper? Can you point me in the code and/or documentation
> where we can extrapolate that?
>
> Concurrency Control....we are using "pessimistic row level locking",
> before accessing to a record the client acquires a lock (read or write).
>
> Each Transaction that modifies a record holds the new copy of the record
> in a local buffer, and this new version is not visible to other
> transactions until the tx is committed.
>
> BookKeeper is out of the game, we are using it only for the WAL
>
>
>
>
>
> Query Compilation = “Code Generation”: is this related to our usage of
> Apache Calcite?
>
> We are not "compiling" code, we have an access plan that is prepared by
> Apache Calcite and then translated to an internal representation.
>
>
>
>
>
> Query Execution = “Vectorized Model”: is this related to our usage of
> Apache Calcite?
>
> Where did you find the list of available values ?
>
> I feel "Vectorized Model" is not out option
>
>
>
>
>
>
>
> Cheers
>
> Enrico
>
> ------------------------------
>
> CONFIDENTIALITY & PRIVACY NOTICE
> This e-mail (including any attachments) is strictly confidential and may
> also contain privileged information. If you are not the intended recipient
> you are not authorised to read, print, save, process or disclose this
> message. If you have received this message by mistake, please inform the
> sender immediately and destroy this e-mail, its attachments and any copies.
> Any use, distribution, reproduction or disclosure by any person other than
> the intended recipient is strictly prohibited and the person responsible
> may incur in penalties.
> The use of this e-mail is only for professional purposes; there is no
> guarantee that the correspondence towards this e-mail will be read only by
> the recipient, because, under certain circumstances, there may be a need to
> access this email by third subjects belonging to the Company.
> _______________________________________________
> herddb-dev mailing list
> herddb-dev at lists.herddb.org
> http://lists.herddb.org/mailman/listinfo/herddb-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.herddb.org/pipermail/herddb-dev/attachments/20190826/63f65b29/attachment.html>


More information about the herddb-dev mailing list