You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TDB must support plugable indexes, e.g. logs and web-cache requires different indexing;
table format must be reworked such that additional indexes can be created on top of current data. Correspondingly queries (lookups) must be able to choose which index to use;
data manager must support large contiguous allocations (up to extent size);
data and table managers must be rewored to support dynamically growing/shrinking and created/deleted tables, so freed space must be properly reused. However, there could OLTP tables with round-robin and/or eviction strategies which still must be fixed-size. This should be configurable for particular table formatThis is the tradeoff between non-pageable memory for the new real time persistent database and flexibility (see comments in alloc.c
durability: TDB must writeback updates in background threads in transactional manner, presumably using BtrFS mechanisms;
disk-aware load distribution for machines with many different storage hardware. IO must be distributed by disck IOPS, space utilization, vhost, It makes sense to provide an interface for plugable IO schedulers
records must be introduced for structured data storage;
NUMA code should be moved from Web-cache to TDB, so IP filter code must be made NUMA-aware;
trigger callbacks for DML must be implemented (DELETE in sense of Reducing origin server requests #500 for automatic cache entries refreshing). The callbacks can be treated as update events (like MongoDB or MySQL binary log events).
TDB must support rollback of failed transaction - if a particular update inside a transaction fails, then all previous updates must be rolled back. Required for consistent configuration updates (Full/per-vhost dynamic (re)configuration: gRPC API #67). It seems the online reconfiguration is the only user for transactions and it's doubtful that we really need real transactions just for online reconfiguration, so TBD.
Tempesta DB must be reworked:
tdbq
can directly delete and insert data to supporttdbq
: full select, insertion and deletion of binary data #279; Issue Web-content management tool #528 (domain and wildcards purging) require index like patricia trees forest.data and table managers must be rewored to support dynamically growing/shrinking and created/deleted tables, so freed space must be properly reused. However, there could OLTP tables with round-robin and/or eviction strategies which still must be fixed-size. This should be configurable for particular table formatThis is the tradeoff between non-pageable memory for the new real time persistent database and flexibility (see comments in alloc.cAlso with persistent memory probably there is no need to copy skb data to web cache in
tfw_cache_copy_resp()
, see Extending Linux network stack for persistent memory.Linked with #66 (tdbfs). Virtual containers can be supported either on TDB level or tdbfs - TBD.
The task is crucial for Web-server mode, so keep in mind and update issue #471 during the work on the task.
The text was updated successfully, but these errors were encountered: