US 12,475,146 B2
Mass insertion into single-threaded databases
Roberto Mirizzi, Santa Clara, CA (US)
Assigned to Roku, Inc., San Jose, CA (US)
Filed by Roku, Inc., San Jose, CA (US)
Filed on Aug. 28, 2024, as Appl. No. 18/817,998.
Application 18/817,998 is a continuation of application No. 18/303,615, filed on Apr. 20, 2023, granted, now 12,105,739.
Application 18/303,615 is a continuation of application No. 16/939,758, filed on Jul. 27, 2020, granted, now 11,663,242, issued on May 30, 2023.
Application 16/939,758 is a continuation of application No. 15/849,103, filed on Dec. 20, 2017, granted, now 10,726,051, issued on Jul. 28, 2020.
Prior Publication US 2024/0419692 A1, Dec. 19, 2024
Int. Cl. G06F 16/28 (2019.01); G06F 16/18 (2019.01); G06F 16/21 (2019.01); G06F 16/23 (2019.01); G06F 16/2453 (2019.01); G06F 16/25 (2019.01)
CPC G06F 16/285 (2019.01) [G06F 16/18 (2019.01); G06F 16/21 (2019.01); G06F 16/23 (2019.01); G06F 16/2308 (2019.01); G06F 16/24532 (2019.01); G06F 16/256 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one processor;
at least one storage layer configured to interface with a plurality of software applications and to receive data output from the plurality of software applications;
at least one listener configured to detect a presence of a data entry newly stored within the at least one storage layer, wherein the data entry comprises at least a key and a value in a key-value pair corresponding to the data entry; and
a memory operatively coupled to the at least one processor, the at least one processor configured to perform operations comprising:
sending the key-value pair to a computer cluster, wherein the computer cluster comprises a master node interfacing with a plurality of slave nodes, each slave node of the plurality of slave nodes assigned to a corresponding database node based on a hash value of the key of the key-value pair being unique to the corresponding database node, and wherein each of the corresponding database nodes is configured to run as a single-threaded database; and
performing at least one mass insertion of the data entry from the at least one storage layer by simultaneous access and storage of the data entry to at least two of a plurality of the corresponding database nodes.