SWC-DB ("Super Wide Column Database") is a DBMS with support for super-wide key.[04]
- Website
- https://swcdb.org/[01]
- Source Code
- https://github.com/kashirin-alex/swc-db[02]
- Developer
- Country of Origin
- IL
- Start Year
- 2019 [10]
- Project Types
- Commercial, Open Source
- Written in
- C++
- Operating System
- Linux
- Licenses
- GPL v3, Proprietary
The key is supporting 16777216(2^24,uint24) number of Fractions, max 2^24 bytes a Fraction and total size of a key is up-to 2^32 bytes.
SWC-DB does not have Tables nor Namespaces whereas the number of columns is a numerous (at date max of unsigned 64 bit integer).
SWC-DB uses a proprietary SQL (structural query language) that suit the requirements to work with it's super wide-key.
SWC-DB ("Super Wide Column Database") is a DBMS with support for super-wide key. The key is supporting 16777216(2^24,uint24) number of Fractions, max 2^24 bytes a Fraction and total size of a key is up-to 2^32 bytes.
SWC-DB does not have Tables nor Namespaces whereas the number of columns is a numerous (at date max of unsigned 64 bit integer).
SWC-DB uses a proprietary SQL (structural query language) that suit the requirements to work with it's super wide-key.[04]
Compression[05][06][07][08]
The available encoders (compressors) are ZSTD, ZLIB, SNAPPY and in PLAIN. On a record-level base configuration it is done by updating Cell-Value with the desired encoder. On a page-level base that is applied at Cell-Store-Block it is done by defining the default configuration for a schema or by column-schema definition with the encoder to use. Transactions of Communications are configurable at a program specific (application level) with an application designated configuration property and file. Variable-Length integers are used for most of numerical primitives either long-term/persistent storage or intermediate run-time consumption.
Concurrency Control[05][09]
The option to define the maximum cell-versions to keep/retain in SWC-DB is done by configuring the column's Schema property "cell_versions", whereas the order and the revision of a cell is determined by the Cell's definitions of timestamp and it's order DESC/ASC. The timestamp defaults to AUTO that is swcdbRanger application system's time and order to ASC. Additionally to the user-supplied timestamp SWC-DB cell has an internal cell-revision definition that let to determine the latest data that should be retain or removed.
The precision of timestamp used in SWC-DB is in nanoseconds. Whereas the configurable 'cell_ttl' property of a column schema is in milliseconds. The Cell's TTL of the schema is applied against timestamp of a cell and at reach of TTL the cell is auto-considered as non-existing, depends on momentum and max-versions, by changing the Schema's cell-ttl before Compaction has under-go It is a possibility the Cell still exists.
Citations
10 sources- swc-db · SWC-DB (Super Wide Column Database) - High Performance Scalable Database swcdb.org
- GitHub - kashirin-alex/swc-db: SWC-DB (Super Wide Column Database) - High Performance Scalable Database · GitHub github.com
- swc-db/docs at master · kashirin-alex/swc-db · GitHub github.com
- swc-db · SWC-DB (Super Wide Column Database) - High Performance Scalable Database swcdb.org
- Thrift Client · swc-db swcdb.org
- Thrift Client · swc-db swcdb.org
- Ranger Configuration · swc-db swcdb.org
- Ranger Configuration · swc-db swcdb.org
- Thrift Client · swc-db swcdb.org
- Initial commit github.com