No, you can send small changes to the Alter endpoint.
But not sure what you mean. Send a “full new schema”? Do you mean a full update? or a different, therefore new schema? If the second, both will coexist in the schema(you should cleanup the DB otherwise). Thus, they will be a single schema. If you wanna have “virtually different schemas” in the same DB. I recommend that you prefix your predicates. E.g: “schema1.name: string . schema2.name: string .” This way they will be unique, not shared.
Each change can be a single call. Just fine.
No, add new predicates and types isn’t necessary to send the whole schema again.
Yes. Best practice.
No.
No, it is not possible to drop the data by changing the schema. First of all, Dgraph won’t let you made mistakes. You can’t, for example, rename a predicate by force. You have to do a migration with an upsert block.
You can’t remove a predicate by editing the schema. The only way is by an operation called “drop attribute”.