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

Alessandro Luccaroni - Diennea alessandro.luccaroni at diennea.com
Mon Aug 26 10:02:35 CEST 2019


>> 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”?
>> 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?
>> 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”.
Can we say that this is guaranteed by our usage of Apache Calcite?

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<mailto: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<http://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<http://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<http://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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.herddb.org/pipermail/herddb-dev/attachments/20190826/628d983f/attachment-0001.html>


More information about the herddb-dev mailing list