-
公开(公告)号:US20240264993A1
公开(公告)日:2024-08-08
申请号:US18310455
申请日:2023-05-01
Applicant: Oxla sp. z o.o.
Inventor: Adam Szymanski
IPC: G06F16/22 , G06F16/2453 , G06F16/2455
CPC classification number: G06F16/2255 , G06F16/24542 , G06F16/2456
Abstract: A database system uses a hash table for processing database queries. The system stores keys mapped to data values in the hash table. For processing a set of records using the hash table, the system partially sorts the records to match the order of keys of the hash table. The partial storing of the records results in improving the performance of a cache storing the hash table. The hash table may be a multimap that maps a key to multiple data values. The system stores data values mapped to a key in a vector that stores all data values mapped to the key in contiguous memory. The system stores a pointer to the vector in association with the key in the multimap. The system optimizes the multimap to store the data value instead of the pointer if there is a single data value associated with a key.
-
公开(公告)号:US20240037099A1
公开(公告)日:2024-02-01
申请号:US17886383
申请日:2022-08-11
Applicant: Oxla sp. z o.o.
Inventor: Adam Szymanski
IPC: G06F16/2453
CPC classification number: G06F16/24544 , G06F16/24537
Abstract: A database system generates an execution plan including multiple operators for processing a database query, for example, a join query or a group by query. The database system allocates a set of threads. Threads communicate with other threads via blocking channels. A blocking channel includes a buffer of a fixed capacity. The database system processes the database query by streaming data through operators of the execution plan. A thread sends data generated by an operator to another thread via the blocking channel if the buffer of the blocking channel has available capacity to store the data, or else the thread blocks until the buffer has capacity to store the data. Similarly, a thread receives data generated by an operator of another thread via the blocking channel if the buffer of the blocking channel has available data, or else the thread blocks until the buffer has data.
-
公开(公告)号:US20240265018A1
公开(公告)日:2024-08-08
申请号:US18310460
申请日:2023-05-01
Applicant: Oxla sp. z o.o.
Inventor: Adam Szymanski , Grzegorz Dudek
IPC: G06F16/2455 , G06F16/22
CPC classification number: G06F16/24561 , G06F16/2255 , G06F16/24552 , G06F16/2456
Abstract: A database system uses a hash table for processing database queries. The system stores keys mapped to data values in the hash table. For processing a set of records using the hash table, the system partially sorts the records to match the order of keys of the hash table. The partial storing of the records results in improving the performance of a cache storing the hash table. The hash table may be a multimap that maps a key to multiple data values. The system stores data values mapped to a key in a vector that stores all data values mapped to the key in contiguous memory. The system stores a pointer to the vector in association with the key in the multimap. The system optimizes the multimap to store the data value instead of the pointer if there is a single data value associated with a key.
-
公开(公告)号:US20240264994A1
公开(公告)日:2024-08-08
申请号:US18310459
申请日:2023-05-01
Applicant: Oxla sp. z o.o.
Inventor: Adam Szymanski , Grzegorz Dudek
IPC: G06F16/22 , G06F16/2455
CPC classification number: G06F16/2255 , G06F16/2237 , G06F16/2455
Abstract: A database system uses a hash table for processing database queries. The system stores keys mapped to data values in the hash table. For processing a set of records using the hash table, the system partially sorts the records to match the order of keys of the hash table. The partial storing of the records results in improving the performance of a cache storing the hash table. The hash table may be a multimap that maps a key to multiple data values. The system stores data values mapped to a key in a vector that stores all data values mapped to the key in contiguous memory. The system stores a pointer to the vector in association with the key in the multimap. The system optimizes the multimap to store the data value instead of the pointer if there is a single data value associated with a key.
-
公开(公告)号:US20240037151A1
公开(公告)日:2024-02-01
申请号:US17886445
申请日:2022-08-11
Applicant: Oxla sp. z o.o.
Inventor: Adam Szymanski
IPC: G06F16/903
CPC classification number: G06F16/90335
Abstract: A database system generates an execution plan including multiple operators for processing a database query, for example, a join query or a group by query. The database system allocates a set of threads. Threads communicate with other threads via blocking channels. A blocking channel includes a buffer of a fixed capacity. The database system processes the database query by streaming data through operators of the execution plan. A thread sends data generated by an operator to another thread via the blocking channel if the buffer of the blocking channel has available capacity to store the data, or else the thread blocks until the buffer has capacity to store the data. Similarly, a thread receives data generated by an operator of another thread via the blocking channel if the buffer of the blocking channel has available data, or else the thread blocks until the buffer has data.
-
公开(公告)号:US20240037098A1
公开(公告)日:2024-02-01
申请号:US17886250
申请日:2022-08-11
Applicant: Oxla sp. z o.o.
Inventor: Adam Szymanski
IPC: G06F16/2453
CPC classification number: G06F16/24537 , G06F16/24542
Abstract: A database system generates an execution plan including multiple operators for processing a database query, for example, a join query or a group by query. The database system allocates a set of threads. Threads communicate with other threads via blocking channels. A blocking channel includes a buffer of a fixed capacity. The database system processes the database query by streaming data through operators of the execution plan. A thread sends data generated by an operator to another thread via the blocking channel if the buffer of the blocking channel has available capacity to store the data, or else the thread blocks until the buffer has capacity to store the data. Similarly, a thread receives data generated by an operator of another thread via the blocking channel if the buffer of the blocking channel has available data, or else the thread blocks until the buffer has data.
-
-
-
-
-