Custom metadata types are similar to custom objects. They allow application developers to create custom sets of data, as well as create and associate custom data with an organization. All custom metadata type data is available in the application cache, which allows efficient access without the cost of repeated queries to the database. It is mainly used to store information that will be frequently accessed from Apex code. It will perform better than a custom object as it doesn't have to be queried. Building a custom metadata types is very similar to building a custom object. The main difference that you will notice is the __mdt suffix at the end of the custom metadata type, as opposed to the usual __c for custom objects. As of the Summer'17 release, custom metadata is not yet available in Process Builder, but is available in Flow.
Let's look at a...