A facet is part of information that a contact or interaction can have. Sitecore xDB provide lots of out of the box facet that can be used to store user information inside the xDB database. For example: PersonalInformaiton, EmailAddress, ProfileScores, EngagementMeasures.
One of the main changes from Sitecore 8.0 to 9.0 is, Sitecore changed xDB related API to the service based API. When you install Sitecore 9.0 or Sitecore 9 – Update 1, it creates two websites in your machine. One for your regular CMS and another is for hosting service, that can be used to perform xDB related activity.