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

Alessandro Luccaroni - Diennea alessandro.luccaroni at diennea.com
Tue Aug 27 12:39:21 CEST 2019


Descriptions expanded:

Checkpoints =  "Consistent" "Blocking" (HerdDB supports periodic checkpoints, every 15 minutes by default. At checkpoints, active page ids are written to disk with their current log sequence numbers. At the same time all dirty pages are discarded and their records used to build new pages, among other new or updated records. Checkpoints can be tuned to be either as fast as possible or as clean as possible. Fast checkpoints block write operations for less time, whereas clean checkpoints optimize memory usage (fewer dirty pages left in memory) and speeds up searches (fewer dirty pages left on disk).) (https://github.com/diennea/herddb/wiki/Data-storage https://github.com/diennea/herddb/wiki/Checkpoints-configuration)
Concurrency Control = "Pessimistic Row Level Locking" (Before accessing records, clients acquire read or write locks. Every transaction that modifies a record holds the new data in a local buffer copy, and this new version of the record is not visible to other transactions until that one is committed.)
Foreign Keys = "Not Supported" (https://github.com/diennea/herddb/wiki/SQL-Support)
Data Model = "Relational"  (https://github.com/diennea/herddb/wiki/SQL-Support)
Indexes =  "B-Link" "BRIN" (Block Range Index implementation is not strictly speaking the official BRIN implementation you can find in literature, so we can talk about “BRIN-like” indexes)
Isolation Levels = "Read Committed" (https://github.com/diennea/herddb/wiki/SQL-Support)
Joins = "Nested Loop Join" "Sort-Merge Join" "Hash Join" (https://github.com/diennea/herddb/wiki/SQL-Support)
Logging = "Physical Logging" (Build upon Apache BookKeeper)
Query Compilation = “Code Generation” (Build upon Apache Calcite)
Query Execution = “Tuple-at-a-Time Mode” (Build upon Apache Calcite)
Query Interface = "SQL" "Command-line/Shell" "Custom API" (https://github.com/diennea/herddb/wiki/SQL-Support)
Storage Architecture = "Disk-oriented" (https://github.com/diennea/herddb/wiki/Data-storage)
Storage Model = "N-ary Storage Model (Row/Record)" (HerdDB’s internal architecture stores a table as a set of key-value entries. This is implemented in Java by a very large map of binary data. Each row is translated from column-oriented to key-value format by tearing apart the “primary key” part (one or multiple columns) from the “value” part (other columns).) (https://github.com/diennea/herddb/wiki/Data-storage)
Storage Organization = "Log-structured" (Built upon Apache BookKeeper. At any given time, some part of data is stored in a memory buffer and some other on disk. No data will be lost on JVM crashes, because transaction logs are the source-of-truth and the whole database can be recovered from them plus a checkpoint. When a row is stored on disk it is assigned to a "data page"; on its first mutation, it is detached from its data page and that page is marked as “dirty”. At checkpoints, all dirty pages are dismissed and their records used to build new pages, among other new or updated records. Records modified/inserted/deleted in the scope of a transaction are never written to disk and they are not present in the main buffer until that transaction is committed, so that there always is a consistent and committed data snapshot. Every transaction uses its own local buffer to store temporary data.) (https://github.com/diennea/herddb/wiki/Data-storage) (https://github.com/diennea/herddb/wiki/Data-storage)
Stored Procedures = "Not Supported" (https://github.com/diennea/herddb/wiki/SQL-Support)
System Architecture =  "Shared-Nothing" (Built upon Apache Zookeeper and Apache BookKeeper.) (https://github.com/diennea/herddb/wiki/Replication)
Views = "Not Supported" (https://github.com/diennea/herddb/wiki/SQL-Support)

Ale

Da: Alessandro Luccaroni - Diennea
Inviato: lunedì 26 agosto 2019 13:56
A: Herddb developers <herddb-dev at lists.herddb.org>
Oggetto: R: [Herddb-dev] R: R: Herddb entry on dbdb.io

Ok,
here a roundup of the features I will submit:

Checkpoints =  "Consistent" "Blocking"  (https://github.com/diennea/herddb/wiki/Data-storage https://github.com/diennea/herddb/wiki/Checkpoints-configuration)
Concurrency Control = "Pessimistic Row Level Locking"
Foreign Keys = "Not Supported" (https://github.com/diennea/herddb/wiki/SQL-Support)
Data Model = "Relational"  (https://github.com/diennea/herddb/wiki/SQL-Support)
Indexes =  "B-Link" "BRIN"  (Block Range Index implementation is not strictly speaking the official BRIN implementation you can find in literature, so we can talk about “BRIN-like” indexes)
Isolation Levels = "Read Committed" (https://github.com/diennea/herddb/wiki/SQL-Support)
Joins = "Nested Loop Join" "Sort-Merge Join" "Hash Join" (https://github.com/diennea/herddb/wiki/SQL-Support)
Query Compilation = “Code Generation”
Query Execution = “Tuple-at-a-Time Mode”
Query Interface = "SQL" "Command-line/Shell" "Custom API" (https://github.com/diennea/herddb/wiki/SQL-Support)
Storage Architecture = "Disk-oriented" (https://github.com/diennea/herddb/wiki/Data-storage)
Storage Model = "N-ary Storage Model (Row/Record)" (https://github.com/diennea/herddb/wiki/Data-storage)
Storage Organization = "Log-structured" (https://github.com/diennea/herddb/wiki/Data-storage)
Stored Procedures = "Not Supported" (https://github.com/diennea/herddb/wiki/SQL-Support)
System Architecture =  "Shared-Nothing" (https://github.com/diennea/herddb/wiki/Replication)
Views = "Not Supported" (https://github.com/diennea/herddb/wiki/SQL-Support)

Regards,
Ale


________________________________

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/20190827/48ea5d28/attachment-0001.html>


More information about the herddb-dev mailing list