In this paper, a horizontal fragmentation algorithm and a replication protocol that increases the availability and reliability
are proposed and proven for a distributed database system. The first implements a previously proven vertical transaction-based
algorithm that yields to an optimal number of fragments. The proposed horizontal algorithm substitutes the concept of attributes
in the vertical problem by the predicates. The second algorithm, increases the availability and reliability by using a matrix
log replicated at each site. Further, the system is fully maintained even during network partitioning and it remains operational
as long as there is one available replica of an object. The latter algorithm minimizes the number of object replicas using
an adaptive algorithm, and hence reduces the costs of message transfer, updates and storage.