1. A system for performing database transactions, the system comprising: a network interface circuit configured to communicatively couple to a communication network, the communication network comprising a plurality of database nodes forming a distributed database; and a processor configured to be communicatively coupled to the network interface circuit, and configured to instantiate a transaction engine including a horizontal table partitioning mode configured to: identify a plurality of records affected by a database transaction, each affected record being stored in a table partition; for each affected record, identify a subset of the database nodes that is responsible for storing the table partition in non-volatile memory based on a first table partitioning policy; and send a replication message to each identified subset of database nodes to manipulate a given record in accordance with the database transaction.