A method for operating an electronic database, the method comprising the following steps performed by a server computer for each of one or more columns in each of one or more tables: in a database set-up phase: - allocating at least one primary data structure, at least one secondary data structure, and at least one tertiary data structure; in a database write phase: - writing columnar content in a compressed format into the at least one primary data structure; in a database update phase: - writing an updated value for each column of each updated row into the at least one tertiary data structure of the respective column, along with a storage key that indicates a corresponding row in the at least one primary data structure; in a database query phase: - reading the updated values and the storage keys from the at least one tertiary data structure, sorting the updated values by their storage keys and storing the sorted values and the storage keys in the sorted order into the at least one secondary data structure, and clearing the at least one tertiary data structure; - responding to a database query by consulting the at least one primary data structure and the at least one secondary data structure; in a database commit phase: - producing a new version of the at least one primary data structure by merging the at least one secondary data structure and an old version of the at least one primary data structure; wherein the consulting and merging comprise reading a value for a storage key from the at least one secondary data structure if the value exists and otherwise from the at least one primary data structure. in a database set-up phase: - allocating at least one primary data structure, at least one secondary data structure, and at least one tertiary data structure; - allocating at least one primary data structure, at least one secondary data structure, and at least one tertiary data structure; in a database write phase: - writing columnar content in a compressed format into the at least one primary data structure; - writing columnar content in a compressed format into the at least one primary data structure; in a database update phase: - writing an updated value for each column of each updated row into the at least one tertiary data structure of the respective column, along with a storage key that indicates a corresponding row in the at least one primary data structure; - writing an updated value for each column of each updated row into the at least one tertiary data structure of the respective column, along with a storage key that indicates a corresponding row in the at least one primary data structure; in a database query phase: - reading the updated values and the storage keys from the at least one tertiary data structure, sorting the updated values by their storage keys and storing the sorted values and the storage keys in the sorted order into the at least one secondary data structure, and clearing the at least one tertiary data structure; - responding to a database query by consulting the at least one primary data structure and the at least one secondary data structure; - reading the updated values and the storage keys from the at least one tertiary data structure, sorting the updated values by their storage keys and storing the sorted values and the storage keys in the sorted order into the at least one secondary data structure, and clearing the at least one tertiary data structure; - responding to a database query by consulting the at least one primary data structure and the at least one secondary data structure; in a database commit phase: - producing a new version of the at least one primary data structure by merging the at least one secondary data structure and an old version of the at least one primary data structure; - producing a new version of the at least one primary data structure by merging the at least one secondary data structure and an old version of the at least one primary data structure; wherein the consulting and merging comprise reading a value for a storage key from the at least one secondary data structure if the value exists and otherwise from the at least one primary data structure.