1. A method for generating a schema of a non-relational database, comprising: determining a relationship among keys in at least one entry of the non-relational database, wherein the keys are part of key/value pairs having a predefined separator used to separate a key and a value in each of the key value pairs, wherein the non-relational database has an identifier distinguishing the non-relational database from other non-relational databases, wherein the identifier is one of the keys, and wherein the value of at least one of the keys nests another key such that the relationship between the at least one key and the other key has a degree of association depending on a number of co-occurrences of the at least one key and the other key; grouping the keys into at least one group based on the determined relationship; generating the schema of the non-relational database according to the at least one group; obtaining a historical schema of the non-relational database by i) classifying data in the non-relational database into classes based on a time period when the data is generated, and ii) performing the determining, grouping and generating for each of the classes to obtain intermediate schema associated with each of the classes; and merging the schema and the historical schema when a similarity between the schema and the historical schema is greater than a predetermined similarity threshold, otherwise leaving the schema and the historical schema unmerged if the similarity is less than the predetermined similarity threshold to reduce system overhead associated with merging schemas with structural differences, and to thereby improve operational efficiency, wherein the schema generated of the non-relational database provides a structure of the non-relational database which enables data processing including data matching, data integration and data exchange, to be performed on a relational database and the non-relational database.